iop/configs/edge.yaml
toki 1479949db0 feat(node/cli): improve persistent session handling and Claude terminal support
- Add writePrompt with character-by-character typing for terminal profiles (2ms delay)
- Separate cliOutput into text and markerLine fields for precise completion matching
- Add consumeCompleteLines for buffered output parsing
- Add matchAny for multi-line completion marker checking
- Auto-accept Claude Code Bypass Permissions warning at startup
- Change PTY output reader from bufio.Scanner to ptmx.Read for raw byte output
- Improve drainUntilIdle with profile info and Claude bypass warning handling
- Add Claude status raw output fallback when usage parsing fails
- Add comprehensive blackbox tests for persistent sessions (21 test cases)
- Update e2e smoke test with proper wait functions, mock CLI script, and timeout variables
- Update edge.yaml console target from gemini to claude-tui, increase timeouts
- Update web app: add dev documentation, verify script, engines field, test message
2026-05-18 14:22:58 +09:00

133 lines
3.4 KiB
YAML

edge:
id: "edge-dgx-group"
name: "DGX Group"
server:
listen: "0.0.0.0:9090"
tls:
enabled: false
logging:
level: "info"
pretty: true
metrics:
port: 9092
console:
adapter: "cli"
target: "claude-tui"
session_id: "default"
background: false
timeout_sec: 300
nodes:
# id is the stable node identity; omitting it falls back to an auto UUID (dev only).
- id: "node-dgx-01"
alias: "local-node"
token: "changeme"
adapters:
ollama:
enabled: false
base_url: "http://localhost:11434"
vllm:
enabled: false
endpoint: "http://localhost:8000"
cli:
enabled: true
profiles:
claude:
command: "claude"
args:
- "-p"
- "--dangerously-skip-permissions"
- "--output-format"
- "stream-json"
- "--include-partial-messages"
- "--verbose"
env: []
persistent: false
terminal: false
output_format: "claude-json"
claude-tui:
command: "claude"
args:
- "--permission-mode"
- "bypassPermissions"
env:
- "TERM=xterm-256color"
persistent: true
terminal: true
response_idle_timeout_ms: 8000
startup_idle_timeout_ms: 4000
mode: "persistent-lazy"
gemini:
command: "gemini"
args:
- "--approval-mode"
- "yolo"
- "--output-format"
- "stream-json"
- "-m"
- "gemini-2.5-flash"
- "-p"
env: []
persistent: false
terminal: false
output_format: "stream-json"
codex:
command: "codex"
args:
- "exec"
- "--dangerously-bypass-approvals-and-sandbox"
- "--color"
- "never"
- "--skip-git-repo-check"
- "--json"
resume_args:
- "exec"
- "resume"
- "--json"
env: []
persistent: false
terminal: false
output_format: "codex-json"
mode: "codex-exec"
opencode:
command: "/config/.npm-global/bin/opencode"
args:
- "--title"
- "untitle"
- "--model"
- "ollama-dgx/qwen3.6:35b-a3b-bf16"
- "--dangerously-skip-permissions"
env: []
persistent: false
terminal: false
mode: "opencode-sse"
cline-dgx:
command: "/config/.npm-global/bin/cline"
args:
- "-y"
- "--json"
- "--config"
- "/config/.cline/profiles/ollama-dgx"
env: []
persistent: false
terminal: false
output_format: "cline-json"
cline-m1:
command: "/config/.npm-global/bin/cline"
args:
- "-y"
- "--json"
- "--config"
- "/config/.cline/profiles/ollama-m1"
env: []
persistent: false
terminal: false
output_format: "cline-json"
runtime:
concurrency: 4
workspace_root: "/tmp/iop/workspace"