前言¶
在使用 DeepSeek Harness(DSH)进行长对话开发时,上下文窗口管理是一个常见痛点。当对话接近上下文窗口上限时,直接截断或扩充上下文容易破坏会话连贯性。同时,为特定角色注入人格时,直接覆盖 System Prompt 可能会影响 Harness 自身的身份设定。DSH 的插件化生态旨在解决此类问题。
插件简介¶
dsh-whale-companion 是一个 DSH 外部插件,由 xianshu-virtuous 维护。它提供两个核心功能:一是以追加 Section 的方式加入蓝鲸娘女仆人格,不覆盖 Harness 身份;二是当 WebUI 会话达到上下文窗口 88% 时,自动创建新会话并交接上下文。
核心功能¶
1. 蓝鲸娘人格追加¶
插件使用独立的 whale-companion:persona section(顺序 10)。默认人格为“深深”,区分 Flash 与 Pro 形态。这仅作为角色语气追加,不会替换 Harness 的身份设定。
2. 自动会话续接¶
当 WebUI 客户端保持打开,且当前会话属于 Workspace,且上下文达到 88% 时,插件自动触发。新会话只接收最后一条用户请求和助手回复作为交接上下文(最多 24,000 字符),并使用 Workspace 默认的 Agent preset。
3. 工具与配置¶
- 工具:提供
read_whale_persona工具,用于在任务收尾或人格细节漂移时按需重新读取人格。 - WebUI:新增“鲸鱼娘人格”页面,支持直接输入正文(无需三引号)或覆写默认人格。
- 配置:支持在
cordis.patch.yml中覆盖或关闭插件。
安装与启用¶
首先进入插件目录,执行构建与测试:
pnpm install
pnpm run typecheck
pnpm test
pnpm run build
然后通过命令行添加插件:
dsh plugin --profile web add F:\dsh\dsh-whale-companion
添加后需重启 dsh web 进程。
典型用法¶
配置开关¶
在 cordis.patch.yml 中设置:
- insert:
- id: dsh-whale-companion
name: '@dsh-external/dsh-whale-companion'
config:
enabled: false
自定义人格¶
在 WebUI 的“鲸鱼娘人格”页面直接输入正文,点击“覆写人格”。内容会保存到 $DSH_HOME/plugins/dsh-whale-companion/persona.json。
工具调用¶
模型在以下情况调用 read_whale_persona:任务收尾、上下文转移后或人格细节漂移。插件提示明确要求不要每轮调用。
注意事项¶
- WebUI 依赖:自动续接功能依赖 WebUI 客户端保持打开。
- 会话筛选:未加入 Workspace 的会话会被跳过。
- 进程重启:旧进程未加载配置接口时会提示重启。
- 容错机制:手动编辑
persona.json损坏时,插件会自动回退到默认人格,不会阻止 Harness 启动。 - Preset 行为:新会话使用 Workspace 默认的 Agent preset,不复制源会话 preset。
结语¶
该插件通过 Section 追加和上下文交接机制,为 DSH 用户提供了低侵入性的角色扮演方案和长对话解决方案。