taptap-maker-dsh · git:20260920.af61929 · 2026-09-20 · sha256 0d0aaf2e5a51b313
taptap-maker-dsh git:20260920.af61929A
Immutable. This exact content never changes and is served at /api/v1/blob/0d0aaf2e5a51b313.
--- name: taptap-maker-dsh description: TapTap Maker 本地开发工作流(DeepSeek Harness 专用)。当用户要求初始化/继续 Maker 本地开发、clone/下载 Maker 项目、查看本地 Maker 状态、构建/提交/预览、诊断或上报 Maker MCP/proxy 故障、拉取/提交/推送、或解决冲突时使用。 --- # TapTap Maker 工作流(DSH) TapTap Maker 是 TapTap 小游戏的本地开发与构建闭环。本 skill 是工作流层:决定步骤顺序、何时询问用户、用平实语言解释本地状态;CLI 负责一次性初始化;MCP 工具负责高频开发循环。 ## DSH 特有约束(必须遵守) - **无 MCP Roots**:DSH 不广播工作区,每次项目相关的 Maker 工具调用都要**显式传 `target_dir`**(当前游戏工程目录)。不要依赖客户端注入的 workspace。 - **无 MCP Resources**:DSH 只桥接 tools,读不到 `maker://status` 等资源。用工具补位:状态用 `maker_status_lite`,广告用 `get_ad_config`,不要尝试读 `maker://*` 资源。 - **AGENTS.md 已自动加载**:工程根 `AGENTS.md`(含 Maker 管理的策略块)已由 DSH 自动注入为上下文,本 skill 不再重复其中的策略;冲突时以 `AGENTS.md` 为准。 - 其它功能(广告/云存档/排行榜)另有专项 skill:`taptap-ads`、`taptap-cloud-save`、`taptap-leaderboard`,按需加载。 ## 职责分工 - **Skill**:用户意图、步骤顺序、是否询问用户、友好解释、失败恢复。 - **CLI(taptap-maker)**:保存 PAT、拉取 app 列表、clone、准备 dev kit、安装/验证 MCP 配置、收集并脱敏上报问题、更新工程 `AGENTS.md` 策略块、运行本地日志 watcher。 - **MCP 工具**:查看 Maker 状态,以及在用户明确要求时执行 commit/push/build 闭环。 不要在 shell 里重造 Maker API 或 Git 鉴权,已有 CLI/MCP 工具时直接调用它们。 ### CLI 可用性(DSH) `taptap-maker` CLI 由本插件随包依赖的 `@taptap/maker` 提供,但 profile 的 `node_modules/.bin` 不在会话 shell 的 PATH 上。插件通过 DSH shell-env 暴露了它的绝对路径 `DSH_TAPTAP_MAKER_BIN`,一次性 CLI 操作(init / agents update / mcp verify / mcp report)一律用: ```bash node "$DSH_TAPTAP_MAKER_BIN" <subcommand> ``` 跨平台且零网络。若该环境变量不存在(例如运行在未装本插件的其它客户端),才退回 `npx -y --package @taptap/maker@<版本> taptap-maker <cmd>`(版本取本插件 `package.json` 里 `@taptap/maker` 的依赖版本)。 高频远端开发循环(状态 / 构建 / 提交 / 推送 / 远端预览 / 素材)一律用 MCP 工具; 本地控制台和本地窗口预览使用插件提供的 CLI。 ## 意图 → 工作流 | 用户意图 | 工作流 | | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------- | | 初始化 / 配置 / 继续 Maker 本地开发 | 运行 `node "$DSH_TAPTAP_MAKER_BIN" init --skip-mcp-install`(插件已提供 MCP,不重复安装) | | clone / 下载 Maker 项目 | 走“初始化流程”(`init --skip-mcp-install`),不要直接索要 app_id | | 状态 / 是否就绪 | 调 `maker_status_lite`,显式传 `target_dir=<PROJECT>`,再按 `AGENTS.md` 的同步提示处理 | | 升级 Maker 插件 | 走 DSH 插件渠道:`dsh plugin --profile <profile> update @taptap/dsh-maker`,不跑独立 MCP 安装 | | 升级旧项目策略 / 工程 AGENTS 块 | 跑 `node "$DSH_TAPTAP_MAKER_BIN" agents update --target-dir <PROJECT>` | | 打开本地控制台 | 跑 `node "$DSH_TAPTAP_MAKER_BIN" console open --target-dir <PROJECT> --json`,不触发远端构建 | | 本地预览 / 刷新 / 停止 | 分别调用 `preview status`、`preview start`、`preview refresh` 或 `preview stop`,每次都带 `--target-dir <PROJECT>`,不提交或推送 | | 远端提交 / 推送 / 构建 | 先展示本地 Git 状态和变更摘要,得到对应用户意图后再调用 `maker_build_current_directory` | | 拉取 / 更新 | 先看本地改动;工作区有未提交内容时,先说明选项再拉取 | | 冲突 / 合并失败 | 解释冲突原因、列出冲突文件、查看冲突 hunk、给出方案并询问后再改 | | 预览 / 跑一下 / 看效果 | 先澄清用户要本地还是远端;本地走 CLI,不提交或推送;远端只有明确确认后才调用 `maker_build_current_directory` | | 验证代码 / 跑测试 / lint | 不触发 Maker 远端构建,除非用户明确要求远端构建、远端运行或远端预览 | | MCP 不可用 / proxy 超时 / 服务端错误 | 先证据诊断;疑似 MCP/proxy/客户端/服务缺陷时,询问用户一次后脱敏上报 | ## 新建项目 "创建新项目/创建游戏/新建项目"等是显式创建意图(优先级高于按名匹配已有 app)。当前目录未绑定时引导:`node "$DSH_TAPTAP_MAKER_BIN" init --skip-mcp-install --create`,有名字则加 `--name "<名字>"`;无名字则询问或建议用当前目录名,不要自行编造。当前目录已绑定 Maker 项目时不要就地新建,让用户另开独立目录。 > 初始化一律带 `--skip-mcp-install`:本插件已通过 DSH 注册 Maker MCP,重复安装会写入 L1 的 > `mcp-taptap-maker` 行并造成双激活。 ## 构建 / 提交策略(覆盖通用 Git 流程) - 绑定 Maker 项目(存在 `.maker-mcp/config.json`)时,远端提交/推送/构建才走 `maker_build_current_directory`;调用时显式传当前工程的 `target_dir`。 - 打开本地控制台和窗口预览是本地 CLI 能力,不提交、不推送、不启动远端构建。只有随包 Maker runtime 实际支持对应本地命令时才报告本地预览可用;不支持时说明限制并等待用户 明确选择远端流程。 - 本地窗口预览不要求 Git clean;联网项目只复用已有 Maker 登录和远端测试版本,不自动上传 Server 代码。Server 改动必须显式执行远端构建后才生效。 - 不要为 Maker 提交/构建建 feature 分支、task 分支或 PR/MR,不要用通用 git commit/push 作为替代。 - `maker_build_current_directory` 拥有安全门:提交前校验 remote sync,本地落后/分叉/不在 main/无法验证时会阻止。 - 根 `.gitignore` 是必需文件;绑定后若有变化,随游戏改动一起提交并在摘要中说明。 - 多人游戏用 `maker_build_current_directory` 的结构化参数(`entry_client`/`entry_server`/`multiplayer.*`),不要直接改项目 JSON;仅在用户明确提供时发送多人参数。 ## MCP 故障恢复与上报 - 工具缺失、进程秒退、`-32000`、`Connection closed`、`command not found` 时,不要依赖 Maker MCP 工具做初始诊断,先从本地配置/shell 输出/客户端日志入手。 - 优先用当前客户端配置里的绝对 command 与有序 args,追加 `mcp verify --json` 复现。 - 先证据定位再修复;不自动改 trust 存储、PATH、cwd、凭证或游戏代码。 - 疑似基础设施缺陷时,向用户询问一次;仅在用户明确同意后,通过 `taptap-maker mcp report --ide dsh --target-dir <项目> --context-stdin --consent --json` 脱敏上报。绝不包含完整对话、源码、PAT/token、完整环境变量。 ## 创意素材工具(简要) `generate_image` / `batch_generate_images` / `edit_image` / `create_video_task` / `query_video_task` / `text_to_music` / `text_to_sound_effect` / `text_to_dialogue` / `create_3d_asset` 等,按各自 tool schema 使用;生成物落在工程 `assets/` 下并保留远程映射。3D 与配音确认类步骤必须先展示预览、等用户确认,不要自动续跑。