前言
闲来刷 B 站的时候给我推了一个 opencode 的介绍视频,粗略看了一下发现界面还挺好看的(是的我就是因为觉得这个比较好看才去试试的 )
值得一提的是,到目前为止还是不能在 Windows 下使用的,我用的是 WSL2,所以是可以正常安装使用的,因此纯 Windows 的佬友可以退了哈哈哈
或者你也可以看一看,关注一下这个项目,说不定后面也支持 Windows 了呢?
同时我需要声明一下,我仅仅只是简单使用了一下,并没有完全深度使用。个人觉得这样的工具还是很有意思的,是除了用官方 Claude Code 或者代理 Claude Code,或者官方 Gemini Code 等工具的一个新选择。如果想要更加详细了解这个使用情况的话,佬友可以自己动手尝试一下。也算是抛砖引玉,看看佬友们有没有什么高见,可以分享学习一下
项目地址放下面了,Star 数还是不少的(截止 2025-07-06 有 9k):
GitHub - sst/opencode: AI coding agent, built for the terminal.
官方文档:
启动后界面(我自己改了主题后的,用的是 tokyonight 主题):
聊天界面 + 解释(可以放大看一下):
在线分享界面(真的是在线的,很有趣很新颖。只要对话完毕之后,用 /share 命令即可,可以用 /unshare 命令取消):
体验感受
- 功能整体还是比较完善的,目前有以下命令:
命令 | 说明 |
---|---|
/help | 显示帮助 |
/editor | 打开编辑器(需要先配置 EDITOR 环境变量,比如: export EDITOR=nvim) |
/files | 列出文件 |
/models | 列出模型 |
/init | 创建/更新 AGENTS.md |
/compact | 压缩会话 |
/sessions | 列出会话 |
/new | 新建会话 |
/share | 分享会话 |
/unshare | 取消分享会话 |
/themes | 列出主题(主题还挺多) |
/details | 切换工具详情显示 |
/exit | 退出应用 |
- 使用整体上和 Claude Code 和接近,但是对 / 指令识别没有那么准确。比如我明明已经清空了输入框,但是我输入 /unshare 却没有成功被识别为指令而被当作消息发送出去了。这一点小细节挺影响使用感的:
- 哪怕你仅仅只添加了一个模型,比如我仅仅添加了一个 DeepSeek-V3,但是因为配置文件的原因,导致会显示内置的 OpenAI 模型(我不知道是不是我的原因,总之我确实没有成功让其他的内置 OpenAI 模型不显示:
- 其他的暂且未知,因为我仅仅只是试用了一下,抛砖引玉,看看佬友们有没有什么高见
配置文件分享
对于全局的配置文件,我们需要创建 ~/.config/opencode/config.json
文件
而对于项目级的配置文件,只需要在项目根目录下创建 opencode.json
文件即可
我的 config.json
文件内容如下:
{
"$schema": "https://opencode.ai/config.json",
"theme": "tokyonight",
"provider": {
"openai": {
"api": "https://xxxx.com/v1",
"name": "NewApi",
"models": {
"DeepSeek-V3-HuoShan": {
"name": "DeepSeek-V3",
"attachment": false,
"reasoning": false,
"temperature": true,
"tool_call": true,
"cost": {
"input": 0.00008,
"output": 0.00004
},
"limit": {
"context": 128000,
"output": 8000
}
}
},
"options": {
"apiKey": "sk-xxx"
}
}
},
"autoshare": false,
"autoupdate": true
}
需要注意的是,因为 JSON 文件中无法写注释,上面的文件是便于一键复制所用的,下面我贴出的是配置文件解释:
{
// 配置文件架构验证地址
"$schema": "https://opencode.ai/config.json",
// 主题设置,当前使用 tokyonight 主题
"theme": "tokyonight",
// 提供商配置
"provider": {
// 这里写 openai,表示使用兼容 OpenAI 的接口,并不能自定义,和 aider 类似
"openai": {
// API 接口地址,需要加上 /v1 后缀
"api": "https://xxxx.com/v1",
// 提供商显示名称,可以自定义,会显示在模型后面,可见我上面的图片查看效果
"name": "NewApi",
// 模型配置
"models": {
// 这里填写模型 ID 名,也就是调用的模型的 ID,而非自己的别称
// 我使用了 NewApi 的模型重定向功能,因此模型名就是这样的
"DeepSeek-V3-HuoShan": {
// 模型显示名称,这里才是写别称的地方
"name": "DeepSeek-V3",
// 是否支持附件
"attachment": false,
// 是否支持推理
"reasoning": false,
// 是否支持温度参数
"temperature": true,
// 是否支持工具调用
"tool_call": true,
// 费用配置
"cost": {
// 输入费用(暂不清楚计费是以 K 为单位还是 M)
// 可是写了似乎也无法生效,我上面图片也给出了
// 下面的输出费用和上下文长度也无法正常生效,输出长度未测试是否生效
"input": 0.00008,
// 输出费用(暂不清楚计费是以 K 为单位还是 M)
"output": 0.00004
},
// 模型限制配置
"limit": {
// 上下文长度限制
"context": 128000,
// 输出长度限制
"output": 8000
}
}
},
// 额外选项配置
"options": {
// API 密钥
"apiKey": "sk-xxx"
}
}
},
// 是否自动分享
"autoshare": false,
// 是否自动更新程序包
"autoupdate": true
}
大家可以根据解释和官方示例进行自定义修改来满足自己的需求:
可选参数文档地址:
官方的配置功能很多,也包括了 Mcp 的设置,不过因为我个人原因,我并没有配置 Mcp,有需要的佬友可以自己根据文档去配置一下
配置好以及安装好 opencode 之后,去到我们的工作目录下,然后终端输入 opencode 启动即可体验啦!!!