本文档详细说明了 claude-code-rs 中实现的所有特性开关模块。
| 特性标识 | 模块文件 | 状态 | 描述 |
|---|---|---|---|
| PROACTIVE | features/proactive.rs | ✅ 完成 | 主动建议模式 |
| KAIROS | features/kairos.rs | ✅ 完成 | 时间感知系统 |
| VOICE_MODE | features/voice.rs | ✅ 完成 | 语音交互模式 |
| ULTRAPLAN | features/ultraplan.rs | ✅ 完成 | 超级规划系统 |
| TORCH | features/torch.rs | ✅ 完成 | 未知功能模块 |
| BUDDY | features/buddy.rs | ✅ 完成 | 伴侣系统 |
| FORK_SUBAGENT | features/fork_subagent.rs | ✅ 完成 | 子代理分叉 |
| BRIDGE_MODE | bridge/mod.rs | ✅ 完成 | 远程控制模式 |
| DAEMON | daemon/mod.rs | ✅ 完成 | 守护进程模式 |
| COORDINATOR_MODE | features/coordinator.rs | ✅ 完成 | 协调器模式 |
| AGENT_TRIGGERS | features/agent_triggers.rs | ✅ 完成 | 代理触发器 |
| WEB_BROWSER_TOOL | features/web_browser.rs | ✅ 完成 | Web 浏览器工具 |
| HISTORY_SNIP | features/history_snip.rs | ✅ 完成 | 历史片段 |
| WORKFLOW_SCRIPTS | features/workflow.rs | ✅ 完成 | 工作流脚本 |
模块文件: src/features/proactive.rs
功能说明:
- AI 主动分析代码并提供建议
- 支持多种建议类型(代码改进、潜在错误、最佳实践等)
- 优先级管理和过滤
- 自动和手动触发模式
核心类型:
ProactiveSuggestionType: 建议类型枚举ProactiveSuggestion: 建议结构体ProactiveManager: 建议管理器
模块文件: src/features/kairos.rs
功能说明:
- 基于时间的智能响应
- 时间段识别(早晨、下午、晚上等)
- 用户活动模式学习
- 时间相关建议
核心类型:
TimePeriod: 时间段枚举UserActivityPattern: 用户活动模式KairosManager: 时间感知管理器
模块文件: src/features/voice.rs
功能说明:
- 语音输入识别
- 语音输出合成
- 多种语音配置
- 唤醒词支持
- 语音历史记录
核心类型:
VoiceConfig: 语音配置VoiceManager: 语音管理器SpeechRecognitionResult: 识别结果
模块文件: src/features/ultraplan.rs
功能说明:
- 复杂任务智能规划
- 多代理探索
- 计划审批流程
- 远程执行支持
- 进度跟踪
核心类型:
PlanPhase: 规划阶段UltraPlan: 超级计划UltraPlanManager: 计划管理器
模块文件: src/features/torch.rs
功能说明:
- 可扩展的实验性功能框架
- 功能注册和管理
- 插件式架构
- 多种模式支持
核心类型:
TorchMode: Torch 模式TorchFeature: Torch 功能 traitTorchManager: Torch 管理器
模块文件: src/features/buddy.rs
功能说明:
- AI 伙伴陪伴式交互
- 多种性格选择
- 对话历史管理
- 用户偏好学习
- 情感化回应
核心类型:
BuddyPersonality: 伙伴性格BuddyManager: 伙伴管理器ConversationHistory: 对话历史
模块文件: src/features/fork_subagent.rs
功能说明:
- 创建独立子代理
- 共享缓存机制
- 消息传递系统
- 子代理生命周期管理
- 结果收集
核心类型:
SubagentState: 子代理状态SubagentConfig: 子代理配置SubagentManager: 子代理管理器
模块文件: src/features/coordinator.rs
功能说明:
- 多工作器协调
- 任务队列管理
- 依赖关系处理
- 简单/完整双模式
- 自动任务分配
核心类型:
CoordinatorMode: 协调器模式WorkerInfo: 工作器信息CoordinatorManager: 协调器管理器
模块文件: src/features/agent_triggers.rs
功能说明:
- 基于事件的代理触发
- 多种触发器类型
- 条件评估
- 动作执行
- 冷却机制
核心类型:
TriggerType: 触发器类型AgentTrigger: 代理触发器AgentTriggerManager: 触发器管理器
模块文件: src/features/web_browser.rs
功能说明:
- 网页导航
- 截图功能
- 元素交互
- JavaScript 执行
- 内容提取
核心类型:
BrowserAction: 浏览器操作BrowserManager: 浏览器管理器NavigationResult: 导航结果
模块文件: src/features/history_snip.rs
功能说明:
- 对话历史管理
- 多种压缩策略
- Token 计数
- 优先级保留
- 智能摘要
核心类型:
SnippetType: 片段类型HistorySnippet: 历史片段HistorySnipManager: 历史片段管理器
模块文件: src/features/workflow.rs
功能说明:
- 工作流定义
- 步骤编排
- 条件判断
- 循环和并行
- 触发器系统
核心类型:
WorkflowDefinition: 工作流定义WorkflowStep: 工作流步骤WorkflowManager: 工作流管理器
所有特性都通过 FeatureManager 进行统一管理:
use claude_code_rs::features::{FeatureManager, FeatureFlag};
let mut feature_manager = FeatureManager::new();
// 启用特性
feature_manager.enable(FeatureFlag::Proactive);
// 禁用特性
feature_manager.disable(FeatureFlag::Proactive);
// 检查特性状态
if feature_manager.is_enabled(FeatureFlag::Proactive) {
// 使用特性
}
// 从环境变量加载
feature_manager.load_from_env();use claude_code_rs::features::proactive::ProactiveManager;
use claude_code_rs::state::AppState;
let state = AppState::new();
let mut proactive_manager = ProactiveManager::new(state);
// 使用主动建议功能- 在
src/features/中创建新模块 - 在
src/features/mod.rs中添加FeatureFlag变体 - 实现特性管理器
- 更新特性管理器中的默认状态
- 类型安全: 使用 Rust 的类型系统确保安全
- 错误处理: 合理使用
Result类型 - 异步优先: 使用
async_trait实现异步功能 - 状态管理: 使用
Arc<RwLock>管理共享状态 - 文档完整: 为公共 API 添加文档注释
src/
├── features/
│ ├── mod.rs # 特性管理器和 FeatureFlag 枚举
│ ├── proactive.rs # PROACTIVE 主动建议
│ ├── kairos.rs # KAIROS 时间感知
│ ├── voice.rs # VOICE_MODE 语音
│ ├── ultraplan.rs # ULTRAPLAN 超级规划
│ ├── torch.rs # TORCH 未知功能
│ ├── buddy.rs # BUDDY 伴侣系统
│ ├── fork_subagent.rs # FORK_SUBAGENT 子代理
│ ├── coordinator.rs # COORDINATOR_MODE 协调器
│ ├── agent_triggers.rs # AGENT_TRIGGERS 触发器
│ ├── web_browser.rs # WEB_BROWSER_TOOL 浏览器
│ ├── history_snip.rs # HISTORY_SNIP 历史片段
│ └── workflow.rs # WORKFLOW_SCRIPTS 工作流
├── bridge/ # BRIDGE_MODE 远程控制
└── daemon/ # DAEMON 守护进程
与原 Claude Code 项目相同的许可证。