Attachment reads and ZIP export previously inferred ownership from common field names on arbitrary events. Opaque ignorable plugin payloads could therefore cause storage reads, while declared compaction content was missed. Select attachment-bearing fields by current built-in event type in both readers. Read direct image and file blocks, including flat V4 tool results and developer messages, without interpreting extra block fields. Leave unknown payloads and malformed inbox entries opaque. The archive preserves the complete logical log even when its payload does not authorize a read. V4 validates title requests as one text block, so do not treat them as an attachment carrier. Compaction keeps its declared ContentBlock fields for valid custom producers; the basic producer's text-only output is documented. Historical wrappers remain the adjacent converters' responsibility rather than a second compatibility path in attachment readers. Adapt the original policy change to master after V4 landed, retaining its author credit and scope. Cover tool-result export explicitly, keep Team fixtures free of invented message roles, and verify that denied carriers never read storage. The 889 owning tests pass with 100% statement, branch, function, and line coverage for both changed runtime files. Co-authored-by: Tianyi Cui <[email protected]>
DeepSeek Harness
English | 中文
DeepSeek Harness (dsh) is an open-source agent harness developed by DeepSeek AI.
It is built on an everything-is-a-plugin architecture and powered by Cordis, whose design is described in A Programming Paradigm for Spatiotemporal Composability.
Documentation: https://deepseek-harness.github.io/deepseek-harness/
Developer preview
DeepSeek Harness is in developer preview and iterating rapidly. THERE WILL BE COMPATIBILITY-BREAKING CHANGES.
Review the safety notice before running the project.
Run
Run from npm
Install Node.js, then run:
npx @deepseek-ai/dsh web
The command starts the Web UI at http://127.0.0.1:3080 by default and opens it in the default browser for a local launch. An SSH launch only prints the host URL because the SSH client or editor owns the local forwarded address. Pass --no-open to run the server without opening a browser. See Web UI guide.
Run from source
To run from a repository checkout:
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web
pnpm run build prepares the repository artifacts. pnpm dsh web uses those built artifacts without rebuilding.
Community and support
- Submit feedback or bug reports through GitHub Discussions.
- Add the
dsh-plugintopic to your plugin repository for discoverability. - Join DeepSeek Harness Discord community.
Contributing
See CONTRIBUTING.md.
Development
Start with the development guide and architecture documentation.
For agents, follow AGENTS.md.
Citation
@misc{deepseek-harness2026,
title={DeepSeek Harness: Everything is a Plugin},
author={DeepSeek-AI},
year={2026},
publisher={GitHub},
howpublished={\url{https://github.com/deepseek-ai/deepseek-harness}},
}
License
Third-party dependencies and their licenses are disclosed in THIRD_PARTY_NOTICES.md.