第二章:安装部署与环境配置
本章从零开始,一步一步带你完成 OpenCode 的安装、DeepSeek API Key 的获取与配置、配置仓库的克隆部署,以及最终的验证与常见问题排查。完成本章后,你将拥有一个完全可用的 OpenCode × DeepSeek 多 Agent 协作环境。
本章内容基于 znlgis/my-opencode-deepseek-config 仓库及 OpenCode 官方文档整理,实际命令与界面可能随版本更新略有变化,请以
opencode --help与官方文档为准。
2.1 前置条件
在开始安装之前,请确保你的系统满足以下基本条件:
2.1.1 硬件与操作系统
| 条件 | 最低要求 | 说明 |
|---|---|---|
| 操作系统 | Windows 10+ / macOS 12+ / Linux(任意发行版) | 均完整支持 |
| 内存 | 无特殊要求 | OpenCode 本身是轻量级 CLI 工具 |
| 磁盘空间 | 约 500 MB | 安装包约 200 MB,模型无需本地部署 |
| 终端 | 支持 TUI 的现代终端 | 推荐 Windows Terminal、WezTerm、iTerm2、Kitty |
Windows 用户若遇到兼容性问题,建议使用 WSL2(Windows Subsystem for Linux),体验更佳。
2.1.2 软件依赖
安装 OpenCode 前需要确认以下工具已就绪:
1. Git
OpenCode 的多项核心功能(会话快照、/undo、/redo、代码审查等)依赖 Git。执行以下命令确认已安装:
git --version
# 预期输出:git version 2.x.x 或更高
如未安装,请前往 git-scm.com 下载对应平台的安装包。
2. DeepSeek API Key
本配置方案基于 DeepSeek V4 三模型(Pro + Flash + Flash-Vision-Exp),需要有效的 API Key。详见 2.2 节。
3. OpenCode >= v1.18.x
DeepSeek provider 已被 OpenCode 内置支持,无需安装任何额外插件。本配置仓库要求 OpenCode >= v1.18.x(README 中明确标注)。如果之前安装过旧版本,建议先卸载再重新安装。
2.2 DeepSeek API Key 获取
2.2.1 注册与登录
- 访问 platform.deepseek.com
- 点击右上角「注册 / 登录」,使用手机号或邮箱完成注册
- 登录后进入控制台
2.2.2 创建 API Key
- 在左侧导航栏选择「API Keys」
- 点击「创建 API Key」按钮
- 为 Key 填写一个便于识别的名称(如
my-opencode) - 点击「创建」,页面会显示完整的 Key 字符串
注意:API Key 仅在创建时显示一次,请立即复制并妥善保存。如果丢失,需要重新创建新 Key。
2.2.3 充值说明
DeepSeek 采用按量付费模式,使用前需要账户中有余额:
- 进入「充值」页面,支持支付宝 / 微信支付
- 最低充值金额为 1 元人民币
- DeepSeek V4 采用按量付费,2026-08-16 起区分高峰 / 低谷时段定价(低谷约为高峰的一半)。以低谷价计(USD/百万 tokens):Pro 输入 0.66 / 输出 1.98;Flash 输入 0.22 / 输出 0.66;Flash-Vision-Exp 与 Flash 同价。缓存命中读取价远低于输入价(Pro 0.022、Flash 0.007),是成本优化的关键杠杆
- 具体成本测算可参考仓库内
scripts/estimate-cost.js脚本
提示:首次使用建议充值 10 元即可,正常情况下可使用很长时间。
2.2.4 安全提醒
- 绝对不要 将 API Key 提交到 Git 仓库
- 绝对不要 在公开场合分享你的 API Key
- 如果不慎泄露,请立即在 DeepSeek 控制台删除该 Key 并创建新 Key
- 本配置方案的
AGENTS.md已将.env等敏感文件设为deny权限,防止误读
2.3 OpenCode 安装
2.3.1 一键安装脚本(推荐)
打开终端,执行以下命令:
curl -fsSL https://opencode.ai/install | bash
安装脚本会自动检测操作系统并下载对应二进制文件。安装路径优先级:
$OPENCODE_INSTALL_DIR—— 自定义安装目录$XDG_BIN_DIR—— 符合 XDG 规范的路径$HOME/bin—— 用户二进制目录$HOME/.opencode/bin—— 默认兜底
# 指定安装目录示例
OPENCODE_INSTALL_DIR=/usr/local/bin curl -fsSL https://opencode.ai/install | bash
2.3.2 包管理器安装
各平台的包管理器安装方式:
macOS(Homebrew):
# 官方 tap(推荐,更新最及时)
brew install anomalyco/tap/opencode
# 或使用官方 Homebrew 公式
brew install opencode
Windows(Scoop / Chocolatey):
# Scoop
scoop install opencode
# Chocolatey
choco install opencode
Linux(各发行版):
# Arch Linux
sudo pacman -S opencode # 官方源(稳定版)
paru -S opencode-bin # AUR(最新版)
# 使用 npm / pnpm / yarn
npm install -g opencode-ai
# 使用 mise(版本管理器)
mise use -g opencode
2.3.3 验证安装
安装完成后,验证 OpenCode 是否正常工作:
opencode --version
# 预期输出:opencode x.x.x(版本号应 >= 1.14.24)
若提示找不到命令,请确认安装目录已加入系统 PATH,或重新打开终端。
2.4 配置 DeepSeek 模型连接
OpenCode 支持两种方式连接 DeepSeek:TUI 交互式配置(推荐)和环境变量。
2.4.1 方式一:TUI 交互式配置(推荐)
TUI 交互式配置最为直观,无需手动编辑任何配置文件。
步骤 1:启动 OpenCode TUI
opencode
此时终端会进入 OpenCode 的 TUI 界面。
步骤 2:连接 DeepSeek Provider
在 TUI 输入框中输入:
/connect
在弹出的 Provider 列表中选择 DeepSeek,然后粘贴你的 API Key。
步骤 3:选择模型
/models
在模型列表中选择 deepseek-v4-pro 作为主模型。系统会自动将 deepseek-v4-flash 设为小模型。
API Key 会自动持久化到 ~/.local/share/opencode/auth.json,下次启动无需重复配置。
2.4.2 方式二:环境变量
如果你更习惯通过环境变量管理密钥,可以在启动前设置 DEEPSEEK_API_KEY:
Windows(PowerShell):
# 临时设置(仅当前会话有效)
$env:DEEPSEEK_API_KEY = "sk-your-key-here"
opencode
# 永久设置:将 DEEPSEEK_API_KEY 添加到系统环境变量
# 方式 A:系统设置 → 环境变量 → 新建用户变量
# 方式 B(PowerShell 管理员):
[Environment]::SetEnvironmentVariable("DEEPSEEK_API_KEY", "sk-your-key-here", "User")
Linux / macOS:
# 临时设置
export DEEPSEEK_API_KEY="sk-your-key-here"
opencode
# 永久设置:追加到 shell 配置文件
echo 'export DEEPSEEK_API_KEY="sk-your-key-here"' >> ~/.bashrc
# 或 (macOS zsh)
echo 'export DEEPSEEK_API_KEY="sk-your-key-here"' >> ~/.zshrc
source ~/.bashrc # 或 source ~/.zshrc
2.4.3 Provider 配置参考
本配置方案的 opencode.jsonc 中通过 provider.deepseek.models 预设了 DeepSeek 三模型矩阵,并声明了各自的成本与思考开关:
{
"model": "deepseek/deepseek-v4-pro",
"small_model": "deepseek/deepseek-v4-flash",
"provider": {
"deepseek": {
"models": {
"deepseek-v4-flash": {
"cost": { "input": 0.22, "output": 0.66, "cache_read": 0.007, "cache_write": 0.22 },
"options": { "temperature": 0, "thinking": { "type": "disabled" } }
},
"deepseek-v4-flash-vision-exp": {
"modalities": { "input": ["text", "image"], "output": ["text"] },
"cost": { "input": 0.22, "output": 0.66, "cache_read": 0.007, "cache_write": 0.22 },
"options": { "temperature": 0, "thinking": { "type": "disabled" } }
},
"deepseek-v4-pro": {
"cost": { "input": 0.66, "output": 1.98, "cache_read": 0.022, "cache_write": 0.66 }
}
}
}
}
}
思考开关的默认值:Pro 的 thinking 默认开启(无需显式配置
thinking: { "type": "enabled" }),Flash 与 Flash-Vision-Exp 则在 provider 层显式关闭 thinking 并设temperature: 0,这是 DeepSeek 官方(deepseek-harness)推荐的成本优化做法。options.thinking是 provider 透传字段,OpenCode 会原样转发给 DeepSeek API。
模型 ID 命名规则:OpenCode 中模型的完整标识为
provider_id/model_id,即deepseek/deepseek-v4-pro、deepseek/deepseek-v4-flash和deepseek/deepseek-v4-flash-vision-exp。modalities声明了 vision-exp 支持图片输入,否则 OpenCode 会将其视为纯文本模型而拒绝read_image调用。
2.5 克隆配置仓库
本配置仓库在 opencode/ 子目录下包含 12 个 Agent 定义、25 个技能文件、全局规则(AGENTS.md)、插件配置(dcp.jsonc)和主配置文件(opencode.jsonc)。推荐克隆到任意位置后通过环境变量或符号链接指向 opencode/ 子目录即可使用。
2.5.1 方式一:克隆 + 环境变量(推荐,跨平台通用)
注意:本配置仓库的
agents/、skills/、AGENTS.md等文件位于opencode/子目录下,不能直接克隆到~/.config/opencode(否则会多嵌套一层目录)。推荐克隆到任意路径后通过环境变量指向opencode/子目录。
步骤 1:克隆仓库
git clone https://github.com/znlgis/my-opencode-deepseek-config.git
步骤 2:设置环境变量
设置 OPENCODE_CONFIG_DIR 指向仓库内的 opencode/ 子目录:
Windows(PowerShell)—— 永久生效:
# 请将路径替换为你的实际克隆路径
[Environment]::SetEnvironmentVariable("OPENCODE_CONFIG_DIR", "D:\path\to\my-opencode-deepseek-config\opencode", "User")
Windows(PowerShell)—— 临时生效(仅当前会话):
$env:OPENCODE_CONFIG_DIR = "D:\path\to\my-opencode-deepseek-config\opencode"
opencode
Linux / macOS —— 追加到 shell 配置文件:
# 请将路径替换为你的实际克隆路径
echo 'export OPENCODE_CONFIG_DIR="$HOME/path/to/my-opencode-deepseek-config/opencode"' >> ~/.bashrc
source ~/.bashrc
2.5.2 方式二:符号链接到全局配置目录
~/.config/opencode 是 OpenCode 的标准全局配置路径。通过符号链接将 opencode/ 子目录映射到标准路径:
Windows(PowerShell,需管理员):
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.config"
New-Item -ItemType SymbolicLink -Path "$env:USERPROFILE\.config\opencode" -Target "D:\path\to\my-opencode-deepseek-config\opencode"
Linux / macOS:
mkdir -p ~/.config
ln -s /path/to/my-opencode-deepseek-config/opencode ~/.config/opencode
兼容性说明:该仓库的
opencode/子目录布局完全遵循 OpenCode 约定 ——agents/目录存放 Agent 系统提示、skills/目录存放可复用技能、AGENTS.md作为全局规则文件。无论通过环境变量还是符号链接指向该目录,OpenCode 都能自动识别全部配置。
目录结构如下:
my-opencode-deepseek-config/
├── opencode/ ← 配置目录(OPENCODE_CONFIG_DIR 指向此处)
│ ├── agents/ ← 12 个 Agent 系统提示
│ │ ├── orchestrator.md ← 主编排器(Flash,默认入口)
│ │ ├── solo.md ← 单模型内联执行器(Pro,主 Agent)
│ │ ├── planner.md ← 架构与规划(Flash)
│ │ ├── deep-worker.md ← 重型实现(Pro)
│ │ ├── oracle.md ← 深度代码分析(Pro,只读)
│ │ ├── reviewer.md ← 代码审查(Pro,只读)
│ │ ├── consultant.md ← 方案讨论与建议(Flash)
│ │ ├── ui-builder.md ← 前端与 UI(Flash)
│ │ ├── explore.md ← 代码库搜索(Flash,只读)
│ │ ├── librarian.md ← 外部检索(Flash,只读)
│ │ ├── light-orchestrator.md ← 简单编辑(Flash)
│ │ └── vision.md ← 多模态识别(Flash-Vision,只读)
│ ├── skills/ ← 25 个可复用技能
│ │ ├── code-review/ ← 代码审查 + 严重度分级
│ │ ├── codemap/ ← 生成仓库结构图
│ │ ├── gh-cli/ ← GitHub CLI v2.100+ 参考
│ │ ├── git-master/ ← 高级 Git 操作
│ │ ├── git-release/ ← Tag 发布
│ │ ├── resolving-merge-conflicts/ ← 合并冲突解决
│ │ ├── handoff/ ← 会话压缩为交接文档
│ │ ├── opencode-config/ ← 编写和维护 OpenCode 配置
│ │ ├── office-docs/ ← Word/Excel 读写
│ │ ├── reflect/ ← 持续改进
│ │ ├── remove-deadcode/ ← 死代码检测与删除
│ │ ├── security-review/ ← 安全审查清单
│ │ ├── simplify/ ← 行为保持的代码简化
│ │ ├── spec-workflow/ ← 规约驱动开发
│ │ ├── verify-with-docs/ ← 检索优先 API 验证
│ │ ├── vision-prep/ ← 大图/PDF 预处理
│ │ ├── grilling/ ← 需求澄清提问
│ │ ├── wait-what/ ← 请求复述确认
│ │ ├── writing-for-agents/ ← 面向 Agent 的文档写作
│ │ ├── to-tickets/ ← 计划拆分为工单
│ │ ├── triage/ ← 工单分流
│ │ ├── diagnosing-bugs/ ← 系统化调试
│ │ ├── codebase-design/ ← 架构词汇表
│ │ ├── domain-modeling/ ← 领域术语表
│ │ └── grill-with-docs/ ← 组合式需求澄清
│ ├── AGENTS.md ← 全局规则(所有 Agent 共享,218 行)
│ ├── opencode.jsonc ← 主配置文件(17 条命令)
│ └── dcp.jsonc ← DCP 智能压缩插件配置
├── scripts/ ← 辅助脚本
│ ├── estimate-cost.js ← 成本估算
│ ├── sync-config.ps1 ← 同步配置到 ~/.config/opencode
│ └── validate-jsonc.js ← JSONC 校验
├── README.md ← 中文说明
├── README.en-US.md ← 英文说明
└── LICENSE
2.5.3 Windows 路径注意事项
Windows 用户在克隆时可能会遇到以下问题:
- 路径过长:Git 默认不处理超过 260 字符的路径。如遇到
Filename too long错误,以管理员身份运行:git config --system core.longpaths true - 中文用户名目录:如果 Windows 用户名为中文(如
C:\Users\张三),$env:USERPROFILE可能包含中文路径。大多数情况下兼容,但如果遇到编码问题,可以改用英文路径:git clone https://github.com/znlgis/my-opencode-deepseek-config.git D:\opencode-config $env:OPENCODE_CONFIG_DIR = "D:\opencode-config\opencode" - PowerShell 执行策略:如果运行脚本时报
execution policy相关错误,请先执行:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
2.6 验证安装
完成以上步骤后,启动 OpenCode 验证所有组件是否正常加载:
opencode
在 TUI 中输入以下命令逐一验证:
2.6.1 验证模型连接
输入 /models,应显示当前模型为 deepseek/deepseek-v4-pro,小模型为 deepseek/deepseek-v4-flash。你可以手动切换模型来测试连接是否正常。
2.6.2 验证 Agent 加载
本配置仓库定义了 12 个 Agent(2 个主 Agent + 10 个子 Agent)。检查 Agent 列表确认所有 Agent 已被识别:
orchestrator— 主编排器(Flash,默认入口)solo— 单模型内联执行器(Pro,主 Agent)planner— 规划与方案设计(Flash)deep-worker— 重型实现(Pro)oracle— 根因分析与深度理解(Pro,只读)reviewer— 代码审查(Pro,只读)ui-builder— 前端 / UI 开发(Flash)consultant— 方案讨论与建议(Flash)explore— 代码库探索(Flash,只读)librarian— 文档检索(Flash,只读)light-orchestrator— 轻量任务执行(Flash)vision— 多模态识别(Flash-Vision,只读)
2.6.3 验证 Orchestrator 路由
输入一个自然语言请求,观察 Orchestrator 是否自动分析意图并路由到合适的 Agent:
「帮我看看这个项目的结构」
Orchestrator 应自动识别为探索类请求,调度 explore Agent(携带 codemap 技能)执行。
「这段代码有个性能问题,帮我排查一下」
Orchestrator 应调度 oracle Agent 进行分析,若需要修复则再调度 deep-worker。
2.6.4 验证命令别名
输入 /help 查看已加载的自定义命令。本配置仓库提供了 17 条命令别名,分为 Agent 路由命令、操作命令、内联命令和规约命令四类:
| 命令 | 用途 | 命令 | 用途 |
|---|---|---|---|
/deep |
重型实现 / 多文件改动 | /quick |
轻量任务 / 单文件编辑 |
/ui |
前端/UI 工作 | /vision |
多模态识别(图片/截图) |
/review |
代码审查(PR 或本地 diff) | /plan |
制定方案 / 技术设计 |
/oracle |
深度分析 / 问题溯源 | /commit |
生成 Conventional Commits 提交信息 |
/release |
准备 Tag 发布 | /reflect |
发现摩擦 → 配置优化 |
/handoff |
会话交接文档 | /rmslop |
清理死代码和 AI slop |
/codemap |
生成仓库结构图 | /simplify |
行为保持的代码简化 |
/learn |
提炼会话经验写入 AGENTS.md | /spec-propose |
起草变更提案 |
/spec-apply |
按 tasks.md 逐一实现 |
2.6.5 验证技能加载
OpenCode 的技能(Skills)按需加载。技能按需加载,可通过 /codemap 等命令触发演示,或直接查看 skills/ 目录下的 SKILL.md 文件。
2.7 常见安装问题排查
2.7.1 OpenCode 版本过旧
症状:启动后找不到 DeepSeek provider,或 /connect 列表中无 DeepSeek 选项。
解决:
opencode --version
# 如果版本低于 v1.18.x,请升级
升级方式取决于你的安装方式:
# 一键安装脚本(直接覆盖)
curl -fsSL https://opencode.ai/install | bash
# Homebrew
brew upgrade opencode
# npm
npm update -g opencode-ai
# Scoop
scoop update opencode
2.7.2 API Key 格式错误或未充值
症状:发送消息后返回 401 Unauthorized 或 402 Payment Required。
解决:
- 检查 API Key 是否完整复制(以
sk-开头) - 确认 API Key 未被意外撤销(登录 DeepSeek 控制台查看)
- 确认账户余额充足(控制台 → 充值页面查看余额)
- 如果 Key 已泄露,立即删除并创建新 Key
2.7.3 配置目录未被识别
症状:启动 OpenCode 后未加载自定义 Agent 或命令别名。
解决:
- 确认
OPENCODE_CONFIG_DIR环境变量已正确设置并指向仓库内的opencode/子目录(而非仓库根目录) - 如果使用符号链接方式,确认
~/.config/opencode链接已正确指向.../my-opencode-deepseek-config/opencode - 检查目录结构:应直接包含
agents/、skills/等子目录(而非套了一层仓库名目录) - 验证环境变量是否生效(Windows 需重启终端或启动新会话,Linux/macOS 需重新 source)
# 检查配置目录结构(符号链接方式)
ls ~/.config/opencode/
# 或(环境变量方式)
ls $OPENCODE_CONFIG_DIR
# 应看到:agents/ skills/ AGENTS.md opencode.jsonc dcp.jsonc ...
2.7.4 网络代理配置
症状:在中国大陆使用时,可能遇到 GitHub 克隆缓慢或 DeepSeek API 连接超时。
解决:
GitHub 克隆加速:
# 使用代理(如果有)
git clone https://github.com/znlgis/my-opencode-deepseek-config.git
# 或配置 Git 代理
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890
# 或使用国内镜像(如 ghproxy)
git clone https://ghproxy.com/https://github.com/znlgis/my-opencode-deepseek-config.git
OpenCode 代理配置:
OpenCode 本身通过 DeepSeek API 通信,不走本地代理设置。如有需要,可以在系统层面配置 HTTPS 代理:
# Windows PowerShell
$env:HTTPS_PROXY = "http://127.0.0.1:7890"
opencode
# Linux / macOS
export HTTPS_PROXY="http://127.0.0.1:7890"
opencode
2.7.5 权限问题
症状:Linux/macOS 下执行 opencode 报 Permission denied。
解决:
# 确认文件有执行权限
chmod +x ~/.opencode/bin/opencode
# 或将安装目录加入 PATH
export PATH="$HOME/.opencode/bin:$PATH"
2.7.6 OpenCode TUI 显示异常
症状:TUI 界面渲染不正常,出现乱码或闪烁。
解决:
- Windows 用户:使用 Windows Terminal 而非 CMD 或旧版 PowerShell
- macOS 用户:推荐 iTerm2 或 Kitty
- Linux 用户:确认终端支持 256 色和 Unicode
- 尝试将终端字体设置为支持 Nerd Font 的字体(如
FiraCode Nerd Font)
2.8 升级与更新
2.8.1 更新 OpenCode 本身
根据你的安装方式选择对应的升级命令:
# 一键安装脚本(重新执行即覆盖安装)
curl -fsSL https://opencode.ai/install | bash
# Homebrew
brew upgrade opencode
# npm
npm update -g opencode-ai
# Scoop
scoop update opencode
# Arch Linux
sudo pacman -Syu opencode
建议定期检查更新,OpenCode 迭代速度很快,新版本可能带来更好的 DeepSeek 支持和新功能。
2.8.2 更新配置仓库
本配置仓库会持续迭代优化。要获取最新的配置更新,进入仓库根目录(而非 opencode/ 子目录)执行拉取:
# 进入仓库根目录
cd /path/to/my-opencode-deepseek-config # 或你的实际克隆路径
# 拉取最新代码
git pull origin main
重要:
git pull前请确认你没有在本地修改过配置文件。如果你对配置文件做了自定义修改,建议先git stash保存本地更改,拉取后再git stash pop合并,或手动解决冲突。
2.8.3 配置文件备份建议
在进行任何升级操作前,建议备份当前配置:
# 备份整个配置目录
cp -r /path/to/my-opencode-deepseek-config /path/to/my-opencode-deepseek-config.backup.$(date +%Y%m%d)
# 或仅备份关键文件
mkdir -p ~/opencode-backup
cp /path/to/my-opencode-deepseek-config/opencode/opencode.jsonc ~/opencode-backup/
cp /path/to/my-opencode-deepseek-config/opencode/AGENTS.md ~/opencode-backup/
如果你的配置做了较多自定义修改,也可以考虑 Fork 本仓库,将自己的修改提交到 Fork 后的仓库中,通过 Git 来管理配置的版本和同步。这是推荐的长期维护方式。
2.8.4 回滚到旧版本
如果升级后遇到兼容性问题,可以通过 Git 回滚配置:
cd /path/to/my-opencode-deepseek-config # 进入仓库根目录
git log --oneline -10 # 查看最近的提交记录
git checkout <commit-hash> # 回滚到指定提交
对于 OpenCode 本身回滚,请参考各包管理器的降级命令,例如:
# Homebrew
brew install anomalyco/tap/opencode@1.18.0
2.9 部署后检查清单
在完成全部安装步骤后,请对照以下清单逐项确认:
- OpenCode 版本 >= v1.18.x(
opencode --version) - DeepSeek API Key 已获取并充值
/connect已成功连接 DeepSeek provider/models显示deepseek/deepseek-v4-pro为主模型- 配置仓库已克隆到正确位置
- Agent 列表包含 12 个 Agent
/help显示 18 条自定义命令- Orchestrator 能正确路由请求
- 已完成配置文件备份
全部通过后,恭喜 —— 你的 OpenCode × DeepSeek 多 Agent 协作环境已就绪!现在可以进入 第三章:模型配置详解,深入了解三模型分工与路由策略。
下一章:第三章:模型配置详解 —— 深入讲解 DeepSeek V4 Pro、Flash 与 Flash-Vision-Exp 的模型分工原则、Provider 配置细节、thinking mode 启用方式以及 Subagent 的模型分配逻辑。