dsh-tako:在官方 DSH 里直接用 Tako 模型目录

前言

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)。

同步逻辑会:

  1. 只保留可走 OpenAI 兼容聊天接口的模型;去掉生图、语音、搜索等非聊天模型、jev-*,以及默认情况下 Tako 限定仅在 Claude Code 使用的模型。
  2. 从目录结构化字段读取上下文窗口;若无则识别 272K、1M、1.05M 等容量标签(参数量标签如 31B 会被忽略);仍无则使用 defaultContextWindow(默认 128000)。
  3. 带 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 分组即可。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye