DeepSeek Harness 输入框草稿缓存与 @插件提及插件

前言

在 DeepSeek Harness(dsh)中,输入框草稿的丢失、跨会话/跨工作区切换时的上下文中断,以及无法显式指定本轮要调用的插件,是常见的体验痛点。现有做法要么依赖浏览器本地存储,要么需要在会话间手动复制粘贴,难以做到无感恢复与精确控制。

dsh-composer-draft-cache 是一个输入框增强插件,提供草稿缓存与 @插件提及两个能力。它基于 dsh 的扩展接口实现,不依赖 dsh Client 包,仅使用公开的 slot、remote、locale 等 API,通过内存 + sessionStorage 存储草稿,在页面刷新时保留,关闭窗口时清除。

插件定位与维护

  • 名称:dsh-composer-draft-cache
  • 维护者:CatLollipop
  • 分类:记忆
  • 许可证:MIT
  • 仓库:https://github.com/CatLollipop/dsh-composer-draft-cache

核心功能

草稿缓存

  • 作用域:
  • 工作区的新会话(blank Session):以 workspace 为 key 存储
  • 已创建的历史会话:以 Session id 为 key 存储
  • 机制:
  • 在 conversation.input.dock 注册一个渲染 null 的插槽,无视觉干扰
  • 使用内存 map + sessionStorage 副本(键前缀 dsh.composer-draft-cache.v1:,格式 workspace:<path> 或 session:<id>)
  • 页面刷新时恢复,关闭应用窗口时清空
  • 不会恢复的内容:
  • 已发送或已手动清空的草稿
  • 草稿中包含的引用/命令 chip(恢复为纯文本)
  • 附件和图片
  • 性能:
  • 通过原始选择器读取 composer 状态(draft、附件数、提交阶段),使用 Object.is 比较,避免无关 store 发布触发重渲染
  • 无定时器、无 DOM 写入、无每渲染分配

@插件提及

  • 触发方式:
  • 在输入框中输入 @,在原有文件与会话之外,新增“Plugins”分组
  • 手工输入 @plugin:<package name> 也可触发
  • 显示与选择:
  • 仅列出已安装的社区插件(Loader 可见、有 Host 行的包),不列出核心 @deepseek-ai/* 行
  • 选中后插入原子引用 @[Title](dsh-plugin:<package name>),渲染为 @ Title
  • Agent 上下文:
  • 在 agent/pre-step 阶段,Host 端从已接受的用户消息中收集提及
  • 将插件元数据(标题、包名、Loader entry id、描述)作为有界上下文注入系统提示,明确告知用户指定使用该插件,并禁止虚构能力
  • 未知或已禁用的包会被报告而非猜测
  • 渲染:
  • 已发送消息在聊天中显示为紧凑的内联 chip,而非原始 Markdown
  • 提及在当前轮次有效,后续轮次若无提及则清除

安装与启用

  1. 将插件目录放置到本地任意位置(例如工作区文件夹)。
  2. 通过插件管理器将其安装为配置包,或使用 plugin_manager 工具:
plugin_manager action=install_bundle target=<绝对路径>
  1. 刷新 Web 界面,检查注册:
    - composer-draft-cache 应出现在 conversation.input.dock
    - plugin 应出现在 conversation.user.text.node

典型用法

  • 草稿恢复:
    1. 在某个工作区的“新会话”输入框中输入内容(不发送)。
    2. 切换到其他工作区或关闭输入框。
    3. 再次打开该工作区的“新会话”,草稿内容自动填回。
    4. 在历史会话中同样适用:切换离开再返回,会话草稿自动恢复。
  • 发送/清空不恢复:
  • 发送或清空草稿后,该草稿不再出现,直到关闭应用。
  • 插件提及:
    1. 在输入框输入 @,在弹出的菜单中选择一个已安装的社区插件。
    2. 继续输入任务描述,Agent 会在本轮收到该插件的元数据作为显式上下文。
    3. 也可直接手工输入 @plugin:<package name> 触发。

适用场景与注意

  • 适合需要频繁切换工作区或会话,希望草稿不丢失的开发者与 Agent 使用者。
  • 插件以当前 dsh 进程权限运行,安装前建议检查源码与许可证(MIT)。
  • 注意草稿恢复的限制:引用/命令 chip 变为纯文本、附件/图片不恢复、关闭窗口即清空缓存。

结尾

dsh-composer-draft-cache 通过草稿缓存与 @插件提及,缓解输入中断与插件调用不明确的问题。更多详情与源码见:
- 技能库目录:https://www.skillhub.cn/plugins/CatLollipop/dsh-composer-draft-cache
- GitHub 仓库:https://github.com/CatLollipop/dsh-composer-draft-cache

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

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

Xiaoye