DeepSeek Harness 的 TapTap Maker 集成:提供内置 MCP 工具、Maker 工作流与功能技能,以及用于项目初始化和诊断的随包 CLI 路径。
安装
# npm 包(预构建)
dsh plugin --profile web add @taptap/dsh-maker
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:taptap/instant-games-open-mcp#path:/packages/dsh-maker
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DeepSeek Harness(DSH)插件:把 TapTap Maker 的本地开发闭环接入 DSH。
装上后,DSH 会自动获得三样东西:
- Maker MCP 工具(
mcp__taptap-maker__*):构建/提交/预览、状态、广告配置、素材生成等; - Maker 技能:工作流 + 常用功能指南(广告 / 云存档 / 排行榜),并内置“以工程内
engine-docs为准、禁止网上搜错文档”的防错引导; - 可发现的 CLI 路径:环境变量
DSH_TAPTAP_MAKER_BIN指向随包@taptap/maker的 CLI, 一次性init/agents update/mcp report用node "$DSH_TAPTAP_MAKER_BIN" <cmd>零网络执行。
本插件是仓库 DSH 集成的 L2 形态(bundle 插件)。它区别于已有的
L1 形态(taptap-maker install --ide dsh 写入 $DSH_HOME/cordis.patch.yml):
L1 只注册一个裸的 Maker MCP;本插件则把 MCP + 技能 打包成可分发、可一键安装、可 HMR 的
DSH bundle。两者不要同时启用,避免同 serverName 冲突。已用 L1 时,不要手改 YAML;安装前用
Maker CLI 的结构化命令检查并迁移旧注册:
npx -y --package @taptap/maker@<maker-version> taptap-maker plugin inspect --client dsh --json
npx -y --package @taptap/maker@<maker-version> taptap-maker plugin migrate --client dsh --confirm --json
<maker-version> 使用本包 package.json 中 dependencies["@taptap/maker"] 的精确值;固定版本
安装时直接使用对应 npm 包版本或 Release INSTALL.md 中已写入的命令。
安装
前置:已安装 DSH(dsh 命令)与 pnpm。
dsh plugin --profile web add @taptap/dsh-maker
headless profile 同理:
dsh plugin --profile headless add @taptap/dsh-maker
1024Store 使用公开 npm 包 @taptap/dsh-maker 作为市场安装和更新入口。需要固定版本时,在包名后
追加版本号,例如 @taptap/dsh-maker@<version>。对应的 dsh-maker-v* GitHub Release 继续提供
tarball 和 SHA-256,作为预览版、离线安装及排障备用入口。
DSH 会热重载该 patch,无需重启。验证:
dsh --profile web --dump-config | grep -A 20 'mcp-taptap-maker\|taptap-maker'
做了什么
插件通过一个 bundle patch 行(id: taptap-maker)在激活时挂载两个子插件,并注册一个 shell 环境变量:
- Maker 技能:宿主平面
skill-filesystem实例(DSH 官方 repository-plugin 模式),providerName: maker+includeDefaultRoots: false+bundledSkillDir: skills/, 只读挂载本包skills/目录,与 standard preset 的本地技能各司其职、不重复扫描项目/用户根。 - Maker MCP:
@deepseek-ai/dsh-mcp-client,通过随包依赖@taptap/maker的dist/maker.js启动(绝对 Node + 包内路径,require.resolve运行时解析,不依赖 npx、 不绑定 profile 路径)。 - CLI 发现:通过
ctx.shellEnv注册DSH_TAPTAP_MAKER_BIN(随包@taptap/maker的bin/taptap-maker绝对路径),让一次性 CLI 操作零网络、零路径猜测。
为什么这样最贴合 DSH
| 决策 | 理由 |
|---|---|
| 单 patch 行 + 程序内挂两个子插件 | 入口只有一个模块,路径全部用 import.meta.url 运行时计算,任意 profile/安装位置都正确;纯 YAML 写绝对路径会绑定机器/profile |
failOnStartupError 默认 false |
本插件同时挂技能 + MCP。若 MCP 启动失败用 true,会连技能一起 dispose 并拖垮 DSH 启动;用 false 则技能仍可用、MCP 由重连自愈(失败仍会打日志,不静默)。L1 裸 MCP 行才用 true 快速暴露 |
只用 inject: ["shellEnv"] |
技能/MCP 由两个子插件各自声明 inject;本插件只声明它直接使用的 shellEnv 服务,不无谓延迟激活 |
技能走 skill-filesystem + bundledSkillDir |
零文件复制、装插件即带技能、卸载即消失、HMR 生效,是 DSH 的“仓库插件”一等形态 |
CLI 走 ctx.shellEnv |
profile 的 node_modules/.bin 不在 shell PATH,shellEnv 是 DSH 注入会话 shell 的一等通道,比 npx 更稳、零网络 |
使用要点(DSH 特有)
每次项目相关的 Maker 工具调用都要显式传
target_dir(DSH 不广播 MCP Roots)。DSH 不读 MCP Resources:用
maker_status_lite看状态、用get_ad_config查广告配置, 不要尝试读maker://*。工程根
AGENTS.md(含 Maker 管理策略块)由 DSH 自动加载,无需额外操作。一次性初始化(登录 / 选 app / clone)走
node "$DSH_TAPTAP_MAKER_BIN" init(该变量由本插件 注入;若运行在未装本插件的客户端才退回npx -y --package @taptap/maker@<版本> taptap-maker init)。 高频远端开发循环(状态 / 构建 / 提交 / 推送 / 远端预览)只有在用户明确要求时才用 MCP 工具,并始终显式传target_dir;不要把本地预览请求隐式升级为远端提交或构建。 本地控制台和本地窗口预览使用插件提供的 CLI:node "$DSH_TAPTAP_MAKER_BIN" console open --target-dir <PROJECT> --json node "$DSH_TAPTAP_MAKER_BIN" preview start --target-dir <PROJECT> --json本地预览不会提交、推送或自动启动远端构建;联网项目只复用已有登录和测试版本。具体本地 命令是否可用以本包精确依赖的 Maker runtime 实际能力为准,不能仅因 npm 上存在更高版本 就宣称已支持新能力。
配置(可选覆盖)
在 profile 的 cordis.patch.yml 里给插件行加 config 即可覆盖(不覆盖则用默认值):
- id: taptap-maker
config:
mcp:
serverName: taptap-maker # 默认 taptap-maker
toolCallTimeoutMs: 3600000 # 默认 1 小时
failOnStartupError: false # 默认 false:技能不受 MCP 启动失败影响,重连自愈
env: {} # 可选:合并进 MCP 子进程环境
cwd: '' # 默认不写(保持项目无关)
卸载
dsh plugin --profile web remove @taptap/dsh-maker
排障
| 现象 | 处理 |
|---|---|
dsh plugin 报 pnpm not found |
先装 pnpm(或 npm i -g pnpm) |
工具列表没有 mcp__taptap-maker__* |
dsh --profile web --dump-config 确认 patch 合成;看 DSH 日志里的 mcp-client(taptap-maker) 重连信息 |
| 工具调用约 60s 超时 | 确认生效的是本插件的 1h 超时配置,而非旧的裸 npx 行 |
| 广告/云存档等接口用错 | 触发 taptap-ads/taptap-cloud-save 等技能,读工程内 engine-docs,不要网上搜索 |
与 L1 同时存在导致 serverName 冲突 |
运行 plugin inspect --client dsh 检查,再用 plugin migrate --client dsh --confirm 结构化禁用旧注册 |
版本兼容
- 依赖
@deepseek-ai/cordis ^4.0.1及配套@deepseek-ai/dsh-mcp-client/dsh-skill-filesystem/dsh-shell-env(^0.1.0-rc.6,peer 锁定,随 DSH rc 版本同步升级)。 - Maker MCP 由随包依赖的
@taptap/maker提供;稳定包当前精确依赖已发布的@taptap/maker@0.0.32。本地控制台/预览等新能力必须先确认对应稳定 Maker artifact 已发布并 包含该能力,再同步 bump 依赖和插件版本;不要仅依据 npm 版本存在性,也不要让 DSH 运行时自行 解析 npmlatest。 - Codex 和 WorkBuddy 不读取本包版本,也不共享本包的安装方式;它们通过各自插件市场更新。
- 只更新 Skill 不需要更换 Maker MCP;涉及控制台、Runtime、二维码或 CLI 行为时,必须使用包含
对应
@taptap/maker版本的 DSH 插件包。
发布与市场
- 正式包由仓库的
Publish DSH Maker Pluginworkflow 同时发布到 npmlatest和 GitHub Release。 develop预览版只发布 GitHub prerelease,不写入 npm;main稳定版才发布公开 npm 包。- 1024Store 使用 npm 包名
@taptap/dsh-maker;源码和问题反馈入口由package.json提供。
链接
同类插件
yjh051108/dsh-routing-suite★ 7014
一个仓库三件套:DSH 插件包的运行时注入器(注入、热重载、卸载、开发侧挂区一键转正、路由自愈,外带设置页插件管理:列出、卸载、拖入文件夹内化)、任务感知的思维模式路由 agent 预设(router-standard / router-spec / router-react)、以及分级两级任务协议(commit_star / lock_stage / revise_do / edit_plan / mark_task / redteam_verdict 六个工具,任务状态落盘)。注入器实现直接在库内,安装的是它自己的行为而不是一份依赖清单。
strukto-ai/mirage#dsh★ 3682
把文件系统与 bash 提供者换成 mirage 虚拟工作区:文件工具与 shell 命令作用于挂载的资源(RAM、S3、Redis、Slack、Gmail、Notion、Postgres)而非宿主磁盘,支持按挂载点设置读/写/执行模式、按命令选择沙箱(进程内 monty、pyodide、quickjs;远程 docker、e2b、daytona),并可在虚拟终端中安装 CLI(git、gh、slack、linear、ntn、gws,或自行注册的程序树)作为命令头词。
hust-open-atom-club/oh-dsh★ 322
社区发行版:TUI、桌面端与 Web UI 统一体验,分层安装、一步到位。
weijiafu14/pi2dsh★ 212
Pi Host ABI 兼容引擎:装一次之后,npm 上的 Pi 扩展原包经 `dsh plugin add <pi-package>` 直接作为 DSH 原生插件挂载。已在官方 DSH 上端到端验证 pi-mcp-adapter(完整 MCP 管理面:OAuth、resources、prompts、MCP Apps、elicitation、sampling)、@tintinweb/pi-subagents、pi-code、pi-hermes-memory、pi-background-tasks;`pi2dsh inspect` 在安装前报告一个包的兼容情况。
Fishquito7/dsh-skill-mcp-panel★ 193
在 DSH Web 设置中管理技能与 MCP 服务器:技能卡片热启停、工作区作用域、分组、批量迁移与拖拽导入,以及 stdio/HTTP MCP 增删改查、连接测试、密钥脱敏,并附带统一 dsh-panel 命令行。
lire1131/dsh-undo-savepoint★ 179
DSH 撤销/回退系统:配置变更自动存档,一键撤销/恢复/回退到任意版本,支持 WebUI 与离线 CLI/GUI 工具(DSH 启动失败也能救)。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。