DeepSeek Harness Hub
← 返回列表

tafcear/kimi-tide

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
需源码安装

月汐kimi-tide是一个小插件,装在 DSH 上。DSH 就是你平时跟 AI…

暂不能直接安装(需源码编译或环境不满足):缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。 · 最近上游提交 2026/9/15 · 已提供中文文档

🌊 月汐(kimi-tide)— DSH 的「每一步自动选模型」插件:贴图自动走能看图的模型,写代码走编码模型,闲聊翻译走便宜模型,每次选了谁、为什么,面板看得见 · The per-step model router for DeepSeek Harness: any connected model, routed by your rules

综合分
36.6
GitHub 分
36.6
用户评分
★ Stars
6
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add tafcear/kimi-tide
缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装,改用 GitHub 源安装
数据截至 2026/9/17(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

npm 包kimi-tide(未发布到 npm,仅可源码安装)
Node 引擎未声明 engines.node
dsh CLI 依赖未声明 dsh 版本约束
入口文件缺少入口声明

缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/18 02:18:08

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

English | 简体中文

月汐(kimi-tide)是一个小插件,装在 DSH 上。DSH 就是你平时跟 AI 一起写代码、干活的工具(DeepSeek 官方开源)。

它只做一件事:自动替你换一个更合适的 AI。 你手里通常接了好几个 AI——有的便宜、有的聪明、有的看得懂图。以前全靠自己手动切,切完还常忘了切回来;装上月汐,它每一轮自己挑:日常活先给便宜的,要紧的活交给更聪明的,图交给看得懂图的。

它给你三样东西:

- 省钱——不该花的地方不花。闲聊、翻译、改文案、整理资料这类活,继续用最便宜的那个,好钢只用在刀刃上。
- 不掉链子——关键处有强模型兜着。写代码、审代码、做数学各自走更强的那个;要紧的产出还能先让强模型审一遍(问题按严重度列出 + 改进建议 + 通过/不通过),再交到你手上。
- 不用记着切回来——贴完一张图,只有那一轮换到看得懂图的 AI,下一轮自动回到你原来用的。贵 AI 是按「段」用的,不是按「整场会话」用的。

(下文里「AI」和「模型」是一回事——DSH 管它们叫模型。)

适合谁:在用 DSH、且接了不止一个模型的人。
不适合:只用一个模型,或还没跑起 DSH 的人(先把 DSH 用起来,再回来装这个)。

它解决什么问题

场景一:贴了张截图,模型说看不了

- 以前:手动切到能看图的模型 → 贴图 → 问完 → 记得切回来。
- 装后:直接贴。带图的消息自动交给能看图的模型,下一条纯文字消息自动回到默认模型。

场景二:切完模型,忘了切回来

- 以前:为一张图切到贵的模型,之后整场会话都在烧贵的额度。
- 装后:月汐按「每一步」决策,一会话不绑死——图处理完,下一条消息就回到你的默认模型。

场景三:额度总比预期烧得快

- 以前:所有消息——包括「你好」和「帮我看下这句翻译」——都走最贵的模型。
- 装后:选「省钱」预设(一套配好的「默认模型 + 规则」方案),闲聊、翻译、日常杂活自动走便宜模型,代码和图才动用贵的模型;面板实时显示套餐余额(Kimi/GLM 等带套餐的模型,无套餐的置灰不显示)。

30 秒看懂路由逻辑

一条消息进来,月汐按这个顺序决定用哪个模型:

1. 显式点名:消息里写 @kimi(provider 级:模型取你预设里配过的那个)或 @kimi/k3(精确钉到某个模型)→ 最高优先。
2. 规则命中:按预设规则判定——带图?命中哪组关键词?→ 规则按特异度排序(命中词多者优先、带图恒第一、平手按列表序),排序后首条目标可用的规则说了算(目标不可用自动降级下一条)。
3. 默认打底:都没命中 → 用预设的默认模型。
4. 带图保险:就算选了纯文本模型,消息带图也会被强制改道给能看图的模型——不会崩。

flowchart LR
A["💬 你的消息(本轮新消息)"] --> B{"显式 @模型?"}
B -- "@kimi 等" --> H["🎯 显式指令最高优先"]
B -- 否 --> C["📏 预设规则链带图 / 关键词组特异度降序 · 首条可用生效"]
C -- 命中 --> D["🌙 规则目标:模型|协作流(不可用则降级跳过)"]
C -- 未命中 --> E["💰 预设默认模型(打底)"]
H --> J
D -- "目标=协作流" --> T["🌊 转述流vision-exp 读图转文字"]
D -- "目标=模型" --> F
E --> F{"带图且目标文本-only?"}
T --> K["✍️ 转述文字文本模型接力"]
F -- 是 --> G["🖼️ 图像护栏改道多模态候选"]
F -- 否 --> J["📋 dock 面板留痕选谁 + 为什么"]
G --> J
K --> J

图中「协作流」= 一条「先 A 后 B」的自动流程(比如:图先转成文字,再交给便宜模型作答);「多模态」= 能看懂图片的模型;「转述」= 让能看图的模型(图中 vision-exp 是 Kimi 家一款能看图的模型名)把图里的内容写成文字;「dock 面板」= 输入框下方的「🌙 月汐」面板。

它长什么样
kimi-tide 1.0.0 架构图(协作编排)

点图看大图。docs/assets/readme/kimi-tide-architecture.html 下载后用浏览器打开,是可平移缩放/搜索的交互式架构图(明暗双主题,节点可溯源到源码)。

快速开始

1. 前置条件

- Node.js ≥ 22
- DSH @deepseek-ai/dsh@0.1.2-rc.1 及以上(本版实机验证于 0.1.5-rc.1)
- 你想互相调度的模型已接入 DSH——不限哪一家。想用 Kimi,就准备一把 Kimi Code Console API Key(在 Kimi 控制台生成的密钥;配额面板也用这把 key)

2. 接入候选模型(DSH「设置 → Models」页)

「设置 → Models」里添加模型来源(示例:kimi-coding,apiKeyEnv 填 KIMI_API_KEY,然后在凭据区粘贴你的 Key——k3 等 4 个 Kimi 模型会自动出现在目录里)。接几家都行:月汐的候选池就是这页的全部模型。密钥由 DSH 托管保存,不会写进任何插件配置文件。

3. 安装插件

cd packages/dsh-kimi-tide
npm install && npm run build && npm pack
dsh plugin --profile web add ./dsh-kimi-tide-.tgz

4. 用起来

重启 dsh web:

- 设置 → 月汐:预设行选「省钱」或「能力」,路由器即刻上岗;
- 消息里 @kimi 可以显式点名,或者靠内置关键词组自动改道(比如消息里出现「代码」就走编码模型);
- 输入框下方的「🌙 月汐」面板实时显示每一步选了谁、为什么;
- ✅ 30 秒验收:发一句「帮我写个函数」——面板应显示命中 code 规则并改道到编码模型。看不到理由条 = 路由器没上岗,回「设置 → 月汐」确认已选预设。

预设与规则

预设 = 一套「默认模型 + 规则」方案,一键全局切换;月汐自带两套:

| 预设 | 默认模型(没规则命中时用它) | 规则 | 适合谁 |
|---|---|---|---|
| 关闭 | — | — | 想完全手动选模型的人 |
| 省钱 | deepseek-v4-flash | 带图 → k3;代码关键词 → kimi-for-coding;翻译关键词 → deepseek-v4-flash | 额度敏感、日常杂活多 |
| 能力 | k3 | 带图 → k3;审查 → k3;代码 → kimi-for-coding;数学 → deepseek-v4-pro;长文 → k3;写作 → deepseek-v4-pro;翻译 → deepseek-v4-flash;闲聊 → deepseek-v4-flash | 追求最佳产出质量 |

内置 7 组关键词(词表可改,也可自建新组):

| 组 | 方向 | 内置词表(可改) |
|---|---|---|
| code | 编码 | 代码, code, bug, 重构, refactor, 实现, 函数, 测试, 接口, 联调, 部署, 性能, 报错, 日志, 编译, 命令, 脚本 |
| review | 审查 | 审查, review, 评审, 挑毛病, 复检, 检查, audit, 意见, 打分 |
| writing | 写作 | 写作, 文案, 润色, 改写, 扩写, 标题, 推文, 周报, 演讲稿, 总结 |
| translate | 翻译 | 翻译, 译成, 中译英, 英译中, translate, 本地化 |
| longdoc | 长文 | 长文档, 通读, 逐段, 全文, 上万字, 大文档 |
| math | 数学 | 数学, 证明, 推导, 求解, 公式, 数论, 概率, 逻辑题 |
| chitchat | 寒暄 | 你好, 谢谢, 怎么样, 随便, 聊聊, 天气 |

review 组默认服务于评审协作流(请强模型评审本轮产出)——机制、三个开关与今天的边界见下文「多模型协作评审」一节。

两个常用微调(都在「设置 → 月汐」里点几下就能配):

- 最少命中词数:给规则配一个下限(比如 2),一句话里至少命中这个词组的 2 个词才触发——避免「做个方案」这种顺带提到关键词的普通句子误触发。
- 推理力度(effort):给规则目标或默认模型指定「思考深度」档位(想得越深越慢越贵);模型不支持你配的档位时自动忽略,不会报错。

用量与余额(跟着命中的目标自动切)

面板第二行的额度槽会跟随当前命中的目标自动换形态:订阅类(code plan)显示用量窗(周 / 5h,条画的是剩余比例),API 计费类显示余额(余额不足以调用 API 时会明确标注)。旁边还有一个总览按钮——一屏列出全部已注册的源,以及某个源为什么没数据:「该套餐无公开 API」/「key 未配置」/「取数失败」三态分别说清,不用你猜。

取数用的凭据按 settings.yaml 里该 provider 配置的 apiKeyEnv 名字解析(并自动兼容内置别名)——你给 provider 起的 key 名与插件内置默认名不一致时,面板照样取得到数。

说明页与语义确认闸

- 「设置 → 月汐 → 说明」:面板每个元素是什么、设置里每个字段什么意思,八个分区讲清,关键条目带当前值(如「触发方式:当前=手动 ⇒ 关键词命中不会触发评审」),另有一张症状 → 原因表。
- 语义确认闸(默认关闭,需在配置里开):开启后关键词命中不会立刻改道——先让本预设的打底模型确认「这是本轮真意图吗」,判否就跳过该条规则、继续匹配后续规则。超时/模型不可用/输出解析失败一律按原关键词结果走;显式 @ 轮与「带图规则已排首位」的轮不发判官调用。配置项 preset.hitConfirm。
- 判词写在决策原因里:判否 / 确认 / 无结论会前置到面板的决策原因串(如「语义闸无结论 1200ms(code-kfc)」)。因为判否会让规则出链、最终落打底,带判词注记的打底决策也会照常上报——否则「判否」这个最该被看见的结果反而看不见。
- 判官按目标能力关掉思考:判官是推理模型,而这道闸只给它 64 token 的预算——如果放任它先思考,预算会被思考吃光、正文一个字都不剩,判词必然不可解析(闸门静默失效,什么都不改)。所以判官目标声明支持「off」档位时,插件会显式关掉思考;目标不支持(例如 k3)就不下发,绝不硬塞一个它不认的档位。

显式 @ 的两种写法

- @kimi(provider 级):模型取你预设里配过的那个 kimi 目标(不是目录里碰巧排第一的),决策原因里会写明依据;
- @kimi/k3(精确到模型):直接钉到该模型——想用哪个模型就用哪个,不受候选池顺序影响;模型不可用时会明确告诉你回落到了谁,不会静默换人。
- 只有真的 provider 才算指令:@ 后面若不是本插件认识的 provider——例如工作区路径引用 @README.md、scoped 包名 node_modules/@deepseek-ai/…、路径里的 @xxx——不会被当成显式指令,该轮照常走关键词规则,决策原因里写明「@x 非本路由器已知 provider(已忽略)」。

匹配细节(词边界、特异度排序、降级语义)、带图行为、配置全字段:见路由器架构详解。候选池 = Models 页全量目录,任何模型都能当默认或规则目标。

多模型协作评审(强模型把关)

路由决定「这一步用谁」,评审决定「这一步干得够不够好」。两者可以分开用,也可以一起用。

它做什么:一轮结束后,月汐把「本轮你的需求 + 主模型产出」发给你指定的评审模型(通常是更强、更贵的那个),拿回一份结构化评审——问题(按严重度分级:阻塞/建议/可选)→ 改进建议 → 结论(通过/有条件通过/不通过),并以评审卡贴在那一轮下面。

三个开关(设置 → 月汐 → 协作流):

| 开关 | 今天的实际行为 |
|---|---|
| 触发方式 | 关键词:消息命中指定关键词组才评审;手动:随时敲 /kimi-tide review 评审上一轮 |
| 轮数 | 1–3,约束评审往返次数 |
| 自动修订 | 尚未实现的配置项——勾选不会产生任何行为(字段保留,实现排在规划中) |

它今天不做的事:不会自动把产出退回重做,也不会替你改代码。评审判「不通过」时,下一步由你决定——这是有意的取舍:默认不烧强模型额度,也不自动改掉你满意的产出。

成本:评审只发生在命中的轮,且只把该轮产出切片发给评审模型(单段上限 12000 字符、60 秒超时、失败不打断本轮)。研究仓库引用的业界数据里,对抗式评审回路的 token 消耗常在单模型的 2–3 倍量级——本插件自身尚未测量。

证据分级:机制设计与三轮实证见 kimi-tide-research。其中「评审能否提升弱模型产出质量」尚未度量(意见接受率、与「强模型独立完成」的对照基线、修复引入新问题的比率均无数据),因此本节不写效果数字;「转移效率对照实验」已立为 v1.4.0 的发布前证据。

常见问题

Q:以前的 OAuth 接入方式去哪了?
A:退役了。DSH 官方生态已原生支持 Kimi 接入,自研的那层属于重复造轮,已整体删除。现在一把 Console API Key + 官方 Models 页配置即可。历史存档见 docs/legacy-setup.md。

Q:还需要装 Kimi CLI 并 kimi login 吗?
A:不需要。一把 Console API Key + 官方 Models 页配置即可。

Q:带图会话有什么限制?
A:默认「锁存」姿态下,会话一旦带过图就锁定在能看图的模型上——如果它的额度/Key 失效,这个会话切不回文本模型,只能新开。想避免:把预设的带图兜底改成「懒转述」(图片先转成文字,文本模型接力)或「盲答」(当没图处理)。转述结果有缓存,失败不会反复重试。重要的带图任务,保持模型额度健康即可。

Q:之前听说有个「能力评分引擎」?
A:退役了。以前靠机器打分选模型,黑箱难懂;现在改成你写得出的规则——命中即路由,未命中走默认,每个决策你都能读懂、改得动。旧评分配置升级时自动转成预设。

Q:路由配置存在哪里?升级会丢吗?
A:存在 DSH 设置里(「设置 → 月汐」编辑,重启保持)。跨版本升级自动迁移,旧配置自动留档;细节见路由器架构详解的「迁移链」节。

版本与路线

当前版本:v1.3.0(2026-09-15)

- 每个版本你得到了什么:CHANGELOG.md
- 维护者证据链(commit 锚点 / 验收记录):docs/release-evidence.md
- 规划中:子代理转述、0.8.5「强化与包装」小版本——详见证据链文档「规划中」条。

文档索引

这个项目的三条原则:官方优先 · 规则透明 · 决策可观测——路由依据是你写得出的规则,每次自动选路都有理由、有留痕。

我想用

- 快速开始(本页)
- 常见问题(本页)
- 更新日志

我想深挖

- 路由器架构详解:预设/规则/降级/迁移链/配置全字段
- 交互式架构图(下载后浏览器打开;静态版见上文「它长什么样」)
- DSH 宿主平台契约调研
- 项目定位与维护策略
- 双模型协作闭环方法论(本项目自己的开发方式;独立研究见 kimi-tide-research)

我想参与

- 来 Discussions 聊使用体验
- 报告问题、提交修复(欢迎任何形式的贡献,见下方贡献者)

开发与测试

bash
cd packages/dsh-kimi-tide
npm install
npm run typecheck   # tsc --noEmit
npm test            # vitest
npm run build       # tsc 宿主 + esbuild 浏览器

质量基线:全量测试绿 + typecheck 0 错误 + build 通过方可提交。本仓库实践「实施 → 独立审查 → 修复 → 复检验收」双模型协作闭环(见 docs/agent-collaboration-loop.md)。

文档门禁:npm run check 跑三条机器门禁——CHANGELOG / README / package 版本三方一致、全库文档链接不断、两个 README 双语对一致(版本行 / 章节骨架 / 徽章 / 本地文档链接集合四项,规则见 docs/agents/readme-pair.md)——任何用户可见改动,中英两份 README 必须同一次提交里一起改。

Release 双语四段式:每个新版本的 Release 正文(= 附注 tag 消息)必须是双语——中文整块在上、English 整块在下,每种语言内部四段:① 一句话定位 ② 本次更新 / What's new ③ 安装与升级 / Install & upgrade ④ 验证与验收 / Verification & acceptance。打 tag 前用 node scripts/check-release-notes.mjs --file  自检,Actions 在 gh release create 前再拦一次(模板与细则见 docs/agents/release-notes.md)。

发布门禁:任何版本发版(打 tag / 触发 Actions Release)前,必须在真实宿主上跑通该版本的实机验收清单并全绿,且由维护者裁定 tag——「单元测试绿」不等于「宿主里能跑」。各版本验收记录见 docs/release-evidence.md。

发布规范(维护者):DSH 插件必须声明 dsh.bundle.patch(指向 cordis.patch.yml)才能作为 profile 层加载。本插件已按官方规范声明,升级版本时请勿移除该字段。

贡献者

- 感谢 @dracpet 的实机诊断与社区贡献:PR #1(OAuth 过期刷新)、PR #2(commands/execute 跨宿主契约容错)、PR #3(YAML null 配置归一化)与 Issue #4(rc.2 投影 wire 契约诊断)——你的反馈直接加固了 0.5.x–0.6.0 的发布质量。
- 感谢 @pandashere 的 dsh-kimi-bridge(MIT):项目初期的 Kimi CLI 桥接由此起步,早期审查轮与双面插件/投影机制为月汐的面板链路提供了先行验证;该组件已随官方接入路径成熟而退役归档(git 历史保留),特此致谢。
- 也欢迎任何形式的贡献:报告问题、提交修复,或来 Discussions 聊聊使用体验。

许可证与合规提示

- kimi-tide 本体:MIT(Copyright 2026 kimi-tide contributors)
- 第三方组件:@earendil-works/pi-ai(MIT)、@deepseek-ai/dsh-llm-pi-ai(MIT, DeepSeek)、schemastery(MIT)、zod(MIT)、yaml(MIT)、dsh-kimi-bridge(MIT,历史致谢,已归档)
- 合规:默认走 Console API Key 官方路径,个人使用安心;Kimi Code 订阅条款仍以官方表述为准,请勿高频批量调用或共享密钥。
- 本仓库不含任何凭据;请勿将 ~/.dsh/.credentials.yaml、环境变量中的密钥提交到仓库。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群