dsh-subagent-kimi
Verifieddsh-subagent-kimi · v0.1.3 · MIT
One-shot Kimi Code CLI subagent provider for DeepSeek Harness over ACP
Install
dsh plugin add dsh-subagent-kimi Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Tags
Creators
Readme
dsh-subagent-kimi
English | 中文
面向 DeepSeek Harness 的一次性 Kimi Code CLI 子智能体插件,通过 Agent Client Protocol(ACP)驱动真实 Kimi 进程。
每次委派都会在指定工作目录中启动独立的 Kimi 进程和 ACP 会话。父会话传入一个自包含的文本任务,并接收助手回答或安全的终止诊断;推理过程、工具流量和原始协议消息不会进入父会话。
环境要求
- Node.js 24.9.0 或更高版本。
- DeepSeek Harness
>=0.2.1-rc.2 <0.3.0,已验证0.2.1-rc.2和0.2.1-rc.3。 - 可通过
PATH找到 Kimi Code CLI(kimi),并已在 Kimi 中配置认证和模型提供商。已验证版本为 2.3.1,建议使用当前发布版。
安装或升级 Kimi,然后检查版本和认证:
npm install -g @moonshot-ai/kimi-code@latest
kimi --version
kimi login
Provider 每次委派都通过 subprocess 服务的 PATH 查找启动 kimi,插件本身不携带 Kimi 运行时。Kimi 原生配置和认证仍以 KIMI_CODE_HOME 或 ~/.kimi-code 为准。
安装
将 Bundle 安装进 DeepSeek Harness Profile,<name> 替换为 web、headless、sdk、acp 或自定义 Profile 名称:
dsh plugin --profile <name> add dsh-subagent-kimi
该命令通过 pnpm 管理 Profile 依赖,因此需要确保 pnpm 在 PATH 中。如果 DSH 提示需要重启,请重启后使用。在 Web 或 Desktop 中,也可以打开 Plugins → 添加插件,输入 dsh-subagent-kimi,然后安装并启用该 Bundle。
对于自定义 Node 组合,npm install dsh-subagent-kimi 只安装 JavaScript 依赖,不等同于在 DSH Profile 中安装并启用插件。此时需要按下面的示例挂载 provider 和工具,或将 Bundle 纳入自己的组合。
Bundle 元数据会加载 cordis.patch.yml、注册 kimi provider,并将 subagent_kimi 添加为 Harness 全局工具。仅加载 Bundle 不会启动 Kimi;只有实际发生委派时才创建进程。
如需手工挂载 provider 和工具:
- insert:
- id: subagent-kimi
name: 'dsh-subagent-kimi'
- id: tool-subagent-kimi
name: '@deepseek-ai/dsh-tool-subagent'
config:
provider: kimi
toolName: subagent_kimi
maxDepth: provider-managed
配置
- id: subagent-kimi
name: 'dsh-subagent-kimi'
config:
providerName: kimi
model: kimi-code/kimi-for-coding # 可选
permissionMode: yolo
env: {}
disposeEofGraceMs: 6000
disposeGraceMs: 3000
| 字段 | 默认值 | 含义 |
|---|---|---|
providerName |
kimi |
在 ctx.subagents 中注册的非空名称;每个挂载实例必须使用不同名称。 |
model |
Kimi 原生设置 | 可选模型别名,在会话创建后通过 ACP session/set_config_option 设置,不发现或改写别名。 |
env |
{} |
显式子进程环境,叠加在 subprocess 服务清除凭据后的父环境之上。 |
permissionMode |
yolo |
ACP 会话模式和无人值守权限处理方式,见下表。 |
disposeEofGraceMs |
6000 |
stdin EOF 后等待协作式退出的毫秒数,超时才升级终止。 |
disposeGraceMs |
3000 |
进程状态观察和托管终止的毫秒宽限期。两个值都必须为有限正数,且不能超过 Node 计时器上限。 |
Harness subprocess 服务会清除父环境中形似凭据的变量;env 中显式配置的值仍会转发,包括凭据类值。因此不要将 API key 提交到 Profile 文件。
权限模式
| 值 | ACP 会话模式 | ACP 权限请求 |
|---|---|---|
yolo (默认) |
yolo,常规编辑和命令按 Kimi 原生 yolo 策略执行 |
取消剩余请求,包括高风险操作和提问 |
reject |
default,人工批准模式 |
取消所有请求 |
auto |
auto,Kimi 原生自动策略 |
如果仍收到请求,选择首个 allow_once 或 allow_always 选项 |
所有模式都不会在父 Harness 会话中建立人工交互通道。auto 可以在无人批准的情况下修改文件和执行命令,只应在可信且适当隔离的工作目录中使用。
reject 不是沙箱,也不是只读保证。 它只拒绝 Kimi 通过 ACP 发出的请求;Kimi 不发起 ACP 请求就直接允许的操作仍可能执行。需要限制副作用时,请使用操作系统或 Harness 工作区隔离。
行为与结果
- 仅接受非空文本块序列;图片等内容类型会在启动进程前被拒绝。
- 每次运行都通过
PATH启动独立的kimi acp可执行文件和 ACP 会话,不复用进程,不支持追加输入或恢复会话。使用 Kimi 自己的可执行文件而不是 DSH 的 Electron 二进制,也避免了 macOS 在 Dock 中再注册一个 DSH/Electron 应用。 - 启动时完成 ACP
initialize、session/new、session/set_mode和可选的session/set_config_option,成功后才发布 run;配置失败使用configure-session阶段,并先清理尚未发布的私有进程。 session/prompt只执行一次任务。收集流式agent_message_chunk文本;思考、计划、工具调用等更新会被消费但不作为结果返回。- ACP 停止原因映射为 Harness 的
completed、max-tokens、refusal、aborted或error。未知原因,以及声称成功却没有任何助手文本的情况,均按错误处理。 - 取消会尽力发送
session/cancel,在本地及时结算,并最终由进程清理兜底。 - 清理时先关闭 stdin 并等待 EOF 协作退出,再通过共享 subprocess 所有者分级终止,并等待整个进程范围静止。
- 失败诊断只包含固定的产品、阶段、类别,以及可选的停止原因、退出码和信号。原始 stderr、异常文本、任务内容、环境值、路径和协议负载不会复制到模型可见诊断中;Host 内部日志会保留可用的原始错误。
Provider 不继承父对话,也不声明任何可选 start capabilities。需要 agentPreset、agentOptions、结构化输出或 Harness 深度限制的请求会由共享 subagent 服务拒绝。
限制
- Kimi ACP 会话是原生 Kimi 会话,一次性任务结束后可能仍保留在本地历史中。本插件不会将其标记为临时会话,也不会自动删除。
- 插件不会创建账号、登录、选择模型提供商或修复 Kimi 配置。认证问题会以安全的启动或 prompt 失败诊断呈现。
- 每次运行仅处理一个文本任务,不支持续聊、恢复、进度流或父上下文继承。
- 没有内置墙钟超时,也不会回滚取消前已经发生的文件或外部系统副作用。
- Kimi 原生设置、hooks、skills 和账号状态会影响子进程。部署策略需要独立 Kimi home 时,可在
env中显式设置KIMI_CODE_HOME,并在该 home 中单独配置认证。 - 用户负责 Kimi 的安装和升级。DSH 可见的
PATH必须解析到兼容的 Kimi CLI。已验证版本为 2.3.1;旧版本不会被显式拒绝,但必须支持本插件使用的 ACP 方法。 - 兼容基线为 Kimi Code CLI 2.3.1、ACP SDK 1.4.0 和 DeepSeek Harness
>=0.2.1-rc.2 <0.3.0,已验证 DSH0.2.1-rc.2和0.2.1-rc.3。超出这些基线升级 Kimi 或 DSH 后,应重新完成协议和真实产品验证。
开发
npm install
npm run clean
npm run typecheck
npm run build
npm pack --dry-run
实现参考 DeepSeek Harness 的 Codex 产品 provider 结构,并针对 Kimi Code CLI 调整其 ACP 子进程生命周期。上游资料:
基于 MIT 发布,详见 LICENSE。Kimi 名称和 logo 是 Moonshot AI 的商标。本插件是第三方插件,不是 Moonshot AI 官方产品;图标来源见 NOTICE。