DeepSeek Harness Exposes the Agent Assembly Line That Codex Keeps Hidden
Most coding agents ship as sealed products; Harness opens the hood on every joint — tool dispatch, permission boundaries, model routing — and gives developers a local, debuggable harness to swap parts or build their own agent assembly. For teams evaluating agent architectures or integrating custom models behind a corporate gateway, that transparency is immediately useful.
DeepSeek Harness delivers a local coding agent where the model, tool set, permissions, and session presets are all exposed and replaceable. A single `npx` command starts a web UI at localhost:3080; after pointing it at a workspace directory and an API key, the agent reads, edits, and runs commands against that project. Four session presets — Standard, PTC, Minimal, and Creative — are not different models but different tool-and-prompt assemblies. PTC mode, in particular, lets the agent generate and execute TypeScript snippets that loop over tool calls internally, changing how multi-step operations are organized without swapping the underlying model. A built-in trace viewer logs every tool invocation, model response, and context injection, making agent behavior debuggable step by step. Plugins are the composable unit: model adapters, tools, UIs, and workflows all arrive as plugins, and the presets themselves are plugin combinations. Custom model providers plug in via a standard provider interface, though the server must speak the expected protocol. No official desktop app exists yet; community wrappers bundle the CLI and web UI into double-clickable Electron shells. The project remains a fast-moving developer preview, best suited for engineers who want to understand or reshape how an agent is assembled rather than those who just want finished coding tasks.
Harness reframes the agent as a configurable assembly rather than a finished product, which shifts the developer's relationship from user to integrator — useful for teams that need to audit or constrain agent behavior.
PTC mode is easy to misread as a smarter model; it's actually a dispatch strategy that offloads repetitive tool-calling loops into generated code, a pattern that could reduce token spend on multi-step read-only tasks but doesn't eliminate internal tool chatter.
The requirement to select a workspace before the input box works is a small but telling design choice: Harness treats the agent as a project-scoped tool, not a general-purpose chat window.
Custom provider integration is gated on protocol compatibility, which means corporate gateways and self-hosted models need more than a compatible API surface — they must match the expected request/response contract.
The absence of an official desktop app and the existence of multiple community wrappers suggest the project is prioritizing the framework layer over polished distribution, consistent with a developer preview.