TapTap Maker integration for DeepSeek Harness: bundled MCP tools, Maker workflow and feature skills, plus a packaged CLI path for project initialization and diagnostics.
Install
# from npm (prebuilt)
dsh plugin --profile web add @taptap/dsh-maker
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:taptap/instant-games-open-mcp#path:/packages/dsh-maker
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
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提供。
Links
More in this category
yjh051108/dsh-routing-suite★ 7014
One repository, three parts: a runtime injector for DSH plugin packages (inject, hot-reload, unload, promote a dev staging tool to the front, route self-heal, plus a settings-page plugin manager that lists, unloads and drags folders in to internalize), a task-aware reasoning-mode router agent preset (router-standard / router-spec / router-react), and a graded two-level task protocol whose six tools (commit_star, lock_stage, revise_do, edit_plan, mark_task, redteam_verdict) pin task state to disk. The injector implementation ships in-tree, so the install carries its own behaviour rather than a dependency list.
strukto-ai/mirage#dsh★ 3682
Swaps the filesystem and bash providers for a mirage virtual workspace: file tools and shell commands run over mounted resources (RAM, S3, Redis, Slack, Gmail, Notion, Postgres) instead of the host disk, with per-mount read/write/exec modes, per-command sandbox routing (monty, pyodide, quickjs in process; docker, e2b, daytona remote), and installed CLIs (git, gh, slack, linear, ntn, gws, or one you register) as head words in the virtual terminal.
hust-open-atom-club/oh-dsh★ 322
Community distribution: TUI, desktop, and Web UI as one bundle with layered installation.
weijiafu14/pi2dsh★ 212
Pi Host ABI compatibility engine: after one install, unmodified Pi extensions from npm mount as native DSH plugins with `dsh plugin add <pi-package>`. Verified end to end on stock DSH with pi-mcp-adapter (full MCP manager: OAuth, resources, prompts, MCP Apps, elicitation, sampling), @tintinweb/pi-subagents, pi-code, pi-hermes-memory and pi-background-tasks; `pi2dsh inspect` reports a package's compatibility before installing.
Fishquito7/dsh-skill-mcp-panel★ 193
Manages DSH skills and MCP servers from the web settings: skill cards with hot enable/disable, workspace scopes, groups, batch migration and drag-and-drop import, plus stdio/HTTP MCP CRUD with connection tests, secret redaction and the unified dsh-panel CLI.
lire1131/dsh-undo-savepoint★ 179
Undo/redo & rollback system for DSH: every config change is auto-snapshotted; undo/redo/restore to any version from the WebUI or the offline CLI/GUI tools (works even when DSH fails to boot).
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.