前言¶
在 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)。
典型用法¶
- 新建 DSH 会话。
- 在预设选择器选择 Foxy。
- 直接对话;上下文、工具、模型由 DSH 原生层处理。
- 切回
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。