mirror of
https://github.com/instructkr/claw-code.git
synced 2026-10-31 00:04:39 +08:00
Port the agent-team enhancement layer onto upstream/main so the model can spin up coordinated sub-agent teams for parallel work. subagentModel config wiring (fix): - Add subagent_model field to RuntimeFeatureConfig + RuntimeConfig::subagent_model() accessor so the subagentModel setting (already validated by config_validate.rs) is now actually read and stored. - Agent tool's resolve_agent_model falls back to subagentModel from config when no explicit model is passed. Provider namespace separation: - New 'custom-openai' provider kind with dedicated env vars (CLAWCUSTOMOPENAI_API_KEY / CLAWCUSTOMOPENAI_BASE_URL) - /setup wizard saves kind: 'custom-openai' for option 5 - Bare model name normalized to 'custom/' prefix to avoid proxy 404s - Sub-agents inherit /setup-saved provider config via inject_config_as_env_fallbacks Parallel tool execution: - Override execute_batch to classify read-only tools as parallel-safe and run them concurrently via std::thread::scope - Results return in original model order Team coordination layer: - AgentMessage, TaskClaim, TeamStatus tools + shared mailbox directory - Mode presets (tiny/1x ... mega/6x) + enriched TeamCreate/Agent descriptions - Background team watcher - /team slash command: on/off/status/toggle Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
50 lines
1.1 KiB
TOML
50 lines
1.1 KiB
TOML
[package]
|
|
name = "rusty-claude-cli"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
publish.workspace = true
|
|
|
|
[[bin]]
|
|
name = "claw"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
api = { path = "../api" }
|
|
commands = { path = "../commands" }
|
|
crossterm = "0.28"
|
|
crossbeam-channel = "0.5"
|
|
gag = "1"
|
|
pulldown-cmark = "0.13"
|
|
once_cell = "1"
|
|
ratatui = "0.29"
|
|
rustyline = "15"
|
|
tui-textarea = "0.7"
|
|
runtime = { path = "../runtime" }
|
|
plugins = { path = "../plugins" }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json.workspace = true
|
|
syntect = "5"
|
|
tokio = { version = "1", features = ["rt-multi-thread", "signal", "time"] }
|
|
tools = { path = "../tools" }
|
|
log = "0.4"
|
|
libc = "0.2"
|
|
unicode-width = "0.2"
|
|
|
|
|
|
[lints.rust]
|
|
unsafe_code = "allow"
|
|
|
|
[lints.clippy]
|
|
all = { level = "warn", priority = -1 }
|
|
pedantic = { level = "allow", priority = -1 }
|
|
module_name_repetitions = "allow"
|
|
missing_panics_doc = "allow"
|
|
missing_errors_doc = "allow"
|
|
|
|
[dev-dependencies]
|
|
mock-anthropic-service = { path = "../mock-anthropic-service" }
|
|
serde_json.workspace = true
|
|
tokio = { version = "1", features = ["rt-multi-thread"] }
|
|
|