alxshelepenok/grove--packages-dsh2

dsh-grove

DeepSeek Harness bundle that exposes the Grove CLI as agent tools.

包名
dsh-grove
版本
0.1.6
许可证
AGPL-3.0
最近更新
2026年8月17日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:alxshelepenok/grove#c813df226db781b25a9a5aafbf8249f475cb255b&path:packages/dsh

dsh-grove

A DeepSeek Harness (dsh) bundle that exposes the Grove CLI as agent tools.

The plugin is a thin wrapper: every tool builds argv, execs the grove binary, and returns raw stdout. All protocol invariants (DoR gates, evidence gates, WIP limit, lockfile checksum) stay enforced by the Grove CLI itself; nothing is reimplemented here.

Prerequisites

  • Node.js 20+.
  • The grove binary on PATH (or an absolute path via the bin config key).
  • A dsh installation: npx @deepseek-ai/dsh --help.

Install into a profile

dsh plugin --profile  add /path/to/grove/packages/dsh-plugin
dsh --profile  --dump-config

The package declares dsh.bundle.patch, so dsh plugin add appends the bundle to the profile automatically. The shipped cordis.patch.yml mounts one row:

- insert:
    - id: grove
      name: dsh-grove
      config:
        bin: grove

Override bin in the profile's own cordis.patch.yml (later layers win per row; restate every key):

- insert:
    - id: grove
      name: dsh-grove
      config:
        bin: /opt/grove/bin/grove

Tools

Read-only (safe to call any time):

ToolGrove command
grove_statusgrove status
grove_nextgrove next
grove_readygrove ready
grove_pathgrove path
grove_packetgrove packet [--cone --cone-depth=N --cone-max=N]
grove_showgrove show
grove_listgrove list [--status= --cynefin=]

Mutating (guarded by CLI invariants; a refusal such as DoR ≢ ⊤ surfaces as the tool error):

ToolGrove command
grove_addgrove add --title=... [--type= --cynefin= --area= --goals= --theme= --fitness-kind= --fitness-target=]
grove_fieldgrove field add|rm|clear [value]
grove_setgrove set =
grove_evidencegrove evidence
grove_fitnessgrove fitness
grove_linkgrove link

Session ownership

Grove claims work items per session (I11). The plugin forwards the ambient GROVE_SESSION environment variable to the CLI automatically; every mutating tool also accepts an optional session parameter that is forwarded as --session=.

Development

bun install
bun run build
bun run typecheck
bun test

GROVE_PROJECT= node scripts/round-trip.mjs drives the built tools through a full add -> field -> fitness -> evidence -> done cycle against a scratch Grove project.