Introduction

DeepSeek Harness can add new tools to agents via plugins. dsh-autoresearch addresses how candidate modifications are automatically evaluated and filtered: under fixed metrics, a baseline is established first, followed by bounded keep/reject judgment on the candidate modifications.

The plugin runs this process in an isolated Git worktree and saves run records using SQLite.

What is it

  • Plugin Name: dsh-autoresearch
  • Maintainer: EveGoodEvening
  • License: MIT
  • Positioning: Bounded, metric-driven autoresearch plugin for DeepSeek Harness
  • Core Tool: Provides autoresearch tool for DeepSeek Harness agents
  • Default Run Mode: dsh-jobs background jobs

It separates the handling of “candidate modifications” and “metric evaluation”. The Host provides evaluator_id, and trusted registration, argv, metric, environment, and dataset identities; the plugin executes a baseline-first, bounded keep/reject optimization loop based on these materials.

Core Capabilities

Single Scalar Metric Evaluation

autoresearch uses a single scalar metric for strict minimize / maximize evaluation. Candidate results are compared with the baseline; they are kept or rejected based on improvement.

Trusted Evaluator Identity

New runs use evaluator_id to name deployment registration. The plugin uses the Host-provided trusted registration, argv, metric, environment, and dataset identities.

The proposal model cannot submit evaluator commands, metric definitions, dataset authority, or evaluator environment.

Controlled Write Scope

The optimization loop runs in an isolated Git worktree. The writable scope is limited by mutable_globs; only matching paths can be modified.

Persistence and Recovery

The plugin uses SQLite to save run, experiment, attempt, and bounded artifact records.

Recovery adopts a fail-closed approach: before resume, durable Host evidence is verified first.

Background Task Management

The plugin runs by default as dsh-jobs background jobs. During execution, general job tools can be used to check or stop tasks.

Installation and Activation

The following version requirements must be met before installation:

  • Node.js ^22.19.0 || >=24.0.0
  • pnpm 11.7.0
  • DeepSeek Harness 0.1.1-rc.2

The Host must provide agents, jobs, subprocess, systemPrompt, and tools. The background mode also requires calling the Agent with dsh-tool-jobs mounted.

Install the plugin in the target profile:

dsh plugin --profile <name> add dsh-autoresearch
dsh --profile <name> --dump-config

Replace <name> with the actual profile name. The second command is used to check the config dump of the current profile. The dump should contain:

id: autoresearch
name: dsh-autoresearch

Typical Usage

  1. After installing the plugin, use dsh --profile <name> --dump-config to confirm that id: autoresearch and name: dsh-autoresearch appear in the configuration.

  2. New runs use evaluator_id to name deployment registration.

  3. The plugin runs a baseline-first, bounded keep/reject loop in an isolated Git worktree.

  4. Candidate modifications are only allowed to occur within paths defined by mutable_globs.

  5. The plugin performs keep/reject judgment based on the minimize / maximize results of a single scalar metric.

  6. Tasks run as dsh-jobs background jobs; general job tools can be used to check or stop them.

  7. When recovery is needed, perform fail-closed recovery first, verify durable Host evidence, and then continue.

Suitable Scenarios and Notes

Suitable for the following usage patterns:

  • Having clear scalar metrics and needing the agent to automatically iterate candidate modifications within restricted paths.
  • Needing to save run status, experiment, and attempt records in SQLite.
  • Needing to run as DSH background tasks and manage them via general job tools.

Boundaries to clarify before use:

  • This plugin does not provide OS-level sandboxing, process, network, same UID, or permission isolation.
  • The isolated Git worktree is not an OS security boundary.
  • The proposal model cannot submit evaluator commands, metric definitions, dataset authority, or evaluator environment.
  • Cordis patch row configuration is a full replacement, not a deep-merge.
  • The plugin runs with the current DSH process permissions; check the source code and license before installing.

Getting Started