# dsh-kimi [English](README.md) | 中文 [DeepSeek Harness (DSH)](https://github.com/deepseek-ai/deepseek-harness) 的 Kimi(Kimi Code 账号)对接插件包。 为任意 DSH profile 一键增加 Kimi 大模型能力:provider 路由、模型列表、设备码登录、token 自动刷新。 **无需手动编辑任何配置文件。** ## 功能 - **Provider 路由** —— 通过 `https://api.kimi.com/coding/v1`、OpenAI **Responses** 协议(pi-ai 适配器)接入 `kimi` provider, 内置四个模型:`kimi-for-coding`(K2.7 Coding)、`kimi-for-coding-highspeed`、`k3`(1M 上下文)、`k3-256k`。 - **登录** —— Kimi Code 设备码 OAuth 流程。dsh 持有**独立的 OAuth 会话**:它的 refresh token 家族与 Kimi Code CLI 完全隔离,这里的刷新永远不会导致 kimi CLI 掉线。 - **自动刷新** —— token 自动续期(每 5 分钟检查、到期前刷新);access token 写入 `KIMI_CODE_ACCESS_TOKEN` 凭据 ref,pi-ai 适配器每次请求实时读取。 - **Agent 工具** —— `kimi_login_begin`(发起登录)、`kimi_login_status`(查看状态)、`kimi_login_refresh`(强制刷新)。 - **前瞻兼容** —— 若宿主提供 `authorization` 服务,同一设备码流会自动注册为 `llm-pi-ai/kimi` 的授权流(Models 页登录按钮)。 ## 安装 ```sh # 本地目录安装 dsh plugin --profile web add /path/to/dsh-kimi # 或从 npm / GitHub Releases 安装(发布后) # dsh plugin --profile web add dsh-kimi-provider ``` 重启 DSH Web 进程,然后登录一次: 1. 让 agent 执行 `kimi_login_begin`(或等 `authorization` 服务可用后直接在 Models 页登录)——会得到一个 Kimi 授权链接和设备码; 2. 浏览器打开链接并确认; 3. 完成:模型选择器出现 4 个 Kimi 模型,token 自动续期。 任何挂载了 `dsh-base` 的 profile(web、headless……)都可以装,按 profile 分别安装: ```sh dsh plugin --profile headless add /path/to/dsh-kimi ``` ## 工作原理 - `cordis.patch.yml` —— 补丁层:给 `llm-pi-ai` 行写入 `kimi` provider 配置(协议、base URL、模型),并插入 `kimi-login` 插件行。 - `index.js` —— 插件主模块:设备码登录、凭据存储(`KIMI_CODE_ACCESS_TOKEN` + `KIMI_CODE_REFRESH` 两个 ref)、 自动刷新定时器、Agent 工具、可选的 `authorization` 流注册。 ## 安全 - token 存于 DSH 凭据库(`~/.dsh/.credentials.yaml`,权限 0600)。 - refresh token 只存放在 `KIMI_CODE_REFRESH` 凭据 ref(JSON 字符串)中,绝不写入源码或日志。 - dsh 的 OAuth 会话与 Kimi Code CLI 相互独立,不存在跨会话的 token 轮换冲突。 ## 兼容性 - DSH Host 0.1.2-alpha.4 及以上(具备 pi-ai LLM 适配器、`dsh plugin` bundle 机制和 `credentials` 服务即可)。 - Node.js ≥ 22.19;OAuth HTTP 调用依赖 `curl`。