什么是 OpenCode?
OpenCode 是一款开源的 AI 编程 agent,运行在终端中,也可以通过桌面端、IDE 以及基于服务器的工作流来使用。它通过读取文件、解释结构、编辑代码、审查改动以及运行任务,帮助开发者处理代码库,所有这些都通过连接的 LLM 提供方完成。你可以将其连接到某个模型提供方(例如 Kimi API),OpenCode 会借助该提供方在你的开发环境中进行规划、推理和执行。
OpenCode 能帮你做什么?
如果你想要一种可以直接操作你的项目的 AI 编程工作流,可以选择 OpenCode。例如:
编写、编辑和重构代码:你可以让 OpenCode 添加功能、修改现有文件、重构函数,或说明某个模块应如何调整。为获得最佳效果,最好直接指定涉及的文件或目录。
调试错误并生成测试:OpenCode 可以检查错误输出、读取相关文件、给出修复建议并添加测试。当故障与项目上下文相关时,这一点尤其有用。
审查代码改动:在提交之前,你可以用 OpenCode 审查本地改动,让它查找可能的 bug、缺失的测试、不一致的模式以及有风险的修改。
自动化开发流程:OpenCode 还支持非交互式和基于服务端的工作流。例如,你可以从命令行运行一次性提示词,或启动一个无界面(headless)的 OpenCode 服务端,并连接其他客户端或集成。
使用 LLM API 配置 OpenCode 的前提条件
在使用 LLM API 配置 OpenCode 之前,请先准备好以下内容:
一个可用的终端,支持 macOS、Linux,或建议在 Windows 上使用 WSL。
Node.js、Homebrew 或其他受支持的安装方式。
一个可以安全测试的项目文件夹。
一个模型提供商账号。
使用 OpenCode 时请记住,提供商的凭证属于敏感信息。不要将密钥粘贴到公开的 issue、共享截图、源代码文件或已提交的配置文件中。
第 1 步:安装 OpenCode
根据 OpenCode 官方文档,最快的安装方式是使用安装脚本。在终端中运行:
OpenCode 也支持通过 npm、Homebrew 及其他方式安装。如果你更喜欢桌面版,可以下载与你设备匹配的版本。
第 2 步:启动 OpenCode
进入你想让 OpenCode 操作的项目:
启动 OpenCode:
如果这是你第一次在该项目中使用 OpenCode,请在 TUI 内部对其进行初始化:
如何使用 LLM API 配置 OpenCode
大多数情况下,“OpenCode API”指的是通过 API key 将 OpenCode 连接到外部 LLM 提供商。提供商负责提供模型,而 OpenCode 负责在你的项目内处理编程 agent 的工作流。以下步骤以 Kimi API 作为提供商示例。
第 1 步:创建你的 Kimi API key
打开Kimi API 开放平台。在控制台中创建一个 API key,然后将其保存到密码管理器或密钥管理工具中。如果控制台只会完整显示一次密钥,请在离开页面前先复制好。
第 2 步:连接模型提供商
在你的项目中启动 OpenCode:
在 OpenCode 界面中运行:
搜索 Moonshot AI,或查找你所用 OpenCode 版本中显示的 Kimi 兼容提供商条目。OpenCode 官方提供商文档中包含 Moonshot AI 提供商的接入流程:在 Moonshot AI 控制台中创建密钥,运行 /connect,搜索 Moonshot AI,然后输入该 API key。
如果你的版本没有列出 Moonshot AI,请更新 OpenCode 并刷新模型列表:
第 3 步:输入你的 Kimi API key
当 OpenCode 提示输入 API key 时,粘贴你的 Kimi API key。
OpenCode 会将提供商凭证保存在本地的身份验证文件中。官方提供商文档给出了该文件的路径:
通常你不需要手动编辑该文件,使用 OpenCode 提供商的 /connect 流程即可。
第 4 步:选择 Kimi 模型
连接提供商之后,在 OpenCode 内选择一个模型:
选择你想使用的 Kimi 模型。对于新的编程 agent 工作流,建议从以下开始:
如果你需要使用特定模型以非交互方式运行 OpenCode,请使用 OpenCode 模型列表中显示的“提供商/模型”格式。例如:
然后使用 OpenCode 打印出的确切模型标识符。
第 5 步:运行你的第一个编程任务
先从风险较低的任务开始,以确认提供商、模型、项目访问权限和权限设置都正常工作:
预期结果:
然后尝试一个小型编码任务:
这可以确认 OpenCode 能够读取项目并对代码库进行推理,之后再允许它进行修改。
为什么要在 OpenCode 中使用 Kimi API?
当你需要一个兼容 OpenAI API 的模型提供商来处理编码和智能体工作流时,Kimi API 很适合与 OpenCode 搭配使用。
强大的编码和推理能力
{{KIMI_MODEL_LATEST_FULL}} 官方定位于长程编码、指令遵循、自我修正和智能体执行。这使它适用于 OpenCode 中的多文件编辑、调试、重构和代码审查等任务。
支持长上下文,适配更大规模的项目
{{KIMI_MODEL_LATEST_FULL}} 的官方文档列出了 {{KIMI_MODEL_LATEST_FULL}} 及多个 K2 系列模型对长上下文的支持。在智能体工作流中,当任务需要读取多个文件、比较实现模式或保留大量任务历史时,长上下文能够提供帮助。
兼容 OpenAI API,设置更简单
Kimi API 兼容 OpenAI API 格式。对于已经支持 OpenAI 风格聊天补全的工具,这通常意味着你只需配置 API key、Base URL 和模型名称即可。
不局限于 OpenCode 的灵活用法
你可以将同一个 Kimi API key 用于其他兼容 OpenAI API 的开发工具、直接调用脚本或内部工作流。如果之后要使用 OpenCode server 或 OpenCode SDK,请先将 Kimi 配置为模型提供商。
你应该了解的 OpenCode API 关键设置
以下设置涵盖了大多数 OpenCode API 和提供商配置问题。
API key
API key 用于验证你对模型提供商发起的请求身份。在 OpenCode 中,通常这样添加:
提供商
提供商用于告知 OpenCode 模型的来源。在本指南中,提供商是月之暗面 / Kimi API。其他提供商可以单独配置,但每个提供商都需要有各自的凭证和模型列表。
Base URL
Base URL 是用于直接发起兼容 OpenAI API 请求的接口地址。对于 Kimi API 示例,请使用当前 Kimi API 文档或账户控制台中显示的接口地址。
模型名称
模型名称必须与提供商处的名称完全一致。一个小小的拼写错误就可能导致找不到模型的报错。
常见示例:
在 OpenCode 中,可以通过以下方式确认提供商/模型标识:
排查常见的 OpenCode API 错误
大多数设置问题通常出自以下五个方面之一:凭证、接口地址、提供商、模型名称,或上下文大小。
身份验证失败
如果 API key 粘贴错误、已被删除或已轮换,身份验证就可能失败。选错了提供商,或者所用的 key 属于与 OpenCode 当前配置账户或地区不同的账户,也会导致这个问题。
解决方法:
重新连接提供商并粘贴一个全新的 API key。如果你使用环境变量进行直接测试,请重置该 key:
接口地址无效错误
接口地址无效错误通常意味着 OpenCode 无法访问到正确的提供商接口。常见原因包括 Base URL 拼写错误、在不同工具间混用 .ai 和 .cn 接口地址,或代理/防火墙在请求到达提供商之前对其进行了改写。
解决方法:
查看当前 Kimi API 文档或控制台中显示的接口地址。进行直接 API 测试时,请统一使用同一个接口地址:
模型不受支持
当模型名称拼写错误、所选模型对你的账户不可用,或 OpenCode 的模型列表缓存已过期时,可能会出现这个错误。OpenCode 使用的提供商/模型标识与提供商文档中显示的原始模型名称不一致时,也可能引发此问题。
解决方法:
然后重新选择模型:
超出速率限制
速率限制错误通常意味着提供方在短时间内收到了过多请求。如果多个智能体任务同时运行,或者某个脚本或集成在过于频繁地重试失败的请求,就可能出现这种情况。
解决方法:
暂停任务、减少并行运行数量,并检查提供方控制台中的配额或账单状态。避免在 OpenCode 或直接调用 Kimi API 时写出无限重试的循环。
上下文窗口溢出
上下文窗口溢出通常意味着任务量超出了模型一次能处理的上限。如果包含的文件过多、要求 OpenCode 检查整个仓库,或者长会话中积累了太多对话历史,都可能触发这种情况。
解决方法:
让 OpenCode 聚焦在更小的范围内工作:
你也可以为更小的任务开启一个全新会话。
结语
OpenCode 可以将你的代码库连接到模型提供方,并在终端中运行编码任务。通过兼容 OpenAI API 的方式,Kimi API 能够为这些工作流提供模型后端。如果你想要一套实用的编程 agent 工作流,可以创建 Kimi API 密钥,在 OpenCode 中接入 Moonshot AI,选择一个 Kimi 模型,并运行一个小型项目任务来验证配置是否可用。
常见问题
/connect 在 OpenCode 中输入该密钥。OpenCode 会将提供方凭据保存在本地,官方文档中列出的凭据文件路径为 ~/.local/share/opencode/auth.json。opencode models。若使用 Kimi API,请选择你的 OpenCode 模型列表中显示的确切 Kimi 模型标识,例如账户可用时的 kimi-k2.6。/connect 在 OpenCode 中重新连接该提供方。