packages/dsh-task-board
zhu1090093659/dsh-web侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
为 DSH Web GUI 增加对话命名、文件拖拽引用、编辑重发、消息时间线和悬浮设置面板。
English | 简体中文
The missing conversation power-up for DeepSeek Harness ✨
New-conversation naming, file drag references, edit-and-resend for the last prompt, a message timeline, and a draggable floating ball with chat-width control for the DSH Web GUI.
✨ Features · 📥 Install · 🚀 Quick Start · 🛠️ Development · ❓ FAQ
I use DeepSeek Harness every day. New sessions need useful names; finding a message in a long thread means scrolling; referencing a file means copying its path; correcting the last prompt should be quick.
So I built dsh-enhance: it leaves DSH’s native structure alone and just makes the daily actions smoother.
| Feature | What you get | |
|---|---|---|
| ✏️ | New conversation naming | Name it from the workspace + before creating it |
| 📎 | File drag reference | Drag a file or folder into the composer as an @path |
| ✍️ | Edit & resend | Stop a turn, edit the sent prompt inline, and send it again |
| 📍 | Message timeline | Scan, preview, and jump through long threads |
| 🫧 | Floating ball & width | Everyday tools one click away; 38–90rem live width |
The GIFs below are recordings from DSH. The UI may look different with another theme or window size.
Name it before you create it. Clicking + on a workspace title row opens a naming dialog instead of creating another “New Session”.
Drop a file, get a reference. Open the Files tab in the right sidebar and drag a file or folder row into the composer:
@relative/path chip.@"..."./ (@path/) so the model can browse the directory.
Stop, tweak, send again. When the conversation is idle, a pencil appears beside Copy in your last sent prompt’s action row. Clicking it expands the prompt into a full-width inline editor with Cancel / Send:
DSH's log is append-only and has no public "rewrite this message" call, so the edit is a fork before the turn + resend, not an in-place mutation. The new conversation gets a new Session ID.
Never lose your place in a long thread. A thin fixed timeline sits on the right:
> button collapses the rail; turn it off/on in the quick panel.
Everyday tools, one click away. Drag the floating ball anywhere; click it to open the quick panel:
| Tool | What it does |
|---|---|
| Chat width | Live 38–90rem, default 48rem, one-click reset |
| Message timeline | Toggle the right timeline rail |
| Native turn navigation | Hide the horizontal turn rail DSH draws on the right (on by default) |
| Name new conversations | Toggle the workspace + naming dialog |
| Floating ball position | Reset to the default corner |
Width syncs both ways with DSH’s native drag handle: dragging the handle updates the panel value; adjusting the panel writes DSH’s width preference (dsh.conversation.contentWidth).
0.2.1-rc.2 or a compatible 0.2.x Web composition.@deepseek-ai/dsh-client-ui-workspace).dsh web.# Clone this repository (or download and extract its ZIP), then:
cd dsh-enhance
pnpm install
pnpm build
dsh plugin --profile desktop add .
For the Web profile, use dsh plugin --profile web add . instead. Reload the Web page or fully restart the desktop app after installing.
The repository includes prebuilt lib/ files. Install it directly in the profile you use:
dsh plugin --profile web add github:IndieXiaoLong/DSH-Enhance
dsh plugin --profile desktop add github:IndieXiaoLong/DSH-Enhance
For Discover, add this index URL under Plugins → Discover → Index sources. The npm package has not been published yet.
When developing from a fresh checkout, run pnpm build before installing the local directory. See publishing notes.
| I want to… | How |
|---|---|
| Name a new conversation | Workspace title row + → type a name → create |
| Reference a file | Drag a file / folder from the Files tab into the composer |
| Edit the last prompt | Stop the turn, click the pencil beside Copy on the last user bubble |
| Jump to a message | Click a node on the right timeline |
| Adjust width / toggles | Click the floating ball → quick panel |
| Item | Status |
|---|---|
| DeepSeek Harness | 0.2.1-rc.2 (compatible with 0.2.x) |
| Web GUI | ✅ |
| Desktop | ✅ |
| Windows | ✅ tested |
| macOS / Linux | Expected to work, not tested |
The plugin uses only public DSH slots, DOM markers, public services, and CSS tokens; it does not read private controller state. If a DSH upgrade changes those slots, markers, or services, the plugin may need an update.
pnpm install
pnpm build
pnpm typecheck
pnpm verify
lib/index.js: host half, a no-op Cordis plugin that mounts the package on the Loader.lib/client.js: browser half, bundled with esbuild and loaded by the DSH Module Loader.The five GIFs under assets/ are compressed from the recordings in test/.
Install the local working tree into a profile:
dsh plugin --profile desktop add .
No. The plugin only writes the existing path as an @relative/path reference into the draft. The file stays where it is; the model reads it through its file tools when you send.
Confirm the plugin is installed in the target profile, then reload the page; on desktop, fully quit and restart the app. Also confirm DSH is 0.2.1-rc.2 or a compatible 0.2.x.
The timeline relies on the Chat view’s data-chat-flow-* markers; the Trajectory view does not have them. If a message sits inside a collapsed “process” group, you may need to expand that group after jumping.
Yes. DSH keeps an append-only log, so the plugin forks before the prompt’s turn and sends the edited text in the new branch. The branch keeps the earlier history and title. The old conversation is archived if possible; if archiving fails, it remains in the list. Attachments from the original prompt are not resent.
Only in the current browser: dsh-enhance.state.v1 stores width, timeline/naming switches, and the floating ball position; dsh.conversation.contentWidth is shared with DSH. Nothing is uploaded to a server.
No. There is no telemetry or external reporting; conversations, file paths, and settings stay local.
Issues and pull requests are welcome.
git checkout -b feat/amazing-feature)git commit -m 'feat: add amazing feature')git push origin feat/amazing-feature)Run pnpm build and pnpm typecheck before submitting; include a screenshot or GIF for UI changes.
MIT License © 2026 dsh-enhance contributors
See LICENSE.
Built with care for DSH users ❤️
If this plugin helps you, please give it a ⭐ Star!