DeepSeek Harness 插件

dsh-birdman-plugins

Auto-complete missing model display name, context window, max output tokens, and reasoning efforts in the llm-pi-ai settings namespace.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
birdman1992/dsh-birdman-plugins
最近更新
2026年8月15日
分类
工具与能力
GitHub stars
2
载体类型
plugin
包路径
plugins/model-autofill
目录证据
上游声明已找到 dsh.bundle
证据路径
plugins/model-autofill/package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/birdman1992/dsh-birdman-plugins/tree/HEAD/plugins/model-autofill
插件名:dsh-birdman-plugins
作者:birdman1992

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览
README 语言

model-autofill

English | 中文

作用

模型信息自动补全。在 llm-pi-ai 设置命名空间($DSH_HOME/settings.yaml, 由 Web 的 Models 页面写入)中,每当模型条目缺少以下字段时自动补全:

  • 显示名(name)— 来自 pi-ai 内置模型目录
  • 上下文窗口(contextWindow
  • 最大输出 token(maxTokens
  • 推理档位(reasoningEfforts)— 来自内置规则表(v0.2 新增)

只补全缺失字段,绝不覆盖用户已填写的值;用户修改模型配置后自动触发, 启动时也会做一次幂等补全。模型 id 带 provider/ 前缀或 :suffix 后缀 (如 openai/gpt-5.6-lunaxiaomi/mimo-v2.5-pro:free)时也能正确匹配。

reasoningEfforts 规则表

推理能力不能像目录字段那样从 discoverModels 查出——它只返回 id/name/contextWindow/maxTokens。因此补全采用声明式规则策略:按顺序 匹配 id 子串,命中即写入对应档位表。档位表以本机安装的 pi-ai 官方 catalognode_modules/@earendil-works/pi-ai/dist/providers/data/*.json 中各模型自己的 thinkingLevelMap)为准,公开文档交叉验证:

匹配档位(键 = pi-ai 档位,值 = 发给网关的 wire 拼写)依据
claude- / claude/off + minimal/low/medium/high/xhigh/max(minimal 的 wire 折叠为 lowpi-ai anthropic.json(claude-fable-5 map 为 {off,xhigh,max} + 基础档默认支持);Anthropic skills
gpt-5 / gpt/ / o1/o3/o4off + minimal/low/medium/high/xhigh/max(minimal→lowpi-ai openai-codex.json(gpt-5.6-* map 为 {xhigh, max, minimal:"low"});OpenAI reasoning
deepseek- / deepseek/off + high/maxpi-ai deepseek.json(map 为 {high:"high", max:"max"},low/medium/minimal 均 null);DeepSeek reasoning effort
glm-off + low/medium/high/max,wire:low/medium/high 全发 highpi-ai zai.json(glm-5.2 map 为 {low:"high", medium:"high", high:"high", max:"max"});pi#5770 GLM-5.2 High & Max
kimi-k3必须先于 kimi- 通用规则off + low/high/max(无 medium/minimal/xhigh)pi-ai moonshotai.json(kimi-k3 map 为 {low:"low", high:"high", max:"max"},medium/minimal/xhigh null);Kimi K3 effort: Max/High/Low
kimi- / kimi/ / moonshot(K2.x 等)off + minimal/low/medium/highpi-ai moonshotai.json(kimi-k2.7-code map 仅 {off:null} → 基础档默认支持)
qwenoff + minimal/low/medium/highpi-ai opencode-go.json(qwen3.7-max 无 map → 基础档默认支持)
mimo-off + minimal/low/medium/highpi-ai xiaomi.json(mimo-v2.5-pro reasoning:true、无 map;:free 只是免费档,不关闭推理)
其余未命中不写(保持 pi-ai 的"无元数据 = 仅提供方默认",选择器不显示 Effort 行)

关键语义(来自 pi-ai 实现):

  • off: 留空 = 提供 Off 档,anthropic 方言下发 thinking: {type: "disabled"}
  • minimal 的 wire 折叠为 low:anthropic-messages 的

mapThinkingLevelToEffort 把 minimal 折叠到 low(见 pi-ai/dist/api/anthropic-messages.js),所以任何表里 minimal 的值都写 low,避免发出不存在的 wire 值。

  • 未声明的档位被固定为不支持:所以每张表就是该模型族对外提供的全部

档位;表里多写一个实际不支持的档位(如 kimi-k3 的 medium)会让用户选中 后请求失败。

  • :free 不等于不支持推理xiaomi/mimo-v2.5-pro:free 是同一模型的

免费档,推理能力不变,因此不再有 :free → false 的规则。

> ⚠️ 你的网关(knnns,anthropic-messages 方言)会把 effort 名翻译成底层 > 模型自己的词汇,某档位能否被接受取决于网关与该模型。声明档位等于向 > 网关声明"该模型支持思考":若某个模型实际不接受 thinking 参数(网关忽略或 > 报错),把它的规则改为 efforts: false,或在 settings.yaml 里删除该条目 > 的 reasoningEfforts 即可。补全写进的是用户 settings 层,随时可编辑/删除, > 没有锁定。

规则表可用插件 config 整体替换(在 profile 的 cordis.patch.ymlcordis.yml 的 model-autofill 行上加):

- id: model-autofill
  name: "@birdman1992/model-autofill"
  config:
    reasoning:
      rules:
        - match: ["claude-", "claude/"]
          efforts: { off: null, minimal: low, low: low, medium: medium, high: high, xhigh: xhigh, max: max }
        - match: ["deepseek-", "deepseek/"]
          efforts: { off: null, high: high, max: max }

> 注意:写档位等于向网关声明"该模型支持思考"。如果某个模型实际不接受 > thinking 参数(网关忽略或报错),把它的规则改为 efforts: false 或在 > settings.yaml 里直接删除该条目的 reasoningEfforts 即可。补全写进的是 > 用户 settings 层,随时可编辑/删除,没有锁定。

安装

已发布到 npm,直接安装:

dsh plugin --profile web add @birdman1992/model-autofill

也可以从 GitHub 直装:

dsh plugin --profile web add github:birdman1992/dsh-birdman-plugins#path:plugins/model-autofill

安装后重启 profile:

dsh --profile web

> 如果此前已经用 link: 方式安装过该插件,请先执行 > dsh plugin --profile web remove @birdman1992/model-autofill 并删除 > cordis.patch.yml 中手动插入的 model-autofill 行,再执行上面的安装命令, > 避免重复插入同一行 id。