05. AI Agent引擎:OpenCode 7×24小时服务部署
OpenCode 是目前最热门的开源 AI Coding Agent。不同于纯本地桌面客户端,OpenCode 具备 Headless Server 架构,允许我们将其部署在家庭开发机内部,并在外部通过浏览器、手机或远程终端连接控制。
一、安装 OpenCode
bash
curl -fsSL https://github.com/anomalyco/opencode/releases/download/v1.18.30/opencode-linux-x64.tar.gz -o /tmp/opencode.tar.gz
sudo tar -xzf /tmp/opencode.tar.gz -C /usr/local/bin/
rm -f /tmp/opencode.tar.gz
sudo chmod +x /usr/local/bin/opencode二、接入自定义模型(对接 CLIProxyAPI)
在 /root/.config/opencode/opencode.jsonc 和 /home/ubuntu/.config/opencode/opencode.jsonc 写入配置,将前文部署的专属网关接入进来:
json
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"cliproxyapi": {
"name": "CLIProxyAPI",
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "https://your-domain.com/cpa/v1",
"apiKey": "sk-your-api-key"
},
"models": {
"gemini-3.8-flash-high": {
"id": "gemini-3.8-flash-high",
"name": "Gemini 3.8 Flash",
"tool_call": true,
"reasoning": true,
"limit": {
"context": 1048576,
"output": 16384
}
},
"claude-sonnet-4-6": {
"id": "claude-sonnet-4-6",
"name": "Claude Sonnet 4.6 (Thinking)",
"tool_call": true,
"reasoning": true,
"limit": {
"context": 200000,
"output": 16384
}
}
}
}
},
"model": "cliproxyapi/gemini-3.8-flash-high"
}验证连通性:
bash
opencode models cliproxyapi
opencode run "请回复:测试成功"三、Systemd 守护进程常驻(带高强访问密码)
为了防止被外网未授权访问,服务端必须开启认证密码。创建 /etc/systemd/system/opencode.service:
ini
[Unit]
Description=OpenCode Headless Server
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/root
Environment="OPENCODE_SERVER_PASSWORD=your_secure_password"
ExecStart=/usr/local/bin/opencode serve --port 4096 --hostname 0.0.0.0 --mdns
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target启动并开机自启:
bash
sudo systemctl daemon-reload
sudo systemctl enable --now opencode
sudo systemctl status opencode四、核心使用技巧:Plan(架构规划)与 Build(编码实操)模式
OpenCode 内置了两个核心智能体角色:
- Build 模式:具备代码编写、文件修改、运行命令的全套权限;
- Plan 模式:只读模式,禁止修改任何代码,专门用于阅读大型需求文档、梳理架构、排查潜在逻辑漏洞。
💡 避坑提示:如果发现 Web 界面底部没有显示模式切换按钮,点击左上角侧边栏 ➔ 设置(Settings) ➔ 通用(General) ➔ 打开 【显示智能体】(Show agent) 开关,底栏就会立刻显示出
Build与Plan药丸切换按钮!