资讯详情

同一把 TaoToken Key,从 WorkBuddy 切到 DeepSeek Harness

📅 2026/9/18 15:59:29 | 华诺云谱 👁 阅读
同一把 TaoToken Key,从 WorkBuddy 切到 DeepSeek Harness
1. 先把“自由”落到配置上同一把 TaoToken Key 贯穿 WorkBuddy 与 DeepSeek Harness最近施小贤那段左手音响、右手花束、满屏“替我自由”的舞很容易让折腾本地知识库的人共情。但回到工程现场自由不是舞步而是 Obsidian 还在本地、知识库还能自动进化、换一个 Harness 之后不用重新申请第二套 Key。原文里真正卡人的点其实不是 Obsidian 本身而是 DeepSeek Harness 安装时 pnpm 弹出的两行红字以及“从 WorkBuddy 切到 Harness 后模型供应商到底填哪里”。我这次只做一件事用同一把 TaoToken Key把 WorkBuddy 里的obsidian-knowledge-evolution技能迁到 DeepSeek HarnessBase URL 固定为https://taotoken.net/api。切换前先去 TaoToken 官网拿 Keyhttps://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentworkbuddy_to_harness_key 。如果你已经有 Key也建议在这个页面确认控制台入口、模型列表和 Key 管理位置后面所有工具都复用同一个YOUR_API_KEY。这里先明确“同一把 Key”的边界TaoToken Key 不是绑定某个客户端的而是给兼容 API 调用的凭证。WorkBuddy 能用它DeepSeek Harness 也能用它区别只在于配置位置、环境变量名和 Base URL 的拼接方式。为了避免后文混乱我先把本次实验的约定写出来TaoToken 官网拿 Key 和查模型https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentworkbuddy_to_harness_key Base URL工具配置里填不加 UTMhttps://taotoken.net/api Key 占位符YOUR_API_KEY OpenAI 兼容路径示例https://taotoken.net/api/v1/chat/completions如果你习惯用环境变量先在 Windows 里准备一组通用变量后面 WorkBuddy、DeepSeek Harness 以及临时 curl 验证都读这组值setx TAOTOKEN_API_KEY YOUR_API_KEY setx OPENAI_BASE_URL https://taotoken.net/api setx OPENAI_API_KEY YOUR_API_KEY执行完setx后要新开一个命令行窗口旧窗口不会自动刷新。这样做的好处是你不需要在 WorkBuddy 和 DeepSeek Harness 里各维护一份 Key也不用因为切换工具而重新复制粘贴。如果某个工具只认ANTHROPIC_AUTH_TOKEN那属于 Claude Code 系配置如果工具走 OpenAI 兼容就认OPENAI_API_KEY和OPENAI_BASE_URL。不要把这两套混到同一个客户端里尤其是 Codex不要拿ANTHROPIC_*去套它的config.toml。2. 从 WorkBuddy 切到 DeepSeek Harness 的环境准备NVM、Node、pnpm、dsh 与 Obsidian 插件这一节按 Windows 本地环境来复现。目标不是把 WorkBuddy 卸载而是让 DeepSeek Harness 具备同样的知识库读写能力并且模型调用继续走 TaoToken。第一条原则先保证dsh能启动再装 Obsidian 插件最后迁移技能。顺序反了排查成本会翻倍。2.1 安装 NVM 与 Node.js 22NVM for Windows 的安装流程比较线性下载 1.2.2 安装包后一路下一步即可。安装完成后按Win R输入cmd打开命令提示符确认版本nvm version nvm install 22.22.3 nvm use 22.22.3 node -v npm -vnode -v应该输出v22.22.3或对应的 22.x 版本。如果nvm use报权限问题用管理员身份打开一次 CMD再执行nvm use 22.22.3。2.2 安装 pnpm 并安装 DeepSeek HarnessNode 生效后安装 pnpmnpm install -g pnpm pnpm -v接着新建 Harness 运行目录。建议不要把 Harness 和 Obsidian 仓库混在同一个目录里知识库目录只是被插件读取不是 Harness 本体。mkdir D:\source\DeepSeek-Harness cd /d D:\source\DeepSeek-Harness在运行目录里用 pnpm 安装 Harness。不同版本的包名可能变化核心确认方式是安装后pnpm exec dsh --help能正常输出pnpm add dsh pnpm exec dsh --help安装过程中如果出现两行红字提示依赖包的构建脚本未执行不要慌。pnpm 出于安全策略会拦截依赖的postinstall一类脚本。按提示执行pnpm approve-builds交互界面里会让你选择允许哪些依赖执行构建脚本输入a全选再回车继续。这个步骤不处理后面某些原生依赖可能运行异常。2.3 启动 Harness Web 并安装 dsh-obsidian启动命令pnpm exec dsh web浏览器自动打开后先确认 Harness 本身能工作。然后回到命令行按Ctrl C停止 Web 服务安装 Obsidian 插件pnpm exec dsh plugin --profile web add dsh-obsidian插件装好后需要改 profile 配置。路径通常在用户目录下的.dsh里notepad %USERPROFILE%\.dsh\profiles\web\cordis.patch.yml如果文件里原本是[]把它替换成下面这段 YAML。注意缩进用空格不要用 TabvaultPath换成你的 Obsidian 知识库路径- id: obsidian config: vaultPath: D:\source\Obsidian-Harness-Test useCli: false保存后重新启动pnpm exec dsh web新建一个命令行窗口在知识库里创建一篇测试笔记或者直接用 Harness 会话读一下目录。能读到文件就说明 Obsidian 和 Harness 的通路已经打开。此时 DeepSeek Harness 还只是“能读知识库”真正的模型供应商配置还没完全验证。建议在这里用一句提示词确认模型调用是否走 TaoToken请读取当前 Obsidian 知识库的目录结构列出前三层文件夹并说明你能否读取 Markdown 文件内容。如果 Harness 能返回目录和文件内容同时模型响应正常说明插件和模型两条链路都通了。这里再强调一次去 TaoToken 官网创建或复用 Keyhttps://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentharness_env_setup 。Base URL 在工具里填https://taotoken.net/api不要画蛇添足加斜杠或额外路径。3. 技能迁移实操把 obsidian-knowledge-evolution 从 WorkBuddy 搬到 Harness环境通了之后迁移技能反而简单。原文里说“实际上很简单就是拷贝文件夹”这个结论是对的但前提是技能目录结构、SKILL.md 里的工具名和 Harness 的加载目录都要对齐。3.1 创建 Harness 技能目录在知识库根目录下创建.dsh\skillsmkdir D:\source\Obsidian-Harness-Test\.dsh\skills然后把 WorkBuddy 的技能复制过来xcopy %USERPROFILE%\.workbuddy\skills\obsidian-knowledge-evolution D:\source\Obsidian-Harness-Test\.dsh\skills\obsidian-knowledge-evolution\ /E /I /Y复制完成后目录应该类似D:\source\Obsidian-Harness-Test ├─ .dsh │ └─ skills │ └─ obsidian-knowledge-evolution │ ├─ SKILL.md │ ├─ references │ └─ scripts ├─ 项目A ├─ 项目B ├─ 项目C └─ 项目D3.2 修改 SKILL.md 里的工具名WorkBuddy 的技能文件里可能大量出现WorkBuddy字样比如路径、说明、调用约定。迁移到 Harness 后要把这些上下文统一替换成DeepSeek Harness。手动用记事本打开也可以notepad D:\source\Obsidian-Harness-Test\.dsh\skills\obsidian-knowledge-evolution\SKILL.md如果技能文件多可以先用 PowerShell 批量替换再人工检查关键段落$skill D:\source\Obsidian-Harness-Test\.dsh\skills\obsidian-knowledge-evolution\SKILL.md (Get-Content $skill -Raw) -replace WorkBuddy,DeepSeek Harness | Set-Content $skill -Encoding UTF8替换完不要只看开头重点检查这些位置技能触发说明里是否还写着 WorkBuddy 专用文件路径是否还指向.workbuddy日志写入路径是否已经切到 Obsidian 知识库人工确认、知识召回等状态字段是否保持一致。3.3 验证技能是否被 Harness 加载新开一个 Harness 会话在输入框里用斜杠加关键字模糊匹配例如输入/obsidian如果能匹配到obsidian-knowledge-evolution说明技能已经被发现。接着直接问一句请说明你当前加载的 obsidian-knowledge-evolution 技能包含哪些能力不要执行任何写入。如果它能列出知识召回、知识扫描、低风险自动更新、高风险人工确认、阶段复盘、健康体检等能力说明技能主体迁移成功。此时“从 WorkBuddy 切到 DeepSeek Harness”最关键的一步已经完成。3.4 WorkBuddy 与 DeepSeek Harness 调用对照同一把 TaoToken Key 在两个工具里的关注点不同可以按下表检查项目WorkBuddy 侧DeepSeek Harness 侧Key 来源TaoToken 控制台同一把 TaoToken KeyBase URLhttps://taotoken.net/apihttps://taotoken.net/api模型名从 TaoToken 模型列表复制从 TaoToken 模型列表复制技能目录%USERPROFILE%\.workbuddy\skills知识库\.dsh\skills技能文件SKILL.mdSKILL.md启动方式WorkBuddy 客户端pnpm exec dsh web插件不需要 dsh-obsidiandsh-obsidian这张表的意义是切换时你只需要搬技能和改配置不需要重新申请 Key也不需要重新理解业务逻辑。4. 同一把 Key 在 DeepSeek Harness、Claude Code、Codex 里的填写位置很多人切换工具时最大的坑是把“Key 一样”误解成“环境变量名一样”。同一个 TaoToken Key在不同客户端里的字段名完全不同。下面把最容易混的三套配置分开写。4.1 DeepSeek Harness优先用环境变量DeepSeek Harness 如果走 OpenAI 兼容 provider推荐在启动前设置setx TAOTOKEN_API_KEY YOUR_API_KEY setx OPENAI_BASE_URL https://taotoken.net/api setx OPENAI_API_KEY YOUR_API_KEY然后在 Harness 的 provider 配置里引用TAOTOKEN_API_KEY或OPENAI_API_KEY。如果你的 dsh 版本支持在 profile 配置里直接写 provider也可以把base_url填成https://taotoken.net/api模型名从 TaoToken 控制台里复制。不要填成https://taotoken.net/api/v1/chat/completions作为 Base URL因为 SDK 通常会自己拼/v1/chat/completions。临时验证可以用 curlcurl https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer YOUR_API_KEY \ -H Content-Type: application/json \ -d { model: deepseek-chat, messages: [ {role: user, content: 用一句话说明知识召回和知识扫描的区别} ] }如果返回正常说明 Key、Base URL 和模型名三者至少已经对齐。模型名请以 TaoToken 控制台实际列表为准不要把示例当成唯一选项。4.2 Claude Code用 settings.json 和 ANTHROPIC_*Claude Code 走的是 Anthropic 环境变量体系。可以在用户目录的.claude/settings.json里配置{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: YOUR_API_KEY } }这里的ANTHROPIC_AUTH_TOKEN就是同一把 TaoToken Key。注意它只适用于 Claude Code 这一类 Anthropic 协议客户端不要复制到 Codex。4.3 Codex用 config.toml不要套 ANTHROPIC_*Codex 使用config.toml配置模型供应商时应该走 OpenAI 兼容或它自己的 provider 字段model deepseek-chat model_provider taotoken [model_providers.taotoken] name TaoToken base_url https://taotoken.net/api env_key TAOTOKEN_API_KEY wire_api chat然后确保系统环境变量里有setx TAOTOKEN_API_KEY YOUR_API_KEY再次强调Codex 的config.toml里不要写ANTHROPIC_AUTH_TOKEN也不要把ANTHROPIC_BASE_URL套进去。Claude Code 和 Codex 是两套协议习惯混用只会得到 401 或 404。4.4 CC Switch 三件套检查如果你用 CC Switch 管理多个客户端切换时只检查三件套Base URLhttps://taotoken.net/apiAPI KeyYOUR_API_KEY模型名从 TaoToken 控制台复制与客户端协议匹配这三项对了同一把 Key 就可以在 DeepSeek Harness、Claude Code 和 Codex 之间复用。如果哪一项错了先不要怀疑 Key 失效先看是不是把 Anthropic 的字段填进了 Codex或者把 Base URL 写成了完整补全路径。5. 知识进化技能回归测试从知识召回到健康体检技能迁移后不能只看“能加载”还要把核心功能逐个回归。测试时建议每个用例都新开会话并在提示词里显式引入技能避免上下文污染。下面是本次验证的测试矩阵。5.1 知识召回测试先把项目 A、B、C、D 从原知识库复制到Obsidian-Harness-Test。项目 A 纯人工项目 B 半人工项目 C 和项目 D 已做过知识召回所以初始状态下不应该再要求召回。新建会话后输入/obsidian-knowledge-evolution 请检查当前知识库中哪些项目未做知识召回只输出待召回清单不要更新文件。如果返回结果里没有项目 A、B、C、D说明状态判断正确。接着把项目D.md复制一份改名为召回回归测试.md把知识召回状态改成false模拟一个未召回项目。再新建会话/obsidian-knowledge-evolution 再次检查待召回项目确认列表里是否只有召回回归测试。如果只有召回回归测试说明召回筛选逻辑迁移成功。然后正式执行召回/obsidian-knowledge-evolution 对召回回归测试执行知识召回并更新对应项目资料。执行完成后检查项目文件是否被更新更新内容是否符合预期。5.2 知识扫描测试新开会话引入技能/obsidian-knowledge-evolution 执行知识扫描只生成候选知识不要直接更新高风险知识。扫描完成后知识没有直接写入是正常的只要候选知识列表被正确生成即可。这里要看的是技能有没有把“扫描”和“更新”两个动作分开。5.3 低风险知识自动更新测试新开会话/obsidian-knowledge-evolution 执行低风险知识自动更新。项目事实类内容可以自动写入高风险内容必须进入人工确认记录。检查结果时重点看两类项目事实是否自动更新高风险知识是否只增加了人工确认记录而没有直接改 SOP。5.4 高风险知识人工确认测试新开会话模拟人工审批/obsidian-knowledge-evolution 我批准这条高风险知识请更新 SOP并在日志中记录人工审批结果。正确的结果是SOP 被更新日志里新增审批记录其他无关文件不被批量改写。5.5 阶段性知识复盘测试新开会话/obsidian-knowledge-evolution 执行阶段性知识复盘更新日志记录和项目资料不要重复更新 SOP。如果日志和项目资料更新了SOP 没有被重复写入说明复盘逻辑符合预期。5.6 知识库健康体检最后执行/obsidian-knowledge-evolution 执行知识库健康体检输出健康体检报告。报告里应包含结构完整性、待召回项目、候选知识、人工确认记录等维度。到这里如果所有测试都通过就说明 DeepSeek Harness 不仅连上了 Obsidian而且完整继承了 WorkBuddy 时期的知识进化技能。6. 迁移排障清单从 WorkBuddy 切到 Harness 最容易错的六个点重复申请 Key同一把 TaoToken Key 可以多客户端复用不需要为 Harness 再建一套。Base URL 写多工具里填https://taotoken.net/api不要填完整的/v1/chat/completions。pnpm approve-builds 跳过红字不是安装失败但跳过构建脚本可能导致后续依赖异常。插件配置 YAML 缩进错cordis.patch.yml里用空格不要用 TabvaultPath要指向真实知识库。SKILL.md 没替换工具名技能里还写 WorkBuddy可能导致路径和上下文判断错误。改完配置不重启安装插件、改 profile、改技能后最好重启pnpm exec dsh web。如果你在验证过程中临时需要确认 Key 是否有效可以回到 TaoToken 官网看控制台和模型列表https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentfinal_check 。同一把 Key 的填写位置在 WorkBuddy、DeepSeek Harness、Claude Code 和 Codex 里不同但只要 Base URL、Key、模型名三件套对齐调用就能通。7. 继续向自由出发模型对话、Coding Plan、创建 Key 与 Claude Code 文档这次从 WorkBuddy 切到 DeepSeek Harness核心不是“换了一个壳”而是把 Obsidian 知识库、知识进化技能和 TaoToken API 解耦了知识库在本地技能跟着知识库走模型调用通过同一把 Key 接入。接下来如果你还想把这套能力扩展到更多编码工具可以按下面路径继续想先验证模型对话和响应质量https://taotoken.net/models/detail/chat?utm_sourcetaotoken_aicg_blog_endutm_contentworkbuddy_to_harness_chat想把知识库工作流和编码工作流打包管理https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentworkbuddy_to_harness_plan想创建或复用同一把 Keyhttps://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentworkbuddy_to_harness_keys想在 Claude Code 里继续使用同一套配置https://taotoken.net/doc/ClaudeCodeAnthropic?utm_sourcetaotoken_aicg_blog_endutm_contentworkbuddy_to_harness_claudecode自由不是把所有工具换一遍而是换工具时不必重造数据、重配 Key、重写技能。Obsidian 在本地DeepSeek Harness 在本地TaoToken Key 只有一把Base URL 固定为https://taotoken.net/api。当技能从 WorkBuddy 迁到 Harness 后还能完成知识召回、扫描、低风险自动更新、人工确认、阶段复盘和健康体检这条路就走通了。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。