DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Routine Taskboard — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

routine-taskboard

Routine Taskboard

DSH 的日常任务板:用于登记长期运行的基础设施计划任务卡片(Windows 任务 / cron / AI 会话),提供双源健康指示灯和产物新鲜度信息,并配备轻量级、可认领的工单板。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:Amoss-1/routine-taskboard#8dccd3e12674cb2154e7ea8cdc6a4ca7f6664666
README兼容性版本

兼容性与来源证明

Routine Taskboard 以 routine-taskboard 发布,当前版本为 0.1.10。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/20

版本

0.1.10stable
2026/8/28
0.1.9stable
2026/8/28
0.1.8stable
2026/8/28
查看其余 8 个版本收起版本
0.1.7stable
2026/8/28
0.1.6stable
2026/8/28
0.1.5stable
2026/8/28
0.1.4stable
2026/8/28
0.1.3stable
2026/8/28
0.1.2stable
2026/8/28
0.1.1stable
2026/8/27
0.1.0stable
2026/8/27

相关插件

正在加载相关插件…

最新版
0.1.10
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
55
最近提交
2026/8/28
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 productivity-workflow 分类下经过校验的插件。

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Client Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。Web All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / git-graph / pet / remote-web-ui / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。Agent Teams@nanmicoder/dsh-agent-teamsAgentTeams for DeepSeek Harness:通过自然语言驱动多智能体团队协作(队长、成员、具有依赖关系的任务、消息传递),并在 Web GUI 中提供树状监视器

README

routine-taskboard

A sidebar-mounted routine board for the DSH Web GUI: every long-lived scheduled job (Windows 计划任务 / KAi cron) renders as one row — schedule, carrier, dependency scripts (numbered steps, clickable, individually runnable), typed input/output artifacts, and a health lamp.

Fully self-contained since v0.1.9. The board is driven by the plugin's own fixture registry — it does not depend on the official dsh-taskboard plugin or its /dsh-taskboard/state API. All machine-specific mappings live in a user config file outside the package, so upgrades never clobber them.

Install

dsh plugin --profile web add routine-taskboard

Restart dsh web. A 例行看板 entry appears in the sidebar; clicking it toggles the board inside the conversation column (mutually exclusive with the other dsh board panels).

What you get

  • Board view — 计划名称 / 时间 / 载体 / 依赖脚本 / 输入文件 / 输出文件, fed by the plugin's own GET /routine-taskboard/fixtures registry.
  • Row actions — ▶ 启动 (schtasks /Run), ⏸ 停用 (/DISABLE), ↻ 重新上线 (/ENABLE) for Windows-scheduled carriers. Buttons adapt to state: a disabled task only shows 重新上线; an active one shows 启动+停用.
  • Script steps — multi-script jobs render as numbered steps (1. 2. 3.); each step is clickable (reveal in Explorer) and has its own ▶ to run just that script (interpreter picked by extension: py/ps1/bat/vbs/mjs/js).
  • Health lamps & badges — three states: 运行中 (green) / 已停用 (amber) / 异常 (red), with a text badge next to the plan name.

Fixture registry (the board's own data)

The board renders from $DSH_HOME/storages/routine-taskboard.json — an array of placards (id / name / time / carrier / taskName / scripts / input / output / healthKey / status). Ships empty; register cards via the host API or seed the file directly. It is fully independent of any other plugin.

User configuration (optional, recommended)

Machine-specific paths and curated mappings are not shipped. Create:

$DSH_HOME/storages/routine-taskboard.config.json
{
  "pipelineFile": "D:/data/pipeline_status.json",
  "scriptBases": [["^ops-automation[\\\\/", "D:\\work\\ops-automation\\"], ["^douyin_update\\.py$", "D:\\work\\douyin\\douyin_update.py"]],
  "ioMap": { "douyin-update": { "input": "D:\\data\\门店记录表.xlsx", "output": "D:\\data\\维表.xlsx" } },
  "ioByTitle": [{ "match": "临时区清理", "input": "D:\\work\\temp", "output": "" }],
  "scriptMap": { "daily-report": [{ "label": "run.bat", "path": "D:\\work\\daily-report\\run.bat" }] },
  "scriptByTitle": [{ "match": "会话守护", "scripts": [{ "label": "guard.ps1", "path": "D:\\x\\guard.ps1" }] }],
  "pathHints": { "依赖文档": "D:\\data\\依赖文档\\" }
}
  • pipelineFile — business health ledger ({tasks:{key:{status,note}}}); RTB_PIPELINE_FILE env is the fallback.
  • scriptBases — [regexSource, absoluteBase] pairs turning relative script tokens from card descriptions into absolute paths.
  • ioMap / ioByTitle — curated input/output overrides keyed by health key or title substring (they beat regex extraction).
  • scriptMap / scriptByTitle — curated script-step lists for cards whose descriptions undersell the real pipeline.
  • pathHints — folder bases used to complete relative artifact names.

Absent file = fully generic behavior (regex extraction only). The file is read at plugin start and served to the client via GET /routine-taskboard/config.

Routes (host)

RouteMethodPurpose
/routine-taskboard/fixturesGETthe board's own fixture registry
/routine-taskboard/pipelineGETpipeline ledger contents
/routine-taskboard/configGETuser config for the client
/routine-taskboard/openPOSTreveal a path in Explorer
/routine-taskboard/runPOSTschtasks /Run
/routine-taskboard/statePOST`schtasks /Change /DISABLE
/routine-taskboard/run-scriptPOSTrun one script detached

Development & contributing

Anyone can pick this up. Source of truth:

git clone https://github.com/Amoss-1/routine-taskboard.git
cd routine-taskboard

Layout

lib/index.js   # host: routes + fixture registry + config loading (node)
lib/client.js  # web client: board UI, sidebar entry, actions (browser)
cordis.patch.yml  # bundle patch: registers the plugin row in a profile
README.md, LICENSE, package.json

How the host mounts

lib/index.js exports name, inject, and apply(ctx). Route registration lives under the workspace/agent/web chain — mirror the official pattern:

ctx.inject(['workspaceRegistry'], (wsCtx) => {
  wsCtx.inject(['agents'], (agentCtx) => {
    agentCtx.inject(['webServer'], (webCtx) => {
      webCtx.webServer.register({ kind: 'prefix', path: '/routine-taskboard', handler })
    })
  })
})

webServer is not available at the top level of a normal plugin's ctx.

Local iteration

  1. Edit lib/*.js; syntax-check: node --check lib/index.js && node --check lib/client.js.
  2. Host changes: copy into the profile and restart dsh web.
  3. Client changes: the browser hard-refresh (Ctrl+Shift+R) is enough.
  4. The start script only force-restarts when a profile package.json/lock file changed; after manual host edits, touch cordis.patch.yml (mtime) or use a forced restart.

Release

  1. Bump version in package.json.
  2. npm publish (verify the tarball contains lib/index.js + lib/client.js — a broken package missing lib/ was once published; check npm pack --dry-run).
  3. Push the same files to the GitHub repo (Amoss-1/routine-taskboard).
  4. Users update through the plugin market; upgrades never touch $DSH_HOME/storages/routine-taskboard.config.json or the fixture registry.

Contributing

Contributions are welcome — bug reports, UI polish, docs, and features. See CONTRIBUTING.md for the full guide (setup, issue/PR flow, conventions, release checklist). The repo is https://github.com/Amoss-1/routine-taskboard; MIT licensed.

License

MIT © Amoss-1