dsh-plugin
DayuanJiang/next-ai-draw-iodsh 的 draw.io 绘图插件:通过 next-ai-drawio MCP 服务器作图,点回复里的链接在右侧栏打开实时预览,可以手动修改图,AI 的每次修改都是可以恢复的版本。需 Node.js 18+,首次使用由 npx 下载 MCP 服务器。
一个 DeepSeek Harness 插件,通过与用户进行项目需求访谈,生成项目时间线 / 甘特图,并导出为 Word 或 Excel 格式。
A DeepSeek Harness plugin that interviews the user about a project, generates a project timeline / Gantt chart, and exports it as Word or Excel.
The agent owns the loop: it runs a structured interview (via the
project-interview skill), decomposes features into tasks, and uses five tools
to validate, schedule, adjust, persist, and export. The scheduling math is
deterministic. The project (definition + timeline) is persisted to a workspace
project file (data/project_management/project_data.json) so it survives across
sessions, and the plugin reminds the agent about an existing timeline on
session resume.
| Tool | Purpose |
|---|---|
pm_project_define | Validate/normalize the interview result into a canonical ProjectDefinition (features, priorities, dates, milestones, agent budget per duration, constraints); persists it |
pm_timeline_generate | Deterministic scheduler: dependency-aware, workday-aware dating (weekends + the country's public holidays via calendar.country), critical path, deadline + budget feasibility checks; persists definition + timeline |
pm_timeline_update | Patch tasks (rename, dependencies, effort, agents, manual date pins), re-schedule, and persist |
pm_project_load | Load the saved project (definition + timeline) from data/project_management/project_data.json — use when resuming a session |
pm_timeline_export | Write .docx (summary, task schedule, milestones, budget) or .xlsx (Summary, Tasks, colored Gantt sheet) |
project-interview — the conversational interview protocol: features →
priorities → timeline/milestones → agent budget per duration (hours /
cost / agents / custom, with a period) → constraints.Build the plugin (server + browser bundle), then load it with a Cordis overlay patch:
npm install
npm run build # tsc server → dist/, esbuild client → lib/client.js
The prepare script builds both halves automatically, so GitHub installs work
without committing dist//lib/ (they are gitignored). Install the plugin
into the web profile directly from GitHub:
dsh plugin --profile web add github:Luke-Yong/dsh-plugin-project-management
This forwards pnpm add github:Luke-Yong/dsh-plugin-project-management inside
the profile directory. Equivalent to installing the package into a DeepSeek
Harness checkout manually:
npm install github:Luke-Yong/dsh-plugin-project-management
./package.json is exported for tooling that needs the dsh.client manifest.
From a DeepSeek Harness checkout:
pnpm dsh web --patch /absolute/path/to/dsh-plugin-project-management/cordis.yml
The plugin package must be resolvable from the config tree's baseUrl — install
or pnpm link it into the harness checkout (it is a dependency of the cordis.yml
package, per the client-modules resolution rule).
Open http://127.0.0.1:3080 and ask, for example:
Plan a timeline for my mobile app and export it as both Word and Excel.
The plugin ships a browser half with two surfaces:
conversation.view slot — the same mechanism ui-trajectory uses). Note:
the view-tab ring only appears once the session is active (≥ 1 turn).conversation.input.dock)
that renders even for blank sessions and auto-appears when a project exists,
so project management is reachable before the tabs show.Selecting the tab (or reading the dock) shows: project name, description, and last-updated time; timeline span, task count, and feasibility; phases, critical path, milestones, and open conflicts; the agent budget model.
The pane reads the saved project state for the current session from
/plugins/project-management/state (server resolves the session cwd — session
header → workspace registry → process cwd — and reads
data/project_management/project_data.json). No harness patch is required —
both surfaces work with the stock web app.
pm_project_define to lock in and persist the definition.pm_timeline_generate.pm_timeline_update.pm_timeline_export (format: docx | xlsx).<workspace>/data/project_management/project_data.json
in the project-plan schema used by templates/gantt.html (project, tiers,
phases, tasks, milestones, sprints — plus a _dsh block for plugin
round-trip state). Layout follows the Project-Journey Planner example:
data/project_management/project_data.json consumed by templates/gantt.html.pm_project_load to continue..dsh-pm/project.json is
read as a fallback for backward compatibility.presentCall / presentResult.