Files
deepseek-harness/examples/jsonrpc-agent
Tianyi Cui 87a249106f Merge origin/master: port the SDK stack onto the subprocess seam
Master's #660 replaced dsh-subagent-subprocess with the dsh-subprocess
capability seam (ctx.subprocess + scrubbedParentEnv, tree-scoped teardown)
and moved subagent-acp onto it. Convergence for this branch's packages:

- The shared out-of-process provider vocabulary this branch had grown in
  the deleted library (NO_START_CAPABILITIES, assertPositiveFinite, cwd
  resolution, settleRunResult, subprocessRunHandle) moves into the subagent
  seam package as out-of-process.ts — it enforces subagent-seam contracts,
  not process mechanics, and both out-of-process backends now import it
  from there (subagent-acp keeps master's shape otherwise).
- subagent-sdk spawns THROUGH the SDK client (the subprocess README's
  documented exception for SDK-managed transports) and now applies the
  seam's scrubbedParentEnv() + explicit-env merge in place of the deleted
  buildChildEnv.
- sdk-client inlines the EOF→SIGTERM→SIGKILL ladder as private helpers (it
  runs outside any harness context, so it cannot ride ctx.subprocess).
- The child harness fixture gains the now-required dsh-subprocess-local
  entry for bash-local; the fixture cordis.yml keeps exercising the
  shipped provider default.
2026-07-27 21:52:40 +08:00
..
2026-07-26 05:06:39 +08:00
2026-07-26 05:06:39 +08:00

jsonrpc-agent

English | 中文

The unattended coding-agent composition for the Python SDK's bundled JSON-RPC runtime. It intentionally loads no terminal UI, console logger, approval surface, or user-interaction tool because stdout belongs to the SDK protocol and turns are driven by the SDK.

The model-facing tools are:

  • bash, foreground only
  • read, write, and edit
  • subagent, using one foreground in-process spawn provider
  • todo_write

The surrounding runtime also loads JSONL session persistence and automatic context compaction. maxTokensAsSuccess keeps a token-limited model turn as an accepted evaluation result while preserving its max-tokens reason.

Runtime environment

Variable Purpose
DEEPSEEK_API_KEY Credential passed to the OpenAI-compatible host endpoint
DEEPSEEK_BASE_URL Host endpoint used by dsh-llm-deepseek
DSH_CWD Agent workspace for bash and filesystem tools
DSH_MAX_TOKENS_AS_SUCCESS true (default) accepts token-limited results; false reports them as errors
DSH_SESSION_ROOT JSONL trajectory directory
DSH_SYSTEM_PROMPT Deployment-provided coding persona

Pass the config path through the Python SDK's cordis option or DSH_CORDIS_CONFIG. The bundled executable already carries every plugin named by this file; the target machine does not need Node.js.