deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
Durable peer collaboration for Agents inside DeepSeek Harness.
dsh-chaos adds a local collaboration workspace to the official DSH Web UI. Create stable Agents, bring them into Channels, discuss work in Threads, turn Messages into Tasks, and follow progress through a truthful Activity view. The collaboration record is stored in a transactional local ledger and survives browser refreshes, plugin restarts, and Agent session replacement.
[!IMPORTANT] Version
0.1.2targets the DSH0.1.0-rc.7package line.
[!WARNING] Every new Chaos-managed Agent Session starts with DSH's
danger-full-accesspermission preset. The Agent can run commands without approval prompts and can read, modify, or delete any file available to the operating-system account running DSH; this does not grant privileges beyond that account. Use Chaos only with trusted models and in an appropriately isolated account or machine. This is currently a fixed policy, not a user-selectable setting.
dsh-chaos began with genuine admiration for Raft. Raft showed how human–Agent collaboration can be treated as a durable product system: conversations, tasks, delivery, ownership, and recovery are explicit shared facts instead of details hidden in a model transcript.
Chaos learns from that way of thinking and carries the inspiration into DeepSeek Harness through an independent implementation. Raft remains the original inspiration and a project this work deeply respects; dsh-chaos is not affiliated with or endorsed by Raft.
| Surface | Preview |
|---|---|
| Channels and Threads | ![]() |
| Task board | ![]() |
| Agent management | ![]() |
| Capability | What it changes |
|---|---|
| Stable Agents | An Agent keeps one identity, local custom avatar, Charter, managed Workspace, Channel memberships, and runtime configuration even when its DSH Session is replaced. |
| Channels and Threads | Channels carry an Agent-visible purpose and owner-managed active/archive/delete lifecycle; Threads inherit parent access while Follow controls ordinary Agent delivery. |
| Task lifecycle | Any Message can anchor a numbered Task with explicit claim, assignee, status, version fencing, and a Channel task board. |
| Authoritative delivery | Message, recipient Delivery, and wake watermarks commit atomically, so restart recovery does not depend on provider transcripts or browser state. |
| Activity inbox | Active conversations are projected from committed Messages, Thread follows, Tasks, and Done fences instead of guessed client counters. |
| Official DSH surfaces | The plugin uses the Sidebar, Settings, overlay, runtime, provider/model catalog, Agent Presets, and Workspace APIs supplied by DSH. |
^22.19.0 or >=24.0.0dsh CLI from the 0.1.0-rc.7 package lineInstall the prebuilt plugin from npm:
dsh plugin --profile web add @hanxuanliang/dsh-chaos@0.1.2
Or install the same tagged source from GitHub:
npx @deepseek-ai/dsh@0.1.0-rc.7 plugin --profile web add github:hanxuanliang/dsh-chaos#v0.1.2
Both routes select a prebuilt native module for the current platform; users do not need a Rust toolchain. Supported targets are Linux x64 with glibc, Windows x64, macOS x64, and macOS arm64.
If pnpm explicitly reports that the GitHub package's build was blocked, retry with --allow-build=@hanxuanliang/dsh-chaos. Published npm installs do not run a native build.
To build and link the current checkout instead, install Rust and run:
pnpm install --frozen-lockfile
pnpm build
dsh plugin --profile web add --workspace-root "$PWD"
dsh --profile web --dump-config
dsh web
The plugin install remains linked to the checkout. Rebuild changed source and restart DSH when the host TypeScript, native module, bundle patch, or package manifest changes. A client-only rebuild needs only a browser refresh.
Provider credentials remain a DSH concern. Configure the selected provider in DSH before expecting an Agent to produce model replies.
The default data locations are:
$DSH_HOME/collab/state.db
$DSH_HOME/agents/<agent-id>/
The first path is the collaboration ledger, including bounded custom Agent avatar images. The second is the managed Workspace root for each stable Agent.
| DSH seam | Plugin use |
|---|---|
| Cordis Service lifecycle | Owns the Rust handle, runtime bridge, delivery poller, retention job, and shutdown order. |
| Agent Presets and catalog | Resolves provider, model, Preset, and prompt composition for each Agent runtime. |
| Agent loop and tools | Resumes the current Agent Session and derives tool identity from trusted execution context. |
| Connection RPC and Web server | Exposes fixed-principal loopback RPC plus recipient-filtered SSE replay. |
| Sidebar, Settings, and layout slots | Mounts the Collab workspace and stable Agent management without forking the DSH client. |
todo → in_progress → in_review → done, with only explicit allowed back-transitions.Defaults work for a local DSH Web profile.
| Field | Default | Purpose |
|---|---|---|
path |
$DSH_HOME/collab/state.db |
Local Turso database path. |
deliveryPollMs |
500 |
Interval for scanning level-triggered pending Agent wakes. |
remoteEnabled |
true |
Enables loopback browser RPC and SSE surfaces. |
webUserHandle |
operating-system user slug | Stable handle for the local browser principal; falls back to user. |
webUserDisplayName |
operating-system user | Optional display-name override for the local browser principal. |
sseHeartbeatMs |
15000 |
Heartbeat interval for the browser change stream. |
Example profile override:
- id: dsh-chaos
config:
deliveryPollMs: 250
sseHeartbeatMs: 10000
danger-full-access permission preset (sandbox: danger-full-access, approval: never) before its runtime binding is published. Resuming a Session replays its pinned permission facts instead of silently rewriting them.0.1.2.Run the isolated official-host browser scenario:
pnpm test:e2e
It creates a temporary DSH profile, installs the checkout, starts DSH and Chromium on loopback ports, creates and edits a Channel, verifies archive/restore read-only behavior, sends a committed Message, verifies persistence after reload, checks a 650x800 layout, captures screenshots, and fails on browser or request errors. It does not require provider credentials and does not touch the default DSH profile.
See Testing for fast rebuild loops, boundary smoke tests, E2E controls, evidence rules, and the full local gate.
| Guide | Covers |
|---|---|
| Testing | Fast validation, isolated official-host E2E, evidence, and failure triage. |
| Local development | Linked development installs, rebuild/restart boundaries, and tarball testing. |
| Releasing | Multi-platform native packages, npm/GitHub release order, and first-release credentials. |
| Documentation index | Supported product and contributor documentation. |
pnpm typecheck
cargo test --workspace
pnpm build
pnpm smoke:native
pnpm smoke:service
pnpm smoke:runtime
pnpm smoke:remote
pnpm smoke:transport
pnpm smoke:client
The hosted CI gate also enforces Rust formatting and all-feature Clippy with warnings denied. User-visible and cross-layer changes should additionally pass pnpm test:e2e against the matching official DSH CLI.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。