Kimi在OpenCode使用
OpenCode 是一款终端编程 Agent。本文介绍如何通过内置认证把 OpenCode 的模型请求转发到 Kimi For Coding,由 Kimi K3 或 Kimi K2.7 Code 提供模型推理能力。
安装 OpenCode
通过安装脚本是最简单的安装方式:
代码块
Plain Text
curl -fsSL https://opencode.ai/install | bash
也可通过 npm 安装:
代码块
Plain Text
npm install -g opencode-ai
配置 API 密钥
运行 opencode auth login,在提供商列表中选择 Kimi For Coding:
代码块
Plain Text
opencode auth login┌ 添加凭证│◆ 选择提供商│ ● Kimi For Coding│ ...└
输入你的 Kimi For Coding API Key:
代码块
Plain Text
opencode auth login┌ 添加凭证│◇ 选择提供商│ Kimi For Coding│◇ 输入您的 API 密钥│ _└
API Key 可在 Kimi Code 控制台 创建和管理(最多 5 个,仅创建时显示一次,请妥善保存)。
启动并使用
配置完成后启动 OpenCode:
代码块
Plain Text
opencode
在会话中输入 /models:
代码块
Plain Text
/models
在 Kimi For Coding 列表下选择要用的模型:
•
Kimi K3:当前最强旗舰模型
•
Kimi K2.7 Code:成熟稳定的 Coding 模型
•
Kimi For Coding HighSpeed:K2.7 Code 高速版
使用前请了解自己的会员档位与可用权限,使用超出权限的模型和上下文会触发报错:
#eZTMfZDlUIrN text { white-space: pre; }#eZTMfZDlUIrN .fb0 { stroke: var(--N900-FG, 0.15); }#eZTMfZDlUIrN .fb0 {stroke: rgba(31,35,41, 0.15)}#eZTMfZDlUIrN .fx0 { stroke-miterlimit: 10; }#eZTMfZDlUIrN .fx0 {stroke-miterlimit: 10}#eZTMfZDlUIrN .fa1 { fill: rgb(187, 191, 196); }#eZTMfZDlUIrN .fa1 {fill: rgb(187, 191, 196)}#eZTMfZDlUIrN .fx1 { font: 400 12px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#eZTMfZDlUIrN .fx1 {font-style: normal}#eZTMfZDlUIrN .fx2 { text-anchor: middle; }#eZTMfZDlUIrN .fx2 {text-anchor: middle}#eZTMfZDlUIrN .fx3 { dominant-baseline: central; }#eZTMfZDlUIrN .fx3 {dominant-baseline: central}#eZTMfZDlUIrN .fx4 { stroke: none; }#eZTMfZDlUIrN .fx4 {stroke: none}#eZTMfZDlUIrN .fc0 { fill: var(--text-caption); }#eZTMfZDlUIrN .fc0 {fill: #646a73}#eZTMfZDlUIrN .fa2 { fill: var(--text-link-disabled); }#eZTMfZDlUIrN .fa2 {fill: rgb(187, 191, 196)}#eZTMfZDlUIrN .fa3 { fill: rgb(246, 246, 247); }#eZTMfZDlUIrN .fa3 {fill: rgb(246, 246, 247)}#eZTMfZDlUIrN .fx5 { font: 400 14px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#eZTMfZDlUIrN .fx5 {font-style: normal}#eZTMfZDlUIrN .fx6 { text-anchor: start; }#eZTMfZDlUIrN .fx6 {text-anchor: start}#eZTMfZDlUIrN .fx7 { dominant-baseline: alphabetic; }#eZTMfZDlUIrN .fx7 {dominant-baseline: alphabetic}#eZTMfZDlUIrN .fc1 { fill: rgb(103, 103, 108); }#eZTMfZDlUIrN .fc1 {fill: rgb(103, 103, 108)}#eZTMfZDlUIrN .fc2 { fill: rgb(60, 60, 67); }#eZTMfZDlUIrN .fc2 {fill: rgb(60, 60, 67)}#eZTMfZDlUIrN .fb1 { fill: var(--N900-FG, 0.15); }#eZTMfZDlUIrN .fb1 {fill: rgba(31,35,41, 0.15)}#eZTMfZDlUIrN .fb2 { fill: rgb(226, 226, 227); }#eZTMfZDlUIrN .fb2 {fill: rgb(226, 226, 227)}#eZTMfZDlUIrN .fa4 { fill: var(--bg-body); }#eZTMfZDlUIrN .fa4 {fill: #fff}ABC1234会员档位可用模型上下文窗口AndanteModeratoAllegretto 及以上Kimi K2.7 CodeKimi K3Kimi K2.7 CodeKimi K3Kimi K2.7 CodeKimi For Coding HighSpeed256KKimi K3:256KKimi K2.7 Code:256KKimi K3:最高 1MKimi K2.7 Code:256KKimi For Coding HighSpeed:256K
选中 K3 后,可输入 /variants 切换思考程度(effort):
代码块
Plain Text
思考程度(effort)映射
OpenCode 可选的 variant 有 Default / low / high / max,会按下表映射到 K3 实际档位(完整映射表见 模型配置):
#DtDJdNNfNBME text { white-space: pre; }#DtDJdNNfNBME .fb0 { stroke: var(--N900-FG, 0.15); }#DtDJdNNfNBME .fb0 {stroke: rgba(31,35,41, 0.15)}#DtDJdNNfNBME .fx0 { stroke-miterlimit: 10; }#DtDJdNNfNBME .fx0 {stroke-miterlimit: 10}#DtDJdNNfNBME .fa1 { fill: rgb(187, 191, 196); }#DtDJdNNfNBME .fa1 {fill: rgb(187, 191, 196)}#DtDJdNNfNBME .fx1 { font: 400 12px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#DtDJdNNfNBME .fx1 {font-style: normal}#DtDJdNNfNBME .fx2 { text-anchor: middle; }#DtDJdNNfNBME .fx2 {text-anchor: middle}#DtDJdNNfNBME .fx3 { dominant-baseline: central; }#DtDJdNNfNBME .fx3 {dominant-baseline: central}#DtDJdNNfNBME .fx4 { stroke: none; }#DtDJdNNfNBME .fx4 {stroke: none}#DtDJdNNfNBME .fc0 { fill: var(--text-caption); }#DtDJdNNfNBME .fc0 {fill: #646a73}#DtDJdNNfNBME .fa2 { fill: var(--text-link-disabled); }#DtDJdNNfNBME .fa2 {fill: rgb(187, 191, 196)}#DtDJdNNfNBME .fa3 { fill: rgb(246, 246, 247); }#DtDJdNNfNBME .fa3 {fill: rgb(246, 246, 247)}#DtDJdNNfNBME .fx5 { font: 400 14px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#DtDJdNNfNBME .fx5 {font-style: normal}#DtDJdNNfNBME .fx6 { text-anchor: start; }#DtDJdNNfNBME .fx6 {text-anchor: start}#DtDJdNNfNBME .fx7 { dominant-baseline: alphabetic; }#DtDJdNNfNBME .fx7 {dominant-baseline: alphabetic}#DtDJdNNfNBME .fc1 { fill: rgb(0, 0, 0); }#DtDJdNNfNBME .fc1 {fill: rgb(0, 0, 0)}#DtDJdNNfNBME .fx8 { font: 400 12px LarkHackSafariFont, LarkEmojiFont, ui-monospace, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, "Noto Sans", Tahoma, "Nimbus Sans L", Arial, "Liberation Sans", "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Source Han Sans SC", "Source Han Sans CN", "Microsoft YaHei", "Wenquanyi Micro Hei", "WenQuanYi Zen Hei", STHeiti, SimHei, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", system-ui; }#DtDJdNNfNBME .fx8 {font-style: normal}#DtDJdNNfNBME .fc2 { fill: rgb(52, 81, 178); }#DtDJdNNfNBME .fc2 {fill: rgb(52, 81, 178)}#DtDJdNNfNBME .fb1 { fill: var(--N900-FG, 0.15); }#DtDJdNNfNBME .fb1 {fill: rgba(31,35,41, 0.15)}#DtDJdNNfNBME .fb2 { fill: rgb(226, 226, 227); }#DtDJdNNfNBME .fb2 {fill: rgb(226, 226, 227)}#DtDJdNNfNBME .fa4 { fill: var(--bg-body); }#DtDJdNNfNBME .fa4 {fill: #fff}AB12345OpenCode variantK3 实际 effort(K3 默认值)(推荐)Defaultlowhighmaxhighlowhighmax
当前 Kimi K3 支持 low / high / max 三档;Kimi K2.7 Code 系列无需配置该字段。