【Agent & RSI】OpenCode离线部署:终端版 & Web 版
文章目录
- [【Agent & RSI】OpenCode离线部署:终端版 & Web 版](#【Agent & RSI】OpenCode离线部署:终端版 & Web 版)
-
- [1、linux 安装终端版 OpenCode(TUI)](#1、linux 安装终端版 OpenCode(TUI))
- [2、docker 安装网页版 OpenCode(OpenCode Web)](#2、docker 安装网页版 OpenCode(OpenCode Web))
- [3、OpenCode Web的使用](#3、OpenCode Web的使用)
参考资料
btw:虽然OpenCode支持内网环境的离线部署,但是受限于网络资源和GPU资源 ,很多功能是被阉割了(比如"在线检索"功能、超长上下文的 leaderboard 大模型、调用各种工具链完成代码的开发、测试和应用部署 等),导致OpenCode在内网环境中写代码、项目工程能力会大打折扣。
1、linux 安装终端版 OpenCode(TUI)
参考教程如下:OpenCode终端版 - 离线部署完整手册
opencode cli版本下载地址如下:https://github.com/anomalyco/opencode/releases
这里选择opencode-V2.2.5的预编译二进制压缩包进行部署

在Centos7进行解压
shell
tar -xzf opencode-linux-amd64.tar.gz
sudo mv opencode /usr/local/bin/
接着查看opencode版本:
shell
(base) -bash-4.2# opencode --version
opencode v2.2.5
如果正常就可以使用opencode-cli了(Ctrl + C退出)

关于本地模型提供商、本地模型的配置 ,则需要在/root/.config/opencode创建opencode.json

配置内容如下
json
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"chinaUnicom": {
"npm": "@ai-sdk/openai-compatible",
"name": "chinaUnicom",
"options": {
"baseURL": "https://openai.uniin.cn/openapi/v2",
"apiKey": "sk-anFobHJxZmY1YTh5OWNdpc2ZocHE6MDJwanM4ZnBmMDFic3gzbWhsZzgxeXhsaGg2azFpOWc3MGUxMW41aWIxZmZsbHBobHliNmwxNnNkeHFsaG9xdg=="
},
"models": {
"Qwen3-32B-Private": {
"name": "Qwen3-32B-Private"
}
}
}
},
"model": "chinaUnicom/Qwen3-32B-Private"
}

之后就可以在cli中使用了OpenCode了(这里只是模拟下配置过程,模型是无法调用):

2、docker 安装网页版 OpenCode(OpenCode Web)
OpenCode web版本 https://hub.docker.com/r/smanx/opencode

docker服务部署很简单,如下命令即可:
shell
docker run -itd --name opencode -p 4096:4096 \
-v opencode-config:/root/.config/opencode \
-v opencode-data:/root/.local/share/opencode \
-v "$(pwd)":/workspace \
-e OPENCODE_SERVER_USERNAME=opencode \
-e OPENCODE_SERVER_PASSWORD=secret \
smanx/opencode:2.2.5
启动服务后,为了能配置本地模型 ,需要将之前OpenCode Cli的模型配置json文件拷贝到容器中,命令如下:
shell
docker cp opencode.json opencode:/root/.config/opencode/opencode.json,再重启容器
OpenCode Web版和Cli版使用一致(可以配置模型提供商、模型,设置项目区,新建会话等)

为了方便,这里将opencode.json、workspace、opencode的SQLite数据库进行挂载,一齐写入到docker-compose.yaml中 (每次容器内执行写代码操作后,可以直接在宿主机上查看文件),方便一键启动
yaml
services:
opencode:
image: smanx/opencode:2.2.5
container_name: opencode
ports:
- "4096:4096"
volumes:
# 1) 宿主机上的 opencode.json 直接映射到容器配置目录(只读)
- /root/.config/opencode/opencode.json:/root/.config/opencode/opencode.json:ro
# 2) 数据卷:auth.json、opencode.db、log、storage 等
- /home/opencode/.local/data:/root/.local/share/opencode e/opencode
# 3) 宿主机目录挂到容器的 /home
- /home/opencode/agentCode:/home
# 4) 工作区
- /home/opencode/workspace:/workspace
environment:
- OPENCODE_SERVER_USERNAME=opencode
- OPENCODE_SERVER_PASSWORD=secret
# 对应 docker run 的 -it
stdin_open: true
tty: true
restart: unless-stopped
volumes:
opencode-data:
比如写一个贪吃蛇游戏,在容器里的home工作区下,可以将文件写入到宿主机的挂载目录下:

3、OpenCode Web的使用
1)用three.js绘制人体模型
选择工作区

查看token消耗数和费用

大模型通过Agent-Loop迭代优化代码

最后生成的代码可以在右侧预览、查看源码,编辑和下载

2)用three.js绘制剑王龙神号模型

和期望还是有很大落差的。。。。