DeepSeek Harness v0.2.1-alpha.3
DeepSeek Harness v0.2.1-alpha.3: Images, Compaction & Presets
- Author
- DeepSeekAgent.io Editorial Team
- Published
- Updated
DeepSeek Harness v0.2.1-alpha.3 was published as a prerelease on October 14, 2026. It does not change the default npm installation channel: latest and next still point to 0.2.0-rc.2. Only users who explicitly install 0.2.1-alpha.3 or select the alpha tag receive this build.
The release connects several parts of long-running Agent work rather than adding one isolated feature. Minimal mode can read images and compact long conversations, spawned subagents can use independent Agent Presets, SDK clients can resume stored sessions, and updated plugins no longer leave stale code running. Credential precedence and the Azure Provider ID also change in ways that require migration checks.
Major changes
| Area | Change in alpha.3 |
|---|---|
| Minimal mode | Read images and compact long conversations automatically |
| Context management | Run /compact manually from Web and Desktop |
| Subagents | Assign an independent Agent Preset to a spawned subagent |
| SDKs | Resume stored Sessions from the TypeScript and Python SDKs |
| Plugin runtime | Stop running stale code after an update or reinstall |
| Credentials | Web/Desktop prefer saved credentials; Headless defaults to environment variables and .env |
| Providers | Azure's Provider ID is now azure; the old name needs migration |
| PTC Mode | Add an optional in-memory Node execution environment |
Minimal mode becomes a complete model-evaluation input path
Minimal mode is designed to expose the smallest practical tool surface so an evaluation can observe the model rather than a large collection of Harness helpers. alpha.3 adds image reading, so a vision model can inspect screenshots, charts, or interfaces without moving the evaluation into the Standard Profile. The model still needs an image input capability in the catalog; typing a custom model ID into settings does not grant vision support automatically.
The second change is automatic compaction for long conversations. Model evaluations can run through many tool calls, and repeatedly sending the entire history raises input-token cost while burying current evidence under older results. alpha.3 can compact that history as context grows. Web and Desktop users can also enter:
/compact
to trigger compaction manually. A useful point is after one phase of work has finished and before the next begins. Compaction does not delete the Session on disk or erase its Trajectory; it changes the representation sent in a future model request. Record critical constraints, open goals, and exact values in the conversation or workspace before compacting.
Independent Agent Presets for subagents
Subagent creation previously relied heavily on orchestration instructions to assemble a role, tool scope, and environment each time. alpha.3 can assign a separate Agent Preset to a spawned subagent, moving the role and tool configuration into a reusable unit.
A coordinating Agent can now reproduce shapes such as:
- a reviewer that reads the repository and runs tests without editing;
- an implementation Agent that may edit frontend files but cannot publish;
- a research Agent that reaches source material without access to project credentials.
Presets make configuration repeatable; they do not replace permission boundaries. The effective tool set still depends on the loaded plugins, workspace authorization, and host environment.
The release also improves delegation and waiting guidance. It announces delegation-depth limits earlier, and waiting for a running child task no longer consumes another goal round. This matters in parallel workflows where the orchestrator should wait rather than burn execution turns merely to poll its children.
SDK resume completes the long-task recovery path
The TypeScript and Python SDKs now support Session resume. A resumed run keeps the original Session ID and working directory, so an application no longer has to force a long task into one process lifetime.
That enables several practical flows:
- continue unfinished work after a service restart;
- pause a task for human confirmation and continue after the reply;
- hand a long task between queue workers while retaining its Trajectory;
- return to the same workspace context rather than copying work into an unrelated new Session.
Resume does not promise compatibility across arbitrary prerelease versions. Back up ~/.dsh before upgrading and validate format migration and plugin dependencies with a non-critical Session first.
Plugin updates replace stale runtime code
alpha.3 fixes plugin updates or reinstalls that left the previous code running. Hot-reloadable replacements take effect directly; changes that cannot be reloaded safely now request a restart.
This is more than a plugin-development convenience. In a long-lived Session, old runtime instances combined with new files can make the visible version and configuration disagree with the code actually handling tools. Follow an explicit restart notice instead of assuming that a successful install has already replaced every live instance.
The release also fixes the possible loss of a final Session record while unloading a storage plugin and improves the Plugins layout in narrow windows.
Two configuration changes to check before upgrading
1. Credential precedence
Web and Desktop now prefer saved credentials. Headless defaults to environment variables and .env and no longer reads application-saved keys by default.
If Web can call a model while Headless reports MISSING_CREDENTIAL on the same machine, the model configuration may be intact: the two entry points may simply be using different sources. Automation and CI should provide credentials explicitly rather than depending on a key once stored through the Web settings page.
2. Azure Provider ID
The Azure Provider name is standardized as azure. Configurations using the old azure-openai-responses ID need migration. Search Profiles, machine patches, and custom Bundles for the old value, then validate the base URL, deployment name, protocol, and credential reference in a copy.
Changing only the display label is insufficient. The Provider ID participates in model references and configuration merging, so a leftover old ID may appear as a missing model, a broken default selection, or an unmatched credential.
An in-memory Node environment for PTC Mode
PTC Mode gains an optional in-memory Node environment. Consecutive executions can reuse variables, functions, and imported modules instead of reconstructing all state in a fresh process for every tool call.
This fits data transformation, staged analysis, and tasks that reuse client instances. The trade-off is persistent state: an object, cache, or connection modified by an earlier execution can affect the next one. Initialize state explicitly when reproducibility matters, or retain isolated execution.
Session and interface fixes
alpha.3 also fixes a set of issues that directly affected daily use:
- large blank areas and scroll jumps after switching Sessions, collapsing work details, or sending follow-ups;
- some Sessions failing to continue after an application restart;
- request failures caused by historical-message compatibility after switching to DeepSeek;
- false disconnects on a congested remote Web connection;
- language, theme, and other preferences disappearing after a remote refresh;
- unfinished work appearing to have completed normally after an application exit;
- worktree creation failures on some older Git versions;
- the macOS workspace picker refusing pasted paths or adding a directory after cancellation.
An interrupted task now explicitly reports “Task stopped.” That distinction is operationally important: a user can choose to resume, retry, or inspect partial output instead of treating an interrupted run as a successful result.
Should you upgrade?
Most users should remain on npm latest, currently 0.2.0-rc.2. alpha.3 is useful when you need to:
- evaluate a vision model in Minimal mode;
- control long-session context with
/compact; - configure separate Presets for subagents;
- resume Sessions through the TypeScript or Python SDK;
- develop, update, or hot-reload plugins;
- validate the new credential and Azure Provider behavior.
Pin the full version while testing:
npx @deepseek-ai/[email protected] web
Back up Profiles, Sessions, and plugin configuration first. Headless, Azure, and custom-Provider users should verify credential sources and Provider IDs before assigning long-running work to this build.
Related reading
- DeepSeek Harness setup, API key configuration, and usage guide
- DeepSeek Harness v0.2.1-alpha.2: models, sessions, and plugins
- DeepSeek Harness long-session cost and compaction
- DeepSeek Harness Plugin Manager source analysis
- DeepSeek Harness Python SDK guide