开发指南
从源码构建、扩展 Provider/Channel/Tool、测试与 CI。
开发指南
前置条件
- Rust 稳定版(rustup)
- just(
cargo install just) - Node.js(可选,仅 GUI 开发需要)
构建与验证
just build # 构建所有 crate
just build-release # Release 构建
just test # 运行测试
just check # Clippy 检查
just fmt # 格式化
just ci # fmt-check + check + test(完整 CI)无 just 时:
cargo build --all
cargo test --all
cargo clippy --all -- -D warnings
cargo fmt --all本地运行
just run gateway # 启动 Gateway
just run tui # 启动 TUI
just run onboard # 运行 onboard或直接:
cargo run -p agent-diva-cli -- gateway扩展 Provider
- 实现
LLMProvidertrait(agent-diva-providers/src/base.rs) - 在
providers.yaml中注册,或通过custom_providers配置 - 遵守 Provider 模型 ID 规则
关键方法:chat、chat_stream、get_default_model。
扩展 Channel
- 实现
ChannelHandlertrait(agent-diva-channels/src/base.rs) - 在
ChannelsConfig中增加配置结构体 - 在 Channel Manager 中注册并启动
关键方法:name、is_running、start、stop,以及订阅 Message Bus 的入站/出站消息。
扩展 Tool
- 实现
Tooltrait(agent-diva-tools/src/base.rs) - 在 Agent Loop 的
loop_tools.rs中注册到ToolRegistry
关键方法:name、description、parameters、execute、validate_params。
测试
cargo test -p agent-diva-core # 单 crate
cargo test message_bus # 按名称匹配
cargo test -- --nocapture # 显示 stdout