sunshaobei/dsh-input-history
sunshaobei★ 0JavaScriptLast synced: 2026-08-16
支持 dsh 上下切换历史记录
README excerpt
dsh-input-history 输入框 ↑/↓ 输入历史 独立插件,DeepSeek Harness (DSH) Web。 从 dsh-file-mention 拆分而来: 每次发送(回车或点发送按钮,任意会话/工作区)都同步落库 到一份 全局 localStorage 历史环 ,↑/↓ 按键时 同步读取 ,召回即时且完整——不做任何异步历史 RPC、没有失效刷新,彻底消除「历史不全/时有时无」的问题。 能力 说明 发送落库 输入框每次发送都 同步 记录:回车(捕获阶段 keydown,含 IME/trigger 菜单/锁定态守卫)与点发送按钮(点击后校验草稿被清空,即平台 commitSend 已执行)两条路径全覆盖 全局共享 历史环 不绑定会话/工作区 ,任意会话、任意工作区共用一份;合并时折叠旧版 块回 @路径 、跳过空白、连续重复只留一条 ↑/↓ 导航 空输入框按 ↑ 召回上一条已发送 prompt;↑/↓ 在历史间移动;↓ 越过最新条恢复原始草稿;手动编辑自动退出浏览态;trigger 菜单打开时按键让位给菜单 持久化 localStorage 键 dsh-input-history:input-history (JSON 数组,旧→新),默认上限 100 条 (超限淘汰最旧);历史在 每次按键时同步读取 预热迁移 升级后首次进入会话时,会把当前会话的过往 prompt( user/message 纯文本事件) 一次性合并 进历史环,并把旧 dsh-file-mention 键( dsh-file-mention:input-history / dsh-file-mention:history-limit ) 迁移 到本插件命名空间(尽力而为,失败则从空环开始累积) 安装 dsh.bundle.patch 声明会让 CLI 自动把本包追加进 profile 的 bundles(宿主半随之挂载,宿主半本身是空实现——所有逻辑都在客户端)。然后 重启 DSH 桌面应用 并刷新页面。零运行时依赖,无 peer / 构建要求。 卸载: dsh plugin --profile web remove dsh-input-history 。 开发迭代:改完代码运行 scripts/deploy.sh (同步 lib 到 profile 安装目录)后重启。 配置 历史环上限默认 100 条;可在浏览器 console 里覆盖(下次发送生效,删除该键恢复默认): 架构 - 客户端 bundle 以 window. ModuleLoader .load 约定注册, 不 require 任何模块 (纯逻辑,无 React),规避 externals 漂移,无需打包器。 - 键盘仲裁、IME 守卫、菜单渲染全部由 DSH 内建管线承担;本插件只在捕获阶段补记录与历史…
View full README on GitHub →