dsh-foxy:在 DSH 里用一套预设驱动 Foxy 人设会话

前言

在 DeepSeek Harness(DSH)里做多轮对话时,常见做法是改系统提示词或切 preset,但角色设定往往还要和 ChatLuna、记忆桥、各平台子插件各写一份;工具和 coding-agent 默认人设也容易混进同一套系统提示。若你只想在原生 DSH 会话里用 Foxy 式人设聊天,并把记忆、平台能力拆给独立子插件,dsh-foxy 针对的是这条路径:它是 agent preset,不是单独的聊天客户端。

这是什么

dsh-foxy(仓库 Kun-Fox/dsh-foxy)由维护者 Kun-Fox 发布,当前 package.json 版本为 0.3.7,许可证 MIT。插件把 Foxy 预设投影成该会话的系统提示词,记忆、平台桥接与扩展能力通过注册表交给可选子插件;对话循环仍由 DSH 原生运行时处理。左侧栏 Foxy 面板是配置页,不是聊天窗口。

架构与依赖

下面介绍插件在生态中的位置。

DSH 会话(选择 Foxy preset)
        │
   dsh-foxy(host registry + agent preset)
        │
   dsh-foxy-memory(可选,本地记忆 / HTTP provider)
        │
   koishi-plugin-chatluna-foxy-memory(可选,QQ 侧与跨平台记忆中枢)
  • 必需:dsh-foxy 本体。
  • 可选记忆:dsh-foxy-memory;可只用本地 JSONL,或通过 bridgeUrl 连接 koishi-plugin-chatluna-foxy-memory。
  • 平台子插件:如 dsh-foxy-bili、dsh-foxy-weibo,依赖 dsh-foxy 与可选的 dsh-foxy-memory。
  • 旧方案 koishi-plugin-foxy-memory-bridge 已由 koishi-plugin-chatluna-foxy-memory 的 /foxy-memory/* 兼容层取代,仅保留迁移用。

核心功能

Agent preset 与系统提示词

新建会话并在预设选择器里选 Foxy 后,preset 子插件读取 YAML 预设并注册为 agent 的唯一系统提示词段(complete: true、interpolate: false):不会被 DSH coding-agent 人设污染,预设中的 {{...}} 也不会被 DSH 模板插值。

默认预设路径:

%USERPROFILE%\.dsh\foxy\presets\preset.yml

也可用 presetPath 指向任意 Foxy/Character 文件。若文件仅有 Character 的 system: 块,会按规则投影,保留角色设定相关标题,丢弃好感度、affinity、toolbox 等运行时块;DSH 与 ChatLuna 可共用同一份 preset.yml。

左侧栏设置与 profile 配置

常用项保存在:

%USERPROFILE%\.dsh\foxy\settings.json

面板可改:预设文件、memoryContextEntries、是否允许 DSH 工具(enableTools,默认 false)、是否附加运行时上下文、记忆保存方式(LivingMemory 桥或本地 JSONL)、桥地址与 Token 等。保存后记忆子插件尝试热重载;预设相关改动对新会话生效。

preset 子插件字段(节选):

字段 默认 说明
presetId 预设 读取哪个预设文件
presetPath 空 直接指定路径,优先于 presetId
enableTools false 是否继承 DSH 工具
memoryContextEntries 20 注入长期记忆条数

记忆子插件

dsh-foxy-memory 默认将会话写入:

%USERPROFILE%\.dsh\foxy\memory\entries.jsonl

按 batchSize(默认 8)与 flushIntervalMs(默认 30 秒)调用桥的 /ingest,由模型提炼为第一人称长期记忆;下一轮 Foxy 会话注入最近 N 条到 [长期记忆]。跨平台可安装 koishi-plugin-chatluna-foxy-memory,在设置页配置 bridgeUrl、bridgeToken、bridgePresetId;新插件经 /foxy-memory/* 写入 Character 池,不应直接写 SQLite。

扩展契约

Host 通过 ctx.foxy 暴露 registerPreset、registerMemoryProvider、registerCapability、registerTransport、status() 等,供记忆、平台(微博、B 站、QQ 等)、能力(TTS/STT 等)子插件接入;主插件只负责人设与注册表,不拥有对话循环。

安装与启用

资料中的安装方式是在 DSH profile 里添加本地包路径(记忆子插件可选,README 推荐一并安装):

dsh plugin --profile desktop add "file:D:\path\to\dsh-foxy"
dsh plugin --profile desktop add "file:D:\path\to\dsh-foxy-memory"

安装后完全重启 DSH,会话预设选择器会出现 Foxy。若开发时用复制安装而非链接,改源码后需重新 dsh plugin add,或将 lib/ 同步到 profile 下的 node_modules\dsh-foxy。

运行环境要求 Node >= 20(见 package.json 的 engines)。

典型用法

  1. 新建 DSH 会话。
  2. 在预设选择器选择 Foxy。
  3. 直接对话;上下文、工具、模型由 DSH 原生层处理。
  4. 切回 standard 或其他 preset 即恢复普通 DSH,Foxy 不会常驻。

需要工具时,在左侧 Foxy 设置页打开工具选项并保存,对新会话生效。最稳妥的做法是单独建 Foxy 会话,而不是在会话中途切换 preset(行为取决于 DSH 版本)。

适用场景与注意

适合:希望在 DSH 桌面端用统一 Foxy/Character 预设聊天,并可选接本地 JSONL 或 Koishi 记忆桥、平台子插件的开发者。

注意:

  • 插件在当前 DSH 进程权限下运行,安装前应阅读源码与 MIT 许可证。
  • LivingMemory 桥未安装或未配置时会退回本地 JSONL。
  • Foxy 默认隐藏继承工具,属刻意安全默认值。
  • 侧栏是状态/配置页,聊天请用 DSH 原生对话界面。

社区目录页:skillhub.cn 上的 Kun-Fox/dsh-foxy。该站点为社区插件索引,与 DeepSeek / 幻方无官方从属关系;DSH 生态遵循「一切皆插件」的思路,具体以仓库 README 为准。

结尾

dsh-foxy 把 Foxy 收敛成一个 DSH agent preset 和扩展宿主:人设一份、会话走原生 DSH、记忆与平台按需挂子插件。若要查阅配置字段与开发自检命令,见 GitHub 仓库 README。

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

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

Xiaoye