添加qiming-rcoder模块

This commit is contained in:
Codex
2026-06-01 13:54:52 +08:00
parent 8092c4b1f8
commit 4b1a580132
539 changed files with 151650 additions and 0 deletions

229
qiming-rcoder/Cargo.toml Normal file
View File

@@ -0,0 +1,229 @@
[workspace]
members = ["crates/*"]
exclude = ["tmp/*", "crates/ai-agents", "crates/codex-acp-agent"]
resolver = "2"
default-members = [
"crates/rcoder",
"crates/agent_runner",
"crates/shared_types",
"crates/docker_manager",
"crates/rcoder-proxy",
"crates/duckdb_manager",
"crates/container-runtime-api",
]
[workspace.lints]
rustdoc.unbroken_backticks = "warn"
rustdoc.redundant_explicit_links = "warn"
rust.unused_lifetimes = "warn"
rust.unused_qualifications = "warn"
rust.variant_size_differences = "warn"
rust.allow_leading_underscore = "warn"
[workspace.package]
version = "0.1.0"
edition = "2024"
authors = ["soddy <soddygo@qq.com>"]
license = "MIT OR Apache-2.0"
description = "Rust-based AI agent framework"
publish = false
[workspace.dependencies]
# ACP Protocol - 官方 SDK完全 Send-safe无需 LocalSet
agent-client-protocol = { version = "0.11.1", features = ["unstable_session_usage"] }
# MCP 协议 - rmcp 官方库 (升级到 0.12 以兼容 SACP)
rmcp = { version = "0.12.0", features = ["server", "client", "transport-io", "transport-child-process", "schemars"] }
piper = "0.2"
clap = { version = "4.6", features = ["derive", "env"] }
# Async runtime
tokio = { version = "1.52", features = ["full"] }
tokio-util = { version = "0.7", features = ["compat"] }
async-trait = "0.1"
smol = "2.0"
# HTTP server
axum = { version = "0.8", features = [
"http2",
"query",
"tracing",
"ws",
"multipart",
"macros",
] }
tower = "0.5"
tower-http = { version = "0.6", features = ["cors", "trace"] }
tonic = { version = "0.14.5", features = ["tls-native-roots"] }
http = "1.0"
http-body = "1.0"
http-body-util = "0.1"
# Database
sqlx = { version = "0.8", features = [
"runtime-tokio-rustls",
"sqlite",
"chrono",
"uuid",
] }
duckdb = { version = "1.4", features = ["bundled"] }
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0.148"
serde_json_lenient = "0.2"
schemars = { version = "1.2", features = ["derive"] }
config = "0.15"
# Error handling
anyhow = "1.0"
thiserror = "2.0"
# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
log = "0.4"
env_logger = "0.11"
# OpenTelemetry (统一使用 0.30 以兼容 tracing-opentelemetry)
opentelemetry = "0.31"
opentelemetry_sdk = { version = "0.31", features = ["rt-tokio"] }
opentelemetry-otlp = { version = "0.31", features = [
"grpc-tonic",
"http-proto",
] }
tracing-opentelemetry = "0.32"
axum-tracing-opentelemetry = "0.33"
# Prometheus Metrics
metrics = "0.24"
metrics-exporter-prometheus = "0.18"
# UUID
uuid = { version = "1.0", features = ["serde", "v4", "v7"] }
# Date/time
chrono = { version = "0.4", features = ["serde"] }
# File system watching
notify = "8.2"
# File system utilities
tokio-fs = "0.1"
path-clean = "1.0"
# Utilities
dashmap = "6.0"
futures = "0.3"
futures-util = "0.3"
itertools = "0.14"
bytes = "1.11"
arrayvec = "0.7"
# collections = "0.2" # 这个包不存在
url = { version = "2.5", features = ["serde"] }
# TLS/Crypto
rustls = { version = "0.23", features = ["ring"] }
# Additional utilities
indoc = "2.0"
parking_lot = "0.12"
convert_case = "0.11"
handlebars = { version = "6.3", features = ["rust-embed"] }
rust-embed = "8.0"
zstd = "0.13"
# 构建工具
derive_builder = "0.20"
# Zed 核心功能依赖
libc = "0.2"
nix = { version = "0.31.2", features = ["fs", "process", "term", "signal"] }
unindent = "0.2" # 使用 crates.io 版本
open = "5.0" # 使用 crates.io 版本
git2 = "0.20.4"
tree-sitter-rust = "0.24" # 使用 crates.io 版本
# Additional dependencies for nuwax_parser
sha2 = "0.11"
hex = "0.4"
walkdir = "2.5"
reqwest = { version = "0.13", features = ["json", "stream"] }
# 项目依赖 - 保留核心功能
aho-corasick = "1.0"
# askpass = "0.1" # 这个包不存在
base64 = "0.22"
circular-buffer = "1.2"
fancy-regex = "0.18"
fuzzy = "0.0.1"
globset = "0.4"
image = "0.25"
indexmap = "2.14"
pathdiff = "0.2"
postage = "0.5"
regex = "1.0"
semver = "1.0"
shellexpand = "3.1"
shlex = "1.0"
smallvec = "1.15"
toml = "0.9"
which = "8.0"
# Dev dependencies for testing
ctor = "0.13"
pretty_assertions = "1.4"
tempfile = "3.24"
rand = "0.10"
tokio-test = "0.4"
expect-test = "1.5"
# File system utilities
dirs = "6.0"
# Archive utilities
flate2 = "1.0"
tar = "0.4"
zip = "8.6"
utoipa = { version = "5.4", features = ["axum_extras", "uuid", "chrono"] }
utoipa-swagger-ui = { version = "9.0", features = ["axum"] }
ringbuf = "0.5"
diffy = { version = "0.5" }
pingora = { version = "0.8", features = ["lb", "rustls"] }
pingora-core = { version = "0.8", features = ["rustls"] }
pingora-http = "0.8"
pingora-proxy = { version = "0.8", features = ["rustls"] }
pingora-load-balancing = { version = "0.8", features = ["rustls"] }
matchit = "0.9.2"
structopt = "0.3"
bollard = { version = "0.21" }
# Cache library
moka = { version = "0.12", features = ["future", "sync"] }
# i18n (国际化)
rust-i18n = "4"
# Internal crates
rcoder-telemetry = { path = "crates/rcoder-telemetry" }
# Pyroscope Continuous Profiling
pyroscope = "0.5"
pyroscope_pprofrs = "0.2"