60 lines
2.5 KiB
Markdown
60 lines
2.5 KiB
Markdown
---
|
||
title: "Project State"
|
||
type: concept
|
||
tags: [project-management, automation, ai]
|
||
last_updated: 2026-04-22
|
||
---
|
||
|
||
## Definition
|
||
|
||
项目状态(Project State)指一个项目在任意时间点的完整快照——包括当前阶段、活跃阻塞项、最近进展、以及完整的事件历史上下文。与传统项目管理工具中"当前状态"字段不同,项目状态由底层事件自动驱动更新,而非手动维护。
|
||
|
||
## What It Captures
|
||
|
||
一个完整项目状态系统通常包含:
|
||
|
||
- **基本元数据**:项目名称、当前阶段(phase)、总体状态(active/blocked/completed)
|
||
- **时间戳**:最后更新时间,便于判断项目是否"失活"
|
||
- **事件日志**:所有 progress/blocker/decision/pivot 事件的完整序列
|
||
- **阻塞清单**:当前所有 open blockers 及创建时间
|
||
- **上下文**:每次变更的决策理由,而非仅记录"变更了什么"
|
||
|
||
## State Machine
|
||
|
||
典型项目状态流转:
|
||
|
||
```
|
||
active → [blocked event] → blocked
|
||
blocked → [blocker resolved event] → active
|
||
active → [completion event] → completed
|
||
any → [pivot event] → active (new phase)
|
||
```
|
||
|
||
## Event-Driven vs Kanban
|
||
|
||
| 维度 | 事件驱动项目状态 | 传统看板(Kanban)|
|
||
|------|---------------|----------------|
|
||
| 更新方式 | 自然语言对话自动驱动 | 手动拖拽卡片 |
|
||
| 状态来源 | 事件序列推导 | 卡片当前位置 |
|
||
| 历史保留 | 完整事件日志,可回溯决策原因 | 通常不保留,状态变更即丢失 |
|
||
| 上下文 | 每次变更附带决策理由 | 无,需额外备注 |
|
||
| 阻塞追踪 | 独立 blocker 记录 + 自动状态更新 | 卡片标签/泳道,依赖人工识别 |
|
||
| 团队协作 | 需要额外机制(如 Discord 多用户)| 原生支持多人实时协作 |
|
||
| 适合场景 | 个人/小团队,需要上下文保留 | 中大型团队,强协作需求 |
|
||
|
||
## AI Integration
|
||
|
||
在 [[Project State Management]] 系统中,AI Agent 承担以下角色:
|
||
|
||
- **自然语言解析器**:将用户日常对话转换为结构化事件
|
||
- **状态引擎**:根据事件类型自动更新项目状态
|
||
- **查询接口**:回答"项目X现在什么状态"/"为什么做了Y决策"
|
||
- **报告生成器**:自动生成每日站会、每周总结
|
||
|
||
## Connections
|
||
|
||
- **Project State** ← derived_from ← [[Event Sourcing]]
|
||
- **Project State** ← powered_by ← [[OpenClaw]]
|
||
- **Project State Management** ← uses ← **Project State**
|
||
- [[Kanban]] ← alternative_to ← **Project State**(冲突:参见 overview.md Conflict Area #1)
|