🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

草稿缓存与插件提及 CatLollipop/dsh-composer-draft-cache

DeepSeek Harness
CatLollipop11 天前有提交已提供中文文档扫描:未发现敏感能力

自动保留未发送草稿,输入 @ 直接引用已装插件

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add CatLollipop/dsh-composer-draft-cache
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · ui
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 输入框草稿缓存插件:按工作区缓存新会话草稿、按会话缓存历史会话草稿,切换后自动恢复;已发送或已清空的草稿不会再出现,直到关闭应用。

README

由 DeepSeek 最新模型翻译生成
dsh-composer-draft-cache · 输入框增强(草稿缓存 + @插件) DeepSeek Harness(dsh)的输入框增强插件,包含两个能力: 1. 草稿缓存:记住尚未发出的输入框草稿,切走再回来时自动填回;已发送或手动清空的草稿不会重新出现。 2. @ 插件提及:在输入框里输入 @ 即可选择已安装的社区插件(而不是只能 @ 文件/会话);选中后会插入一个原子引用,智能体本轮会被明确告知「用户指定使用该插件」,并收到该插件的名称与说明。例如:@ui-ux 设计插件的标题 帮我做这个页面的 UI/UE 设计。 DeepSeek Harness 的输入框增强套件,包含两个功能: - 草稿缓存——保留尚未发出的输入框草稿,回来时自动填回:对「新建会话」输入框按工作区保存(每个工作区的新建会话操作都会打开一个全新的空白会话),对已创建的(「历史」)会话按会话 id 保存。发送或主动清空草稿会立即删除对应条目,因此已提交的内容不会回来。 - @plugin 提及——在输入框里输入 @,补全列表会多出一组:已安装的社区插件,与文件、会话并列。选中后插入一个原子提及标签;Host 侧从已接受的用户消息里读出该提及,把所选插件的元数据作为有界运行时上下文发布出去,模型因此知道用户本轮明确选了这个插件。
展开完整文档(README 剩余 1 节)
dsh-composer-draft-cache · 输入框增强(草稿缓存 + @插件)

DeepSeek Harness(dsh)的输入框增强插件,包含两个能力:

1. 草稿缓存:记住尚未发出的输入框草稿,切走再回来时自动填回;已发送或手动清空的草稿不会重新出现。
2. @ 插件提及:在输入框里输入 @ 即可选择已安装的社区插件(而不是只能 @ 文件/会话);选中后会插入一个原子引用,智能体本轮会被明确告知「用户指定使用该插件」,并收到该插件的名称与说明。例如:@ui-ux 设计插件的标题 帮我做这个页面的 UI/UE 设计。

DeepSeek Harness 的输入框增强套件,包含两个功能:

- 草稿缓存——保留尚未发出的输入框草稿,回来时自动填回:对「新建会话」输入框按工作区保存(每个工作区的新建会话操作都会打开一个全新的空白会话),对已创建的(「历史」)会话按会话 id 保存。发送或主动清空草稿会立即删除对应条目,因此已提交的内容不会回来。
- @plugin 提及——在输入框里输入 @,补全列表会多出一组:已安装的社区插件,与文件、会话并列。选中后插入一个原子提及标签;Host 侧从已接受的用户消息里读出该提及,把所选插件的元数据作为有界运行时上下文发布出去,模型因此知道用户本轮明确选了这个插件。

功能

草稿缓存

- 无界面:在 conversation.input.dock 槽位注册一个条目,始终渲染 null;不占视觉空间,不改变布局。
- 两种作用域:会话还是新建/空白会话时用工作区键,会话启动后改用会话 id 键。
- 绝不复活已发送文本:恢复条件要求本次挂载还没见过任何文本(sawText);一旦见过文本,输入框为空就意味着发送或清空,此时删除条目而不是恢复。额外的保护逻辑会在来源会话已尝试过提示词(promptAttempted)或已不再空白时,丢弃新建会话条目。
- 性能:输入框状态通过原始选择器(draft / 附件数量 / 提交阶段)读取,用 Object.is 比较相等,因此无关的 store 发布(队列、occurrences、claim、上传)既不会重渲染组件,也不会重跑它的 effect。没有定时器、DOM 写入,也没有每次渲染的分配。
- 存储:内存 map + sessionStorage 镜像,键前缀 dsh.composer-draft-cache.v1:(workspace:<path> / session:<id> 键)。页面刷新后仍在,应用窗口关闭时丢弃;从不写入 Host 或会话日志。

@plugin 提及

- 输入框菜单:第二个 @ 来源(plugin)从 Host 的 pluginInventory Remote 列出已启用的社区插件,最新快照缓存几秒;实时查询按标题、模块名和描述过滤。核心 @deepseek-ai/ 平台条目不会列出——只列你在 harness 之上安装的插件。
- 原子提及标签:选中后插入 @Title 作为原子引用(来源 plugin),显示为 @ Title;手输快捷方式 @plugin:<package name> 同样可用。
- 模型效果:在 agent/pre-step 阶段,Host 侧从已接受用户消息中收集提及,并在本轮内保留(后续工具调用步骤沿用同一选择),再通过 ctx.systemPrompt.context() 发布一段有界的 ## User-selected plugins 块:显示标题、包名、Loader 条目 id 和描述,并附上说明——用户要求使用该插件,不得虚构不存在的能力。遇到未知或已禁用的包,如实报告,不做猜测。
- 已发送消息渲染:userText 规则和 conversation.user.text.node 渲染器把提及显示为 Chat 里的紧凑行内 chip,而不是原始 Markdown。

兼容性

基于 DeepSeek Harness 0.2.1-rc.2(Desktop 配置档)构建并验证。只使用文档化的扩展接缝:

- 客户端:slots、inputTriggers.registerSource、uiConversation.userText、remote.pluginInventory、locale。
- Host:loader、systemPrompt.context、agent/pre-step 瀑布流(原样返回下游决策,只记录选择)。

不导入 Harness Client 包;UI 样式只用 --dsw-alias- 主题 token。

安装

1. 把这个目录放到磁盘任意位置(例如某个工作区文件夹)。
2. 通过 Plugin Manager 把它作为配置档 bundle 安装,或用 plugin_manager 工具:

plugin_manager action=install_bundle target=<absolute path to this directory>

3. 刷新一次 Web GUI。确认实时注册生效:conversation.input.dock 中出现 composer-draft-cache 条目,conversation.user.text.node 中出现 plugin 条目。

用法

- 在工作区的「新建会话」输入框里打字,切到另一个工作区,再打开那个工作区的「新建会话」——草稿还在。
- 在任意会话里打字,切走再回来——该会话的草稿还在。
- 发送或删除草稿——它就没了,不会回来。
- 在输入框里输入 @:文件和会话照旧出现,另有一个 Plugins 分组列出已安装的社区插件。选一个(比如某个 UI/UE 设计插件),然后描述任务;智能体就会在本轮收到该插件的元数据,作为显式运行时上下文。
- 也可以手动输入 @plugin:<package name>。

限制

- 含引用/命令 chip 的草稿会按纯剪贴板文本恢复;附加的图片/文件不会恢复。
- 草稿缓存随浏览器页面存在:关闭应用窗口即清除。
- @plugin 补全列出 Loader 可见的插件(社区插件至少需要一行 Host 记录,通常由每个 dsh.bundle 补丁插入)。只有客户端、没有 Host 记录的包不会列出;手动输入其准确包名仍会作为提及送达模型,但不注入元数据。
- 提及选择在其所在轮次运行期间生效;之后某一轮没有任何提及就会清除。
- @ 来源注册在 plugin 下;如果页面经过这个插件的多次热重载,可能回退到 plugins / plugin-mentions(这两个额外名称作为序列化别名存在)。正常刷新页面会恢复首选名称。

开发

node --check client.js index.js lib/mentions.js
node --test test/logic.test.mjs test/mentions.test.mjs

- test/logic.test.mjs 在 vm 沙箱中加载真实的 client.js,并配上桩 React 钩子调度器,以及桩 Slot/session/locale/inventory 服务:覆盖草稿缓存场景、恢复/发送/清空守卫,以及 @plugin 补全来源、选择序列化和已发送消息规则。
- test/mentions.test.mjs 覆盖纯提及解析/渲染辅助函数,并按智能体循环的方式,用桩 Cordis 上下文驱动 index.js(运行时上下文服务商 + agent/pre-step 瀑布流)。

许可证

MIT — 见 LICENSE。
预览分享卡片长什么样 ↓CatLollipop/dsh-composer-draft-cache
分享 · DeepSeek Harness Hub
CatLollipop/dsh-composer-draft-cache

自动保留未发送草稿,输入 @ 直接引用已装插件

这是你的仓库?认领条目

回到顶部