🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

xuender/dsh-history

DeepSeek Harnessspec-screened扫描:低风险在 GitHub 查看 ↗
未验证

dsh-history — DSH Web 命令历史插件

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/14 · 已提供中文文档

在DSH Web编辑器中,使用↑/↓键召回并重新运行当前会话的命令历史。

综合分
27.8
GitHub 分
27.8
用户评分
—
★ Stars
2
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add xuender/dsh-history
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:仅索引本站尚未对其实装验证,仅收录元数据
是什么
dsh 原生插件 · tool
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
更新放缓:最近一次提交在 42 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

数据截至 2026/9/20(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
English · 简体中文

dsh-history — DSH Web 命令历史插件

在 DSH Web GUI 中记住当前会话的历史命令,输入框获得焦点时按 ↑ / ↓ 键即可切换之前的命令,修改后按 Enter 重新执行。

✨ 功能

- 记录:自动记录当前会话中你发送过的所有消息(普通消息与 /xxx 斜杠命令),按会话隔离;历史来自会话日志(user/command 节点),因此刷新页面后会自动重建,无需额外存储。
- ↑:从输入框回退到上一条命令;再按继续往前翻。首次按下时会保存你正在编辑的草稿,之后按 ↓ 可回到它。
- ↓:向前翻到更新的一条;翻到最新后再按 ↓ 回到之前保存的草稿。
- 修改再执行:召回的命令写入输入框草稿,直接编辑后按 Enter 即重新发送。
- 安全兜底:/ 或 @ 触发菜单打开时、中文等 IME 输入中、composer 忙碌/锁定时、焦点不在输入框时,↑/↓ 保持原有行为,不会干扰。

📦 加载方式

插件是标准的 DSH 静态插件(参见 develop/basic 教程)。入口名必须是裸包名 dsh-history,并且要从两个解析树都能解析到本包目录(host loader 从 DSH 安装目录的 node_modules 解析裸名,客户端模块扫描器从 profile 目录向上解析 dsh-history/package.json),因此需要建立两个符号链接:

1) profile 侧(客户端模块扫描器):$DSH_HOME 默认 ~/.dsh
ln -s /absolute/path/to/dsh-history ~/.dsh/profiles/node_modules/dsh-history

2) 安装侧(host loader 裸名解析):指向 dsh 安装的 node_modules
ln -s /absolute/path/to/dsh-history /home/ender/.npm/_npx/1e7f6d9597241db0/node_modules/dsh-history

然后通过 patch 启动:

dsh web --patch /absolute/path/to/dsh-history/cordis.yml

或把 cordis.yml 的内容(insert 一段)合并进 $DSH_HOME/profiles/web/cordis.patch.yml 常驻加载。

🗂️ 目录结构

dsh-history/
├── package.json        # dsh.client 声明(platform: web)→ 被 client-modules 扫描进 __DSH_BOOT__
├── cordis.yml          # patch:把插件 entry 插入 loader
├── lib/
│   ├── index.js        # host 半区:仅占位(loader 需要可解析的模块)
│   └── client.js       # 浏览器 bundle:历史记录 + ↑/↓ 导航 + dock 指示器
├── scripts/
│   └── smoke-test.mjs  # Node 冒烟测试(npm test)
├── README.md           # 英文版
└── README.zh-CN.md     # 本文件(简体中文)

⚙️ 工作原理

- 客户端模块机制:包声明 dsh.client: { platform: "web" } 且 exports["./client"] 指向 lib/client.js 后,dsh-client-modules 会自动把该 entry 编入 window.__DSH_BOOT__,并以 /plugins//client.js 提供;浏览器端按 window.__ModuleLoader__.load({ id, factory }) 契约注册插件。
- 记录:注册在 conversation.input.dock 插槽的组件订阅会话快照 useSession((s) => s.nodes),按 seq 增量扫描 user/command 节点(列表按 seq 升序且不截断),去重(相邻相同合并)、上限 100 条,存于模块级 Map。
- 导航:document 上挂 capture 阶段 keydown,仅当焦点在 [data-composer-card] 内、无触发菜单(claim 为空)、非 IME、无修饰键、非忙碌时接管 ↑/↓,通过 inputActions.setDraft(text) 写入草稿;编辑检测会在你输入后自动回到实时位置。
- 指示器:浏览历史时在 composer 上方显示「历史 n/m」小徽标。

⚠️ 限制

- 历史按会话隔离、内存驻留(页面刷新后从会话日志重建,因此会话内不丢;浏览器关闭则丢弃)。
- 斜杠命令以 /name args 形式召回(来自 command 节点)。
- 图片消息(无文本)不进入历史。

🤝 社区

- 贡献指南 — 如何报告 Bug、提功能需求、提交 Pull Request(含面向新手的 good first issue 入门任务)。
- 行为准则 — 我们对社区每一位成员的期望。
- 安全政策 — 如何私下上报安全漏洞。
- 支持渠道 — 在哪里提问(Issues 与 讨论区 的分工)。

📄 许可证

MIT © xuender

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群