pandashere/dsh-kimi-bridge ↗★ 1
dsh-kimi-bridge
Kimi bridge for DeepSeek Harness: call_kimi / kimi_status / kimi_abort / kimi_steer tools plus a WebUI Kimi tab observing the kimi sessions of the current session.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:pandashere/dsh-kimi-bridge说明文档
阅读完整 README ↗dsh-kimi-bridge
English | 中文
面向 DeepSeek Harness(dsh)的双面(宿主 + 浏览器)插件:把 Kimi CLI(kimi-code)桥接进 harness——dsh-codex-bridge 的 Kimi 对偶,同一套架构。
为什么需要它
dsh agent 经常想找外部编码 agent(Moonshot Kimi)要一个第二意见或并行编码一遍。手动做这件事——spawn kimi -p、抓流、轮询、把输出接回来——正是 harness 插件存在的意义。本插件让 Kimi 成为 dsh 的一等公民:
- 把 Kimi 当工具调用 —
call_kimi在会话工作目录运行kimi -p --output-format stream-json,支持async(立即返回;多次调用并行)与block(等待最终答案)两种模式,另有kimi_status轮询、kimi_abort取消。 - 同一会话续跑 —
kimi_steer用新消息恢复已 settle 的 Kimi 会话(kimi -S -p …)。Kimi 会话绑定工作目录——插件把 cwd 锁定到会话工作目录,同 dsh session 内 resume 天然成立。会话是线性的:父必须是该会话最新记录,且同一会话只允许一个进行中的延续。 - 展示整个 agent loop — 会话 pane 里的 Kimi 标签(与 Chat/Trajectory/Codex 平级)实时观察每个会话:状态、提示词、Agent Loop waterfall(消息、带参数的工具行、可折叠的工具输出、回合分隔)、transcript 与最终回答——经 session projection 通道推送。
定位:UX 通道,不是安全边界——而且 kimi -p 内部就是 permission:"auto",没有 CLI sandbox flag。 默认 reviewOnly 模式因此让 Kimi 跑在一个托管 home 下,其 [tools] 白名单只读(Read/ReadMediaFile/Grep/Glob;无 Bash/Write/Edit/MCP),执行前再次强制。设 reviewOnly: false 才用用户不受限的 home——显式运维选择,绝不称之为 sandbox。allowedAgents/maxParallel/maxSessionsPerSession 约束资源放大;有限的 defaultTimeoutMs 约束 Kimi print 模式(否则后台任务可等约 25 天)。
安装
前置条件:Node.js 22 或更高版本、@deepseek-ai/dsh@0.1.0-rc.6,以及已完成认证且可通过 kimi 调用的 Kimi CLI(也可配置 kimiPath)。插件不会把凭据复制进仓库或 dsh telemetry;reviewOnly 模式只把 CLI 现有认证文件链接进托管 home,凭据仍由 Kimi CLI 管理。
在插件目录内构建、校验并打包独立 bundle:
npm install
npm run check
npm pack
把生成的 tarball 安装进 DSH profile,然后重启 dsh web。不要把源码目录作为 link 安装,因为宿主 peer 依赖由 DSH profile 提供:
npx @deepseek-ai/dsh@0.1.0-rc.6 plugin --profile web add ./dsh-kimi-bridge-0.1.0.tgz
npx @deepseek-ai/dsh@0.1.0-rc.6 web
浏览器端由 /plugins/dsh-kimi-bridge/client.js 提供,并显示在会话 pane 中。对运行中的默认 Web profile 验证:
curl -s http://127.0.0.1:3080/plugins/dsh-kimi-bridge/client.js | head