环境说明
- 设备:群晖DSM,SSH登录,默认shell为ash
- 存储规划:程序、配置、缓存、对话数据全部存大容量分区
/volume3/back/opencode,杜绝系统小盘占满 - AI模型:火山方舟 Coding Plan GLM-5.2,专属coding接口消耗免费代码额度
- 排版标准:所有代码块仅使用
```无后缀,渲染为<pre><code>原生容器,无语言class,文字纯黑不发灰
一、前置准备
- 控制面板开启SSH功能,admin账号SSH登录后切换root权限
sudo su
输入管理员密码,进入root终端。
- 确认磁盘:
/volume3为大容量存储卷
二、卸载旧版本(已装过OpenCode才执行,全新安装可跳过)
1. 终止所有OpenCode后台进程
pkill -f opencode
2. 预览卸载会删除的文件(安全校验)
opencode uninstall --dry-run
3. 执行彻底卸载
opencode uninstall --force
4. 清理系统盘残留目录
rm -rf /root/.opencode /root/.config/opencode /root/.cache/opencode /root/.local/share/opencode
rm -rf /volume3/opencode-bin /volume3/opencode
三、全新安装 OpenCode(手动二进制下载,无ash兼容bug)
1. 创建统一存放目录
mkdir -p /volume3/back/opencode/{bin,config,data,cache}
2. 下载Linux amd64静态二进制程序
cd /volume3/back/opencode/bin
wget https://github.com/anomalyco/opencode/releases/latest/download/opencode-linux-amd64
3. 重命名并赋予执行权限
mv opencode-linux-amd64 opencode
chmod +x opencode
4. 创建全局软链接,任意终端直接调用 opencode
ln -sf /volume3/back/opencode/bin/opencode /usr/local/bin/opencode
验证程序版本:
opencode --version
四、全局环境变量配置(所有数据自动存入volume3大容量盘)
1. 写入全局永久环境变量(重启SSH/群晖自动生效)
cat >> /etc/profile <<'EOF'
# OpenCode 全量数据迁移至volume3大容量盘,规避系统小盘爆满
export XDG_CONFIG_HOME=/volume3/back/opencode/config
export XDG_DATA_HOME=/volume3/back/opencode/data
export XDG_CACHE_HOME=/volume3/back/opencode/cache
EOF
# 重载配置,当前会话立即生效
source /etc/profile
2. 校验路径是否全部指向大容量分区
执行校验命令:
opencode debug paths
正常输出参考:
home /root
data /volume3/back/opencode/data/opencode
bin /volume3/back/opencode/cache/opencode/bin
log /volume3/back/opencode/data/opencode/log
repos /volume3/back/opencode/data/opencode/repos
cache /volume3/back/opencode/cache/opencode
config /volume3/back/opencode/config/opencode
state /root/.local/state/opencode
tmp /tmp/opencode
state仅KB级临时文件,无需迁移,不占用磁盘空间。
五、火山方舟 Coding Plan 配置(GLM-5.2 合法JSON配置)
1. 创建配置存放文件夹
mkdir -p /volume3/back/opencode/config/opencode
2. 写入配置文件(替换apiKey为你自己的火山密钥)
cat > /volume3/back/opencode/config/opencode/opencode.json <<'EOF'
{
"$schema": "https://opencode.ai/config.json",
"model": "volcengine-plan/glm-5.2",
"provider": {
"volcengine-plan": {
"npm": "@ai-sdk/openai-compatible",
"name": "火山方舟 Coding Plan",
"options": {
"baseURL": "https://ark.cn-beijing.volces.com/api/coding/v3",
"apiKey": "ark-141a7aa9-f73e-465b-8dec-40e836d0cbdb-3b78c"
},
"models": {
"glm-5.2": {
"name": "GLM-5.2 Coding 代码模型",
"limit": {
"context": 1048576,
"output": 16384
}
}
}
}
}
}
EOF
3. 校验配置文件JSON合法性
opencode debug config
无任何报错即代表配置正常。
六、启动与使用流程
- 进入你的代码项目目录
cd /volume1/homes/admin/你的项目文件夹
- 启动OpenCode交互式命令界面
opencode
- 查看可用AI模型列表
进入程序后输入指令:
/models
列表出现 volcengine-plan/glm-5.2 即部署完成,可直接选择使用代码模型。
七、完整目录结构归档备查
/volume3/back/opencode/
├─ bin/ # opencode二进制主程序
├─ config/opencode/
│ └─ opencode.json # AI服务商配置(火山方舟)
├─ data/opencode/ # 对话记录、运行日志、代码仓库缓存
└─ cache/opencode/ # 程序运行缓存、工具依赖包
写入 root 专属永久环境变量
cat >> /root/.profile <<'EOF'
# OpenCode 固定大容量存储路径
export XDG_CONFIG_HOME=/volume3/back/opencode/config
export XDG_DATA_HOME=/volume3/back/opencode/data
export XDG_CACHE_HOME=/volume3/back/opencode/cache
EOF
立刻加载到当前终端
source /root/.profile
验证变量是否正常
echo $XDG_CONFIG_HOME
必须每次登录root后重新加载