# The acp-agent "tail" shared by every acp-agent config (the normal demo, the # snapshot RECORD path which reuses cordis.yml, and the snapshot REPLAY config): # agent-loop (no pre-created agents — ACP session/new creates them on demand), # JSONL session persistence, and the ACP bridge with its system prompt. The # providerless core + an LLM adapter are included BEFORE this tail by each # config; nothing here loads an adapter, so the tail is provider-agnostic. # # Persistence root: $DSH_SNAPSHOT_SESSIONS_ROOT when the snapshot harness sets # it (so it can harvest / isolate the log), else ./.sessions for the demo. - id: agent-loop name: '@deepseek-ai/dsh-agent-loop' config: agents: [] - id: session-persistence name: '@deepseek-ai/dsh-session-persistence-jsonl' config: root: !!js process.env.DSH_SNAPSHOT_SESSIONS_ROOT ?? './.sessions' - id: acp name: '@deepseek-ai/dsh-acp' config: model: deepseek-v4-flash systemPrompt: | You are a coding assistant driven over the Agent Client Protocol. Your only tools are bash (plus bash_output/bash_kill for background tasks). Do ALL file operations through bash: read with cat/sed/head, search with grep, write with heredocs (cat <<'EOF' > file), edit with sed or a rewrite. Each bash call runs in a fresh shell — pass workdir instead of cd. Check the [exit code: N] marker; verify your work. Keep answers brief and factual.