OpenCode 跑 /init 生成 AGENTS.md,Base URL 改到 TaoToken
在 OpenCode v1.18.3 里跑/init生成 AGENTS.md 之前先把模型通道接到 TaoToken。官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 注册并创建 TaoToken Key然后在 OpenCode 的模型/Provider 配置里把 Base URL 填https://taotoken.net/api不要加/v1也不要带 UTM。API Key 填YOUR_API_KEY。这样进入项目目录执行opencode后/init分析项目、Plan 出方案、Build 执行改动才有稳定通道。TaoToken 在这里只负责提供 Key 和 Base URL不替代/init、Plan/Build、权限确认、/undo、/compact本身。本文按接入配置视角从原问题、前置准备、可复制配置、验证请求、常见错排查到 CTA把 OpenCode v1.18.3 接到 TaoToken。原问题与场景OpenCode v1.18.3 的 /init 依赖可用模型通道OpenCode v1.18.3 的基础使用流程很清晰进入项目目录执行opencode启动 TUI然后让 OpenCode 理解项目结构执行/init。这个命令会分析代码库在项目根目录生成AGENTS.md记录项目结构、技术栈、编码约定等信息。后续无论是 Ask 直接提问还是用 Tab 切换到 Plan / Build 模式都会围绕这份上下文工作。问题在于这些步骤都依赖同一个前提模型通道必须可用。如果第一次启动 OpenCode 之前没有配置 Key 和 Base URL/init在分析项目时就会卡住Plan 模式无法生成方案Build 模式无法执行修改权限确认弹窗即使出现也只是空等/undo、/compact也会因为没有完整会话而失去意义。这条视角不是讲 OpenCode 怎么替代别的工具也不是讲模型怎么替你写代码而是解决接入配置问题把 OpenCode v1.18.3 的 Provider 指向 TaoToken。原文流程从cd /path/to/project、opencode、/init开始我们在“进入项目目录并启动 OpenCode”之前补一步注册 TaoToken创建 Key拿到 Base URL并在 OpenCode 配置里填好。这样后面的 Ask、Plan、Build、权限确认、撤销、压缩才能跑通。典型场景是你有一个真实项目想先让 OpenCode 执行/init生成AGENTS.md然后询问packages/functions/src/api/index.ts里的认证逻辑再按 Tab 切到 Plan 模式让它给方案最后切到 Build 模式执行小改动并用/undo体会回退、用/compact压缩上下文。如果 Base URL 和 Key 没配好这个最小工作流会在第一步就断掉。TaoToken 前置先拿 Key 和 Base URL在改 OpenCode 配置前先把 TaoToken 侧的信息准备好。打开官网注册账号https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content注册后进入控制台创建 API Key。建议把 Key 复制到安全位置不要直接提交到 Git 仓库。如果你需要先查看可用模型再决定 OpenCode 里填哪个模型 ID可以在模型对话或控制台里确认。创建 Key 的入口可以看这里https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewriteOpenCode 侧只需要两个核心值Base URLhttps://taotoken.net/api注意不要写成https://taotoken.net/api/v1也不要带任何 UTM 参数。OpenCode 的 Provider 配置里应保持这个值。API KeyYOUR_API_KEY实际使用时替换成你刚创建的 Key。推荐用环境变量TAOTOKEN_API_KEY这样不会把 Key 写死在配置文件里。另外要确认一个模型 ID。不同账号、不同通道可用模型可能不同不要凭记忆填。把控制台或模型列表里的模型 ID 记下来后面配置里的MODEL_ID就替换成它。OpenCode 的/init、Plan、Build 都依赖这个模型 ID 能正常响应。如果你只想先快速验证接入可以先用最小权限的 Key等 OpenCode 跑通/init和一次问答后再换成正式 Key。TaoToken 在这里的角色是提供 Key 和 Base URLOpenCode 仍然是 OpenCode/init、Plan/Build、权限确认、/undo、/compact都由 OpenCode 自己执行。可复制配置把 OpenCode Provider 的 Base URL 改到 TaoTokenOpenCode v1.18.3 支持通过配置文件声明 Provider。你可以放在全局配置目录也可以放在项目级opencode.json。下面以全局配置为例路径通常是~/.config/opencode/opencode.json如果目录不存在先创建mkdir -p ~/.config/opencode然后写入或修改opencode.json{ $schema: https://opencode.ai/config.json, provider: { taotoken: { npm: ai-sdk/openai-compatible, name: TaoToken, options: { baseURL: https://taotoken.net/api, apiKey: {env:TAOTOKEN_API_KEY} }, models: { MODEL_ID: { name: TaoToken MODEL_ID } } } }, model: taotoken/MODEL_ID }这里有几个点必须核对baseURL必须是https://taotoken.net/api不要加/v1不要带?utm_source...这类参数。apiKey使用{env:TAOTOKEN_API_KEY}时需要先在 shell 里导出环境变量。models下的MODEL_ID要替换成真实模型 ID。model字段是taotoken/MODEL_ID表示默认使用 TaoToken 下的这个模型。如果你的 OpenCode 版本或配置结构不识别{env:...}可以临时直接写apiKey: YOUR_API_KEY做测试跑通后再改成环境变量。导出环境变量的方式export TAOTOKEN_API_KEYYOUR_API_KEYWindows PowerShell 可以用$env:TAOTOKEN_API_KEYYOUR_API_KEY然后进入项目目录cd /path/to/project opencode如果项目级也有opencode.json注意项目级配置可能覆盖全局配置。接入阶段建议先只保留一份配置确认/init能跑通后再按项目拆分。修改 JSON 后建议完全退出 OpenCode 再重新启动避免旧配置仍在内存里。如果你在配置时不确定字段含义可以对照接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite验证请求与成功结果/init 生成 AGENTS.mdPlan/Build 能走通配置完成后按下面顺序验证。不要一上来就提复杂需求先用最小请求确认模型通道可用。第一步进入项目目录并启动cd /path/to/project opencode第二步在 TUI 里执行/init成功时OpenCode 会分析项目结构并在项目根目录生成AGENTS.md。你可以退出 TUI 或用另一个终端检查ls AGENTS.md cat AGENTS.md如果文件存在且里面包含项目结构、技术栈、编码约定等内容说明/init已经拿到模型响应。如果命令执行后长时间无输出或提示连接失败优先检查 Base URL、Key、模型 ID 三项。第三步发起一次 Ask 提问。例如帮我解释 packages/functions/src/api/index.ts 里的认证流程这里路径表示引用文件OpenCode 会读取该文件内容并结合代码库回答。成功结果是模型能基于这个文件给出解释而不是只回复泛泛内容。如果引用文件没有被读取检查路径是否正确、当前目录是否是项目根目录。第四步按 Tab 切换到 Plan 模式。右下角会显示当前模式。Plan 模式适合先出方案不直接改代码。你可以描述一个小改动为 packages/functions/src/api/index.ts 补充错误处理先给我实现计划成功结果是 OpenCode 输出分步骤计划并可能询问细节。你可以对计划提反馈让它迭代到清楚为止。第五步再按 Tab 切回 Build 模式下达执行指令按这个计划执行当 OpenCode 要读文件、写文件或执行命令时会出现权限确认。初次使用建议逐项确认y允许本次n拒绝本次a本次会话始终允许。成功结果是文件被修改并展示 diff。第六步验证撤销和压缩/undo /compact/undo用于回退到上一次改动前并重新展示你原先的消息/compact用于压缩历史释放上下文窗口。成功结果是你能够回退刚才的改动并且长会话上下文得到压缩。如果你只想先用命令行确认 API 可达可以用 curl 做一次最小请求。注意这里使用 API 地址https://taotoken.net/api不要加 UTMcurl https://taotoken.net/api/chat/completions \ -H Authorization: Bearer $TAOTOKEN_API_KEY \ -H Content-Type: application/json \ -d {model:MODEL_ID,messages:[{role:user,content:ping}]}返回正常 JSON 且包含模型输出说明 Key 和模型 ID 基本可用。如果这里失败OpenCode 里通常也不会成功。本篇常见错排查401、404、AGENTS.md 不生成、Plan/Build 卡住接入 OpenCode v1.18.3 到 TaoToken 时问题大多集中在配置字段和启动顺序上。下面按现象排查。返回 401 或 403常见原因是 Key 错误、Key 已失效、环境变量没有导出或者配置里仍写着YOUR_API_KEY而没有替换。检查TAOTOKEN_API_KEY是否在当前 shell 可见echo $TAOTOKEN_API_KEY如果为空重新导出后再启动 OpenCode。使用 curl 时确认请求头是Authorization: Bearer $TAOTOKEN_API_KEY。返回 404 或 Not Found最常见的是 Base URL 写错。OpenCode 配置里应填https://taotoken.net/api不要写成https://taotoken.net/api/v1也不要带?utm_source...。另外检查模型 ID 是否真实存在model字段是否写成taotoken/MODEL_ID。/init不生成 AGENTS.md如果 OpenCode 能启动但/init没有生成文件先看 TUI 里是否有错误输出。常见原因包括 Provider 没有被选中、默认模型不可用、项目目录权限不足、网络中断。可以先用一个最小项目测试确认/init能生成AGENTS.md后再回到真实项目。Plan 模式没有方案Build 模式没有改动Plan 和 Build 都依赖模型响应。如果 Ask 能回答但 Plan 不出方案检查是否已经按 Tab 切到 Plan如果右下角模式不对再按 Tab 切换。Build 没有改动时检查权限确认是否被拒绝或者模型是否只返回了说明而没有执行工具调用。权限确认一直等待OpenCode 要读写文件或执行命令时会弹确认。如果没有按y、n或a流程会停住。初次使用建议逐项确认熟悉后再对低风险命令设置允许。/undo无效/undo依赖成功的改动记录。如果 Build 没有真正修改文件或者会话已经重启撤销可能没有效果。快捷键可以用 Leader 加u具体以当前 TUI 提示为准。/compact后上下文仍很长/compact是把历史压缩成摘要不是删除项目上下文。如果当前会话已经非常长可以先用/clear开始新会话再重新执行/init或引用必要文件。配置改了但不生效检查配置文件路径是否正确JSON 是否有语法错误是否同时存在项目级和全局配置导致覆盖。修改后完全退出 OpenCode再重新执行opencode。如果使用环境变量确认启动 OpenCode 的终端里已经导出。Key 泄露风险不要把真实 Key 写进会提交到 Git 的opencode.json。用TAOTOKEN_API_KEY环境变量或使用本地未跟踪的配置文件。一旦 Key 暴露立刻去控制台重新生成。最后再强调一次TaoToken 只提供 Key 和 Base URL不替代 OpenCode 的/init、Plan/Build、权限确认、/undo、/compact。如果这些功能本身不会用先按 OpenCode v1.18.3 的基础流程练习如果模型通道报错再回到本文检查 Base URL 和 Key。语义一致 CTAOpenCode 接入 TaoToken 后继续做什么本篇的目标是接入配置让 OpenCode v1.18.3 通过 TaoToken 的 Key 和 Base URL 跑通/init生成AGENTS.md并完成一次 Ask、Plan/Build、权限确认、/undo、/compact的最小工作流。如果你还没有创建 Key先去 API Keys 页面创建并复制https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite配置字段不确定尤其是 Provider、baseURL、apiKey、model 的写法直接对照接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite如果你已经配好 OpenCode但想先确认模型本身是否可用可以去模型对话里发一条最小请求https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentchatutm_campaignrewrite后续如果你准备长期用 OpenCode 做编码、Agent 或更长的项目会话可以再看 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite接入顺序建议保持简单先创建 Key再把 Base URL 填https://taotoken.net/api再启动 OpenCode 跑/init。只要AGENTS.md能生成Ask 能读取packages/functions/src/api/index.tsPlan/Build 能按 Tab 切换并执行接入就算完成。