dsh-doctor
asdf17128
Find what your DeepSeek Harness (dsh) patches silently broke — dead patches, config fields dropped by whole-config repla…
PROJECT TOPICS
PROJECT README

English | 中文
「受月矩力影响而发生变化的奇妙水生动物。」—— 提瓦特生物志

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


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

dsh-moontide(月潮)——月引潮汐、潮载鲸;后来才知道,6.7 的月球地图上真有一片海叫月荡海(Moontide Sea)[^5]dsh-moonwhale(月鲸)——两个吉祥物直接合体,最直白dsh-moonsea(月海)——月球暗面的真实天文学术语,最大气[^1]: 生物志:霜鳍鲸 · B站原神 Wiki(出现地点:挪德卡莱;实装版本:月之一) [^2]: 「月之一」版本更新专题(官方公告全文)· B站原神 Wiki(第 9 条:新增野生生物含「霜鳍鲸」) [^3]: 「月之八」版本更新专题(官方公告全文)· B站原神 Wiki(第 8 条:新增野生生物「月芒霜鳍鲸」) [^4]: 生物志:月芒霜鳍鲸 · B站原神 Wiki(出现地点:霜月;实装版本:月之八;粉色霜鳍鲸民话出处) [^5]: 成就集「无束的残月」 · B站原神 Wiki(成就「为你喜爱的色彩」:点亮月之暗面的地图;同集多处成就文本出现「月荡海」) [^6]: 主线任务「月亮升起的地方」 · B站原神 Wiki(过场文本:"霜鳍鲸从水面下跃出")
你 ──► 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)与浏览器实测:
/frostfin-attach 或「月芒霜鳍鲸」tab 一键接入,历史回放进 DSH 日志);权限模式与 thinking 档位按 kimi 会话记忆,进程重启后自动重放/frostfin-mode、/frostfin-thinking、/frostfin-plan、/yolo、/auto 直接切换;kimi 内建的 /compact /status /usage /mcp /tasks /help 原样透传执行;命令菜单里插件命令带 [frostfin] 标签、kimi 命令带 [kimi] 标签,与 DSH 宿主命令一眼区分/goal 可直接驱动 kimi 会话(宿主层轮次驱动器,卡片可暂停/编辑/删除);kimi 的 plan 模式经 /frostfin-mode plan 生效(引擎级只读,不是提示词约定)config.toml 的托管块,你的 kimi 配置原样恢复);~/.frostfin/ 下的会话绑定与模型缓存刻意保留,重装可续——想彻底清除:rm -rf ~/.frostfinfrostfin 会话里只需要管 kimi 的权限模式(/frostfin-mode <default|plan|auto|yolo>,快捷键 /yolo、/auto、/frostfin-plan)。DSH 侧的两个开关基本不用管,但各有一个例外:
never,往 kimi 的对话里注入一条英文策略通知,且在插件配置 permission: 'ask' 时让后续所有审批被自动拒绝(弹窗不再出现)。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 跑长任务最合适;别把敏感目录暴露给它。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 子进程驱动,登录态直接复用,无需额外配置。
需要 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(见「状态」一节)。
# 克隆并构建
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 用户反馈。
ssh <主机> kimi acp 把 stdio 骑在 SSH 通道上即可复用整座桥(转译、审批、提问、状态条不变),远程会话列表改走 ACP session/list。要补的是按主机配置的远程 spawn 接缝、绑定键的主机限定、面板按主机分组。可用但早期。质量基线: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+ 的实现笔记在代码注释里)。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。