- feat(ui): add dedicated Agent subagent rendering with nested tool call display, showing parent Agent prompts and child tool invocations as hierarchical cards. - feat(parser): render Codex CLI spawn_agent and OpenCode task as Agent cards with nested tool calls, unifying subagent visualization across agents. - feat(acp): forward meta/locations fields and use parentToolUseId for precise Agent child grouping in Claude ACP streams. - feat(ui): render streaming Agent tool calls as Agent cards with nested child grouping during live responses. - feat(settings): add xhigh reasoning effort level and update Claude Code model placeholders to claude-opus-4.7. - fix(parser): harden Agent subagent state machine, file matching, query performance and streaming child grouping. - fix(ui): suppress streaming Agent partial content to avoid duplicate prompt display. - fix(ui): clean streaming Agent result output by unwrapping JSON and stripping task_id prefix. - fix(ui): render Agent prompt as markdown and add max height to expanded card body. - fix(ui): prevent duplicate error display in Agent subagent card. - fix(ui): replace Codex icon to remove opaque white background. - fix(acp): clear Claude API retry banner when streaming content resumes. - chore(acp): bump claude-agent-acp to 0.29.0 and gemini-cli to 0.38.1. Known issues: - Codex CLI and Gemini CLI subagent execution cannot be rendered in streaming mode; nested tool calls only appear after the subagent finishes. ----------------------------- # 发布版本 0.9.0 - 功能(UI):新增专用的 Agent 子代理渲染,以层级卡片形式展示父 Agent 提示词与子工具调用的嵌套关系; - 功能(解析器):将 Codex CLI 的 spawn_agent 和 OpenCode 的 task 渲染为 Agent 卡片并嵌套子工具调用,统一各代理的子代理可视化; - 功能(ACP):转发 meta/locations 字段并通过 parentToolUseId 精确分组 Claude ACP 流中的 Agent 子项; - 功能(UI):在实时响应过程中将流式 Agent 工具调用渲染为带嵌套子项分组的 Agent 卡片; - 功能(设置):新增 xhigh 推理力度级别,并将 Claude Code 模型占位符更新为 claude-opus-4.7; - 修复(解析器):增强 Agent 子代理状态机、文件匹配、查询性能与流式子项分组的稳定性; - 修复(UI):抑制流式 Agent 的部分内容输出,避免提示词重复显示; - 修复(UI):清理流式 Agent 结果输出,解包 JSON 并去除 task_id 前缀; - 修复(UI):将 Agent 提示词按 Markdown 渲染,并为展开卡片主体设置最大高度; - 修复(UI):修复 Agent 子代理卡片中错误信息重复显示的问题; - 修复(UI):替换 Codex 图标,去除不透明的白色背景; - 修复(ACP):当流式内容恢复时清除 Claude API 重试提示横幅; - 杂项(ACP):升级 claude-agent-acp 到 0.29.0,升级 gemini-cli 到 0.38.1。 已知问题: - Codex CLI 和 Gemini CLI 的子代理执行过程暂不支持流式渲染,嵌套工具调用仅在子代理执行结束后显示。
105 lines
3.3 KiB
TOML
105 lines
3.3 KiB
TOML
[package]
|
|
name = "codeg"
|
|
version = "0.9.0"
|
|
description = "Agent Code Generation App"
|
|
authors = ["feitao"]
|
|
edition = "2021"
|
|
default-run = "codeg"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[lib]
|
|
# The `_lib` suffix may seem redundant but it is necessary
|
|
# to make the lib name unique and wouldn't conflict with the bin name.
|
|
# This seems to be only an issue on Windows, see https://github.com/rust-lang/cargo/issues/8519
|
|
name = "codeg_lib"
|
|
crate-type = ["staticlib", "cdylib", "rlib"]
|
|
|
|
[features]
|
|
default = ["tauri-runtime"]
|
|
tauri-runtime = [
|
|
"dep:tauri",
|
|
"dep:tauri-plugin-opener",
|
|
"dep:tauri-plugin-dialog",
|
|
"dep:fix-path-env",
|
|
"dep:tauri-build",
|
|
"dep:tauri-plugin-window-state",
|
|
"dep:tauri-plugin-updater",
|
|
"dep:tauri-plugin-process",
|
|
"dep:tauri-plugin-notification",
|
|
"dep:keyring",
|
|
]
|
|
|
|
[[bin]]
|
|
name = "codeg"
|
|
path = "src/main.rs"
|
|
|
|
[[bin]]
|
|
name = "codeg-server"
|
|
path = "src/bin/codeg_server.rs"
|
|
required-features = []
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2", features = [], optional = true }
|
|
|
|
[dependencies]
|
|
tauri = { version = "2", features = [], optional = true }
|
|
tauri-plugin-opener = { version = "2", optional = true }
|
|
tauri-plugin-dialog = { version = "2", optional = true }
|
|
async-trait = "0.1"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
thiserror = "2"
|
|
dirs = "6"
|
|
walkdir = "2"
|
|
sacp = "11.0.0"
|
|
sacp-tokio = "11.0.0"
|
|
tokio = { version = "1", features = ["process", "io-util", "sync", "macros", "rt", "net", "rt-multi-thread"] }
|
|
uuid = { version = "1", features = ["v4"] }
|
|
futures = "0.3"
|
|
reqwest = { version = "0.12", features = ["stream", "json"] }
|
|
flate2 = "1"
|
|
bzip2 = "0.5"
|
|
tar = "0.4"
|
|
zip = "2"
|
|
regex = "1"
|
|
portable-pty = "0.8"
|
|
urlencoding = "2"
|
|
fix-path-env = { git = "https://github.com/tauri-apps/fix-path-env-rs", version = "0.0.0", optional = true }
|
|
sea-orm = { version = "1.1", features = ["sqlx-sqlite", "runtime-tokio-rustls", "macros"] }
|
|
sea-orm-migration = { version = "1.1", features = ["sqlx-sqlite", "runtime-tokio-rustls"] }
|
|
toml = "0.8"
|
|
notify = "6"
|
|
base64 = "0.22"
|
|
agent-client-protocol-schema = { version = "0.11", features = ["unstable_session_usage", "unstable_session_fork"] }
|
|
kill_tree = { version = "0.2", features = ["tokio"] }
|
|
which = "7"
|
|
keyring = { version = "3", features = ["apple-native", "windows-native", "sync-secret-service"], optional = true }
|
|
axum = { version = "0.8", features = ["ws"] }
|
|
tower-http = { version = "0.6", features = ["fs", "cors"] }
|
|
tokio-tungstenite = { version = "0.26", features = ["native-tls"] }
|
|
futures-util = "0.3"
|
|
prost = "0.13"
|
|
rand = "0.8"
|
|
qrcode = "0.14"
|
|
image = { version = "0.25", default-features = false, features = ["png"] }
|
|
include_dir = "0.7"
|
|
sha2 = "0.10"
|
|
|
|
[target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies]
|
|
tauri-plugin-window-state = { version = "2", optional = true }
|
|
tauri-plugin-updater = { version = "2", optional = true }
|
|
tauri-plugin-process = { version = "2", optional = true }
|
|
tauri-plugin-notification = { version = "2", optional = true }
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
mac-notification-sys = "0.6"
|
|
|
|
[target.'cfg(target_os = "windows")'.dependencies]
|
|
windows-sys = { version = "0.59", features = ["Win32_Storage_FileSystem"] }
|
|
junction = "1"
|
|
|
|
[patch.crates-io]
|
|
sacp-tokio = { path = "vendor/sacp-tokio" }
|