HarnessOps
Auditable run evidence and a local operations dashboard for DeepSeek Harness.
DeepSeek Harness 的计划与结果记录插件:记录步骤、保存命令输出、汇总检查结果,
并通过本地网页查看。适用于不同语言的工程任务,目前为早期可用版本。
HarnessOps records an engineering agent's plan and reported command results,
then computes a summary for human review. It does not
replace the DeepSeek Harness agent loop, sandbox, command tools, sessions, or
approval flow.
Why it exists
Agent demos often collapse plans, model claims, and observed command results
into one transcript. HarnessOps keeps those layers separate:
Goal -> Recorded plan -> Host approval/execution -> Bounded evidence
-> Integrity verification -> Deterministic result -> Dashboard
The final status is computed from recorded evidence:
passed: every planned step has passing evidence.
failed: at least one executed step failed or timed out.
inconclusive: a step is missing or explicitly not run.
Missing evidence cannot produce a passing result. However, evidence is currently
submitted by the caller (including the model), not captured from host execution
events. A caller can submit fabricated output. A passed result means that all
recorded outcomes passed, not that HarnessOps independently verified execution.
Harness tools
| Tool | Responsibility |
|---|
ops_run_start | Open one durable run for a goal and workspace. |
ops_plan_record | Store the exact plan before execution. |
ops_evidence_record | Store one bounded, redacted command result. |
ops_run_finalize | Verify evidence hashes and compute the terminal status. |
DeepSeek Harness remains responsible for asking approval and executing the
planned command through its normal tools. HarnessOps only records the result.
Local development
Requirements:
- Node.js 22.19+ (22.x) or 24+
- pnpm 10.34+
- DeepSeek Harness 0.1.2 RC family
pnpm install
pnpm check
pnpm demo
pnpm build
node dist/cli.js demo
node dist/cli.js serve
Open http://127.0.0.1:4177 to inspect recorded runs.
The demo command creates synthetic records without running checks. Their
limitations are visible in the dashboard. It is only a preview dataset.
Install the packed plugin into a Harness profile:
pnpm pack
dsh plugin --profile headless add ./harness-ops-0.1.0.tgz
Set HARNESS_OPS_DATA_DIR to move the local evidence directory. The default is
.harness-ops under the host working directory.
Evidence guarantees
- Common credential patterns in stdout/stderr are redacted before persistence.
- stdout and stderr are bounded independently.
- Truncation happens inside string fields, so stored files remain valid JSON.
- Every evidence record carries a SHA-256 integrity digest.
- Digests detect changes to the hashed record, not fabricated evidence or edits
where a local writer also recomputes the digest.
- Writes use a temporary file followed by an atomic rename.
- Updates for one run through the same store instance are serialized.
- Plans become immutable after evidence is recorded.
- Terminal runs cannot be changed.
Boundaries
- HarnessOps is a developer-preview companion to a developer-preview Harness.
- It is a local, single-process evidence store, not a distributed job system.
- Use a single writer/store instance per data directory. Separate instances do
not share locks. Metadata (goal, plan, command, paths) is not secret-scrubbed.
- Host approval is recorded as host-managed; HarnessOps does not create a
second approval mechanism or verify that host approval occurred.
- It does not execute commands, edit repositories, call models, or publish
results to third parties.
Relationship to AgentForge
Inspired by AgentForge,
HarnessOps keeps its useful ideas: structured plans, human-controlled
execution, bounded evidence, auditability, and deterministic reporting. It
removes the duplicate agent runtime, model transport, Windows-only launcher,
machine-specific paths, and silent demo-data fallback.
Verification
pnpm test:coverage checks persistence races, result aggregation, credential
redaction, output bounds, HTTP reads, and plugin dispatch. The integration test
uses the real Cordis, SystemPrompt, and ToolRuntime services with synthetic
results; it does not call a paid model or prove host command execution.
GitHub Actions runs type checking, tests, build, and package creation on Node
22.19 and 24. There is no model-backed end-to-end test in this release.
License
MIT