pzc2004
dsh-frostfin
月芒霜鳍鲸——让 Kimi Code 本人直接驱动 DeepSeek Harness 会话的 loop 插件。DSH 的壳,Kimi 的脑,ACP 直连,无中间层。 Moonglow Frostfin — Kimi Code itself as the agent loop of DeepSeek Harness. ACP-bridged, no middleman: DSH's shell, Kimi's brain.
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 16, 2026
- Updated
- Aug 16, 2026
Introduction

dsh-frostfin(月芒霜鳍鲸):Kimi Code as DSH Agent Loop
English | 中文
「受月矩力影响而发生变化的奇妙水生动物。」—— 提瓦特生物志

Kimi Code 的大脑,DeepSeek Harness 的躯体。
frostfin 是一个 DSH loop 插件:把 DSH 会话的驱动者整个换成 Kimi Code 本人——通过 ACP(Agent Client Protocol)直连,中间没有第二个 agent 转述。于是你同时拿到两样原本互斥的东西:
- Kimi 侧:Kimi Code 原装的 agent loop——为 kimi-for-coding 系列模型调优过的规划、工具编排与 thinking 模式,一个组件都不替换,版本照升;
- DSH 侧:DSH 的全部生态——Web UI、主题皮肤、会话管理、审批体系、数百个社区插件,以及"一切皆插件、插件皆可逆"的 Cordis 底座。
两边的长处,一头的项目。
名字的由来
第一层:鲸与月。 DeepSeek 的图腾是鲸;月之暗面(Moonshot AI)的名字来自 Pink Floyd 的专辑《The Dark Side of the Moon》。这个插件做的事情,字面意思就是:让 DeepSeek 的鲸,被月亮的力量改造。
第二层:霜鳍鲸是真实存在的。 霜鳍鲸本种是《原神》挪德卡莱海域的一头鲸,6.0 版本「月之一」进入图鉴12,还在当月的主线过场里跃出过水面3;2026 年 7 月的 6.7 版本「月之八」新增了它的月芒个体——月芒霜鳍鲸(Moonglow Frostfin Whale)4,游戏内生物志标注其出现地点为月球地图「霜月」,图鉴写道:「受月矩力影响而发生变化的奇妙水生动物。」5一头普通的水生动物,被月亮的力量改变——我们翻遍词典,找不到比这更精确的隐喻:鲸还是那头鲸,海还是那片海——但潮汐从此归月亮管。
第三层:彩蛋是闭环的。 月芒霜鳍鲸栖息的「霜月」地图,它的背面正是「月之暗面」区域——两者同属 6.7「月之八」,是同一个版本抵达的46。点亮「月之暗面」的地图时,跳出的成就叫「为你喜爱的色彩」(Any Colour You Like)6——致敬的正是《The Dark Side of the Moon》专辑里的那首曲子。米哈游埋的梗,和月之暗面公司名字的出处,是同一张 1973 年的唱片。三条致敬链,在半个世纪前闭环。


霜鳍鲸(本种 · 挪德卡莱)| 粉色霜鳍鲸(异色个体)| 月芒霜鳍鲸(受月矩力影响 · 霜月)
形象来自《原神》游戏内生物志,版权属米哈游,仅作命名由来示意
图鉴里还有一句挪德卡莱的民话:「凡是见到粉色霜鳍鲸的人,想要实现的愿望就能成真。」5愿每个装上这个插件的人,愿望成真。
关于名字的精确性:「受月矩力影响而变化」描述的是月芒个体而非本种——所以品牌全称定为月芒霜鳍鲸,也就是图鉴那句话真正的主人;包名 dsh-frostfin 沿用本种的家族名,短、可检索、生态位靠前。
落选的名字(都有各自的道理)

dsh-moontide(月潮)——月引潮汐、潮载鲸;后来才知道,6.7 的月球地图上真有一片海叫月荡海(Moontide Sea)6dsh-moonwhale(月鲸)——两个吉祥物直接合体,最直白dsh-moonsea(月海)——月球暗面的真实天文学术语,最大气
工作原理
你 ──► DSH Web UI(主题 / 生态 / 会话管理 / 审批)
│ session events
frostfin(DSH 插件,占 agent loop 插槽)
│ ACP(JSON-RPC over stdio)
kimi acp 子进程 ── 全部思考、工具调用、回话
DSH 的架构里 agent loop 本身就是一个可替换插件(ctx.agents.setFactory)。frostfin 注册自己的工厂,把每个 DSH 会话桥接到一个 kimi acp 子进程,并把 ACP 的事件流实时翻译成 DSH 的会话事件——所以打字机效果的流式回话、历史回放、审批弹窗,全部是 DSH 原生体验。
和已有方案的区别:kimi-tide 等项目把 Kimi 接在模型层或工具层——DSH 的主 loop 不变,Kimi 是被调用的客体;frostfin 把 loop 本身换成 Kimi Code——你在 DSH 里对话的对象就是 kimi 本人。
功能
以下每一项都经过自动化测试(单测 + 端到端,不经真 kimi)与浏览器实测:
- loop 桥:DSH 会话由 kimi acp 子进程驱动——流式回话、思考块、工具调用、计划块全部是 DSH 原生渲染,turn/step 事件纪律与原生 loop 逐事件对齐
- 审批桥:kimi 的工具审批请求落到 DSH 原生审批弹窗(生态首个)——弹窗的命令预览与工具卡片 callId 对齐,点"允许"就是放行那一次调用
- 提问通道:kimi 的 AskUserQuestion 在 DSH 里弹出插件自建的多选模态框——ACP 没有提问 RPC,kimi 复用审批通道传问题,而 DSH 审批弹窗带不回"选了第几项",故问题单开一路,与权限策略无关;跳过/取消按 kimi 语义的"用户未作答"处理,绝不伪造选择
- 图片输入:输入区粘贴图片直达 kimi(DSH 附件存储读字节 → base64 → ACP image 块,kimi 侧自动做格式门控与压缩);读不到字节时放文本占位,绝不静默丢图
- 会话生命周期:DSH 重启恢复、kimi 进程崩溃自愈(下一个 prompt 自动重连)、接入任意既有 kimi 会话(
/frostfin-attach或「月芒霜鳍鲸」tab 一键接入,历史回放进 DSH 日志);权限模式与 thinking 档位按 kimi 会话记忆,进程重启后自动重放 - 模式分发:新增「月芒霜鳍鲸」模式并设为默认——它走 kimi,标准模式走原生 loop,互不干扰;会话创建后驱动方就锁定,不会静默换脑
- 模型层打通:选择器显示 kimi 的真实模型列表,选择即切换;DSH 里配置的模型(如 DeepSeek)自动同步进 kimi 配置,kimi 直接能跑
- 状态条与斜杠命令:输入框下方实时显示 kimi 的模型 / thinking 档位 / 权限模式 / 上下文占用 / 工作目录与 git 分支;
/frostfin-mode、/frostfin-thinking、/frostfin-plan、/yolo、/auto直接切换;kimi 内建的/compact/status/usage/mcp/tasks/help原样透传执行;命令菜单里插件命令带[frostfin]标签、kimi 命令带[kimi]标签,与 DSH 宿主命令一眼区分 - goal 与 plan:DSH 的
/goal可直接驱动 kimi 会话(宿主层轮次驱动器,卡片可暂停/编辑/删除);kimi 的 plan 模式经/frostfin-mode plan生效(引擎级只读,不是提示词约定) - 可逆性:卸载即撤销一切注册(含同步进 kimi
config.toml的托管块,你的 kimi 配置原样恢复);~/.frostfin/下的会话绑定与模型缓存刻意保留,重装可续——想彻底清除:rm -rf ~/.frostfin
权限模式看哪边
frostfin 会话里只需要管 kimi 的权限模式(/frostfin-mode <default|plan|auto|yolo>,快捷键 /yolo、/auto、/frostfin-plan)。DSH 侧的两个开关基本不用管,但各有一个例外:
- 输入区的「Workspace Write」沙箱选择器约束的是 DSH 原生工具的文件边界;kimi 的工具跑在 kimi 自己的进程里,DSH 沙箱管不到。怎么选:留在默认的 workspace-write 即可(read-only 同样无害,两者对 kimi 都是摆设);唯一要避开 danger-full-access——它会把会话的 approval policy 改成
never,往 kimi 的对话里注入一条英文策略通知,且在插件配置permission: 'ask'时让后续所有审批被自动拒绝(弹窗不再出现)。 - DSH 的 approval policy(ask / never)只在插件配置
permission: 'ask'时出现在应答链上。kimi 侧的精度:auto 模式全部自批(连 AskUserQuestion 都会被引擎拒绝);yolo 模式绝大部分自批,但访问敏感文件(.env、SSH 密钥、凭据)和 .git 控制目录时仍会发问——这两条 ask 策略排在 yolo 自批之前。
同理,DSH 的 /plan 只对原生 loop 会话有效(提示词约定);kimi 会话的 plan 模式请用 /frostfin-plan——引擎级只读:plan 模式下 kimi 的权限策略链直接拒绝 Write/Edit 等变更工具(计划文件除外),不依赖模型自觉。
怎么选:
- 日常开发:
/yolo——绝大多数工具自批,只有碰 .env、SSH 密钥、凭据、.git 控制目录时才打断你。摩擦最低且留着安全兜底;模式按会话持久化,设一次就一直有效(含 DSH 重启后)。 - 想逐步审阅:
default——每个变更工具都弹窗。注意 DSH 弹窗只有"允许/拒绝",给不了 kimi 的"本会话允许",所以同类工具会逐次问;嫌烦就回 yolo。 - 只要方案不动手:
/frostfin-plan——引擎级只读,计划写完交你审。 - 无人值守:
/auto——全部自批,连提问工具都会被拒(它不会来烦你),配合 DSH 的/goal跑长任务最合适;别把敏感目录暴露给它。
安装
1. 安装 Kimi Code 并登录
macOS / Linux(官方脚本,无需 Node.js):
curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash
Windows(PowerShell;首次启动前需安装 Git for Windows,kimi 以自带的 Git Bash 作为 shell 环境):
irm https://code.kimi.com/kimi-code/install.ps1 | iex
装完运行一次 kimi,在 TUI 里用 /login 登录(Kimi Code OAuth 或 Moonshot 开放平台 API key)。frostfin 通过 kimi acp 子进程驱动,登录态直接复用,无需额外配置。
2. 安装 DSH
需要 Node.js ≥ 22.19:
npx @deepseek-ai/dsh web # Web UI 默认在 http://127.0.0.1:3080
对锁版本 @deepseek-ai/dsh@0.1.0-rc.x(见「状态」一节)。
3. 安装本插件
# 克隆并构建
git clone https://github.com/pzc2004/dsh-frostfin.git
cd dsh-frostfin && pnpm install && pnpm build
# 装进 DSH 的 web profile
npx @deepseek-ai/dsh plugin --profile web add /path/to/dsh-frostfin
# 重启 dsh web 生效
npx @deepseek-ai/dsh web
装好后:新模式「月芒霜鳍鲸」自动成为默认模式;会话视图环多出「月芒霜鳍鲸」tab(kimi 会话列表,一键接入);无需任何模型配置——DSH 的模型门禁由名义路由喂饱。
headless 也想要:npx @deepseek-ai/dsh plugin --profile headless add /path/to/dsh-frostfin
卸载:npx @deepseek-ai/dsh plugin --profile web remove dsh-frostfin——卸载会自动撤销一切注册,并把同步进 kimi config.toml 的托管块摘除(你的 kimi 配置原样恢复)。~/.frostfin/ 下的会话绑定与模型缓存会保留以便重装续聊;想彻底清除再 rm -rf ~/.frostfin。
平台支持
在 macOS 上完整开发与验证。Linux 应无差别(POSIX 语义主场)。Windows 未验证:已知前置是 kimi Code 本身需要 Git Bash(KIMI_SHELL_PATH 可指定),其余风险点(进程终止语义、宿主模块解析)待实测——欢迎 Windows 用户反馈。
路线图
- 远程 kimi 会话接入:把跑在服务器上的 Kimi Code 会话也纳入本地 DSH 管理——一个面板管所有机器上的 kimi。ACP 是 JSON-RPC over stdio,不挑传输:
ssh <主机> kimi acp把 stdio 骑在 SSH 通道上即可复用整座桥(转译、审批、提问、状态条不变),远程会话列表改走 ACPsession/list。要补的是按主机配置的远程 spawn 接缝、绑定键的主机限定、面板按主机分组。 - 上游诉求:给 kimi ACP 适配器与 DSH 的待办清单见 docs/upstream-kimi-acp.md(选项描述/问题头透传、后台任务状态推送、子代理事件转发、goal 可达性等)。
状态
可用但早期。质量基线:58 个自动化测试(纯转译单测 + 驱动 script 化 ACP 子进程的端到端,不经真 kimi)+ 浏览器实测(流式回话、审批弹窗、提问模态框、图片理解、状态条、斜杠命令)。对锁 @deepseek-ai/dsh@0.1.0-rc.6 与 kimi Code 0.36.x——两边都在快速迭代,升级请当作主动动作。设计稿见 docs/design-v0.1.md(M1-M3 时代写成,M4+ 的实现笔记在代码注释里)。
License
Footnotes
-
生物志:霜鳍鲸 · B站原神 Wiki(出现地点:挪德卡莱;实装版本:月之一) ↩
-
「月之一」版本更新专题(官方公告全文)· B站原神 Wiki(第 9 条:新增野生生物含「霜鳍鲸」) ↩
-
主线任务「月亮升起的地方」 · B站原神 Wiki(过场文本:"霜鳍鲸从水面下跃出") ↩
-
「月之八」版本更新专题(官方公告全文)· B站原神 Wiki(第 8 条:新增野生生物「月芒霜鳍鲸」) ↩ ↩2
-
生物志:月芒霜鳍鲸 · B站原神 Wiki(出现地点:霜月;实装版本:月之八;粉色霜鳍鲸民话出处) ↩ ↩2
-
成就集「无束的残月」 · B站原神 Wiki(成就「为你喜爱的色彩」:点亮月之暗面的地图;同集多处成就文本出现「月荡海」) ↩ ↩2 ↩3