DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-autoresearch

Autoresearch

用于在 DeepSeek Harness 中进行有界指标驱动自动研究的非官方第三方插件

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-autoresearch@0.0.4
README兼容性版本

兼容性与来源证明

Autoresearch 以 dsh-autoresearch 发布,当前版本为 0.0.4。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
npm
Registry 更新时间
2026/11/4

版本

0.0.4stable
2026/10/31
0.0.3stable
2026/10/26
0.0.2stable
2026/10/26
查看其余 14 个版本收起版本
0.0.1stable
2026/10/15
0.2.4stable
2026/10/4
0.2.3stable
2026/9/30
0.2.2stable
2026/9/30
0.2.1stable
2026/9/29
0.2.0stable
2026/9/29
0.1.9stable
2026/9/29
0.1.6stable
2026/9/3
0.1.5stable
2026/9/1
0.1.4stable
2026/8/27
0.1.3stable
2026/8/27
0.1.2stable
2026/8/26
0.1.1stable
2026/8/22
0.1.0stable
2026/8/21

相关插件

正在加载相关插件…

最新版
0.0.4
DSH
*
HMR
重启进程
Tree shaking
已声明 sideEffects: false
解包体积
970 kB
文件数
59
Surface
any
许可证
MIT
发布源
npm
GitHub
★ 0
周下载
431
安全扫描
✓ v0.0.4 扫描通过
最近提交
2026/10/31
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk Minimal@deepseek-ai/dsh-sdk-minimal独立的最小 SDK 配置包:JSON-RPC、一个 DeepSeek 适配器、持久化 Shell 和 JSONL 会话Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Experimental Inspector@deepseek-ai/dsh-experimental-inspector用于 Host 调试和 Client Runtime 检查的实验性跨 realm CDP hub

README

dsh-autoresearch

English | 简体中文

Unofficial, third-party plugin for bounded, metric-driven optimization in DeepSeek Harness, inspired by Karpathy's autoresearch.

Independent project: dsh-autoresearch is maintained by EveGoodEvening. It is not affiliated with, endorsed by, or sponsored by DeepSeek or Andrej Karpathy.

The autoresearch tool measures a baseline, lets an agent edit allowed files in an isolated Git worktree, and keeps only strict improvements. The Host controls evaluation; SQLite records results for inspection and recovery.

Supported versions

ComponentSupportedTested
DSH CLI (@deepseek-ai/dsh) and DSH service peers>=0.2.1-rc.2 <0.2.2-0 (engines.dsh and peers)0.2.1-rc.5
Cordis (@deepseek-ai/cordis)~4.0.54.0.5
Node.js^22.23.4 || ^24.22.1 || >=26.12.124.22.1

Tested pairing and packed-consumer/Web-profile smoke verified on 2026-10-31. Use the scoped Cordis fork, not unscoped cordis. DSH's plugin check uses engines.dsh, so any 0.2.1 prerelease from rc.2 through the final 0.2.1 is accepted; 0.2.2 prereleases are excluded because they remove an API this plugin uses. Daily upstream compatibility checks do not automatically expand these ranges.

The Node.js security floors include the October 2026 TLS/Brotli fixes and eMudhra CA remediation. Keep the Host runtime and its operating-system CA store patched; a plugin lockfile cannot update either. Dependency audits include development and optional packages and fail at low severity rather than hiding lower-severity findings.

Install

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

The dump should contain id: autoresearch and name: dsh-autoresearch. Use dsh plugin, not plain pnpm add, to activate the bundle.

The Host needs agents, jobs, subprocess, systemPrompt, and tools. Background runs also need dsh-tool-jobs in the calling Agent; the Web standard preset and base/headless compositions provide it.

Use

Register an evaluator first. The Host-owned evaluatorRegistrations registry is intentionally empty by default: the agent cannot choose an arbitrary evaluator command. Here is a complete toy setup; the Host evaluator computes the distance to 3, rather than trusting a model-reported score. It demonstrates the protocol, not scientific effectiveness.

In a clean, trusted Git repository, create and commit these two files at the repository root:

judge.mjs

import { readFileSync } from 'node:fs'

const { value } = JSON.parse(readFileSync('candidate.json', 'utf8'))
if (typeof value !== 'number' || !Number.isFinite(value)) {
  throw new TypeError('value must be a finite number')
}
const distance = Math.abs(value - 3)
if (!Number.isFinite(distance)) throw new RangeError('distance must be finite')
console.log(JSON.stringify({ distance }))

candidate.json

{ "value": 10 }

cordis.patch.yml

After installing the plugin, put this override in the chosen profile's $DSH_HOME/profiles/<name>/cordis.patch.yml (merge it into any existing patch list):

- id: autoresearch
  name: dsh-autoresearch
  config:
    defaultMaxExperiments: 20
    defaultTimeoutMs: 900000
    evaluatorRegistrations:
      - id: toy-distance
        command: node
        args: [judge.mjs]
        metricName: distance
        metricDirection: minimize
        metricParserVersion: final-line-json-v1
        evaluatorFiles: [judge.mjs]
        dataset: { kind: none }

Profile overrides replace the whole row config, not a deep merge. This minimal row retains the required run defaults; the Config schema materializes omitted deployment defaults from the shipped patch. Retain any existing deployment overrides, model-routing settings and evaluator registrations when replacing the row. Restart the profile and inspect dsh --profile <name> --dump-config before use.

node must be available to the Host. The evaluator runs shell-free with fixed argv; omitting cwd selects the isolated evaluation worktree root. It must exit successfully and end stdout with a JSON object containing exactly one key, the registered metric name, with a finite numeric value: this baseline ends with {"distance":7}. Earlier stdout may contain logs; do not add trailing blank lines. judge.mjs is protected against candidate edits. This example explicitly uses no dataset; the schema also supports protected local dataset files or an externally identified dataset.

Call autoresearch

From that repository, ask the agent to call:

{
  "objective": "Reduce the Host-measured distance to 3 by editing candidate.json",
  "run_tag": "toy-distance-1",
  "evaluator_id": "toy-distance",
  "mutable_globs": ["candidate.json"],
  "max_experiments": 5
}
  • repository defaults to the agent's working directory. Use a fresh, Git-safe run_tag for each new run.
  • Runs are background jobs by default. Inspect or stop them with job_list, job_output, and job_kill; use "mode": "foreground" to wait for completion.
  • Cancellation waits for evaluator cleanup, reconciles the accepted Git state, and releases the run lock only after durable terminal settlement.
  • Plugin unload or hot reload cancels active runs and waits for proposal children and jobs to settle.
  • Optional inputs: target (stopping threshold), timeout_ms (per-attempt watchdog), and constraints (advisory guidance, not acceptance rules).
  • To resume, replace run_tag and evaluator_id with resume_run_id and retain the original run policy. The stored evaluator registration is revalidated before execution.

Defaults: 20 candidates, deployment cap 100, 15-minute evaluator watchdog per attempt (Host cap 60 minutes), and one active run per repository. The baseline is separate from the candidate cap. Git has independent Host-only limits: gitTimeoutMs defaults to 900000 (integer range 1–2147483647); gitMaxStdoutBytes and gitMaxStderrBytes each default to 1048576, independently of evaluator output caps. See Config for deployment limits and retention.

Behavior and safety

  • Bounded scalar search. Baseline first; one minimized or maximized scalar, strict improvement only. constraints and approval guidance are advisory, not acceptance rules or permission grants. Hard human approval must be enforced by Host policy. This does not establish scientific efficacy or fair resource allocation.
  • Narrow changes, bounded provenance. Only mutable_globs may change; declared evaluator/local dataset files are read-only to candidates. SQLite records decisions and bounded evaluator/dataset/policy evidence; resume revalidates it and fails closed on mismatch or legacy registrations. This is not a complete runtime-image identity.
  • Managed execution, not confinement. Evaluation uses ctx.subprocess for fixed shell-free argv/environment, bounded stdout/stderr collection, a per-attempt watchdog, cancellation/termination and process-tree quiescence checks before continuation. Completion waits for managed cleanup; a watchdog is not a compute budget. A Git worktree and this lifecycle do not confine filesystem access, other processes, network, privileges or hostile same-UID interference. Use trusted code; hostile-code support requires an external isolation provider and an explicit Host/product decision, not this plugin alone.
  • Fail closed when uncertain. Proposal/report/policy errors are terminal; safely quiescent candidate evaluator failures consume a slot and may continue. Baseline failures stop; uncertain process state blocks recovery/continuation. Crash takeover after abnormal Host death requires Linux /proc evidence; other platforms remain conservatively blocked.
  • Public metadata is not secret. Metric name/direction/parser, evaluator ID and generated workspace/branch/commit identity are intentionally disclosed to proposal children; never put credentials there. Raw evaluator argv/environment mappings are not forwarded. Exact known-value redaction of permitted untrusted display/history data is limited, not universal confidentiality.

Development

Use pnpm 11.7.0. Build before testing: integration tests load lib/.

pnpm install --frozen-lockfile
pnpm run typecheck
pnpm run build
pnpm run test
pnpm run release:smoke

release:smoke checks a packed install and the real DSH Web profile outside the checkout. Run it after tests, not concurrently: packing rebuilds lib/.

For local installation, build and run dsh plugin --profile <name> add .. Releases use the publish workflow with npm Trusted Publishing and a matching v<package-version> tag.

See CHANGELOG.md for release history.

License

MIT © 2026 EveGoodEvening

Source attributions and upstream license declarations are preserved in THIRD_PARTY_NOTICES.md.