deepseekharnessthirdmodelthinkmgr

by lenonss

0 会话与消息github收录于 08-23

支持DeepSeekHarness上配置第三方模型的思考选择项,在对话界面实时选择

安装

dsh plugin --profile web add github:lenonss/deepseekharnessthirdmodelthinkmgr

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

DSH Web GUI 的思维强度管理器插件。列出 harness 当前全部模型(按 provider 分组),为每个模型编辑 reasoningEfforts 档位映射(自定义线上拼写)、 thinkingFormat / supportsReasoningEffort 兼容开关与 thinkingBudgets 思考预算,写入 llm-pi-ai 设置文档(settings.yaml);并一键切换当前模型 的思维强度(agent-default-model.reasoningEffort),可把任意模型设为当前。

热插拔:通过 dsh plugin 装进 web profile,不修改 dsh 源码。

安装

# 从 GitHub 安装(推荐,任何设备可用)
dsh plugin --profile web add github:Lenonss/DeepSeekHarnessThirdModelThinkMgr

# 本地目录安装(开发调试)
dsh plugin --profile web add link:/path/to/packages/dsh-thinking-intensity

# dsh 不在 PATH 时的备选
npx @deepseek-ai/dsh plugin --profile web add github:Lenonss/DeepSeekHarnessThirdModelThinkMgr

dsh plugin 会在 ~/.dsh/profiles/web 里执行 pnpm 安装,然后自动把声明了 dsh.bundle.patch 的包追加进 dsh.profile.bundles 层列表(reconcile)。 装完需要重启 dsh(profile web),bundle 层变化才生效。

注意:git 安装会在目标设备上运行 prepare 脚本(本包没有 prepare,直接使用 仓库内已构建的 lib/ 产物,无需构建环境)。

卸载

dsh plugin --profile web remove dsh-thinking-intensity

重启 dsh 后生效。插件自己的设置项(dsh-thinking-intensity 命名空间)留在 settings.yaml,重装会重新读回。

界面入口

  • 设置页 → 「思维强度」分区:左侧模型清单(按 provider 分组,当前模型带 「当前」徽标),右侧配置面板(强度快速切换 / 主流映射预设 / 档位映射编辑 / thinkingFormat / supportsReasoningEffort / thinkingBudgets / 保存)。

行为说明

  • 模型清单与当前选择:走 sessions.models / sessions.selectModel wire API(与 shipped 模型选择器同一数据源),含每个模型的 reasoning.efforts / defaultEffort。
  • 档位映射:7 个档位(off/minimal/low/medium/high/xhigh/max),勾选启用, 输入框为发送给网关的拼写;留空 = 省略不发送(off 允许)。
  • 主流映射预设:OpenAI/GPT、DeepSeek 官方(off/high/max,与 DeepSeek 网关 hiMax 档位表一致)、DeepSeek 扩展(含 xhigh 钳制)、GLM/z.ai、 Qwen、全档位直通、清空声明。
  • 保存:写入 llm-pi-ai 设置文档(settings.yaml)。
    • 模型属于 profile 的 models 列表时,整体重建该列表写回 (settings.update,数组整体替换语义);
    • 否则走 modelOverrides 最小路径操作(settings.mutate)。
    • 带 expectedRevision 防并发覆盖;写回经 pi-ai schema 校验,非法配置 会被拒绝并在界面提示。
  • 强度切换:sessions.selectModel({provider, model, reasoningEffort}) 持久化默认模型选择,下一条消息起生效;默认 恢复提供方默认值。
  • Host 半只提供系统提示词公告(可经设置关闭),不注册工具、不代理模型数据。

架构

  • Host 半(src/index.ts,exports "."):systemPrompt.section 公告 + installSettingsSection(announceToAgent / enabled),仿 @linxin666/dsh-client-ui-task-board。
  • Client 半(src/client/,exports "./client"):纯浏览器实现。
    • api.ts:IntensityApi 封装(sessions.models/selectModel + settings.describe/mutate/update),无 harness、无自定义 HTTP 路由。
    • panel.tsx:两栏面板(settings.section 插槽,root scope,标准 props useSessions 取当前会话 ID)。
    • presets.ts / draft.ts:预设与草稿纯函数(从动态插件版本迁移)。
  • 构建:tsc(d.ts)+ tsdown(lib/index.js ESM + lib/client.js web module-loader 格式,react 外部解析)。

依赖与前提

  • 目标设备:dsh(@deepseek-ai/dsh ≥ 0.1.0-rc.6)+ web profile(含 dsh-web-app / dsh-web-ui-all 或至少 dsh-client-runtime + dsh-client-connection)。
  • harness 挂载 llm-pi-ai 适配器(settings 命名空间 llm-pi-ai 已注册), 否则面板只能浏览模型与切换强度、不能保存映射配置。
  • 无 llm-pi-ai 设置文档或 settings 只读时,保存按钮显示「设置文档不可写」。

故障排查

  • 面板没出现:确认 dsh.profile.bundles 含 @linxin666/dsh-thinking-intensity (~/.dsh/profiles/web/package.json);确认 dsh 已重启;看浏览器控制台 [dsh-thinking-intensity] 日志。
  • 保存失败 "settings-rejected":pi-ai schema 校验拒绝,错误信息会指明 具体档位/字段(如只声明 off 一个档位、或空声明)。
  • 面板显示「当前没有活动会话」:打开一个会话后再打开设置页。

备注

  • 本仓库即插件包根目录,master 分支可直接 dsh plugin add github:... 安装。
  • 与动态 Cordis 插件(think-*)版本功能等价;两者同时存在时会重复注册 「思维强度」设置分区,安装本包并验证通过后请移除动态版本。

原始 README: https://github.com/Lenonss/DeepSeekHarnessThirdModelThinkMgr/blob/master/README.md ↗