deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
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.CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。