agent-fleet/openspec/changes/chatops-architecture-revision/specs/matrix-chatops/spec.md
Zer4tul 1bc7580ecc refactor: remove Matrix bot, make agent-fleet platform-agnostic API service
- Remove src/integrations/matrix/ (bot connection, command parsing, notification formatting)
- Remove matrix-sdk dependency from Cargo.toml
- Remove MatrixConfig from config.rs and [matrix] from config.example.toml
- Add GET /api/v1/tasks (list with status/agent_id filter)
- Add POST /api/v1/tasks/{task_id}/retry (Failed/AgentLost → Assigned)
- Add EventStore::list_tasks() with parameterized query
- 29/29 tests pass

Platform integration (Telegram, Matrix, Feishu) is Agent-side responsibility.
agent-fleet is now a pure HTTP API orchestration engine.
2026-05-12 10:59:19 +08:00

31 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## MODIFIED Requirements
### Requirement: Orchestrator exposes status via API only
Orchestrator SHALL 通过 HTTP API 暴露所有任务和 Agent 状态信息,不连接任何外部聊天或通知平台。平台接入由各 Agent 自行处理。
#### Scenario: Task state change queryable via API
- **WHEN** 任务 #42 状态变更assigned、completed、failed 等)
- **THEN** 变更 SHALL 通过 `GET /api/v1/tasks` API 可查询
- **AND** 变更 SHALL 记录在 task_events 表中
#### Scenario: Agent state change queryable via API
- **WHEN** Agent `worker-03` 状态变更online、offline 等)
- **THEN** 变更 SHALL 通过 `GET /api/v1/agents` API 可查询
## REMOVED Requirements
### Requirement: Matrix room as coordination channel
**Reason**: Orchestrator 不连接任何聊天平台。平台接入是 Agent 侧的职责。
**Migration**: 各 AgentOpenClaw/Jeeves、Hermes 等)自行连接聊天平台,通过 Orchestrator HTTP API 获取状态后展示。
### Requirement: Slash commands for orchestration
**Reason**: Orchestrator 不处理命令。命令解析和路由由各 Agent 自行处理。
**Migration**: 各 Agent 解析用户命令,调用 Orchestrator HTTP API 执行操作。
### Requirement: Matrix notifications for receipts
**Reason**: Orchestrator 不推送通知。通知由各 Agent 根据所在平台能力自行处理。
**Migration**: Agent 通过 API 轮询或 webhook 获取 receipt 状态变更,自行决定通知方式和格式。
### Requirement: Per-agent Matrix thread
**Reason**: Orchestrator 不了解任何聊天平台概念。展示方式由各 Agent 根据平台能力决定。
**Migration**: Agent 通过 `GET /api/v1/tasks?agent_id=xxx` 获取任务历史,自行选择展示方式。