Agent Sandbox Registry

agent-sandbox

Decision: One CLI name per credential

无中文版

.agents/notes/implemented/feature/2026-09-30-unified-config-keys.md

Decision: One CLI name per credential

Status: implemented Implemented: 2026-09-30 Related: 2026-09-30-credential-resolution-priority.md, 2026-09-29-config-init-wizard.md, 2026-09-29-pluggable-coding-agent-backend.md

Problem

abx config list showed two LLM profiles (qwen_code_* and llm_*) and a sandbox key named api_key. The two API keys are the same kind of OpenAI-compatible credential, and api_key does not say which service it authenticates. Users had to guess which key to set.

Decision

The CLI config surface keeps one name per credential:

The Python SDK parameter stays api_key= so E2B-compatible call sites do not change.

API Design

CLI keys (abx config get / abx config set / abx config list):

SDK: Sandbox.create(api_key=...) is unchanged.

Alternatives considered

Dependencies

agent_sandbox.cli.commands.config_cmd, agent_sandbox.cli.commands._coding_agent, agent_sandbox.agent.qwen_code (default base URL and model).

Test Strategy

CLI tests cover the alias, the removed-key error, legacy ABX_QWEN_CODE_API_KEY / qwen_code_base_url / qwen_code_model read as llm_*, and llm_api_key winning when both secrets exist. Golden files for config list, config get, config set, and config init are regenerated.

Acceptance criteria