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

dsh-markboard

Markboard

在 DeepSeek Harness 中为对话轮次添加书签:为关注的轮次命名,跳回这些轮次,并将其回答直接引用到撰写框中。

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

npx -y @deepseek-ai/dsh plugin --profile web add dsh-markboard@0.1.1
README兼容性版本

兼容性与来源证明

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

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

版本

0.1.1stable
2026/10/29
0.1.0stable
2026/10/20

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Hindsight Coding Agents@vectorize-io/hindsight-coding-agents面向编程代理的仅反思式 Hindsight 长期记忆(可插拔支持多种运行框架:opencode、……),自动在后台导入(无需设置 CLI)。Contextdsh-context用于上下文洞察和管理的 DeepSeek Harness 插件,提供上下文仪表板和上下文命令,帮助了解上下文的构成及其演变过程。Memory Plugin@openviking/dsh-memory-plugin适用于 DeepSeek Harness 的 OpenViking 记忆与上下文套件Mnemondsh-mnemon面向 DeepSeek Harness 的可组合、基于视图的上下文。开箱即用的可插拔来源与策略、分层记忆和自我演进技能。

README

dsh-markboard · conversation marks for DSH

中文 | English

A conversation markboard for the DeepSeek Harness (DSH) Web UI: turn any conversation turn into a named task card, jump straight back to it later, or quote its answer into the composer and keep working. Marks live in your browser.

Stop scrolling through history to find "that conclusion from earlier". Mark it once, then pick from a handful of rows.

Screenshots

Mark action on each turn + header countThe markboard in the right Sidebar
markedpanel
Fill the composer from a cardJump back to the turn
filledjump

Features

  • Mark a whole turn — a Mark action under every completed answer records the turn (your prompt plus this turn's answer) and names it from the prompt's first sentence. Click again to remove it.
  • Header count — the Session header shows how many turns are marked; click it to open the board.
  • Right-Sidebar page — its own tab beside Files and Browser, with "this session" / "all sessions" scopes and search over labels, content, and turn numbers.
  • Rename and delete — click a card's title to rename it; deletion comes with an undo.
  • Jump back — opens the owning session and scrolls the turn into view. When that turn is outside the loaded window, history is paged in first through the kernel's exact loadThrough(seq), and the landing row flashes once.
  • Fill the composer — writes the turn's answer into the current draft as a plain-text quote (> 标记 · session · turn N) that you can keep editing or delete; the previous draft is restorable. A card from another session fills the composer you are already typing in, without switching sessions, and appends after any existing draft instead of replacing it.
  • Cross-tab sync — another tab of the same origin writing marks updates this one.
  • Bilingual copy that follows the interface language.

Install

dsh plugin --profile web add dsh-markboard

Then restart dsh web. The plugin adds itself to the profile's bundle layer; nothing else to configure.

From a local checkout:

dsh plugin --profile web add file:/absolute/path/to/dsh-markboard

Usage

  1. Find the turn you want to keep and click Mark in the action row under the answer.
  2. The header shows a count; click it (or press Ctrl+Alt+M) to open the markboard.
  3. Each card offers Jump (back to the turn), Fill composer (quote the answer into the draft), and Delete (undoable).
  4. Click a card's title to rename it — the label is your task name.

Shortcut

Ctrl+Alt+M (⌘+Alt+M on macOS) toggles the board. The binding is editable under Settings → Shortcuts.

How it works

Two halves, like any DSH surface plugin:

  • Host half (lib/index.js): an empty apply. It only makes the package an ordinary Loader entry, which is what lets client-modules discover the dsh.client declaration in package.json and compose the browser half into window.__DSH_BOOT__.
  • Browser half (src/client, built to lib/client.js): registers three existing extension seats plus a ctx.markboard service.
PlaceSeatWhat it adds
Turn action rowconversation.chat.turnTailthe Mark / Marked button
Session headerconversation.session.header.utilitiesthe mark count entry
Right Sidebarctx.sidebarRightTabs + sidebar.right.pane.tabthe markboard page
Noticesshell.overlaymark / fill / delete toasts with undo

The data model is pure functions (src/shared/marks.ts); sessionId + turn is the identity, so marking the same turn twice edits that card instead of adding a second one. Marks persist in localStorage['dsh-markboard.v1']. A failed write (quota, private mode) only reports — it never throws, and the in-memory list keeps working.

Why not Host storage: a personal board does not need cross-device sync, and the cost of localStorage is only that a different browser or origin starts empty — which the panel says out loud.

Why the fill is plain text: insertText / setDraft are the kernel's public action face. A rich quote chip would need kernel support for reference fragments — a different order of change that would also drift across kernel upgrades.

Development

npm install     # esbuild, build-time only
npm run build   # src/client → lib/client.js (wrapped as window.__ModuleLoader__.load)
npm test        # data model and persistence rules (Node's own test runner)

End-to-end (opens a real browser window so you can watch the flow):

# 1. boot a disposable DSH home so your own sessions stay untouched
DSH_HOME=/path/to/disposable/home dsh --profile e2e --port 3099 --no-open

# 2. in another shell, hand the printed token URL to the script
node tests/e2e-headed.mjs --url "http://127.0.0.1:3099/?token=…" --slow 700

The script walks through: open a session → mark → open the panel → rename → fill the composer → jump back → reload → search → delete and undo, writing one screenshot per stage to docs/e2e/. Add --headless for CI.

Known limitations

  • Turns only. No per-message or text-selection marks; a per-sentence grain makes the card list unreadable fast.
  • Local to this browser. No cross-browser or cross-origin sharing, and no export.
  • Jumping depends on the turn's row existing: a turn outside the loaded window triggers one exact history page-in first; if that fails the UI says so instead of failing silently.
  • The fill is a plain-text quote and does not carry the original message's attachments or images.
  • The page is bound to a Session: it follows session switches, and "all sessions" is a view inside the same page.
  • Ctrl+Alt+M only. The shell's shortcut registry rejects a Web default that lacks the platform primary on Linux, so the Linux Web profile stays unbound rather than registering a rejected key.

License

MIT