- feat(acp): add opencode plugin management — detect, install, uninstall plugins via preflight UI. - feat(frontend): add OpencodePluginsModal with streaming install progress. - feat(i18n): add opencode plugin management translations for 10 languages. - fix(acp): use XDG paths for opencode config/cache instead of platform-native dirs. - fix(acp): pin @latest plugin specs to installed versions and enable button when only floating versions exist. - fix(acp): avoid false-positive comment detection on URLs in opencode.json. - fix(acp): harden session-page connection and localize backend errors. - fix(experts): handle Windows junction removal when unlinking skill entries. - fix(frontend): remove explicit primary color from input bar controls. ----------------------------- # 发布版本 0.8.1 - 新增(acp):添加 opencode 插件管理 —— 通过预检 UI 检测、安装、卸载插件; - 新增(前端):添加 OpencodePluginsModal 组件,支持流式安装进度展示; - 新增(i18n):为 opencode 插件管理添加 10 种语言翻译; - 修复(acp):opencode 配置/缓存使用 XDG 路径而非平台原生目录; - 修复(acp):将 @latest 浮动版本的插件规格固定为实际安装版本,并在仅有浮动版本时启用按钮; - 修复(acp):避免对 opencode.json 中的 URL 误判为注释; - 修复(acp):加固会话-页面连接并本地化后端错误信息; - 修复(experts):处理 Windows 下取消技能条目链接时的 junction 移除问题; - 修复(前端):移除输入栏控件的显式主色调。
105 lines
3.3 KiB
TOML
105 lines
3.3 KiB
TOML
[package]
|
|
name = "codeg"
|
|
version = "0.8.1"
|
|
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" }
|