DeepSeek Harness 插件

recoluan/recowork#recowork-dsh

Star 数 ★ 6 下载量(近 30 天) 667 分类 工作流与自动化 收录于 2026-08-27 npm recowork-dsh

通过两个受限的 DSH 工具和网页工作区卡片,创建并检查 RecoWork local-agent-project 工作区。

安装

# npm 包(预构建)

dsh plugin --profile web add recowork-dsh

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:recoluan/recowork#path:/packages/recowork-dsh

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

该插件的 README 只有英文版本。

recowork-dsh is an experimental DSH Bundle that gives an agent three narrowly scoped tools:

  • recowork_init: initializes one new RecoWork local-agent-project workflow.
  • recowork_status: reads its manifest and a small, fixed set of current-work documents.
  • recowork_import: safely adds RecoWork to one existing non-empty project without overwriting existing paths.

It also contributes a model-facing workflow protocol: use initialization only on an explicit request, inspect a workspace before durable work, then read its AGENTS.md and localized working methods before planning or editing. It intentionally does not expose a shell, arbitrary file reads, upgrades, deletion, or renaming.

In DSH Web it adds a collapsible RecoWork project cockpit:

  • Selecting a recognized workspace automatically loads its authorized read-only status. The main dashboard shows a full-context continuation action, blocking decisions from open questions, the current project stage, and stable project-memory items extracted from the project brief.
  • A guarded action can be queued into the current DSH conversation or copied as the same task package for another conversation. The package includes the workspace path, status read, root AGENTS.md protocol, and the selected objective.
  • Technical metadata, document health, current-document names, and manual refresh live under Status & settings. Add project separates explicitly confirmed New workspace and Import existing project flows.

The cockpit does not maintain a second task database and cannot edit, delete, repair, or upgrade an initialized workspace. Its generated prompts instruct the agent to read AGENTS.md and the localized working methods, treat workspace documents as authoritative, and honor the project's confirmation rules before changing direction, scope, or files. New-workspace initialization rejects a non-empty destination. Existing-project import lists only non-empty direct children without rw-manifest.json, requires separate confirmation, adds only missing RecoWork files, preserves every matching path, and confines any existing root AGENTS.md change to its marker-bounded RecoWork block.

Its interface follows DSH's active zh or en preference live, including when the user changes the language in DSH Settings. Workspace document names and action text remain in the language of the selected workspace.

The Bundle has no runtime npm dependency on DSH internals. This keeps a locally linked checkout resolvable from its own source directory; DSH accepts the plugin's raw JSON-Schema tool definitions directly.

Install

  1. Install DeepSeek Harness and start its Web profile once so its profile exists.
  2. Install the published Bundle into the Web profile, then explicitly authorize one or more existing directories:
dsh plugin --profile web add recowork-dsh@latest
npx --yes recowork-dsh@latest setup --root /absolute/path/to/your/recowork-lab
dsh web

Repeat --root to authorize more than one directory. If your DSH home is not the default ~/.dsh, either set DSH_HOME or pass it explicitly:

DSH_HOME=/path/to/dsh-home npx --yes recowork-dsh@latest setup --root /absolute/path/to/your/recowork-lab

The setup command creates a timestamped backup of cordis.patch.yml, handles DSH's default [] placeholder as a single YAML document, and validates the resulting YAML after writing. If validation fails, it restores the original profile patch before reporting the error. If you previously configured recowork-dsh by hand, review that entry and rerun the command with --adopt-existing; it will back up the file before replacing only the old RecoWork entry. The default initializer and importer run npx --yes recowork@4.1.0.

For local development, replace the first command with dsh plugin --profile web add ./packages/recowork-dsh, then run node ./packages/recowork-dsh/bin/recowork-dsh.js setup --root /absolute/path/to/your/recowork-lab --dsh-home "$DSH_HOME".

Safety contract

  • root must exactly match an entry in allowedRoots; destination must be a descendant of that root.
  • Initialization requires a missing or empty directory and only permits the three supported templates and zh/en locales.
  • Import requires an existing non-empty project without rw-manifest.json, preserves same-name paths, and only permits the same templates and locales.
  • Status requires rw-manifest.json and reads only fixed, localized current-work files, capped at 12,000 characters each.
  • Existing RecoWork workspaces remain user-owned. Use rw status or rw upgrade directly for upgrade review.

The only DSH Web write actions are explicitly confirmed new-workspace initialization and safe existing-project import. Both stay under the approved-root boundary and delegate lifecycle behavior to the RecoWork CLI; neither can bypass existing confirmation gates or workspace-ownership rules.

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。