在群晖中安装opencode并配置好火山方舟的模型

环境说明

  • 设备:群晖DSM,SSH登录,默认shell为ash
  • 存储规划:程序、配置、缓存、对话数据全部存大容量分区 /volume3/back/opencode,杜绝系统小盘占满
  • AI模型:火山方舟 Coding Plan GLM-5.2,专属coding接口消耗免费代码额度
  • 排版标准:所有代码块仅使用 ``` 无后缀,渲染为 <pre><code> 原生容器,无语言class,文字纯黑不发灰

一、前置准备

  1. 控制面板开启SSH功能,admin账号SSH登录后切换root权限
sudo su

输入管理员密码,进入root终端。

  1. 确认磁盘:/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

无任何报错即代表配置正常。

六、启动与使用流程

  1. 进入你的代码项目目录
cd /volume1/homes/admin/你的项目文件夹
  1. 启动OpenCode交互式命令界面
opencode
  1. 查看可用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后重新加载

上一篇 自编译Llama.cpp使用Llama.cpp Desktop最佳参数
下一篇 使用LibreOffice删除PDF水印