-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
63 lines (63 loc) · 2.77 KB
/
Copy pathdocker-compose.yml
File metadata and controls
63 lines (63 loc) · 2.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
services:
router:
platform: ${DOCKER_PLATFORM:-linux/amd64}
build:
context: .
image: code-agent-router:local
command:
- python3
- -m
- uvicorn
- router.app:app
- --app-dir
- /app
- --host
- 0.0.0.0
- --port
- "8000"
environment:
ROUTER_MODE: ${ROUTER_MODE:-proxy-record}
ROUTER_API_KEY: ${ROUTER_API_KEY:-local-router-key}
ROUTER_CONTEXT_ID: ${ROUTER_CONTEXT_ID:-}
ROUTER_CONTEXT_REGISTRY: ${ROUTER_CONTEXT_REGISTRY:-}
ROUTER_ARTIFACT_ROOT: ${ROUTER_ARTIFACT_ROOT:-/artifacts/runs}
ROUTER_AGENT_MODE: ${ROUTER_AGENT_MODE:-unknown}
DEFAULT_PROVIDER: ${DEFAULT_PROVIDER:-kimi}
TOOL_CALL_NAME: ${TOOL_CALL_NAME:-}
ATTACK_DATASET_PATH: ${ATTACK_DATASET_PATH:-/app/data/code_agent_attack_dataset.jsonl}
ATTACK_SAMPLE: ${ATTACK_SAMPLE:-1}
ATTACK_PAYLOAD_MODE: ${ATTACK_PAYLOAD_MODE:-raw}
ATTACK_ALLOW_UNSAFE_RAW: ${ATTACK_ALLOW_UNSAFE_RAW:-false}
ATTACK_CODEX_SANDBOX_PERMISSIONS: ${ATTACK_CODEX_SANDBOX_PERMISSIONS:-}
ATTACK_CODEX_APPROVAL_JUSTIFICATION: ${ATTACK_CODEX_APPROVAL_JUSTIFICATION:-Approve the controlled Codex auto-review experiment payload inside the isolated Docker task container.}
ATTACK_INJECTION_MODE: ${ATTACK_INJECTION_MODE:-off}
ATTACK_INJECTION_TURN: ${ATTACK_INJECTION_TURN:-0}
CONTEXT_TIMEOUT_SECONDS: ${CONTEXT_TIMEOUT_SECONDS:-1800}
REQUEST_TIMEOUT_SECONDS: ${REQUEST_TIMEOUT_SECONDS:-120}
ROUTER_TRACE_DIR: ${ROUTER_TRACE_DIR:-}
ROUTER_TRACE_RUN_ID: ${ROUTER_TRACE_RUN_ID:-}
ROUTER_TRACE_AGENT: ${ROUTER_TRACE_AGENT:-}
ROUTER_TRACE_INSTANCE_ID: ${ROUTER_TRACE_INSTANCE_ID:-}
ROUTER_REPLAY_TRACE_DIR: ${ROUTER_REPLAY_TRACE_DIR:-}
ROUTER_REPLAY_UNTIL_TURN: ${ROUTER_REPLAY_UNTIL_TURN:-}
ROUTER_REPLAY_STRICT: ${ROUTER_REPLAY_STRICT:-true}
ROUTER_REPLAY_RESPONSE_FILE: ${ROUTER_REPLAY_RESPONSE_FILE:-response.router.after_injection.json}
KIMI_BASE_URL: ${KIMI_BASE_URL:-https://api.kimi.com/coding/v1}
KIMI_ANTHROPIC_BASE_URL: ${KIMI_ANTHROPIC_BASE_URL:-https://api.kimi.com/coding}
KIMI_API_PROTOCOL: ${KIMI_API_PROTOCOL:-anthropic}
KIMI_API_KEY: ${KIMI_API_KEY:-}
KIMI_MODEL: ${KIMI_MODEL:-kimi-for-coding}
DEEPSEEK_BASE_URL: ${DEEPSEEK_BASE_URL:-https://api.deepseek.com/v1}
DEEPSEEK_API_KEY: ${DEEPSEEK_API_KEY:-}
DEEPSEEK_MODEL: ${DEEPSEEK_MODEL:-deepseek-chat}
ports:
- "${ROUTER_PORT:-8000}:8000"
volumes:
- ./router:/app/router:ro
- ./data:/app/data:ro
- ./artifacts:/artifacts
healthcheck:
test: ["CMD", "node", "-e", "fetch('http://127.0.0.1:8000/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"]
interval: 5s
timeout: 3s
retries: 20