refactor(examples): rename DSBench composition to jsonrpc-agent
This commit is contained in:
@@ -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.
|
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
|
## cordis-agent
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "dsbench-coding-agent-example",
|
|
||||||
"private": true,
|
|
||||||
"version": "0.0.1",
|
|
||||||
"type": "module",
|
|
||||||
"description": "DSBench JSON-RPC coding-agent composition"
|
|
||||||
}
|
|
||||||
@@ -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:
|
The model-facing tools are:
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@ The model-facing tools are:
|
|||||||
- `subagent`, using one foreground in-process spawn provider
|
- `subagent`, using one foreground in-process spawn provider
|
||||||
- `todo_write`
|
- `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
|
## 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_API_KEY` | Credential passed to the OpenAI-compatible host endpoint |
|
||||||
| `DEEPSEEK_BASE_URL` | Host endpoint used by `dsh-llm-deepseek` |
|
| `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_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.
|
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.
|
||||||
@@ -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.
|
# stdout is reserved for JSON-RPC; do not add a console logger or terminal UI.
|
||||||
|
|
||||||
- id: jsonrpc
|
- id: jsonrpc
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
- id: agent-spine
|
- id: agent-spine
|
||||||
name: '@deepseek-ai/dsh-agent-spine-demo'
|
name: '@deepseek-ai/dsh-agent-spine-demo'
|
||||||
config:
|
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
|
workspaceContext: false
|
||||||
skills:
|
skills:
|
||||||
enabled: false
|
enabled: false
|
||||||
7
examples/jsonrpc-agent/package.json
Normal file
7
examples/jsonrpc-agent/package.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "jsonrpc-agent-example",
|
||||||
|
"private": true,
|
||||||
|
"version": "0.0.1",
|
||||||
|
"type": "module",
|
||||||
|
"description": "Unattended JSON-RPC coding-agent composition"
|
||||||
|
}
|
||||||
@@ -28,7 +28,7 @@ function waitForLine(
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
} catch {
|
} catch {
|
||||||
reject(new Error(`non-JSON stdout from DSBench runtime: ${line}`))
|
reject(new Error(`non-JSON stdout from JSON-RPC agent runtime: ${line}`))
|
||||||
return
|
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 () => {
|
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<string, unknown>[] = []
|
const modelRequests: Record<string, unknown>[] = []
|
||||||
const modelServer = createServer((request, response) => {
|
const modelServer = createServer((request, response) => {
|
||||||
let body = ''
|
let body = ''
|
||||||
@@ -2,5 +2,5 @@
|
|||||||
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
# 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:
|
# after editing either side, bring the other along and re-record with:
|
||||||
# pnpm run verify-translation-pairing --write
|
# pnpm run verify-translation-pairing --write
|
||||||
README.md: 80c9d1f50d26fc4f4670800fd7d7f5ea442ad891
|
README.md: 5fd1bc7cd89152a28d3da17100fd62eed4f8cb14
|
||||||
README.zh.md: ffedb5eb30f17388fe589863dbc654b22716b40c
|
README.zh.md: 247a2ca5ea5c1c3afc19335a6bbcba356c823211
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ from deepseek_harness import DeepSeekHarness
|
|||||||
with DeepSeekHarness(
|
with DeepSeekHarness(
|
||||||
provider="deepseek",
|
provider="deepseek",
|
||||||
model="deepseek-v4-flash",
|
model="deepseek-v4-flash",
|
||||||
cordis="examples/dsbench-coding-agent/cordis.yml",
|
cordis="examples/jsonrpc-agent/cordis.yml",
|
||||||
) as harness:
|
) as harness:
|
||||||
result = harness.run("Make the requested code change.")
|
result = harness.run("Make the requested code change.")
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ from deepseek_harness import DeepSeekHarness
|
|||||||
with DeepSeekHarness(
|
with DeepSeekHarness(
|
||||||
provider="deepseek",
|
provider="deepseek",
|
||||||
model="deepseek-v4-flash",
|
model="deepseek-v4-flash",
|
||||||
cordis="examples/dsbench-coding-agent/cordis.yml",
|
cordis="examples/jsonrpc-agent/cordis.yml",
|
||||||
) as harness:
|
) as harness:
|
||||||
result = harness.run("Make the requested code change.")
|
result = harness.run("Make the requested code change.")
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user