DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Chat History — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-chat-history

Chat History

Chat history TOC:作为对话视图选项卡的用户消息目录,支持点击跳转

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-chat-history@0.1.2
README兼容性版本

兼容性与来源证明

Chat History 以 dsh-chat-history 发布,当前版本为 0.1.2。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/9/12

版本

0.1.2stable
2026/9/12

相关插件

正在加载相关插件…

最新版
0.1.2
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 2
周下载
0
最近提交
2026/9/12
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 memory-context 分类下经过校验的插件。

Memsearch Dsh@zilliz/memsearch-dsh适用于 DeepSeek Harness 的 MemSearch 插件:在多个代理之间共享 Markdown 记忆,支持捕获、步骤前上下文注入、记忆召回技能和技能候选审核面板。Reme@agentscope-ai/reme面向 TypeScript 代理的 ReMe 客户端和记忆集成Stratagate Dshstratagate-dsh最近的对话依然鲜活。较早的对话会逐渐淡化为摘要,而不是被遗忘。StrataGate 为 DeepSeek Harness 提供六层、随时间衰减的记忆,同时将持久的事件和关系沉淀为知识图谱。将你在其他 AI 中的记忆带来Meow Memorymeow-memoryDeepSeek Harness 的跨会话项目记忆:七层 SQLite 记忆、首轮快照注入、每条消息的关键词命中、memory_remember/search/project 工具、带 reflection-fold UI 的自动反思,以及由空闲触发的梦境整合

README

dsh-chat-history

A "History" tab in the DeepSeek Harness session header: turns the user messages of the current session into a clickable directory. Click any entry to jump back to the Chat view and scroll to that message.

  • Auto-generated: only real user questions (user messages) are listed — Tool / Thinking / Command / injected-context noise is filtered out, so even long agent sessions stay navigable.
  • Auto-paging: while the tab is active it keeps loading older history (50 messages per page) until the whole session log is in the client window — the directory is complete without manually scrolling the chat area.
  • Click-to-jump: switches back to the Chat tab, smooth-scrolls to the target message, and flashes it for 1.5s.
  • Zero conflicts: registered as a conversation.view session tab (side by side with the official "Trajectory" tab) — it does not occupy the details slot, so the official tool-call detail panel keeps working untouched.

Install

# install into a profile (e.g. web)
dsh plugin --profile web add dsh-chat-history

After restarting dsh web, open any session: the header tab bar shows Chat / Trajectory / History. Click History to use the directory.

Usage

  1. Open a session and click the History tab in the header.
  2. The directory lists every user message in order (number + single-line truncated title; hover shows the full text).
  3. The header shows loading state: "Loading earlier history…" while older pages are being fetched, or the total entry count once complete.
  4. Click any entry — it switches back to the Chat tab, scrolls to the message, and flashes it.

Development

  • Pure client plugin: a hand-written window.__ModuleLoader__.load({ id, factory }) bundle — no build step required.
  • No restart needed after editing lib/client.js: the profile's built-in client-hmr stat-polls bundles every 500ms and hot-reloads on change (roughly 1s).
  • A restart is required when: adding a new plugin package, changing the dsh.client declaration in package.json, or toggling enable/disable in cordis.patch.yml.

Compatibility

The plugin adapts to both DSH client data layouts and picks one at runtime:

DSHchat node sourcecross-view switch
>= 0.1.5useChat((s) => s.order) / useChat((s) => s.nodes)openView("chat")
<= 0.1.0-rc.xuseSession((s) => s.chat.order) / s.chat.nodesclick the Chat tab button

The variant is selected by whether the useChat prop is injected (DSH 0.1.5 removed dsh-client-runtime and moved chat nodes out of the session snapshot into that hook). Sessions, paging state (hasMore / loadingOlder), the data-chat-anchor-key DOM anchors and the node kind === "user" shape are unchanged across both, so the directory logic itself is shared.

Requires a DSH build whose conversation.view slot is declared by dsh-client-ui-conversation (the official "Trajectory" tab is the reference implementation).

How it works

  • Data source: the ordered chat node keys + keyed node store, filtered to kind === "user" (see Compatibility for which hook supplies them).
  • DOM targeting: ui-conversation already stamps every message node with data-chat-anchor-key — lookup by key directly.
  • Paging: session.loadOlder() pulls 50 messages per page, driven by hasMore / loadingOlder; a 200-page budget backstops a host that keeps advertising more history.
  • Jump: since only the active view renders, first switch back to the Chat view (official openView on 0.1.5+, tab click before that), then poll for the target DOM and scrollIntoView + flash.

License

MIT