dsh-worktable README

The project's README from github.com/Aisland-SJL/dsh-worktable. As one markdown file: README.md.

dsh-worktable 🖥️

English · 简体中文

An agent-project workbench for DeepSeek Harness — a sidebar app drawer that turns every project into dockable windows, plus a built-in control room that watches them all in real time.

📸 Screenshots

Control room 🖥️ Control room — the built-in default project: a live card grid watching every project (working / needs you / done) with glassmorphism cards on a blueprint grid
Worktable sidebar 🧩 Worktable sidebar — the app drawer: projects, shortcuts and the pinned control-room entry
Split workspace 🪟 Our projects — every project opens as a dockable split workspace (resident apps like Travel Atlas included)

✨ Feature tour

🧩 Sidebar app drawer

🪟 Dockable split workspace

🖥️ Control room (built-in default project)


At a glance

🧩 Plugin type Cordis plugin — host routes + web client, pure additive (no official plugin replaced)
🪟 Workspace engine Self-built split engine rendered into the host shell overlay seat
💬 Chat pane Reuses the host conversation — the plugin only selects sessions (sessions.open)
📡 Status data Mirror of the host session runtime snapshots (subscription-driven)
💾 State localStorage only (dsh.worktable.*); no workspace files touched
🎨 UI TypeScript + React (host externals) + vanilla CSS, dark-first with light theme

Quick start

  1. Install (pick one):

    A · one-liner (recommended) — straight from the GitHub Release tarball, no Git needed:

    dsh plugin --profile web add "https://github.com/Aisland-SJL/dsh-worktable/releases/latest/download/dsh-worktable.tgz"
    

    B · local clone (for hacking on the source) — link: accepts a local absolute path only (no spaces in the path):

    git clone https://github.com/Aisland-SJL/dsh-worktable.git
    dsh plugin --profile web add "link:<absolute path of the cloned dsh-worktable directory>/01_content"
    # e.g. cloned into D:\tools → dsh plugin --profile web add "link:D:/tools/dsh-worktable/01_content"
    

    Either way the add command registers dsh-worktable in the profile bundle list (writes to ~/.dsh, may ask for authorization). If the dsh command is missing, use npx @deepseek-ai/dsh instead.

  2. Restart the DSH web process, refresh the GUI

  3. Open the control room: click the pinned 🖥️ control-room card → bind one conversation (join existing or create new) → you get the live card grid

  4. Create projects: sidebar + → pick a layout preset, set a project folder


Architecture

One package ships the host Cordis plugin and the web client:


Development & testing

cd 01_content
npm install
npm run build     # lib/index.js + lib/client.js
node --check lib/index.js

Troubleshooting

Q: After a DeepSeek Harness update, the worktable fails to open / the service fails to start?

Don't panic: your data is safe — projects, bindings and layouts live in the browser (localStorage), and project files stay in your own project folders; upgrading or repairing never touches them. Pick the case that matches:

Case A: Harness works, only the worktable needs updating

Case B: Harness itself is down (service fails to start / "Failed to load plugins")

Help me fix DeepSeek Harness custom-plugin loading (the error is usually "Failed to load plugins" or the service failing to start):

  1. Run npx @deepseek-ai/dsh web to upgrade to the latest and start; if it works, done.
  2. If it still fails: open ~/.dsh/profiles/web/package.json, find every dependency starting with link:, and compute their common parent directory (e.g. if all plugins live under D:\projects, the parent is D:\projects).
  3. Create a node_modules directory junction in that parent pointing to ~/.dsh/profiles/node_modules: mklink /J "\node_modules" "%USERPROFILE%.dsh\profiles\node_modules"; if that parent already has a node_modules, retry one level up.
  4. Restart dsh web and open http://127.0.0.1:3080 to confirm the worktable is back.

This issue has been reported to the DeepSeek Harness team and is being fixed; upgrading after the fix ships resolves it permanently.

Point-to-annotate 📌

Every window title bar has a small annotate button (chat-bubble with a plus) next to the collapse toggle. Click it, your cursor becomes a blue speech bubble — click anywhere in a window to drop an input box, type what you want changed ("make this text bigger"), and hit ✓. The message is packaged (window number + coordinates + the clicked element + your request), filled into the chat input without sending — press Enter when ready, and the agent works through the annotation protocol (verify with a screenshot or the window, or ask one targeted question instead of guessing).

Known limits


Privacy

No telemetry, no network calls beyond the host APIs and the plugin routes. All user state stays in localStorage. Optional update check: a read-only GET to the GitHub Releases API (automatic at most once a day, plus a manual "Check now" button); nothing is uploaded, and it can be disabled in Settings.


License

MIT

dsh-worktable (Aisland-SJL/dsh-worktable)

Searching Database…

这是什么?dsh-worktable 是 DeepSeek Harness(DSH)的一个插件,提供侧边栏应用抽屉,每个自托管项目都可以作为可停靠、可调整大小的窗口打开;还内置一个控制室,在一个仪表板上显示每个项目的实时状态(工作中 / 需要你 / 已完成)。
这是独立应用还是其他东西的插件?它是一个 Cordis 插件,在 DeepSeek Harness 现有外壳之上添加宿主 API 路由和 Web 客户端——纯粹是增量式的,不会替代任何官方 DSH 插件。
需要事先装好 DeepSeek Harness 吗?需要——这是 DeepSeek Harness(DSH)的插件;它只在运行中的 DSH web 实例内运行,并复用其现有的聊天/会话系统,而不是自带一套。
它在 macOS 上完全稳定吗?不稳定——Windows 是唯一经过完整测试的平台;macOS 支持是实验性的,核心文件路径代码已做跨平台适配,但尚未在真实 macOS 硬件上完成端到端测试,而且终端面板只是普通的 PowerShell 宿主,没有原生 PTY 对等能力。
我的项目数据和布局信息存到哪里?所有内容(项目、绑定、布局)都保存在浏览器的 localStorage 里,没有任何遥测;唯一的外发请求是一个可选的、每天一次的 GitHub Releases 只读检查,可以在设置中关闭。
控制室到底是什么?它是一个固定且不可删除的首个项目,绑定到一个管理会话,以实时的三列卡片网格镜像显示所有其他项目的状态(工作中 / 需要你 / 已完成)、运行时和子代理数量——它通过事件驱动的镜像读取宿主会话快照,零轮询、零 token 开销。
指点标注功能是什么?点击标注按钮后光标会变成气泡;在窗口内任意位置点击时,窗口编号、坐标、被点击元素和你输入的请求会被打包进聊天输入框(不发送),这样任何代理都能据此行动,无需口头描述位置。
除终端外,可停靠工作区里还能放哪些面板?内置面板包括文件资源管理器、终端、浏览器、动画网站查看器,以及一个自定义窗口——你在其中描述需求,代理构建出结果,结果会自动挂载到该窗口并将其锁定。
Size
4.2 MB
Stars
754
Age
2mo
Commits · 90 Days