alxshelepenok/grove--packages-dsh ↗★ 2
dsh-grove
DeepSeek Harness bundle that exposes the Grove CLI as agent tools.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:alxshelepenok/grove#c813df226db781b25a9a5aafbf8249f475cb255b&path:packages/dsh说明文档
阅读完整 README ↗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
grovebinary onPATH(or an absolute path via thebinconfig 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):
| Tool | Grove command |
|---|---|
grove_status | grove status |
grove_next | grove next |
grove_ready | grove ready |
grove_path | grove path |
grove_packet | grove packet [--cone --cone-depth=N --cone-max=N] |
grove_show | grove show |
grove_list | grove list [--status= --cynefin=] |
Mutating (guarded by CLI invariants; a refusal such as DoR ≢ ⊤ surfaces as the tool error):
| Tool | Grove command |
|---|---|
grove_add | grove add --title=... [--type= --cynefin= --area= --goals= --theme= --fitness-kind= --fitness-target=] |
grove_field | grove field add|rm|clear [value] |
grove_set | grove set = |
grove_evidence | grove evidence |
grove_fitness | grove fitness |
grove_link | grove 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.