From a1c85447b86d78e85f4e79e88f6743a1bfb58fab Mon Sep 17 00:00:00 2001 From: Tianyi Cui <53024+tianyicui@users.noreply.github.com> Date: Sun, 19 Jul 2026 22:19:42 +0800 Subject: [PATCH] refactor(examples): rename DSBench composition to jsonrpc-agent --- examples/README.md | 4 ++-- examples/dsbench-coding-agent/package.json | 7 ------- .../{dsbench-coding-agent => jsonrpc-agent}/README.md | 10 +++++----- .../{dsbench-coding-agent => jsonrpc-agent}/cordis.yml | 4 ++-- examples/jsonrpc-agent/package.json | 7 +++++++ .../tests/keyless-smoke.e2e.ts | 6 +++--- python/sdk/README.i18n.yaml | 4 ++-- python/sdk/README.md | 2 +- python/sdk/README.zh.md | 2 +- 9 files changed, 23 insertions(+), 23 deletions(-) delete mode 100644 examples/dsbench-coding-agent/package.json rename examples/{dsbench-coding-agent => jsonrpc-agent}/README.md (60%) rename examples/{dsbench-coding-agent => jsonrpc-agent}/cordis.yml (94%) create mode 100644 examples/jsonrpc-agent/package.json rename examples/{dsbench-coding-agent => jsonrpc-agent}/tests/keyless-smoke.e2e.ts (96%) diff --git a/examples/README.md b/examples/README.md index 620800488d..c06bb791df 100644 --- a/examples/README.md +++ b/examples/README.md @@ -33,9 +33,9 @@ The full-screen terminal sibling of `repl-agent`: it reuses the same coding back Run with: `pnpm run demo:tui` (needs `DEEPSEEK_API_KEY`). See [tui-agent/README.md](tui-agent/README.md) for controls and composition. -## dsbench-coding-agent +## jsonrpc-agent -The unattended SDK composition used by DSBench: JSON-RPC stdio, foreground-only `bash`, `read` / `write` / `edit`, one foreground `subagent`, `todo_write`, JSONL persistence, and compaction. It excludes terminal UI, stdout logging, approvals, skills, and background task controls. See [dsbench-coding-agent/README.md](dsbench-coding-agent/README.md). +An unattended coding agent driven through the Python SDK: JSON-RPC stdio, foreground-only `bash`, `read` / `write` / `edit`, one foreground `subagent`, `todo_write`, JSONL persistence, and compaction. It excludes terminal UI, stdout logging, approvals, skills, and background task controls. See [jsonrpc-agent/README.md](jsonrpc-agent/README.md). ## cordis-agent diff --git a/examples/dsbench-coding-agent/package.json b/examples/dsbench-coding-agent/package.json deleted file mode 100644 index 900c88d69b..0000000000 --- a/examples/dsbench-coding-agent/package.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "dsbench-coding-agent-example", - "private": true, - "version": "0.0.1", - "type": "module", - "description": "DSBench JSON-RPC coding-agent composition" -} diff --git a/examples/dsbench-coding-agent/README.md b/examples/jsonrpc-agent/README.md similarity index 60% rename from examples/dsbench-coding-agent/README.md rename to examples/jsonrpc-agent/README.md index ff45ba36cf..cfbf6787b1 100644 --- a/examples/dsbench-coding-agent/README.md +++ b/examples/jsonrpc-agent/README.md @@ -1,6 +1,6 @@ -# dsbench-coding-agent +# jsonrpc-agent -The DSBench deployment 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 benchmark turns are unattended. +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: @@ -9,7 +9,7 @@ The model-facing tools are: - `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 benchmark result while preserving its `max-tokens` reason. +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 @@ -17,8 +17,8 @@ The surrounding runtime also loads JSONL session persistence and automatic conte |---|---| | `DEEPSEEK_API_KEY` | Credential passed to the OpenAI-compatible host endpoint | | `DEEPSEEK_BASE_URL` | Host endpoint used by `dsh-llm-deepseek` | -| `DSH_CWD` | Benchmark workspace for bash and filesystem tools | +| `DSH_CWD` | Agent workspace for bash and filesystem tools | | `DSH_SESSION_ROOT` | JSONL trajectory directory | -| `DSH_SYSTEM_PROMPT` | DSBench-provided coding persona | +| `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. diff --git a/examples/dsbench-coding-agent/cordis.yml b/examples/jsonrpc-agent/cordis.yml similarity index 94% rename from examples/dsbench-coding-agent/cordis.yml rename to examples/jsonrpc-agent/cordis.yml index 4d970c8b47..de19b3da94 100644 --- a/examples/dsbench-coding-agent/cordis.yml +++ b/examples/jsonrpc-agent/cordis.yml @@ -1,4 +1,4 @@ -# DSBench deployment for the bundled dsh-jsonrpc-agent runtime. +# Unattended coding-agent deployment for the bundled dsh-jsonrpc-agent runtime. # stdout is reserved for JSON-RPC; do not add a console logger or terminal UI. - id: jsonrpc @@ -21,7 +21,7 @@ - id: agent-spine name: '@deepseek-ai/dsh-agent-spine-demo' config: - persona: !!js process.env.DSH_SYSTEM_PROMPT ?? 'You are a coding agent driven by DSBench.' + persona: !!js process.env.DSH_SYSTEM_PROMPT ?? 'You are a coding agent.' workspaceContext: false skills: enabled: false diff --git a/examples/jsonrpc-agent/package.json b/examples/jsonrpc-agent/package.json new file mode 100644 index 0000000000..080b0649a6 --- /dev/null +++ b/examples/jsonrpc-agent/package.json @@ -0,0 +1,7 @@ +{ + "name": "jsonrpc-agent-example", + "private": true, + "version": "0.0.1", + "type": "module", + "description": "Unattended JSON-RPC coding-agent composition" +} diff --git a/examples/dsbench-coding-agent/tests/keyless-smoke.e2e.ts b/examples/jsonrpc-agent/tests/keyless-smoke.e2e.ts similarity index 96% rename from examples/dsbench-coding-agent/tests/keyless-smoke.e2e.ts rename to examples/jsonrpc-agent/tests/keyless-smoke.e2e.ts index f5e2d7b938..41afb03574 100644 --- a/examples/dsbench-coding-agent/tests/keyless-smoke.e2e.ts +++ b/examples/jsonrpc-agent/tests/keyless-smoke.e2e.ts @@ -28,7 +28,7 @@ function waitForLine( return } } catch { - reject(new Error(`non-JSON stdout from DSBench runtime: ${line}`)) + reject(new Error(`non-JSON stdout from JSON-RPC agent runtime: ${line}`)) return } } @@ -42,9 +42,9 @@ function waitForLine( }) } -describe('dsbench-coding-agent keyless smoke', () => { +describe('jsonrpc-agent keyless smoke', () => { it('boots the real Cordis tree and serves initialize/shutdown over clean stdout', async () => { - const root = await mkdtemp(join(tmpdir(), 'dsh-dsbench-smoke-')) + const root = await mkdtemp(join(tmpdir(), 'dsh-jsonrpc-agent-smoke-')) const modelRequests: Record[] = [] const modelServer = createServer((request, response) => { let body = '' diff --git a/python/sdk/README.i18n.yaml b/python/sdk/README.i18n.yaml index bb012a90db..181df4986e 100644 --- a/python/sdk/README.i18n.yaml +++ b/python/sdk/README.i18n.yaml @@ -2,5 +2,5 @@ # side as of the last confirmed-consistent state. Both languages carry equal authority; # after editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write -README.md: 80c9d1f50d26fc4f4670800fd7d7f5ea442ad891 -README.zh.md: ffedb5eb30f17388fe589863dbc654b22716b40c +README.md: 5fd1bc7cd89152a28d3da17100fd62eed4f8cb14 +README.zh.md: 247a2ca5ea5c1c3afc19335a6bbcba356c823211 diff --git a/python/sdk/README.md b/python/sdk/README.md index 80c9d1f50d..5fd1bc7cd8 100644 --- a/python/sdk/README.md +++ b/python/sdk/README.md @@ -27,7 +27,7 @@ from deepseek_harness import DeepSeekHarness with DeepSeekHarness( provider="deepseek", model="deepseek-v4-flash", - cordis="examples/dsbench-coding-agent/cordis.yml", + cordis="examples/jsonrpc-agent/cordis.yml", ) as harness: result = harness.run("Make the requested code change.") ``` diff --git a/python/sdk/README.zh.md b/python/sdk/README.zh.md index ffedb5eb30..247a2ca5ea 100644 --- a/python/sdk/README.zh.md +++ b/python/sdk/README.zh.md @@ -23,7 +23,7 @@ from deepseek_harness import DeepSeekHarness with DeepSeekHarness( provider="deepseek", model="deepseek-v4-flash", - cordis="examples/dsbench-coding-agent/cordis.yml", + cordis="examples/jsonrpc-agent/cordis.yml", ) as harness: result = harness.run("Make the requested code change.") ```