- 新增ShellSessionManager管理交互式shell会话,支持进程保持和交互输入 - BashTool集成会话管理,支持session_id和stdin_input参数实现输入回复 - 修改BashTool执行逻辑,检测进程等待输入状态并保存会话状态 - Windows平台新增底层进程等待输入检测实现,辅助判断Shell交互状态 - 工具注册工厂注入ShellSessionManager,保证安全复用会话管理实例 - 增加默认agent prompt中Shell交互终端说明,提示交互流程及输入格式 - 交互式命令输出增加标识和提示,区分正常与等待输入状态 - 实现会话超时自动清理和优雅关闭接口,避免资源泄露 - 单元测试中统一使用BashTool默认构造,适配会话管理新增功能
62 lines
1.8 KiB
TOML
62 lines
1.8 KiB
TOML
[package]
|
|
name = "picobot"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
|
|
[dependencies]
|
|
reqwest = { version = "0.13.2", default-features = false, features = ["json", "rustls", "multipart", "stream"] }
|
|
dotenv = "0.15"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
regex = "1.0"
|
|
serde_json = "1.0"
|
|
serde_yaml = "0.9"
|
|
async-trait = "0.1"
|
|
thiserror = "2.0.18"
|
|
tokio = { version = "1.0", features = ["full"] }
|
|
uuid = { version = "1.0", features = ["v4"] }
|
|
axum = { version = "0.8", features = ["ws"] }
|
|
tokio-tungstenite = { version = "0.29.0", features = ["rustls-tls-webpki-roots", "rustls"] }
|
|
futures-util = "0.3"
|
|
clap = { version = "4", features = ["derive"] }
|
|
dirs = "6.0.0"
|
|
prost = "0.14"
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
|
|
tracing-appender = "0.2"
|
|
anyhow = "1.0"
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
chrono-tz = "0.10"
|
|
cron = { version = "0.13", features = ["serde"] }
|
|
iana-time-zone = "0.1"
|
|
mime_guess = "2.0"
|
|
base64 = "0.22"
|
|
image = { version = "0.25", default-features = false, features = ["jpeg", "png", "gif", "webp"] }
|
|
tempfile = "3"
|
|
meval = "0.2"
|
|
rusqlite = { version = "0.39", features = ["bundled"] }
|
|
r2d2 = "0.8"
|
|
r2d2_sqlite = "0.34"
|
|
rustls = { version = "0.23", features = ["ring"] }
|
|
wechatbot = { path = "vendor/wechatbot" }
|
|
encoding_rs = "0.8"
|
|
libc = "0.2"
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
windows-sys = { version = "0.59", features = [
|
|
"Win32_System_Threading",
|
|
"Win32_System_Diagnostics_Debug",
|
|
"Win32_Foundation",
|
|
"Win32_System_Kernel",
|
|
] }
|
|
# MCP (Model Context Protocol) support
|
|
rmcp = { git = "https://github.com/modelcontextprotocol/rust-sdk", branch = "main", features = [
|
|
"client",
|
|
"transport-child-process",
|
|
"transport-streamable-http-client-reqwest",
|
|
"reqwest",
|
|
] }
|
|
schemars = "1.0"
|
|
http = "1"
|
|
tower-http = { version = "0.6", features = ["fs"] }
|
|
rust-embed = "8"
|