前言¶
在 DSH 会话中追踪问题通常需要通过 Bash 调用外部工具,这引入了沙盒和审批管理的开销。dsh-mint 插件提供了一个替代方案:直接在 DSH 进程中托管 mint CLI,并注入会话上下文。
核心能力¶
会话上下文注入¶
启动会话时,插件会注入一个概览,显示打开的问题和里程碑。这有助于 Agent 理解当前的工作状态。
零审批主机工具¶
代理通过插件内的主机工具运行整个 mint CLI。这意味着没有 Bash 调用、没有沙盒写入访问权限,也没有审批提示。子代理也会继承该工具。
跨项目工作与写入确认¶
目标项目默认为会话的当前工作目录(cwd),因此对自身项目的调用不需要 -p 标志。对于跨项目调用,写入操作会要求确认一次,指定目标项目和操作名称。插件会拒绝未知项目,并显示候选列表。
计划模式绑定¶
当项目没有活动计划时,插件会拒绝 exit_plan_mode,防止主机计划脱离 mint 计划。如果会话未向 mint 写入任何内容,退出计划模式会追加一个提醒,要求注册工作。
Git 提交提醒¶
在运行 git commit(包括通过 uv run git commit)后,插件会提醒 Agent 使用 issue state commit --sha 注册提交。
Bash 回退门禁¶
如果插件未加载,Agent 可以使用 Bash。首次 mint 沙盒升级会被批准一次,随后的升级会自动批准。
侧边栏面板¶
右侧边栏的“添加标签”菜单(位于“工作区文件”和“新建终端”旁边)包含一个只读的 Mint 面板,显示当前项目的 Issue、计划和里程碑。
安装¶
插件需要 --allow-build 标志,因为 pnpm 默认会阻止构建脚本。
dsh plugin --profile web add @yanqd0/dsh-mint \
--allow-build=@yanqd0/dsh-mint --allow-build=mint-faa
典型用法¶
- 代理通过主机工具运行 mint CLI。
- 对当前目录的项目调用不需要
-p标志。 - 执行写入操作时,系统会要求确认目标项目和操作。
- Agent 需要记得使用
issue state commit --sha注册提交。 - 如果没有活动计划,
exit_plan_mode会被拒绝。
注意事项¶
- 破坏性命令:
delete、import、sync、export、tui以及全局--db标志被拒绝。 - 版本要求:需要 DSH 0.1.1-rc.2 和 Node.js >= 20。
- 语言:模型面向的文本目前用中文编写。
- 自动批准限制:
autoApprove无法静默写入确认门禁。 - Mint CLI:通过
mint-faa依赖(>=0.8.0 <1.0.0)解析。
总结¶
dsh-mint 解决了在 DSH 会话中结构化追踪问题和计划的需求,通过零审批的主机工具和上下文注入,减少了外部依赖和审批开销。作者:yanqd0,MIT 许可证。