← 返回列表
✓ 可直接安装
DSH 会话隔离的输入历史导航插件纯 client:对话输入框中按 ↑/↓ 方向键遍历当前会话发送过的消息shell…
自动检查通过:npm 包已发布且 engines 声明满足基线(声明 Node ^22.19.0 || >=24.0.0);该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/17 · 已提供中文文档
综合分
29.4
GitHub 分
29.4
用户评分
—
★ Stars
0
周下载量
—
兼容 / 相关生态插件(非 dsh 原生,请按其对应运行时安装)
git clone https://github.com/czhzz/dsh-session-input-history.git信任档位:已验证本站已于 1 天前真实安装成功
- 是什么
- 生态插件(可安装,未声明 dsh 能力)
- 装得上吗
- 本站已真实安装成功(非静态推断)
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 8 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/22(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-session-input-history @ 0.1.1
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/22 15:34:50
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成dsh-session-input-history npm license node GitHub stars DSH 会话隔离的输入历史导航插件(纯 client):对话输入框中按 ↑/↓ 方向键遍历当前会话发送过的消息(shell history 式交互)。 与全局历史插件的区别:历史严格限定在当前会话内。切换到别的会话,↑ 拿到的就是那个会话自己的历史;新会话从空白开始,不会被其他会话或工作区的输入污染。历史也不落盘。 安装 方式一:从 npm 安装(推荐) dsh plugin --profile web add dsh-session-input-history 发布到 npm 的 tarball 已包含构建产物(lib/),安装即用,不需要授权构建脚本。 方式二:从 GitHub 安装 dsh plugin --profile web add github:czhzz/dsh-session-input-history 适合跟进未发布的提交。建议锁定 commit(github:czhzz/dsh-session-input-history#)。 交互 | 按键 | 行为 | |---|---| | ↑ | 草稿为空时 → 载入最新一条历史消息;再次按 ↑ 继续向前(更旧) | | ↓ | 浏览中向后(更新);到最新一条后再按 ↓ → 清空输入框(退出浏览) | | 浏览中编辑 | 正常编辑,不受影响 | | 浏览中发送 | 发送当前载入的消息 | - 历史范围:当前会话发送过的用户文本消息(去空白、相邻重复去重) - 焦点不在输入框时不接管方向键;带 Ctrl/Alt/Cmd/Shift 的组合键一律不接管,保持原生行为(选词、移动光标等) - 无任何 UI 常驻(纯键盘) 验证 1) 配置树里出现插件行 dsh --profile web --dump-config | grep dsh-session-input-history 2) 浏览器里:发两条消息 → 清空输入框 → 按 ↑ 应回显最新一条,再按 ↑ 回显更旧一条 开发 npm install npm run build # host: tsc → lib/index.js;client: esbuild → lib/client.js npm test # 纯函数单测(历史提取 + 导航状态机) 结构: src/ ├── index.ts # host 半侧(空 apply,无 host 行为) └── client/ ├── history.ts # 纯逻辑:chat 快照 → 历史数组、方向键状态机(无框架依赖,可直接单测) └── index.ts # client 接线:slot 注册 + 标准 props 订阅 + document 捕获方向键 scripts/build.mjs # esbuild 打包 client(lazy-CJS factory) 实现注记(对齐 dsh 0.1.6-alpha 一代) - 挂载点:conversation.input.left(session scope 的 list slot),框架按 scope 通过 standard provide channel 注入 useInput / useConversation / inputActions。 - 历史来源:useConversation 选出的 chat 视图快照(ConversationViewSnapshotMap 的 'chat' 槽),取用户消息节点。视图快照本身按会话隔离。 - 草稿读写:useInput 读 draft,inputActions.setDraft 写回——不再操作 DOM 受控组件。 - 键盘:新版 ComposerKeyboard 是包内私有面(契约明确不跨插件边界),插件没有官方键盘仲裁,因此在 document 捕获阶段接管方向键,用 data-lexical-editor 标记确认焦点在 composer(新版 composer 是 Lexical 编辑器,不再是 textarea)。 卸载 dsh plugin --profile web remove dsh-session-input-history