ARTICLE DETAIL

资讯详情

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

opencode升级后 oh-my-opencode 在 bun/npm 与 PowerShell 下的配置要点与 TaoToken 接入

opencode升级后 oh-my-opencode 在 bun/npm 与 PowerShell 下的配置要点与 TaoToken 接入 1. opencode 升级后 oh-my-opencode 为什么在 PowerShell 下容易翻车opencode 是一个跑在终端里的 AI 编码助手oh-my-opencode 则是给它加装「增强插件包」的那一层负责把 Plan 模式、多模型切换、命令补全这些能力补齐。你在 Windows 上用 PowerShell 做主力终端升级 opencode 之后大概率会遇到一个尴尬局面opencode 本体能启动但 oh-my-opencode 的插件加载失败或者bunx oh-my-opencode update跑完提示成功、重启后功能却没生效。这不是你操作错了而是升级路径里包管理器、全局 bin 目录、PowerShell 执行策略三件事同时变了。我先把问题拆开讲清楚你才知道后面每一步在修什么。opencode 升级通常有两种方式一种是opencode upgrade自更新另一种是重新走包管理器安装。oh-my-opencode 作为插件它的安装位置取决于你用 bun 还是 npm——bun 默认把全局包装到~/.bun/binnpm 默认装到%APPDATA%\npm。PowerShell 的PATH如果只认了其中一个另一个装的插件就「看不见」。更隐蔽的是PowerShell 默认执行策略是Restricted某些.ps1包装脚本会被拦下来表现就是命令存在但一执行就报错。适合谁看这篇已经在 Windows PowerShell 环境跑 opencode、升级后插件失效的人准备第一次装 oh-my-opencode、想少走弯路的人以及用 bun 和 npm 混装、结果两个版本打架的人。下面我会按「先修环境 → 再装插件 → 再配 TaoToken → 最后验证」的顺序走一遍命令都可以直接复制。核心检索词先记住opencode 升级后 oh-my-opencode 在 bun/npm 与 PowerShell 下的配置本质是路径、执行策略、Base URL 三处对齐。2. 前置准备bun/npm 环境与 TaoToken 接入位在动 oh-my-opencode 之前先把包管理器和 TaoToken 的接入信息准备好。TaoToken 在这里扮演的是「模型请求出口」的角色——opencode 本身不带模型它需要你告诉它去哪个 Base URL、用哪个 Key、调哪个 Model ID。这三件套Base URL Key Model ID是后面所有配置的核心缺一个都会在验证请求时报错。先说包管理器。bun 和 npm 你至少要有其一推荐 bun因为 oh-my-opencode 的更新命令bunx oh-my-opencode update在 bun 下最顺。检查是否装好bun --version npm --version如果 bun 没装用官方脚本装PowerShell 下powershell -c irm bun.sh/install.ps1 | iex装完关掉当前 PowerShell 窗口重开让PATH刷新。这一步很多人忽略结果bun命令找不到其实是环境变量没重载。接着确认全局 bin 目录在不在PATH里。bun 的全局目录一般是%USERPROFILE%\.bun\binnpm 的是%APPDATA%\npm。用这条命令看$env:PATH -split ; | Select-String -Pattern bun|npm哪个没出现就手动加进去临时加当前窗口有效$env:PATH ;$env:USERPROFILE\.bun\bin $env:PATH ;$env:APPDATA\npm想永久生效用setx写进用户环境变量但注意setx有长度限制且不会影响已开的窗口写完要重开终端。TaoToken 这边你需要先去控制台拿 Key。地址是 https://taotoken.net/api-keys 登录后在 API Keys 页面创建一个新 Key复制出来。Base URL 用 https://taotoken.net/api 注意这个地址后面不加任何路径后缀opencode 会自己拼/v1/chat/completions之类的端点。Model ID 按你实际要用的模型填比如claude-sonnet-4-5这类具体以控制台模型列表为准。提示Key 只显示一次复制后先存到密码管理器或临时文本里别直接贴进会提交到 git 的配置文件。到这里前置就齐了包管理器可用、全局 bin 在 PATH、TaoToken 的 Base URL Key Model ID 在手。下一节开始真正写配置。3. 可复制配置bun/npm 安装命令与 PowerShell 环境变量这一节是全文最需要你动手的部分。我按「先装插件 → 再写配置文件 → 再设环境变量」的顺序给每一步都有可复制的片段。3.1 bun 与 npm 两条安装路径如果你用 bun安装和更新 oh-my-opencode 用bunx oh-my-opencode install bun update oh-my-opencode --latest bunx oh-my-opencode update如果你用 npm对应的是npm install -g oh-my-opencode npx oh-my-opencode install两条路径不要同时用。我试过 bun 装完又用 npm 装一遍结果两个版本共存opencode 加载插件时随机挑一个行为不稳定。选一条坚持用。3.2 opencode 配置文件片段opencode 的配置一般放在用户目录下的配置文件夹里Windows 下常见路径是%USERPROFILE%\.config\opencode\opencode.json或项目根目录的opencode.json。用 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: { claude-sonnet-4-5: { name: Claude Sonnet 4.5 } } } }, model: taotoken/claude-sonnet-4-5 }这里apiKey用{env:TAOTOKEN_API_KEY}引用环境变量而不是把 Key 明文写进 JSON。这样配置文件可以安全地放进版本库Key 留在系统环境里。3.3 PowerShell 环境变量设置临时设置当前窗口有效适合先测试$env:TAOTOKEN_API_KEY 你的Key永久设置写入用户环境变量重开终端生效setx TAOTOKEN_API_KEY 你的Key如果你还想让 opencode 直接读一个通用变量名可以再加一个setx OPENAI_API_KEY 你的Key setx OPENAI_BASE_URL https://taotoken.net/api注意setx设置后不会影响当前已打开的 PowerShell必须新开窗口才能读到。很多人设完立刻在当前窗口跑验证报 Key 为空就是踩了这个坑。3.4 三件套对照表把关键参数列成表方便你核对项目值说明Base URLhttps://taotoken.net/api不加/v1后缀API Key控制台创建用环境变量引用Model ID如 claude-sonnet-4-5以控制台列表为准全局 binbun%USERPROFILE%\.bun\bin需在 PATH全局 binnpm%APPDATA%\npm需在 PATH配置写完先别急着跑复杂任务下一节用一次最小请求验证连通性。4. 验证请求一次最小调用确认连通性配置对不对跑一次就知道。验证分两层先验证 TaoToken 的 Base URL Key 能不能通再验证 opencode 加载 oh-my-opencode 后能不能正常发请求。第一层用 PowerShell 直接打 TaoToken 的接口排除 opencode 本身的干扰$headers { Authorization Bearer $env:TAOTOKEN_API_KEY Content-Type application/json } $body { model claude-sonnet-4-5 messages ( { role user; content 只回复两个字连通 } ) } | ConvertTo-Json -Depth 5 Invoke-RestMethod -Uri https://taotoken.net/api/v1/chat/completions -Method Post -Headers $headers -Body $body如果返回里能看到choices字段和模型回复内容说明 Base URL、Key、Model ID 三件套没问题。这一步通了问题就一定出在 opencode 或插件层排查范围立刻缩小。第二层回到 opencode 里验证。启动 opencodeopencode进去后输入一个简单指令比如让它解释一段代码。如果 oh-my-opencode 正常加载你会看到 Plan 模式相关的增强提示如果插件没生效opencode 本体仍能对话但增强功能缺失。这时用bunx oh-my-opencode update再重启 opencode 看是否恢复。实测下来升级后插件失效十有八九是「装了新版但旧进程还在跑」重启终端 重启 opencode 能解决一大半。验证成功的标志有三个PowerShell 直连接口返回choicesopencode 启动无插件报错对话能正常返回内容。三个都满足说明 bun/npm 路径、PowerShell 环境变量、TaoToken 接入全部对齐。5. 常见报错排查401、local proxy failed、reading choices、OAuth这一节按真实报错对照你遇到哪条直接查哪条。401 UnauthorizedKey 没读到或写错。先确认当前窗口能读到变量echo $env:TAOTOKEN_API_KEY如果为空说明setx后没重开窗口或者变量名拼错。如果非空但仍 401检查 Key 是否被复制时带了空格或者 Key 已被删除。Base URL 写成https://taotoken.net/api/v1也可能导致鉴权路径异常改回https://taotoken.net/api。local proxy failed / connection refused这类报错通常是本地代理或端口占用。检查是否有其他程序占了 opencode 要用的端口或者系统代理设置指向了一个不存在的本地端口。在 PowerShell 里看代理netsh winhttp show proxy如果有残留代理清掉netsh winhttp reset proxyreading choices / cannot read properties of undefined (reading choices)这是返回体结构不符合预期最常见原因是 Base URL 少了或多了路径导致请求打到了非兼容端点。确认 Base URL 是https://taotoken.net/apiopencode 会自己拼/v1/chat/completions。另外 Model ID 写错也可能返回错误结构核对控制台模型名。OAuth 相关报错如果你之前配过 OAuth 登录方式升级后旧 token 可能失效。清掉旧的认证缓存改用 API Key 方式。opencode 的认证信息一般在配置目录下找到旧的 auth 文件重命名备份重新用 Key 配置。插件加载失败但无明确报错多半是 bun 和 npm 双装冲突。先卸载一条路径npm uninstall -g oh-my-opencode只保留 bun 那条再bunx oh-my-opencode update。PowerShell 执行策略拦截如果运行.ps1脚本报「无法加载文件因为在此系统上禁止运行脚本」查看当前策略Get-ExecutionPolicy改成当前用户可运行Set-ExecutionPolicy -Scope CurrentUser RemoteSigned这条只影响当前用户比全局放开安全。排查顺序建议先看 Key 能不能读到 → 再看 Base URL 拼对没 → 再看是不是双装冲突 → 最后看执行策略。按这个顺序绝大多数报错能在五分钟内定位。6. 长期编码与 Agent 场景把配置固化下来单次验证通过只是开始真正省心的是把配置固化让每次开终端都自动就绪。如果你打算长期用 opencode 做编码和 Agent 任务建议走 Coding Plan 这条线把额度和模型统一管理地址是 https://taotoken.net/coding-plan 。固化配置有几个实用技巧。第一把环境变量写进 PowerShell 的 profile 文件每次开窗口自动加载。查看 profile 路径$PROFILE如果文件不存在就创建然后加入$env:TAOTOKEN_API_KEY 你的Key $env:PATH ;$env:USERPROFILE\.bun\bin这样新窗口一开就带好 Key 和 PATH不用每次手动设。注意 profile 里写明文 Key 有泄露风险机器多人共用时慎用改用系统环境变量更稳。第二把 opencode 的opencode.json放进项目根目录团队协作时统一模型和 Base URLKey 仍走各自的环境变量。这样配置可版本化Key 不落地。第三定期更新插件但别盲目追最新。升级前先记下当前可用版本出问题能回退bunx oh-my-opencode update更新后立刻跑一次第 4 节的最小验证确认连通再投入正式任务。我踩过的坑就是升级完直接开大任务结果插件没加载白跑半小时。第四Agent 类任务对超时和重试敏感在配置里适当调大超时参数避免长任务被中断。具体参数名以 opencode 当前版本文档为准改完同样用最小请求验证。把这几步做完你的 Windows PowerShell bun opencode oh-my-opencode TaoToken 这条链路就算彻底跑通了。后面再遇到升级按「更新 → 重启终端 → 最小验证 → 再上任务」的节奏走基本不会再翻车。需要查接入细节时文档在 https://taotoken.net/doc 模型对话调试在 https://taotoken.net/models Key 管理在 https://taotoken.net/api-keys 。
返回列表