dsh-loopx-plugin
loopx-project/loopxLoopX——面向长周期 Agent 的提供商中立、本地优先状态内核与控制平面:在 DeepSeek Harness 执行层之上持久化 Goal、Todo、门禁、证据、配额、恢复与交接状态;插件负责引导安装 CLI 与技能、准入有界的同会话续跑,并为精确绑定的工作循环提供本地 GoalBar。
按工作区(项目)隔离的项目看板:9 个 kanban_* 模型工具供 Agent 规划时写卡,另带浏览器看板 UI,支持磁盘持久化、撤销、模板与归档。
A kanban board inside DeepSeek Harness, integrated with the conversation: the agent writes planning cards via kanban_* tools while you talk, boards are isolated per workspace (project), and data is persisted to disk.
This is an official bundle-format plugin (dsh.bundle declaration + cordis.patch.yml patch layer), installed through the official dsh plugin flow.
kanban_get, kanban_add_card, kanban_update_card, kanban_delete_card, kanban_move_card, kanban_duplicate_card, kanban_add_column, kanban_rename_column, kanban_delete_column) — the agent writes cards directly during planning and feature breakdownkanban-board-<workspaceId>.json — survives page refresh and process restarts#rrggbb background via the color picker in the edit formtoIndex parameter) reorder cards within a column; one-click duplicate copies label/priority/colordsh CLI installed (npx @deepseek-ai/dsh or pnpm dsh from source)web is the default browser profile)dsh plugin --profile web add github:StruggleYang/dsh-project-kanban
pnpm ≥ 10 refuses to run a git dependency's prepare script on the first try. Copy the package key pnpm prints into the profile's pnpm-workspace.yaml (at $DSH_HOME/profiles/web/pnpm-workspace.yaml):
allowBuilds:
dsh-project-kanban: true
Then re-run add.
⚠️ Security note:
allowBuildsgrants install-time code execution on your machine. Only allow sources you trust, and consider pinning a commit:dsh plugin --profile web add github:StruggleYang/dsh-project-kanban#<commit-sha>
git clone https://github.com/StruggleYang/dsh-project-kanban.git
dsh plugin --profile web add ./dsh-project-kanban
Download the tarball from the GitHub Releases page, or build it locally:
pnpm pack
dsh plugin --profile web add ./dsh-project-kanban-0.3.0.tgz
Published to npm:
dsh plugin --profile web add dsh-project-kanban
dsh --profile web --dump-config # should end with a "# == dsh-project-kanban" layer
Then restart dsh web (bundle rows load at boot). The 8 kanban_* tools appear in the agent's toolset, and the "看板" tab appears in the session header.
dsh plugin --profile web remove dsh-project-kanban
Removes both the dependency and the layer; board data files are kept on disk.
package.json declares dsh.bundle.patch, and dsh appends it to the profile's dsh.profile.bundles after @deepseek-ai/dsh-basecordis.patch.yml inserts the dsh-project-kanban row; the Loader resolves it by package name from the profile's node_modulesindex.js is a standard Cordis function plugin (export const name / export const inject / export function apply) registering tools via ctx.tools.registerlib/client.js) is a hand-written __ModuleLoader__ closure bundle (official client-modules format): require('react') resolves via the platform seed word, and the UI talks to the host through a same-origin fetch to the /api/kanban webServer routeexec.agent.session.header.cwd → ctx.workspaceRegistry.resolveByPath@deepseek-ai/dsh-base → this bundle → the profile's cordis.patch.yml → user --patch overlays; later layers override earlier rows by id| Tool | Purpose |
|---|---|
kanban_get | Read the current board (optional includeArchived for the trash) |
kanban_add_card | Add a card (title, note, optional label / priority / color / dueDate) |
kanban_update_card | Update title / note / label / priority / color / dueDate |
kanban_delete_card | Soft-delete into the trash |
kanban_restore_card | Restore a card from the trash |
kanban_purge_card | Permanently delete a card |
kanban_bulk_delete_cards | Bulk soft-delete multiple cards |
kanban_move_card | Move across columns, or reorder within a column via toIndex |
kanban_duplicate_card | Duplicate a card (carries all fields) |
kanban_move_card_to_workspace | Move a card to another workspace's board |
kanban_undo | Undo the last write operation |
kanban_add_column / kanban_rename_column / kanban_delete_column | Column management |
Keyless end-to-end verification (no DEEPSEEK_API_KEY needed): creates a temporary profile, installs the local package, boots the web composition, and asserts the tool schemas plus the full HTTP workflow.
bash scripts/verify.sh
dsh-project-kanban/
├── package.json # bundle manifest (dsh.bundle) + client declaration (dsh.client)
├── cordis.patch.yml # patch layer: inserts the kanban plugin row
├── index.js # host plugin: 9 tools + /api/kanban data layer
├── lib/client.js # browser bundle (board UI, official client-modules format)
├── src/host.js # dynamic-plugin host half (historical reference)
├── src/client.js # dynamic-plugin browser half (historical reference)
├── README.md # this file
├── README.zh.md # 中文说明
├── TWEET.md # social post drafts (中文 / English)
└── LICENSE
MIT © 2026 StruggleYang