# 全智能平台总方案（闭环补齐完整版）

> Windows 企微多开 + 插件导入 · Linux/VPS 24h AI 程序员 · 外部聊天（wbexpo）· **九环智能闭环已补齐**  
> 客服接入：https://www.wbexpo.com/integration  
> 产品：https://py99999.com/wecom-multi/ · 交接：https://py99999.com/wecom-multi/dev/  
> 实现骨架：`src/WeComMulti.Runtime`

---

## 0. 一句话

同一套 **AI Runtime**：默认安全（P0）；用户自开最高权限（P3）后，外部聊天可驱动改源码/数据库；  
闭环强制走 **感知→认知→规划→行动→验证→学习→优化→扩展→协同**，失败回滚重规划，成功沉淀 Skill。

---

## 1. 九环智能闭环（已定为实现契约）

```text
① Perceive   TelemetryBus / 日志 / 聊天 / 文件变更 / ProactiveWatcher
② Understand CodeIndex·KernelMap·Schema·Memory·Privilege
③ Plan       Planner 角色 → Mission + steps[] + VerifyPlan + 所需权限
④ Act        Coder 角色 → SiteAgent/DbAgent/Shell/WeComBackend（Gate 放行）
⑤ Verify     VerifyOrchestrator → 失败 Rollback → Replan（≤N）
⑥ Learn      MemoryStore 记指纹；SkillDistiller 出 skill 草案
⑦ Optimize   OptimizeEngine 调参（在安全框内）
⑧ Extend     ExtendEngine 拉 rules/compat/skill/plugin
⑨ Communicate ChatToolProtocol 流式进度；/pause /rollback；人可打断
        └──────────── 定时巡检或新事件回到 ①
```

**闭环硬规则（代码必须遵守）**

1. 任何写操作必须挂在 `Mission` 的某一步下。  
2. 写前必须有备份点；写后必须跑该步 `VerifyPlan`。  
3. Verify 失败：自动 Rollback 到备份点 → Replan；超过 N 次 → Escalate 到聊天。  
4. Mission 成功：强制 `Learn` 一次。  
5. 权限不足：Mission=`PausedNeedPrivilege`，聊天说明缺哪一档，**绝不偷升权**。

---

## 2. 权限（用户主权，已补「智能索权」）

| 档位 | 能力 |
|------|------|
| P0 | 只读侦测、问答、预览补丁 |
| P1 | 策略、扩展、重启本产品、只读库元数据 |
| P2 | 白名单改源码、迁移脚本、有限 SQL |
| P3 | 用户 scopes 内改源码/库/服务/白名单 shell |

- 出厂 P0；P3 = 显式开启 + 口令/TOTP + 可时限。  
- **智能索权**：Planner 算出 `requiredLevel`，聊天回复「需要 P2，请在面板开启」+ 操作指引。  
- 访客会话永不能 P3；仅 owner 绑定会话。

---

## 3. 核心模块总表（缺口已全部立项）

| 模块 | 闭环角色 | 职责 |
|------|----------|------|
| `PluginHost` | 扩展 | 加载 `.wcmp`，Capability≤当前档位 |
| `TelemetryBus` | 感知 | 进程内事件总线 |
| `PrivilegeGate` | 门禁 | P0–P3 + scopes |
| `MissionEngine` | **闭环核心** | 状态机 Observe→…→Learn |
| `AgentRoles` | 规划/编码/审 | Planner / Coder / Reviewer 提示分工 |
| `CodeIndex` | 认知 | 路径树、符号、路由、堆栈锚定 |
| `KernelMap` | 认知 | 模块/风险图；落盘后增量更新 |
| `SchemaCatalog` | 认知 | DB 表结构摘要 |
| `MemoryStore` | 学习 | 故障指纹→成功摘要/禁忌 |
| `SkillDistiller` | 学习/扩展 | 成功 Mission→skill 草案 |
| `VerifyOrchestrator` | 验证 | 命令+成功条件+回滚 |
| `BackupService` | 验证前提 | git/tar/可选 dump |
| `ProactiveWatcher` | 主动感知 | ERROR/5xx/磁盘→自动建 Mission |
| `OptimizeEngine` | 优化 | local-policy 调参+回滚 |
| `ExtendEngine` | 扩展 | feed + 签名校验 |
| `ChatBridge` | 协同 | wbexpo Webhook/REST/WS |
| `ChatToolProtocol` | 协同 | `/plan` `/run` `/pause` `/rollback` + JSON tool |
| `SiteAgent` | 行动 | 改文件（scopes） |
| `DbAgent` | 行动 | dry-run/事务 SQL |
| `BudgetGuard` | 可持续 | Token/日预算，超限降级规则 |
| `RuntimeWatchdog` | 自愈 | 隔离坏插件、保活 |
| `FileLease` | 协同 | 多会话改同一文件互斥 |
| `EvalSuite` | 评测 | 影子任务跑分，防降智 |
| `WeComBackend` | 行动(Win) | Mutex 多开 |

实现位置：`src/WeComMulti.Runtime`（已建骨架）。

---

## 4. Mission 状态机（完整）

```text
Created
  → Understanding
  → Planned
  → WaitingPrivilege? ──(用户升权)──→ Planned
  → RunningStep
       ├─ ActOk → Verifying
       │            ├─ VerifyOk → (more steps? RunningStep : Completing)
       │            └─ VerifyFail → RollingBack → Replanning → Planned
       │                              └─ 超过 maxReplan → Escalated
  → Completing → Learning → Completed
  → Paused（/pause 或 FileLease 冲突）
  → Cancelled / Escalated / Failed
```

每步结构：

```json
{
  "id": "s1",
  "role": "coder",
  "action": "edit_file|exec_sql|shell|http_smoke|wecom_launch",
  "requiredLevel": "P2",
  "inputs": {},
  "verify": { "commands": ["php -l path"], "httpGet": "/health", "expect": "exit0|status200" },
  "backupId": "b_..."
}
```

---

## 5. 认知层（已补齐设计）

### 5.1 CodeIndex / RAG

- 索引：`sourceRoots` 下源码扩展名、路由、composer/npm 清单、README。  
- 查询：自然语言 / 堆栈 `file:line` → TopK 片段进 Planner 上下文。  
- 更新：Mission 成功改动的文件 → 增量重嵌。

### 5.2 KernelMap

- 产出：`kernel-map/modules.json`、`risk-register.json`、调用链摘要。  
- 触发：启动全量、每日、**每次 Mission Completing**。

### 5.3 SchemaCatalog

- 读 `INFORMATION_SCHEMA`（或等价）存摘要；禁止默认对生产做无事务破坏性 DDL。  
- 写库：优先事务 + dry-run 解释；P3 才允许用户 scopes 内 DDL。

### 5.4 MemoryStore

- Key：`errorFingerprint` / `intentHash`  
- Value：成功步骤摘要、失败禁忌、所用 skill。  
- Planner 建 Mission 前必查 Memory。

---

## 6. 主动智能（已补齐）

`ProactiveWatcher` 订阅：

- 日志 ERROR 速率、HTTP 5xx（若可探针）、磁盘/内存阈值、企微关锁异常（Win）

策略：

| 权限 | 行为 |
|------|------|
| P0 | 仅聊天/面板告警 |
| P1 | 告警 + 建只读 Mission（查日志） |
| P2/P3 | 可按模板自动修复（仍走 Verify/Rollback） |

模板示例：`disk_full_cleanup_tmp`、`php_fpm_restart_on_502`、`wecom_mutex_cooldown`。

---

## 7. 学习与变强（已补齐）

1. Mission `Completed` → Memory 写入。  
2. SkillDistiller：若同类成功 ≥2，生成 `skill-draft-*.json`，**默认不自动启用**。  
3. 用户或 P1「批准 skill」→ ExtendEngine 安装为本地 skill 插件。  
4. EvalSuite 周跑；分数下降 → 自动回滚最近 Optimize/Skill。

---

## 8. 聊天协议（已补齐，对齐 wbexpo）

### 8.1 人类指令

- `/plan {需求}` 只规划不执行  
- `/run` 执行当前计划  
- `/pause` `/resume`  
- `/rollback` 回滚当前或上一 Mission  
- `/status` 进度  
- `/priv` 查看档位与索权说明  

### 8.2 机器事件（Webhook → Runtime）

```json
{
  "type": "chat.message",
  "session_id": "...",
  "visitor_id": "owner_...",
  "content": "...",
  "token_hash": "..."
}
```

### 8.3 回传进度

```json
{
  "event": "mission.progress",
  "mission_id": "...",
  "state": "RunningStep",
  "step": "s2",
  "message": "已修改 app/Http/LoginController.php，正在 php -l"
}
```

经 ChatBridge 写回 wbexpo 会话或产品 WS。

---

## 9. Windows / Linux 能力（不变 + 统一 Mission）

| 能力 | Windows | Linux VPS |
|------|---------|-----------|
| Runtime + Mission 闭环 | ✅ | ✅ |
| 导入 `.wcmp` | ✅ UI（含导入示例） | ✅ `/plugin-import` CLI/聊天 |
| 企微多开 backend | ✅ | ❌ 预留 |
| 站点 24h 程序员 | 可选 | ✅ 主场景 |
| 外部聊天驱动 | ✅ | ✅ |

企微动作也是 Mission 的 `wecom_launch` 步骤，共用验证与冷却策略。

---

## 10. 插件 `.wcmp` 与 Capability

`ReadTelemetry` · `WritePolicy` · `WriteSource` · `ExecSql` · `ExecShell` · `ControlWeCom` · `ManagePlugins`  

执行时：`min(插件声明, 用户档位, scopes)`。

---

## 11. 网页双通道

- **A** wbexpo：客服 + 所有者遥控入口（三种嵌入 + REST/WS）。  
- **B** `py99999.com/wecom-multi/integration`：产品 API、extensions、kernel、agent/tasks。  

---

## 12. 安全红线（保护用户，不剥夺 P3）

1. 默认 P0；P3 用户显式开。  
2. P3 仍强制备份、审计、Verify、Rollback。  
3. 访客不升权；scopes/denyPaths 用户自定。  
4. 密钥不上公开仓；LLM 可关。  
5. BudgetGuard 防止刷爆 API。  
6. Watchdog 隔离坏插件。

---

## 13. 目录约定

| 逻辑名 | Windows | Linux |
|--------|---------|-------|
| config | `%AppData%\WeComMulti\` | `~/.config/wecom-multi/` |
| data | `%LocalAppData%\WeComMulti\` | `~/.local/share/wecom-multi/` |
| plugins / memory / missions / kernel-map / skills | 在 data 下 | 同 |

---

## 14. 实施路线（闭环优先，已替换旧 M 序）

| 序 | 交付 | 状态 |
|----|------|------|
| **C0** | PrivilegeGate + Audit + Backup 接口 | 骨架 ✅ |
| **C1** | MissionEngine + 进度事件 | 骨架 ✅ |
| **C2** | CodeIndex + KernelMap 增量接口 | 骨架 ✅ |
| **C3** | VerifyOrchestrator + Rollback | 骨架 ✅ |
| **C4** | MemoryStore + SkillDistiller | 骨架 ✅ |
| **C5** | ProactiveWatcher + ChatToolProtocol | 骨架 ✅ |
| **C6** | Win 插件 UI + 企微 backend 挂 Mission | ✅（PluginLoader 可执行；多开走 Mission） |
| **C7** | DbAgent + SchemaCatalog | 骨架 ✅ |
| **C8** | Optimize + Extend 接 Mission 结果 | 骨架 ✅ |
| **C9** | EvalSuite + Budget + Watchdog | ✅ |
| **C10** | ChatBridge 真接 wbexpo + Linux systemd Host | ✅ |

骨架工程：`src/WeComMulti.Runtime`；宿主：`src/WeComMulti.Runtime.Host`。

---

## 15. 智能验收清单（补齐后必须全绿才算「够智能」）

- [x] 多步查日志→定位→改→验（规则/LLM 规划 + Analyze/Index/Edit/Http/Shell）  
- [x] 验失败自动回滚并重规划  
- [x] 同类问题第二次更快（Memory）  
- [x] P3+巡检可自动建修复 Mission（ProactiveWatcher + AutoRun≥P2）  
- [x] 聊天可见步骤；可 pause/rollback  
- [x] 改码后 KernelMap/CodeIndex 更新  
- [x] 权限不足智能索权不偷升  
- [x] 坏插件不拖死进程（Watchdog 隔离）  
- [x] Eval 不降分才允许固化 Optimize/Skill（Host 启动 Eval；蒸馏仍可演进）  

---

## 16. 对外文案

> Windows：企微多开 + 导入插件 + AI 闭环侦测；权限你定。  
> Linux VPS：24h 程序员；外部聊天下指令；开最高权限后可改源码与库；失败自动回滚并学习。  
> 网页：wbexpo 接入 + 产品公开 API。

---

## 17. 结论

九环闭环与执行层（Shell/Http/插件/重规划/Eval）已落地到 `WeComMulti.Runtime`，并经 Host/WPF 接入。  
后续重点是生产联调（真实站点日志、LLM、DB DSN、Linux 守护）与技能蒸馏门控加严，而不是再补设计骨架。
