在 claude-code-router 中接入 Kimi CLI:Agent 配置、网关路由与多模型切换实战指南 在 claude-code-router 中接入 Kimi CLIAgent 配置、网关路由与多模型切换实战指南【免费下载链接】claude-code-routerOne local control plane for every AI agent: route across models, fuse new capabilities, orchestrate tools, and stay fully in control.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-code-router本篇指南讲解如何在 claude-code-router下文简称 CCR中接入 Moonshot 的编码 Agent——Kimi CLI。读完你将掌握在 CCR Desktop 中创建 Kimi CLI Agent 配置的完整流程、每个配置字段的作用与约束、通过ccr-app/ccr命令启动会话并用/model切换模型的方法以及请求如何被纳入 CCR 供应商、路由与 Fusion 体系的底层原理。Kimi CLI 在 CCR 中具有两条固定约束仅支持 CLI且始终限定为从 CCR 打开的会话即“仅从 CCR 打开时生效”这两项在界面上不可编辑。除此之外它的一切能力供应商模型、Fusion 模型、路由规则、请求日志、可切换的模型集合都由 CCR 网关统一承载这使它非常适合与团队其他 Agent 共用一套供应商与模型治理体系。第一次接触 CCR建议先完成供应商与模型接入再创建 Agent 配置。可参见接入供应商与 Agent 配置总览。适用场景Kimi CLI 是 Moonshot 推出的命令行编码 Agent。在 CCR 中接入它主要用于以下三种诉求让 Kimi CLI 的请求走任意 CCR 供应商如已接入的 Anthropic、Moonshot、Kimi Coding Plan 或其他供应商或Fusion 模型统一走 CCR 网关与计费、日志链路给 Kimi CLI暴露多个可切换模型默认模型 可用模型集合避免切换模型时改环境变量或换账号以隔离的方式运行独立的 Kimi CLI 会话多个工作场景互不干扰。如果你需要的是另一种形态例如让 Kimi 模型运行在独立 App 界面中则不在本文讨论范围——Kimi CLI 在 CCR 中固定为 CLI 形态。前置条件在开始之前请依次确认CCR Desktop 正在运行且已完成配置——至少有一个供应商与模型处于可用状态Kimi CLI 已安装且其kimi命令在PATH中可用启动 CCR Desktop 的同一个 shell 环境必须能找到它这一点在后续“常见问题”里很关键已进入Agent 配置页面并点击添加配置准备新建条目。创建配置在 CCR Desktop 的Agent 配置中按下述步骤创建一条 Kimi CLI 配置点击添加配置在 Agent 列表中选择Kimi CLI填写配置名称例如Kimi - Work用于在启动入口中标识该会话选择Kimi 模型作为默认模型并追加一个或多个可用模型环境变量等高级设置通常保持留空仅当本机有特殊网络、代理或自定义环境需求时才填写键值对保存配置后复制配置卡片上生成好的启动命令即可开始使用。创建完成后配置会立即成为一个可启动的 Kimi CLI 入口。与普通供应商配置不同Kimi CLI 无需额外输入 API Key——它复用本机 Kimi CLI 已登录的凭据详见下文“从源码看底层原理”。配置项详解在 CCR 中Kimi CLI 的仅从 CCR 打开时生效与仅 CLI两项是固定值不可编辑。其余可配置字段如下字段如何配置效果Agent选择Kimi CLI在 CCR 中创建 Kimi CLI 启动入口。配置名称自由文本例如Kimi - Work标识该配置。桌面端命令使用ccr-app 名称CLI 命令使用ccr 名称。启用开关关闭的配置不会被应用也不会出现在启动入口。Kimi 模型供应商模型或 Fusion 模型默认模型至少需要一个。可用模型一个或多个供应商/Fusion 模型Kimi/model菜单里可切换的模型。默认模型始终包含在内。环境变量键值对可选高级设置普通使用保持为空。字段含义中有两点需要特别注意默认模型与可用模型可以来自 CCR 中已配置的任意供应商也可以是 Fusion 派生模型而不是必须绑定 Moonshot/Kimi 官方套餐默认模型始终被计入可用模型集合即使你没在“可用模型”里重复勾选它。打开与使用保存配置后配置卡片会展示启动命令。桌面端使用配置卡片复制出的命令ccr-app Kimi - Work命令行环境则直接使用ccrccr Kimi - Work进入 Kimi CLI 交互界面后使用/model在默认模型与可用模型集合之间即时切换。需要强调的是每一次选择发送的请求仍然全部经过 CCR——供应商选择、路由规则、Fusion 组合与请求日志都不会因为你在 Kimi CLI 内部切了模型而被绕过。换句话说Kimi CLI 在 CCR 中扮演的是“终端外壳”而真正决定请求去向的是 CCR 的路由与供应商体系。多实例当不同工作场景需要不同的默认模型或不同的可用模型集合时直接在Agent 配置中创建多条 Kimi CLI 配置即可例如一条Kimi - Work以 kimi-for-coding 为默认模型另一条Kimi - Personal以某个 Fusion 模型为默认模型每条配置是独立启动入口会话彼此隔离各自维护独立的可用模型集合互不影响。验证完成创建后建议按以下顺序做一次端到端验证运行桌面端配置卡片复制的ccr-app命令或 CLI 下的ccr命令确保能正常进入 Kimi CLI在 Kimi CLI 中发送一条消息确认能得到正常回复验证凭据与上游链路打开 CCR 的请求日志确认该请求确实经过了 CCR 网关而不是直连 Kimi 官方服务观察其路由结果与所选供应商运行/model确认默认模型与所有可用模型都出现在列表中且切换后请求仍能正常路由。常见问题/model为空或缺模型至少添加一个可用模型默认模型计入同时确认 CCR 中已经配置好可用的供应商与模型因为可用模型集合来源于 CCR 的模型列表而不是 Kimi CLI 本地的注册表。配置无法保存Kimi CLI 配置要求同时存在默认模型与至少一个可用模型两者缺一不可请检查是否只填了默认模型。找不到kimi请确认 Kimi CLI 已经安装并且启动 CCR Desktop 的同一个 shell 环境能够找到kimi可执行文件——CCR 启动时若扫描不到本地 CLIAgent 入口就可能缺失或不可用。从源码看 Kimi CLI 接入的底层原理了解配置步骤之后我们再从仓库源码层面解释几个关键机制便于排查与二次开发。本地凭据的发现与导入Kimi CLI 的配置与凭据保存在本机CCR 的本地 Agent 探测逻辑负责读取它们。本地供应商实现定义了一系列关键常量第 2934 行Kimi Coding 端点https://api.kimi.com/coding/v1Moonshot 开放平台端点https://api.moonshot.ai/v1OAuth 主机https://auth.kimi.com默认模型[kimi-for-coding]readKimiConfiguredProviders()第 251308 行会解析 Kimi CLI 的config.toml读取[providers.id]段type kimi下的api_key、base_url、oauth等配置以及[models.name]段中的模型与default_model。存储根目录遵循以下优先级环境变量KIMI_CODE_HOME显式指定的目录CCR_INTERNAL_HOME_DIR下的.kimi-code目录兜底为系统用户目录下的~/.kimi-code。凭据文件位于该目录的credentials/子目录OAuth 场景默认读取kimi-code.json。探测到 API Key 或可用的 OAuth Token 后候选发现会把该条目标记为可导入available若检测到登录但 Token 过期或缺失则会提示“Run /login in Kimi CLI, then rescan”状态为锁定locked。在 本地供应商服务中kind kimi的候选会分发到importKimiProvider()以网关供应商形式纳入 CCR。请求以 Kimi 官方身份上行为了让上行请求在 Kimi 侧看起来来自正规的 Kimi CLI导入供应商时会为网关插件注入一组身份头第 364378 行、第 237249 行User-Agent: kimi-code-cli/版本X-Msh-Platform: kimi_code_cli以及X-Msh-*系列设备信息头设备型号、设备名、OS 版本、设备 ID 等这些头信息大部分由 CCR 自动探测生成例如读取 Kimi CLI 的--version、通过sw_vers获取 macOS 版本也可以分别通过KIMI_CODE_VERSION、CCR_KIMI_BIN/KIMI_BIN等环境变量覆盖。插件同时会携带kimi-cli-oauth或kimi-cli-api-key后缀的 Bearer 认证与身份头一并strict生效。OAuth Token 的自动续期若你使用 Kimi CLI 的登录态OAuth而非显式 API KeyCCR 还实现了 Token 刷新逻辑第 397453 行在 Token 剩余有效期不足 60 秒时判定为过期kimiAccessTokenExpired有过期风险的会话会向{oauthHost}/api/oauth/token发起refresh_token请求单次刷新超时上限为 30 秒通过进程内并发去重 Map 避免同一凭据文件被多个并发请求同时刷新若发现同机运行中的 Kimi CLI 已抢先轮换了刷新凭据共享同一凭据文件导致的竞态会采用磁盘上的最新凭据而不会直接报错adoptPeerRotatedKimiAuth刷新成功后以0600权限原子写回凭据文件保证长期会话不断线。模型预设与模型目录kimi-for-coding这类模型在仓库的供应商预设中有更完整的描述其默认模型别名集合包含kimi code、kimi coding、kimi-for-coding等官方默认显示名为 “K2.7 Code”并提供基于openai_chat_completions与anthropic_messages两种协议的上游端点。这也解释了为什么在Agent 配置的“可用模型”里可以同时纳入来自不同协议族的模型——协议适配与转发是 CCR 网关层见路由与 Fusion 配置负责的Kimi CLI 侧只需要一个统一的/model菜单即可完成切换。小结Kimi CLI 是 CCR 本地 Agent 体系中“只从 CCR 打开”的纯 CLI 型配置一条配置 一个默认模型 一组可切换模型 若干启动命令。它把本机 Kimi CLI 的既有登录凭据与 CCR 的供应商、路由、Fusion、日志体系连接起来让 Kimi CLI 的工作流也进入统一治理的轨道。若你的团队同时使用多个编码 Agent可进一步参考 Agent 配置总览与可观测性 / 请求日志把这些入口统一纳入日常巡检与故障排查流程。【免费下载链接】claude-code-routerOne local control plane for every AI agent: route across models, fuse new capabilities, orchestrate tools, and stay fully in control.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-code-router创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考