feat: add Claude Code and Qoder agent engines
- Introduce `engine` field on agent profiles (codex/claude/qoder); auto-inferred from command when omitted. - Default profiles now include `claude-bypass` (mirrors `ccx='claude --permission-mode bypassPermissions'`) and `qoder-yolo` (mirrors `qxx='qodercli --yolo'`), both running headless with `-p --output-format stream-json` so session ids can be extracted for resume. - Stream-json engines share parsing: session_id pulled from `system.init`, task stdout shows only assistant text plus a `[done]` line, tool_use/tool_result noise dropped. - Resume builds `--resume <sid> <prompt>` for stream-json engines, keeps Codex's `resume <sid> <prompt>` positional form. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
46
README.md
46
README.md
@@ -94,6 +94,7 @@ npm start
|
||||
{
|
||||
"id": "codex-full",
|
||||
"label": "Codex Full Permission",
|
||||
"engine": "codex",
|
||||
"command": "codex",
|
||||
"args": [
|
||||
"--dangerously-bypass-approvals-and-sandbox",
|
||||
@@ -103,6 +104,32 @@ npm start
|
||||
"--cd",
|
||||
"{workspace_path}"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "claude-bypass",
|
||||
"label": "Claude Code Bypass",
|
||||
"engine": "claude",
|
||||
"command": "claude",
|
||||
"args": [
|
||||
"--permission-mode",
|
||||
"bypassPermissions",
|
||||
"-p",
|
||||
"--output-format",
|
||||
"stream-json",
|
||||
"--verbose"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "qoder-yolo",
|
||||
"label": "Qoder YOLO",
|
||||
"engine": "qoder",
|
||||
"command": "qodercli",
|
||||
"args": [
|
||||
"--yolo",
|
||||
"-p",
|
||||
"--output-format",
|
||||
"stream-json"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -132,10 +159,25 @@ IPADS_API_KEY=replace-with-your-ipads-api-key
|
||||
|
||||
## Agent Session 历史
|
||||
|
||||
任务历史会保存到 `~/.config/local-kanban/state.json`。每次 Codex 启动后,服务会从输出中提取 `session id` 并记录到对应的 project/branch。之后在同一个 project/branch 下,可以在 Web UI 的 “历史 Session” 下拉框里选择之前的任务,点击 “继续 Session” 发送新指令。
|
||||
任务历史会保存到 `~/.config/local-kanban/state.json`。每次 agent 启动后,服务会从输出中提取 `session id` 并记录到对应的 project/branch。之后在同一个 project/branch 下,可以在 Web UI 的 “历史 Session” 下拉框里选择之前的任务,点击 “继续 Session” 发送新指令。
|
||||
|
||||
继续会话使用:
|
||||
默认内置三个 agent profile,可在 Agent 配置下拉框里切换:
|
||||
|
||||
- `codex-full` — Codex,完全权限模式
|
||||
- `claude-bypass` — Claude Code,等价于本地 `alias ccx='claude --permission-mode bypassPermissions'`,但跑在 headless 模式下(`-p --output-format stream-json --verbose`),方便提取 `session_id`
|
||||
- `qoder-yolo` — Qoder CLI,等价于本地 `alias qxx='qodercli --yolo'`,headless 模式下加 `-p --output-format stream-json`
|
||||
|
||||
继续会话使用(按 engine):
|
||||
|
||||
```bash
|
||||
# codex
|
||||
codex --dangerously-bypass-approvals-and-sandbox exec --sandbox danger-full-access --cd <workspace> resume <session_id> <prompt>
|
||||
|
||||
# claude
|
||||
claude --permission-mode bypassPermissions -p --output-format stream-json --verbose --resume <session_id> <prompt>
|
||||
|
||||
# qoder
|
||||
qodercli --yolo -p --output-format stream-json --resume <session_id> <prompt>
|
||||
```
|
||||
|
||||
Profile 自定义时可设 `engine: "codex"` / `"claude"` / `"qoder"` 来选择参数构造与 session id 解析方式;省略时根据 `command` 推断。Claude 和 Qoder 的 stream-json 输出 schema 一致,前端展示时都只渲染 assistant 文本和最终 `[done]` 行。
|
||||
|
||||
Reference in New Issue
Block a user