docs: 战略规划和管理架构优化

- 新增 STRATEGY.md: 三年战略规划、技术路线、团队策略
- 新增 MILESTONES.md: 详细里程碑和时间表(M1.1-M1.4)
- 新增 CODE_REVIEW.md: 代码审核标准和流程
- 组建管理班子: 新增 PM 刘建国,优化管理架构
- 丰富团队成员背景: 补充所有成员的教育经历、工作经验、技能树
- 解锁多线程思考能力: 团队成员可使用 kilo 命令并行探索
- 更新工作流程: CEO → PM → 开发团队,两级审核制度
- 修正 kilo 调用方式: 不使用 -f 参数,在消息中指示读取文件
This commit is contained in:
showen
2026-03-12 06:14:52 +08:00
parent 98ba7704dd
commit d443f28f6e
22 changed files with 3572 additions and 100 deletions

View File

@@ -75,27 +75,7 @@ impl ServiceManager {
}
}
Destination::Broadcast => {
let from = envelope.from;
let msg = envelope.message;
for plugin in &mut self.plugins {
if plugin.id() == from {
continue;
}
if let Err(e) = plugin.handle_message(msg.clone()) {
eprintln!(
"[ServiceManager] 插件 '{}' 处理广播消息失败: {}",
plugin.id(),
e
);
}
}
if matches!(msg, Message::Shutdown) {
println!("[ServiceManager] 收到 Shutdown 广播");
self.running = false;
}
self.broadcast_message(envelope.message);
}
Destination::Manager => {
self.handle_manager_message(envelope.message)?;
@@ -123,19 +103,7 @@ impl ServiceManager {
match msg {
Message::Shutdown => {
println!("[ServiceManager] 收到 Shutdown 指令");
let shutdown = Message::Shutdown;
for plugin in &mut self.plugins {
if let Err(e) = plugin.handle_message(shutdown.clone()) {
eprintln!(
"[ServiceManager] 插件 '{}' 处理 Shutdown 失败: {}",
plugin.id(),
e
);
}
}
self.running = false;
self.broadcast_message(Message::Shutdown);
}
Message::ConfigReloadRequest => {
println!("[ServiceManager] 收到配置重载请求");
@@ -149,6 +117,25 @@ impl ServiceManager {
Ok(())
}
fn broadcast_message(&mut self, msg: Message) {
let should_shutdown = matches!(&msg, Message::Shutdown);
for plugin in &mut self.plugins {
if let Err(e) = plugin.handle_message(msg.clone()) {
eprintln!(
"[ServiceManager] 插件 '{}' 处理广播消息失败: {}",
plugin.id(),
e
);
}
}
if should_shutdown {
println!("[ServiceManager] 收到 Shutdown 广播");
self.running = false;
}
}
/// 获取发送通道的克隆(供外部使用)
pub fn sender(&self) -> mpsc::Sender<Envelope> {
self.tx.clone()