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, который добавляет маршруты host API и веб-клиент поверх существующей оболочки DeepSeek Harness — он чисто дополняющий и не заменяет ни один официальный плагин DSH.
Нужно ли, чтобы DeepSeek Harness уже был настроен?Да — это плагин для DeepSeek Harness (DSH); он работает только внутри запущенного DSH web-инстанса и переиспользует его существующую систему чатов и сессий, а не имеет свою.
Он полностью стабилен на macOS?Нет — Windows единственная полностью протестированная платформа; поддержка macOS экспериментальная: основной код работы с путями адаптирован под кроссплатформенность, но сквозной тест на реальном железе macOS не завершён, а панель терминала — обычный хост PowerShell без полноценного PTY.
Куда деваются мои данные о проектах и раскладке?Всё (проекты, привязки, раскладки) остаётся в localStorage браузера, без телеметрии; единственный исходящий запрос — необязательная ежедневная проверка GitHub Releases только на чтение, её можно отключить в настройках.
Что такое «комната управления»?Это закреплённый неудаляемый первый проект, привязанный к одному управляющему диалогу: он показывает живую сетку карточек в три колонки, отражающую состояние каждого другого проекта (работает / ждёт вас / готово), рантайм и число субагентов — снепшоты хост-сессий читаются через событийное зеркало, без опроса и без затрат токенов.
Что за функция «укажи и отметь»?Клик по кнопке аннотирования превращает курсор в облачко с текстом; клик в любом месте окна упаковывает номер окна, координаты, кликнутый элемент и ваш набранный запрос в поле ввода чата (без отправки), чтобы любой агент мог отработать его без словесного описания места.
Какие панели можно разместить в рабочей области с доками, кроме терминала?Встроенные панели: файловый проводник, терминал, браузер, просмотрщик анимационных сайтов и кастомное окно, где вы описываете требование, а агент собирает результат — он автоматически монтируется в это окно и блокирует его.
Size
4.2 MB
Stars
767
Age
2mo
Commits · 90 Days