DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
M

dsh-msgrail

Msgrail

MsgRail — 面向 DeepSeek Harness 0.2.x 的紧凑型完整历史消息轨道:当前对话中你发送的每条消息对应一个细刻度,停靠在编辑器下方的环境条中(无论是否已加载);将鼠标悬停在刻度上可查看附加预览,点击可跳转到该消息所在区域。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:chou109/dsh-msgrail#82e9c365a59a3e05f54722cbba3de627b884b1e2
README兼容性版本

兼容性与来源证明

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

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/24

版本

2.0.0stable
2026/10/24

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Session Titles Bundle@deepseek-ai/dsh-experimental-session-titles-bundle新的用户提示到达时刷新会话标题。Personalized Recommendations@deepseek-ai/dsh-personalized-recommendations回答下方以卡片形式提供个性化页面和内置插件推荐Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义

README

MsgRail(dsh-msgrail)— v2.0.0 for DeepSeek Harness 0.2.x

MsgRail is a compact full-history message rail for DeepSeek Harness: one thin tick per message you sent in the current conversation, docked in the ambient strip below the composer. Hover a tick to preview the message, click to jump into that part of the transcript. The rail indexes the whole history — messages the chat has not loaded yet included.

MsgRail(消息轨道)——DeepSeek Harness 的全量消息轨道插件:在当前会话的输入框下方,为你发送的每条消息显示一根细刻度;悬停预览、点击跳转;插件自行分页加载完整历史,聊天窗口还没加载的旧消息也会出现在索引里。

中文文档见 README.zh.md。


Status: 2.0.0 (DSH 0.2.x)

Plugindsh-msgrail 2.0.0
HarnessDeepSeek Harness 0.2.1-rc.2 (Desktop or dsh web)
LayerClient only (the Host half exists only to create a Loader row)
LicenseMIT

What changed from 1.x

1.x patched @deepseek-ai/dsh-client-ui-layout to add a shell.history grid column. DSH 0.2 builds every client package as a dynamic bundle, so that patch no longer applies. Version 2 registers through the documented slot API instead:

1.x2.0.0
shell.history slot added by a layout patchconversation.composer.dock (additive, session-scoped)
Vertical rail left of the chatHorizontal tick strip below the composer
Current session guessed from sessions.currentsessionId supplied by the session-scoped slot
session.history({beforeSeq}) RPC + snapshot fallbackctx.sessions.binding(id).eventSource + session.loadOlder()
Click used [data-chat-anchor-key]Proportional jump inside [data-conversation-scroll]
Imported @deepseek-ai/dsh-client-ui-primitivesNo primitives import; local SVG/CSS only

DSH 0.2 also ships its own turn rail on the right of the transcript. MsgRail is deliberately different: it indexes user messages across the full history, not turns in the loaded window.


What it does

  • Full-history index. On session switch the rail pages the entire durable log in the background (loadOlder()), bounded so a pathological log cannot stall the UI, then keeps the tail live through the session event subscription.
  • Hover preview. Role, relative time and up to six lines of the message, clamped inside the viewport.
  • Click to jump. Scrolls the transcript toward the message's position in the history. Jumping is approximate: DSH 0.2 removed the stable per-message DOM anchors, so the rail maps the tick's ordinal onto the transcript scroll range.
  • Live and localized. New messages appear as the session grows; UI copy is registered through ctx.locale (zh + en).
  • Theme-native. Uses --dsw-alias-* tokens only.

Install

1. Plugin Manager (Desktop)

The package is a bundle (dsh.bundle.patch → cordis.patch.yml). Point the Plugin Manager's “install from folder” at this directory and enable dsh-msgrail.

2. CLI

dsh plugin --profile <profile> add /absolute/path/to/dsh-msgrail

3. Profile patch (manual)

Install/link the package into the profile's node_modules, then add to cordis.patch.yml:

- insert:
    - id: msgrail
      name: 'dsh-msgrail'

Reload the page after installation. Nothing else is patched.

Verify

  1. Open a conversation with at least one message from you.
  2. A thin strip with one tick per message appears directly below the composer; the count is shown at the right.
  3. Hover a tick → preview card; click a tick → transcript scrolls.
  4. Switch sessions → the strip rebuilds for the new session.
  5. Settings → General → Locale switch (zh/en) updates the preview labels.

Limitations

  • Approximate jumps. Exact per-message scrolling needs a stable anchor that the 0.2 conversation no longer exposes to plugins.
  • Bounded paging. The initial walk stops after 80 loadOlder() pages; a session longer than that keeps the newest ~80 pages indexed.
  • Client-only. No agent tools, no host routes, no configuration.

Uninstall

Remove the msgrail row (Plugin Manager → disable, or delete the insert block) and reload.

Repository layout

lib/index.js    Host half: minimal Loader row (client discovery needs it)
lib/client.js   Browser bundle: rail component, styles, locale, data path
package.json    dsh.bundle.patch + dsh.client declaration
cordis.patch.yml

Development

The browser half is plain ES5-compatible JavaScript using window.__ModuleLoader__.load({ id, factory }). It requires only react and the session/locale/slot services listed in inject. Syntax check with:

node --check lib/client.js

License

MIT.