Harzva
dsh-groupx
Native GroupX multi-agent room integration for DeepSeek Harness
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 17, 2026
- Updated
- Aug 17, 2026
Introduction
dsh-groupx
Bring a local GroupX multi-agent room into DeepSeek Harness.
在 DSH Web 内查看本地 Agent、共享时间线,并向一个或多个 GroupX Agent 显式发送消息。
[!IMPORTANT] This is an independent, unofficial DSH integration for GroupX. The protocol and DSH offline-safety slice is tested; live browser E2E with real GroupX agents remains open.
What works
- Native DSH tab at
Settings → Plugins → GroupX. - Loopback-only Host bridge to GroupX, defaulting to
http://127.0.0.1:4310. - Agent roster, status, recent semantic events, and active Turn summaries.
- Explicit single- or multi-Agent message routing through
to[]. - Strict rejection of sender spoofing fields and non-loopback origins.
- Safe DSH startup when GroupX is offline or incompatible.
flowchart LR
U["DSH Web user"] --> P["dsh-groupx plugin"]
P -->|"same-origin Host API"| H["DSH Host bridge"]
H -->|"loopback REST"| G["GroupX Broker"]
G --> C["Codex App Server"]
G --> K["Kimi / Grok / Hermes ACP"]
G --> A["Claude Code stream-json"]
DSH remains the host and UI. GroupX continues to own native Agent sessions, SQLite, memory, routing, and CLI adapters. The plugin does not bundle GroupX source, upload room data, or rewrite Agent CLI configuration.
Status
| Gate | Result |
|---|---|
| Build and contract tests | 6/6 passed |
Real DSH 0.1.0-rc.6 isolated boot | Passed |
| DSH Web / client module | HTTP 200 / HTTP 200 |
| GroupX offline behavior | Expected HTTP 503; DSH remains available |
| User DSH profile touched by verification | No |
Real GroupX 0.1.13 browser E2E | Open |
| SSE resume, cancellation, restart, compaction | Planned |
The machine-readable M1 result is stored in evidence/m1-local-contract-2026-08-16.json. See ROADMAP.md for the remaining gates.
Quick start
1. Start GroupX
GroupX 0.1.13 requires Node.js >=24.14.1 <25 and at least one configured local Agent CLI.
npm install --global @susyimes/groupx
groupx start --no-open
2. Build and pack the DSH plugin
git clone https://github.com/Harzva/dsh-groupx.git
cd dsh-groupx
pnpm install --frozen-lockfile
pnpm check
pnpm run pack:dsh
3. Install into the DSH Web profile
dsh plugin --profile web add ./artifacts/harness-flow-dsh-groupx-0.1.0-alpha.0.tgz
dsh web
The dsh plugin --profile <name> add <package> form is provided by the DSH CLI and forwards installation to the selected profile.
For a different GroupX loopback port, set DSH_GROUPX_ORIGIN before starting DSH:
$env:DSH_GROUPX_ORIGIN = 'http://127.0.0.1:5000'
dsh web
LAN, public, HTTPS, credential-bearing, and path-bearing origins are rejected.
Development
pnpm check
pnpm run pack:dsh
pnpm run verify:dsh-offline
verify:dsh-offline creates an isolated temporary DSH Home, installs the packed plugin into a real DSH 0.1.0-rc.6 Web profile, checks the bridge and client module, then removes the temporary profile. It does not read or modify the user's DSH profile.
Project boundaries
| Repository | Responsibility |
|---|---|
susyimes/GroupX | Upstream local multi-Agent broker |
Harzva/GroupX | Harzva's upstream-tracking fork |
Harzva/dsh-groupx | Independent DSH bridge and native UI |
Harzva/harness-flow-hub | Discovery, compatibility, and future installation flows |
The local protocol study used upstream commit a6e485f0e3ace6f59324db5fb06f032e3e199b87. At the time of the study, the upstream tree did not declare a license, so its reference copy is excluded from Git and npm artifacts. This repository contains an independent implementation against the documented REST contract.
Architecture and product boundaries are documented in docs/ARCHITECTURE.md, docs/PRD.md, and docs/REFERENCE.md.
License
MIT © 2026 Harzva