ARTICLE DETAIL

资讯详情

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

Node.js 环境跑 DSH Web UI,模型调用的 Key 用 TaoToken

Node.js 环境跑 DSH Web UI,模型调用的 Key 用 TaoToken 1. 先从一个真实卡点说起DSH Web UI 起来了模型那一栏却是空的如果你刚用npx把 DeepSeek Harness下称 DSH的 Web UI 拉起来浏览器能打开、页面能转但一进对话就提示 Key 未配置、模型列表拉不出来、请求直接 401那问题基本不在 Node.js 上而在「模型供应商」这一层。DSH 这类开源前端的定位是「壳」和「工作台」它自己不带模型额度也不替你托管 Key你必须把一个可用的 Base URL、一个可用的 Key、一个可用的模型 ID 填进去它才跑得通。这篇按 Node.js 新手的视角写从零到能对话先用node -v、npm -v、npx -v三条命令确认工具链再用npx启动 DSH Web UI最后到 TaoToken 官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentdsh_node_webui 注册、建 Key把 Base URL 填成https://taotoken.net/api完成本地模型调用。全程命令都可以直接复制遇到报错也有对照表。需要先说清楚一件事DSH 的安装包、源码、用户群只认官方渠道网上那些「代开 Key」「代装 DSH」「付费进官方群」的服务跟官方没有任何关系。安装包只从官方仓库拿Key 只从你自己注册的服务商控制台拿这两条守住后面 90% 的坑都不会踩。2. Node.js 新手先跑三条命令node -v、npm -v、npx -v很多人一上来就npx结果报command not found或者版本太老导致的语法错误。先花 30 秒体检# 1. 看 Node.js 版本DSH 这类工具链建议 18 以上推荐 20 LTS 或 22 LTS node -v # 2. 看 npm 版本npx 依赖它分发 npm -v # 3. 看 npx 是否可用 npx -v输出大概是这样的v20.11.1 10.2.4 10.2.4如果node -v报command not found说明 Node.js 根本没装。Windows 用户去 Node.js 官网下 LTS 的.msimacOS 用户用 Homebrew 或者直接下.pkg。更推荐用版本管理器方便以后切换# macOS / Linux 用 nvm nvm install 20 nvm use 20 nvm alias default 20 # 装完再确认一次 node -v npm -v npx -vWindows 用 nvm-windows命令类似装完记得重开一个终端窗口否则 PATH 不生效。第二条容易忽略的是 npm 源。国内网络环境下源不通会导致npx下载包时长时间卡住甚至超时# 看当前源 npm config get registry # 如果是官方源且下载很慢可以换成国内镜像 npm config set registry https://registry.npmmirror.com # 改完清一下缓存再试 npm cache clean --force第三条是代理变量。公司内网、抓包工具、旧的环境变量残留都可能让npx去走一个根本不存在的代理端口表现就是「一直卡在 fetch」。检查一下# macOS / Linux echo HTTP_PROXY$HTTP_PROXY echo HTTPS_PROXY$HTTPS_PROXY echo NO_PROXY$NO_PROXY# Windows PowerShell echo $env:HTTP_PROXY echo $env:HTTPS_PROXY echo $env:NO_PROXY如果确实有残留但当前网络不需要临时清掉再启动# macOS / Linux只在当前终端会话生效 unset HTTP_PROXY HTTPS_PROXY ALL_PROXY# Windows PowerShell Remove-Item Env:HTTP_PROXY -ErrorAction SilentlyContinue Remove-Item Env:HTTPS_PROXY -ErrorAction SilentlyContinue这三步做完环境基本就干净了。记住顺序先确认版本再确认源最后确认代理。别一上来就怀疑 DSH 本身有问题。3. 用 npx 启动 DSH Web UI命令、端口与第一次访问DSH 官方给的快速体验方式就是「在已安装 Node.js 开发工具链的系统里用 npx 启动 Web UI」。具体包名以官方仓库 README 为准不要从第三方文章里抄一个来源不明的包名很容易装到仿冒包。确认包名是否真实存在可以先用npm view探一下# 把 DSH_PACKAGE_NAME 换成官方仓库 README 里写的真实包名 npm view DSH_PACKAGE_NAME version能打印出版本号说明这个包在 npm 上是真实存在的。然后再启动# 基础启动首次会提示是否安装加 --yes 直接确认 npx --yes DSH_PACKAGE_NAMElatest # 指定端口启动避免和本地已有服务冲突 npx --yes DSH_PACKAGE_NAMElatest --port 3210 # 只监听本机回环地址更安全适合本地调试 npx --yes DSH_PACKAGE_NAMElatest --port 3210 --host 127.0.0.1如果工具支持通过环境变量传参也可以这样# macOS / Linux PORT3210 npx --yes DSH_PACKAGE_NAMElatest# Windows PowerShell $env:PORT 3210 npx --yes DSH_PACKAGE_NAMElatest启动成功后终端一般会打印类似Local: http://127.0.0.1:3210的地址复制到浏览器打开即可。如果终端没打印地址手动访问http://127.0.0.1:3210或http://localhost:3210试一下。新手常见的三个启动报错第一个是端口被占用。报错里通常带EADDRINUSE。查一下是谁占着# macOS / Linux lsof -i :3210 # Windows netstat -ano | findstr :3210找到 PID 后结束进程或者干脆换个端口--port 3211重新启动。第二个是npx缓存里存了坏包表现是启动瞬间报一个莫名其妙的模块解析错误。清缓存再跑npm cache clean --force npx --yes DSH_PACKAGE_NAMElatest --port 3210第三个是权限问题macOS / Linux 上如果提示EACCES不要用sudo npx那样会把缓存目录搞成 root 所有后患无穷。正确做法是修复 npm 全局目录权限或者直接用 nvm 重装一遍 Node。Web UI 跑起来之后先别急着点对话。DSH 本身只是界面它需要你告诉它「去哪个接口取模型」。这一步就是下一节的内容。4. Key 填写位置TaoToken 控制台建 Key DSH Web UI 填 Base URL这是整篇最关键的一节。DSH Web UI 里通常会有「设置 / Settings / 模型配置 / Provider」这一类入口进去之后你要填三样东西字段填什么说明Provider / 供应商类型OpenAI Compatible 或自定义不要选成只有官方 Key 才能用的内置项Base URL / API Basehttps://taotoken.net/api统一填这个不要自己加尾斜杠API KeyYOUR_API_KEY替换成你在控制台创建的真实 KeyModel / 模型 ID从模型列表里复制的 ID大小写敏感别手打第一步打开 TaoToken 官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentdsh_node_webui 完成注册并登录。注册流程按页面提示走邮箱验证那一步注意查收垃圾邮件箱。第二步进入控制台创建 Keyhttps://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentdsh_node_webui 。点「创建 API Key」起一个有辨识度的名字比如dsh-local-webui方便以后按项目区分和吊销。创建完之后 Key 一般只完整显示一次立刻复制到一个安全的地方别直接贴到聊天窗口或者提交进 Git 仓库。第三步回到 DSH Web UI 的配置页把三样东西填进去。填写时注意几个细节Base URL 填https://taotoken.net/api不要填成https://taotoken.net/api/有些客户端对末尾斜杠敏感拼出来会变成//v1/chat/completions直接 404。API Key 粘贴时注意首尾空格。从浏览器复制经常带一个看不见的换行粘进去之后建议手动把光标移到末尾按一下退格确认。模型 ID 不要凭记忆写。先在配置页或者模型列表里找到目标模型的准确 ID再复制粘贴。很多 404 和「model not found」都是因为 ID 写成了展示名。填完保存页面上一般会有一个「测试连接」或「拉取模型列表」的按钮点一下能列出模型就说明 Key 和 Base URL 这一层通了。如果列表是空的先别怀疑 Key去看下一节的 curl 验证。最后强调一次Key 只从你自己登录后的控制台创建任何声称「帮你代开」「低价共享」的第三方渠道都不要用Key 泄露的后果是你的账户额度被别人消耗。5. 用 curl 把「网络问题」和「Key 问题」分开Web UI 报错信息经常很含糊只给一句「请求失败」。这时候用 curl 在本地直接打一次接口能立刻分清是 Key 的问题、Base URL 的问题还是网络的问题。先列模型curl -sS https://taotoken.net/api/v1/models \ -H Authorization: Bearer YOUR_API_KEY \ -H Content-Type: application/json再发一条最小对话请求curl -sS https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer YOUR_API_KEY \ -H Content-Type: application/json \ -d { model: YOUR_MODEL_ID, messages: [ { role: user, content: 只回复两个字收到 } ], max_tokens: 16 }几点说明第一TaoToken 的 Base URL 配的是https://taotoken.net/api而 OpenAI 兼容的接口路径通常是/v1/chat/completions所以拼起来是https://taotoken.net/api/v1/chat/completions。不同客户端对/v1的补全方式不一样有的会自动补有的要求你显式写。curl 里显式写全最稳。第二返回401就是 Key 的问题。检查三处Key 是不是复制全了、是不是多了空格、是不是已经被你在控制台删掉了。第三返回404通常是路径问题。把https://taotoken.net/api和https://taotoken.net/api/v1分别试一次看哪个能通然后按能通的那个去填 Web UI。第四返回model not found说明 Key 没问题、路径也没问题纯粹是模型 ID 写错了。回控制台或模型列表复制准确 ID。第五如果 curl 通了但 Web UI 不通那问题在 Web UI 的配置层不在网络上。反过来curl 就不通先去查网络和 Key别在 Web UI 里反复点保存。Windows 上如果 curl 引号转义麻烦可以把请求体存成payload.json再引用curl -sS https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer YOUR_API_KEY \ -H Content-Type: application/json \ -d payload.json{ model: YOUR_MODEL_ID, messages: [{ role: user, content: ping }], max_tokens: 16 }这一步验证通过说明你的 Key 和 Base URL 组合是完全可用的。接下来不管接什么工具本质都是把这两个值填到对应位置。6. Claude Code 走 TaoTokensettings.json 与 ANTHROPIC_* 环境变量如果你不只跑 DSH还想让 Claude Code 也用同一个 Key可以在~/.claude/settings.json里配置{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: YOUR_API_KEY, ANTHROPIC_MODEL: YOUR_MODEL_ID, ANTHROPIC_SMALL_FAST_MODEL: YOUR_SMALL_MODEL_ID } }如果不想写进配置文件也可以只在当前终端会话里导出# macOS / Linux export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_AUTH_TOKENYOUR_API_KEY export ANTHROPIC_MODELYOUR_MODEL_ID # 验证变量是否生效 env | grep ANTHROPIC# Windows PowerShell $env:ANTHROPIC_BASE_URL https://taotoken.net/api $env:ANTHROPIC_AUTH_TOKEN YOUR_API_KEY $env:ANTHROPIC_MODEL YOUR_MODEL_ID配置完重启终端再启动 Claude Code。如果报鉴权失败先确认ANTHROPIC_AUTH_TOKEN没有多余字符再确认 Base URL 末尾没有多余斜杠。这里特别提醒ANTHROPIC_*这套变量是给 Claude Code 用的不要照搬到 Codex 上。Codex 走的是完全不同的配置体系抄过去只会得到一个连不上的结果。7. Codex 走 TaoTokenconfig.toml 怎么写Codex 用 TOML 配置文件典型路径是~/.codex/config.toml。写法大致如下model YOUR_MODEL_ID model_provider taotoken [model_providers.taotoken] name TaoToken base_url https://taotoken.net/api/v1 env_key TAOTOKEN_API_KEY wire_api chat注意base_url这里写的是https://taotoken.net/api/v1因为 Codex 的 provider 配置要求显式带上接口版本段。这和 DSH Web UI 里填的https://taotoken.net/api是同一个服务的两种写法别混用。环境变量单独导出# macOS / Linux export TAOTOKEN_API_KEYYOUR_API_KEY# Windows PowerShell $env:TAOTOKEN_API_KEY YOUR_API_KEY几点容易被忽略的第一env_key的值是「环境变量的名字」不是 Key 本身。写env_key YOUR_API_KEY是错的那样 Codex 会去找一个叫YOUR_API_KEY的环境变量。第二wire_api要和模型能力对齐。用对话补全就写chat配置写错会得到格式解析错误。第三改完config.toml要重启 Codex 进程热加载不一定生效。第四同样不要指望把ANTHROPIC_*塞进 Codex 的配置里两套协议不通。8. CC Switch 三件套一份配置管理多个工具如果你同时装了好几个命令行 AI 工具逐个改配置文件很累。CC Switch 这类切换工具的价值就在这把配置抽出来统一管理。配置的时候只认三件套第一件Base URL。填https://taotoken.net/api。第二件API Key。填你从控制台创建的YOUR_API_KEY。第三件模型 ID。填你验证过能用的那个 ID。在 CC Switch 里为 TaoToken 建一个供应商条目把上面三个值填进去然后给 Claude Code 和 Codex 分别指定使用这个条目。切换工具时它会去改对应的配置文件Claude Code 的settings.json、Codex 的config.toml你不用手改。切换完重启对应的 CLI 就行。新手用 CC Switch 最容易犯的错是「一个条目想通吃所有工具」。实际上 Claude Code 和 Codex 需要的字段名不同、路径段要求也不同所以一个供应商条目内部往往要区分「给 Claude Code 用的地址」和「给 Codex 用的地址」。看到切换后连不上先回来看这两处是不是填反了。另外切换工具会覆盖原配置文件改之前先备份一份cp ~/.claude/settings.json ~/.claude/settings.json.bak cp ~/.codex/config.toml ~/.codex/config.toml.bak9. 新手排障清单401、404、连不上、页面转圈把上面所有步骤串起来出问题基本落在下面这张表里现象大概率原因处理方式401 UnauthorizedKey 没填、复制不全、有多余空格回控制台重新复制粘完检查首尾404 Not FoundBase URL 少了或多了/v1DSH 填https://taotoken.net/apiCodex provider 填/api/v1model not found模型 ID 写错或大小写不符从模型列表复制准确 ID页面一直转圈代理变量干扰或 npm 源不通清HTTP_PROXY换 npm 源清缓存EADDRINUSE端口被占用换--port或结束占用进程模型列表为空Key 或 Base URL 没保存成功先用 curl 验证再回填 UI浏览器 CORS 报错前端直连第三方接口通过本地服务端转发不要浏览器直连npx 卡在 fetch包名不对或网络不通npm view 包名 version先确认包存在配置改了没生效进程没重启关掉终端重开重启对应 CLI排查顺序建议固定下来先 curl 验证 Key再看 Web UI 配置项再看进程和端口最后才怀疑工具本身。这个顺序能把绝大多数「玄学问题」降级成明确的配置问题。10. 把 Key 管好比把 Key 配好更重要最后说一件容易被跳过的事安全和来源甄别。安装包只在官方仓库下载不要用来路不明的「绿色版」「整合包」。Key 只从你自己注册登录后的控制台创建不要接受任何人「帮你代开」「共享一个给你用」的提议。Key 泄露之后额度会被别人消耗而且从日志上看就是你自己的 Key 在调用。真出现这种情况第一件事是去控制台把旧 Key 删掉重新建一个。日常使用建议一个项目一个 Key命名带项目名方便按项目吊销不要把 Key 硬编码进源码提交到 Git终端导出环境变量时注意别在共享屏幕上暴露定期回控制台看一眼 Key 列表把不再用的清掉。到这里你应该已经完成了一条完整的链路node -v确认工具链npx启动 DSH Web UIBase URL 填https://taotoken.net/apiKey 填YOUR_API_KEY再用 curl 验证通过。后面不管是继续用 DSH还是接 Claude Code、Codex、CC Switch本质上都是把这两个值填到正确的位置。想先直接在网页上试一下模型效果可以从模型对话页开始https://taotoken.net/models/detail/chat?utm_sourcetaotoken_aicg_blog_endutm_contentdsh_node_webui 。如果打算长期写代码用看下 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentdsh_node_webui 。Key 还没建的直接进控制台https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentdsh_node_webui 。Claude Code 的完整配置说明在这里https://taotoken.net/doc/ClaudeCodeAnthropic?utm_sourcetaotoken_aicg_blog_endutm_contentdsh_node_webui 。
返回列表