134 lines
2.9 KiB
Markdown
134 lines
2.9 KiB
Markdown
# VPS-Commander 项目进度与路线图
|
||
|
||
本文档记录当前版本真实进度。历史审计文件继续保留原始证据,不直接作为当前状态判断依据。
|
||
|
||
---
|
||
|
||
## 一、当前总体状态
|
||
|
||
| 模块 | 状态 |
|
||
| :--- | :--- |
|
||
| Hub / Agent 双通道 | ✅ 已完成 |
|
||
| 多节点持久化 | ✅ 已完成 |
|
||
| Per-device Credential | ✅ 已完成 |
|
||
| Security Snapshot | ✅ 已完成 |
|
||
| Low / Medium / High Gate | ✅ 已完成 |
|
||
| MCP 安全门禁 | ✅ 已完成 |
|
||
| edit_block 原子安全 | ✅ 已完成 |
|
||
| Session 资源限制 | ✅ 已完成 |
|
||
| Web Panel | ✅ 已完成 |
|
||
| Webhook | ✅ 已完成 |
|
||
| MCP 11 Tools | ✅ 已完成源码实现 |
|
||
| Clean Production Rebuild | 🟡 下一次发布收口 |
|
||
| EffectiveRisk 完全 Fail-closed | 🔵 v2.1 |
|
||
| Agent Token 脱离 argv | 🔵 v2.1 |
|
||
| Principal 强隔离 | 🔵 v2.1 |
|
||
|
||
---
|
||
|
||
## 二、MCP 当前能力
|
||
|
||
当前共 11 个 Tools:
|
||
1. `list_devices`
|
||
2. `exec_command`
|
||
3. `read_file`
|
||
4. `read_multiple_files`
|
||
5. `create_directory`
|
||
6. `move_file`
|
||
7. `list_processes`
|
||
8. `edit_block`
|
||
9. `write_file`
|
||
10. `list_agent_mcp`
|
||
11. `call_agent_mcp`
|
||
|
||
早期“4 个 MCP Tools”的文档已经废止。
|
||
|
||
---
|
||
|
||
## 三、v2.0 当前收口
|
||
|
||
当前架构已经形成:
|
||
- Hub 中央控制。
|
||
- Agent WSS 回连。
|
||
- Per-device Credential。
|
||
- Policy Snapshot。
|
||
- Tool Registry。
|
||
- MCP / HTTP Unified Gate。
|
||
- SQLite Audit。
|
||
- Session Resource Limits。
|
||
- Web Management Panel。
|
||
|
||
---
|
||
|
||
## 四、2026-10-02 审计发现
|
||
|
||
### 4.1 生产构建漂移
|
||
生产 Hub / Agent 曾以 `vcs.modified=true` 构建。
|
||
这会破坏源码 → revision → binary 的可追溯链。
|
||
|
||
### 4.2 代码兼容问题
|
||
- process/session API 存在 snake_case 请求字段兼容问题。
|
||
- Hub 本地 process/session 路径缺少 local fallback。
|
||
|
||
在源码、测试和生产现场全部验证之前,上述项目不标记为“已修复”。
|
||
|
||
---
|
||
|
||
## 五、v2.1 路线
|
||
|
||
### 5.1 P0-1:EffectiveRisk
|
||
- Canonical Device Identity。
|
||
- unknown / offline / bad credential → risk 0。
|
||
- GlobalRisk 只作为已认证设备的业务默认。
|
||
- Unknown 不得继承 High。
|
||
|
||
### 5.2 P0-2:Agent Credential
|
||
- EnvironmentFile / LoadCredential。
|
||
- ExecStart 不出现 secret。
|
||
- `/proc/*/cmdline` 不可读取 token。
|
||
- 支持 rotation + rollback。
|
||
|
||
### 5.3 P1:Principal
|
||
- `principal_id`。
|
||
- `principal_type`。
|
||
- `credential_id`。
|
||
- `device_id`。
|
||
- Session Owner 绑定 Principal。
|
||
- takeover 必须显式授权并审计。
|
||
|
||
---
|
||
|
||
## 六、标准发布顺序
|
||
|
||
```text
|
||
Backup
|
||
↓
|
||
Clean Build
|
||
↓
|
||
Single-node Gray Release
|
||
↓
|
||
Hub Restart Recovery
|
||
↓
|
||
Rolling Agent
|
||
↓
|
||
MCP / Security / Audit
|
||
↓
|
||
Full Acceptance
|
||
```
|
||
|
||
---
|
||
|
||
## 七、文档同步规则
|
||
|
||
任何新功能或安全变更必须同步检查:
|
||
- README
|
||
- ARCHITECTURE
|
||
- DEV_SPEC
|
||
- MCP_INTEGRATION
|
||
- deploy/README
|
||
- ACCEPTANCE_CRITERIA
|
||
- PROGRESS_TRACKING
|
||
- openapi.json(如影响 HTTP Contract)
|
||
|
||
历史审核报告保持原貌,不回写成当前状态。
|