前言¶
DeepSeek Harness(@deepseek-ai/dsh)通过插件扩展模型 provider,但手写 OpenAI 兼容配置时,模型 id、上下文窗口、是否支持图片输入往往要和上游服务文档对齐,上游一更新列表就容易脱节。Tako 提供聚合的聊天模型与公开定价目录;若要在 dsh 的 Web 界面里稳定选用这些模型,还需要正确的凭据与刷新机制。下面介绍社区插件 dsh-tako(维护者 tako-dev),它把 Tako 目录同步进官方 llm-pi-ai 的 providers.tako,并附带 Web 侧控制台与浏览器登录,装插件即可,不必自己维护一长段 provider YAML。
这是什么¶
dsh-tako 是发布在 npm 上的 DSH 插件(包名 dsh-tako),分类属于模型推理。一句话定位:让官方 dsh CLI / Web 直接使用 Tako 的模型,并带上从目录解析出的上下文窗口与 Vision 能力声明。插件本身不实现模型适配器;请求、流式输出、重试与凭据仍走 dsh 官方代码路径。
核心功能¶
模型目录同步¶
启动时请求 Tako 公开接口 GET https://tako.shiroha.tech/api/pricing(无需 API key),之后按间隔刷新,默认 30 分钟(refreshIntervalMs 默认 1800000)。
同步逻辑会:
- 只保留可走 OpenAI 兼容聊天接口的模型;去掉生图、语音、搜索等非聊天模型、
jev-*,以及默认情况下 Tako 限定仅在 Claude Code 使用的模型。 - 从目录结构化字段读取上下文窗口;若无则识别
272K、1M、1.05M等容量标签(参数量标签如31B会被忽略);仍无则使用defaultContextWindow(默认128000)。 - 带
Vision标签的模型在 provider 中声明支持图片输入。
结果写入 llm-pi-ai 配置里的 providers.tako(与「设置 → 模型」里添加自定义 provider 的位置相同),落在 profile 的 cordis.patch.yml。只有内容变化时才写文件;目录拉取失败时保留上次列表。
Provider 与模型选择¶
配置 API key 后,在 dsh web 输入框的模型选择器会出现 Tako 分组。未配置 key 时选择器里看不到 Tako 模型(「设置 → 模型」仍会列出 Tako,并显示密钥缺失)。
可通过 cordis.patch.yml 里 id: tako 的 config 做过滤与置顶,例如:
- id: tako
name: dsh-tako
config:
pinned: [deepseek-v4.1-flash, gpt-5.6]
exclude: ['grok-*']
overrides:
gemma-4-31b-it:
contextWindow: 262144
providers.tako 整段由插件维护;在设置页手改或删除 Tako 的自定义段,会在下次刷新或重启时被写回。定制应使用上述 pinned / include / exclude / overrides 等字段。
Tako 控制台(web profile)¶
装进 web profile 后,左侧栏会出现带触手小图标的「Tako 控制台」,底部 footer 显示额度。控制台提供登录状态、插件更新、套餐/钱包进度、当前写入的模型目录及距下次刷新的倒计时。数据来自插件注册的 /api/tako.* 路由,与 Web 界面同源。
凭据与一键登录¶
Tako API key 三种方式任选:
- Web:「设置 → 模型」→ Tako →「通过浏览器登录 Tako」;
- 终端:
npx dsh-tako login(无界面 profile 同样适用); - 手动:在设置页粘贴密钥,或启动前设置环境变量
TAKO_API_KEY(凭据名默认TAKO_API_KEY,可在配置里改apiKeyEnv)。
登录流程使用 PKCE,凭据经 dsh 官方路径写入 $DSH_HOME/.credentials.yaml。同设备名重新登录会替换 Tako 侧同名令牌,属预期行为。
安装与启用¶
需要 Node.js 22+,且 dsh plugin 会调用 pnpm(须在 PATH 上)。先安装官方 CLI:
npm i -g @deepseek-ai/dsh
装进 web profile(浏览器界面):
dsh plugin --profile web add dsh-tako
锁定版本可写 dsh-tako@0.2.0,或使用 GitHub Release 附带的 .tgz URL(资料中示例):
dsh plugin --profile web add https://github.com/tako-dev/dsh-tako/releases/download/v0.2.0/dsh-tako-0.2.0.tgz
不要使用 dsh plugin add github:tako-dev/dsh-tako:git 方式拿到的是源码,没有构建好的 lib/。
安装时 pnpm 可能提示缺少 peer @deepseek-ai/schemastery,运行时由 dsh 安装提供,属预期。
配置 key 后启动:
dsh web
dsh plugin --profile <名字> add dsh-tako 对任意 profile 可用;仅 dsh-base 的自建 profile 无界面,要用浏览器请装进 web。
插件更新后需重启 dsh 才生效。可在控制台「更新」卡点击「立即更新」,或运行:
npx dsh-tako update [--profile web]
典型用法¶
命令行辅助¶
npx dsh-tako login # 浏览器登录,key 写入 dsh 凭据
npx dsh-tako login --profile acp # 使用指定 profile 的 baseURL / apiKeyEnv
npx dsh-tako login --no-open # 只打印授权链接
npx dsh-tako whoami # 查看当前 key 对应账号与套餐
npx dsh-tako logout # 吊销 key 并删除凭据文件中的记录
npx dsh-tako update # 安装最新插件到 profile
远程 dsh、本地浏览器¶
授权回调指向运行授权流程机器上的 127.0.0.1。dsh 在远程、浏览器在本地时,一键登录无法直接完成。可选:在 Tako 网站创建 key 后粘贴;或使用 SSH 端口转发配合 npx dsh-tako login --no-open --port <端口>(README 中有示例命令)。
常用配置项摘要¶
| 配置项 | 默认值 | 说明 |
|---|---|---|
baseURL |
https://tako.shiroha.tech |
聊天请求走 <baseURL>/v1 |
apiKeyEnv |
TAKO_API_KEY |
凭据/环境变量名 |
defaultContextWindow |
128000 |
目录未标注时的上下文 |
refreshIntervalMs |
1800000 |
目录刷新间隔;0 仅启动时刷新 |
pinned |
见 README 默认列表 | 选择器置顶顺序 |
include / exclude |
[] |
通配过滤,exclude 在 include 之后 |
includeClaudeCodeOnly |
false |
是否保留 Claude Code 限定模型 |
overrides |
{} |
按模型 id 修正 name、contextWindow 等 |
完整说明见仓库 README「配置项」一节。
适用场景与注意¶
适合谁:已在用或打算用 Tako 作为模型来源、希望用官方 dsh Web 与同一套凭据/重试路径的开发者;不想手维护 providers.tako 里一长串模型列表的用户。
权限与安全:插件以当前 dsh 进程权限运行,会读写 profile 下的 cordis.patch.yml 与凭据文件。安装前应查看 GitHub 仓库 源码与 MIT 许可证(见 package.json),确认符合你的环境策略。
生态说明:DSH 社区插件目录托管于 SkillHub 插件页 等站点,与 DeepSeek / 幻方无官方从属关系;「一切皆插件」是 Harness 的设计思路,本文仅介绍该插件在资料中写明的行为。
结尾¶
dsh-tako 把 Tako 公开目录、OpenAI 兼容 provider 写入、以及 Web 控制台和登录流程收成一次安装。若你已经在用 @deepseek-ai/dsh,可按上文命令装进 web profile、配置 TAKO_API_KEY 或 npx dsh-tako login,重启后在模型选择器里选用 Tako 分组即可。