dsh-tui-favors:为 dsh-TUI 固定模型、推理档位、预设与权限模式

前言

在 dsh-TUI 里连续开对话时,模型路由、推理 effort、agent preset 和 permission mode 往往会跟着上一次会话的结尾走。你改过一次 /model 或 /permission,下次启动或新开 /new 可能并不是你习惯的那组默认值。若希望「每次启动(或在同一次运行里每次 /new)都回到同一套偏好」,需要在偏好文件与 TUI 行为之间有一层固定逻辑。dsh-tui-favors 是 zerodegress 维护的 DSH 客户端类插件,专门把上述四个旋钮钉在你配置的「收藏」上,并提供 /favors 命令查看与按需重载。

这是什么

dsh-tui-favors 是面向 dsh-TUI 的插件:在新会话开始时固定 model route、reasoning effort、agent preset、permission mode 四个值,避免每次从「上次会话留下的状态」起步。维护者为 zerodegress;在 SkillHub 目录中归类为客户端插件。插件以 MIT 许可证发布,当前 package 版本为 0.2.0,要求 Node ^22.19 || >=24。

核心功能

插件在 dsh-TUI 启动时(以及可选地在运行期)把四层偏好写入 dsh-TUI 使用的偏好文件,使新对话从你指定的组合开始。

  1. 启动时写入:默认在每次启动时写一次偏好文件;会话中途用 /model、/effort、/preset、/permission 改的选项可以保留到当前会话结束,下次启动仍回到收藏值。
  2. pin: true:在同一次运行里,每次 /new 也会回到收藏;通过 pollMs(默认 2000 ms)轮询检查,每次检查会 stat 一次,并可在 pin: true 时重新读取 ~/.dsh-tui/favors.json 而无需重启。
  3. 双层配置:profile 里的 cordis.patch.yml 行配置与可选的 ~/.dsh-tui/favors.json 字段形状相同;JSON 按 key 覆盖行配置,未写的 key 保留行里的值。
  4. /favors 与 /favors apply:在 TUI 内查看每个旋钮的钉住值、来源([favors.json] 或 [profile row])、当前偏好文件内容,以及是否被环境变量或 /settings 等更高优先级项覆盖;apply 立即重读文件并重写四个偏好文件。
  5. 校验与开关:无效值会报错且不会静默覆盖,行配置里的值仍保留;profile 行设 enabled: false 时插件不读 favors 文件;若把整段 patch 行(含 id/name/config)粘贴进 JSON,会被拒绝并提示只保留 config 内的 key。

需要留意的边界(README 原文说明):reasoning effort 按「每次启动」钉住,进程内会缓存 preferred tier,会话内 /effort 要到下次启动才回到收藏;permission.json 只作用于从未自行选择过 permission mode 的会话。

安装与启用

在 dsh-TUI 中执行官方安装命令:

/plugin install github:zerodegress/dsh-tui-favors

安装后需要重启 dsh-TUI:插件在启动阶段写入偏好文件。

典型用法

Layer 1 — profile 行

在 profile 的 cordis.patch.yml 中增加插件行;未填的字段不会被改动:

- id: dsh-tui-favors
  name: dsh-tui-favors
  config:
    provider: <provider>
    model: <model-id>
    effort: max
    preset: standard
    permission: workspace-write

若要在同一次运行里每次 /new 都回到收藏,在行配置的 config 中设置 pin: true,必要时调整 pollMs。

Layer 2 — ~/.dsh-tui/favors.json

与 model.json 等文件同目录的扁平 JSON,key 与上面 config: 块一致;本地机器专用,不宜进 git:

{
  "provider": "magpie",
  "model": "group/cheap-deepseek-v4-1-flash",
  "effort": "max",
  "preset": "ptc",
  "permission": "workspace-write",
  "_comment": "machine-local, not in git"
}

默认 pin: false 时,新建或修改该文件会在下次启动或通过 /favors apply 后生效;pin: true 时默认约每 2 秒重读一次。

TUI 内命令

  • /favors — 展示各旋钮的钉住值、来源、偏好文件现状,以及 DSH_TUI_PRESET、DSH_PERMISSION_MODE、/settings 默认 effort 等是否优先生效。
  • /favors apply — 立即重读配置并重写四个偏好文件,无需等到下次启动或 pin 轮询。

更完整的中文说明见仓库 README.zh.md。

适用场景与注意

适合长期固定同一套模型路由、推理档位、agent preset 与 workspace 权限模式的 dsh-TUI 用户;需要在多台机器上用不同组合时,可用 favors.json 做本机覆盖而不改 git 里的 profile。

安装前建议自行查看 GitHub 源码 与 MIT 许可证。DSH 生态强调「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek、幻方无官方从属关系。插件随当前 dsh 进程权限运行,启用前请确认配置来源与权限模式是否符合你的安全策略。

链接

  • 目录页:https://www.skillhub.cn/plugins/zerodegress/dsh-tui-favors
  • GitHub:https://github.com/zerodegress/dsh-tui-favors

经过上面的步骤,你可以在启动或每次 /new 时稳定回到自己设定的那四个 TUI 默认值,并用 /favors 核对来源与覆盖关系。

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

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

Xiaoye