ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Opencode 接入 Deepseek V4:WSL 下 API key 与 CLAUDE.md 配置实战

Opencode 接入 Deepseek V4:WSL 下 API key 与 CLAUDE.md 配置实战 1. WSL 里跑 Opencode 接 Deepseek V4卡在哪几步Opencode 是一个把大模型接进本地代码目录的 AI 编程工具支持桌面版和命令行版命令行版在 WSL 里跑性能更好、文件读写也更顺。Deepseek V4 是 Deepseek 新出的模型支持 Anthropic 协议直连所以理论上 Opencode 和 Claude Code 都能接。适合谁适合在 Windows 上用 WSL 做开发、想用 Deepseek V4 当日常编码助手的人。但真上手你会发现卡人的不是「下载安装」而是三件事API key 到底写进哪个文件、CLAUDE.md 这个项目约定文件怎么建、settings.json 骨架长什么样。我第一次配的时候key 写错位置终端一直报鉴权失败折腾了半小时才发现是配置文件路径不对。这篇就把这三步拆开给你能直接复制的配置片段和验证命令照着做就能让 Opencode 在 WSL 里成功调用 Deepseek V4 并拿到预期响应。下面所有操作都在 WSL 终端里完成Windows 侧的桌面版只作为辅助。核心思路是先在 TaoToken 拿到可用的 key 和接入地址再写进 Opencode 的配置文件最后用一条 curl 验证链路通不通。2. 前置准备TaoToken 拿 Key 与接入地址Opencode 要调 Deepseek V4需要一个能直连的 API 端点和 key。我这边用的是 TaoToken 做统一接入它把模型对话、Coding Plan、API Keys 管理都放在一个控制台里省得每个模型单独配一遍。第一步进控制台创建 API key。打开 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 登录后点创建把生成的 key 复制出来。这个 key 只显示一次建议先存到本地一个临时文件里比如~/.taotoken_key后面写配置直接读。第二步确认接入地址。TaoToken 的 API 根地址是 https://taotoken.net/api 注意这个地址不带任何查询参数配置里就写这个。模型名按 Deepseek V4 对应的标识填具体以控制台模型列表为准。第三步如果你打算长期用 Opencode 做编码和 Agent 任务可以顺带看下 Coding Plan它更适合高频调用场景 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 。只是临时验证模型效果的话用模型对话页就够了 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 。注意key 不要直接写进会提交到 git 的文件里。WSL 下建议放在~/.config/opencode/目录并确认该目录不在项目仓库内。3. WSL 下 Opencode 的 settings.json 骨架Opencode 的配置分两层全局配置放~/.config/opencode/settings.json项目级配置放项目根目录的.opencode/settings.json。全局放 key 和供应商项目级放模型选择和权限。先建目录mkdir -p ~/.config/opencode touch ~/.config/opencode/settings.json然后写入下面这个骨架。把sk-你的key换成第 2 步拿到的真实 key{ providers: { taotoken: { type: anthropic, baseURL: https://taotoken.net/api, apiKey: sk-你的key, models: { deepseek-v4: { name: Deepseek V4, maxTokens: 8192 } } } }, defaultModel: taotoken/deepseek-v4, permissions: { edit: ask, bash: ask } }几个参数说明type填anthropic是因为 Deepseek V4 支持 Anthropic 协议直连baseURL就是 TaoToken 的 API 根地址defaultModel用供应商/模型的格式。permissions里ask表示每次改文件或跑命令前会问你新手建议先保持ask熟了再改allow。项目级配置在项目根目录建.opencode/settings.json只覆盖需要变的部分{ model: taotoken/deepseek-v4, contextFiles: [CLAUDE.md] }contextFiles指定每次会话自动加载的记忆文件这就是下一节的 CLAUDE.md。4. CLAUDE.md 模板让 AI 不失忆的项目约定CLAUDE.md 是 Opencode 和 Claude Code 都会自动读取的项目记忆文件相当于给 AI 的一本记事本。没有它AI 每次开新会话都从零开始你之前说过的技术栈、目录结构、代码规范全忘光。在项目根目录建这个文件cd ~/你的项目目录 touch CLAUDE.md模板直接抄按自己项目改# 项目约定 ## 技术栈 - 语言Python 3.11 / Node 20 - 框架FastAPI SQLAlchemy - 包管理uv / pnpm ## 目录结构 - src/ 业务代码 - tests/ 测试 - scripts/ 运维脚本 ## 代码规范 - 提交前跑 ruff check 和 pytest - 函数必须带类型注解 - 禁止在业务层直接写 SQL ## 常用命令 - 启动uv run uvicorn src.main:app --reload - 测试uv run pytest -q ## 注意事项 - 改数据库迁移前先确认 alembic 版本 - 不要动 .env 里的生产配置写完之后每次在项目里开 Opencode它会自动把 CLAUDE.md 塞进上下文。我试过不写这个文件直接让 AI 改代码它把测试目录当业务目录改白折腾一轮。有了约定文件AI 的输出明显更贴项目。5. 验证请求一条 curl 确认链路通配置写完别急着开 Opencode先用 curl 验证 key 和地址能不能通。在 WSL 终端执行curl -s https://taotoken.net/api/v1/messages \ -H x-api-key: sk-你的key \ -H anthropic-version: 2023-06-01 \ -H content-type: application/json \ -d { model: deepseek-v4, max_tokens: 128, messages: [{role: user, content: 只回复两个字通了}] }预期返回是一段 JSONcontent数组里有模型回复的文本。如果返回401说明 key 不对返回404多半是模型名或路径写错返回403检查 key 是否有该模型权限。curl 通了之后进项目目录启动 Opencodecd ~/你的项目目录 opencode进去后先让它读一遍项目输入「分析当前项目结构并总结技术栈」。如果它能结合 CLAUDE.md 说出你的目录约定说明记忆文件加载成功。再让它「在 tests 目录新建一个 test_smoke.py只写一个断言」观察它是否按permissions设置先问你权限。6. 本篇常见错排查报错一Error: provider not found。多半是defaultModel里的供应商名和providers下的 key 不一致。检查taotoken/deepseek-v4里的taotoken是否和providers.taotoken完全对应大小写敏感。报错二401 Unauthorized。key 写错或过期。重新去 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 生成一个替换 settings.json 里的apiKey再跑一遍第 5 节的 curl。报错三CLAUDE.md 没生效。确认两点文件在项目根目录且项目级 settings.json 的contextFiles里写了CLAUDE.md。如果还不行在 Opencode 里手动输入「读取 CLAUDE.md 并复述技术栈」测试。报错四WSL 里opencode: command not found。说明没装或没进 PATH。按官方 WSL 文档装完后用which opencode确认路径没有就手动加进~/.bashrc。报错五模型说 Deepseek V4 不支持 Anthropic。这是模型数据没更新导致的误判。直接告诉它「Deepseek V4 已支持 Anthropic 直连baseURL 用 https://taotoken.net/api key 是 xx」让它重新查证。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 配置细节对不上时以文档为准。验证模型本身是否正常用模型对话页最快 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 。长期在 WSL 里跑编码和 Agent 任务Coding Plan 更划算 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 。最后说个实操习惯让 AI 干活时如果发现它执行太久、方案明显跑偏或者你意识到自己描述不清直接按 Esc 暂停补一句「重新思考先给步骤再执行」。这比等它跑完再回滚省事得多。
返回列表