87 lines
3.5 KiB
Markdown
87 lines
3.5 KiB
Markdown
---
|
||
title: "Project State Management System: Event-Driven Alternative to Kanban"
|
||
type: source
|
||
tags: [project-state, AI-Agent, project-management]
|
||
date: 2026-04-21
|
||
---
|
||
|
||
## Source File
|
||
- [[raw/Agent/usecases/project-state-management.md]]
|
||
|
||
## Summary
|
||
- 核心主题:使用事件驱动系统替代传统 Kanban 看板进行项目状态管理
|
||
- 问题域:手动更新看板导致的信息丢失、上下文丢失、项目漂移
|
||
- 方法/机制:数据库存储项目状态 + AI Agent 自然语言交互 + Git 集成自动关联
|
||
- 结论/价值:通过自然语言对话自动追踪项目进度、保留决策上下文、生成每日站会摘要
|
||
|
||
## Key Claims
|
||
- 事件驱动系统可替代静态 Kanban 看板,解决卡片过期和上下文丢失问题
|
||
- AI Agent 通过自然语言对话自动记录事件、更新项目状态、回答状态查询
|
||
- Git 提交自动扫描并关联到项目,实现代码变更与项目进度的可追溯性
|
||
- 每日站会摘要由系统自动生成,涵盖昨日进展、今日计划、当前阻碍
|
||
|
||
## Key Quotes
|
||
> "Traditional Kanban boards are static and require manual updates. You forget to move cards, lose context between sessions, and can't track the 'why' behind state changes." — 描述 Kanban 看板的核心痛点
|
||
|
||
> "Instead of dragging cards, you chat with your assistant: 'Finished the auth flow, starting on the dashboard.' The system logs the event, updates project state, and preserves context." — 事件驱动系统的工作方式
|
||
|
||
## Architecture
|
||
|
||
### Database Schema
|
||
```sql
|
||
CREATE TABLE projects (
|
||
id SERIAL PRIMARY KEY,
|
||
name TEXT UNIQUE,
|
||
status TEXT, -- e.g., "active", "blocked", "completed"
|
||
current_phase TEXT,
|
||
last_update TIMESTAMPTZ DEFAULT NOW()
|
||
);
|
||
|
||
CREATE TABLE events (
|
||
id SERIAL PRIMARY KEY,
|
||
project_id INTEGER REFERENCES projects(id),
|
||
event_type TEXT, -- e.g., "progress", "blocker", "decision", "pivot"
|
||
description TEXT,
|
||
context TEXT,
|
||
timestamp TIMESTAMPTZ DEFAULT NOW()
|
||
);
|
||
|
||
CREATE TABLE blockers (
|
||
id SERIAL PRIMARY KEY,
|
||
project_id INTEGER REFERENCES projects(id),
|
||
blocker_text TEXT,
|
||
status TEXT DEFAULT 'open', -- "open", "resolved"
|
||
created_at TIMESTAMPTZ DEFAULT NOW(),
|
||
resolved_at TIMESTAMPTZ
|
||
);
|
||
```
|
||
|
||
### Skills Needed
|
||
- PostgreSQL 或 SQLite 用于项目状态数据库
|
||
- GitHub CLI (gh) 用于提交追踪
|
||
- Discord 或 Telegram 用于更新和查询
|
||
- Cron Jobs 用于每日摘要
|
||
- Sub-agents 用于并行项目分析
|
||
|
||
## Key Concepts
|
||
- [[Event Sourcing]]:事件溯源模式,存储所有状态变更事件而非最终状态
|
||
- [[AI ChatOps]]:通过对话界面与 AI 交互进行项目管理
|
||
- [[Git 集成]]:自动扫描 Git 提交并关联到对应项目的机制
|
||
- [[每日站会摘要]]:基于事件和 Git 提交自动生成的每日进度报告
|
||
- [[项目状态数据库]]:存储项目信息、历史事件和阻碍项的关系型数据库
|
||
|
||
## Key Entities
|
||
- [[PostgreSQL]]:项目状态数据库的推荐技术栈(也支持 SQLite)
|
||
- [[GitHub]]:通过 gh CLI 进行提交追踪
|
||
- [[Discord]]:项目更新和查询的交互渠道
|
||
- [[Cron Jobs]]:每日摘要的定时触发机制
|
||
|
||
## Connections
|
||
- [[Event Sourcing]] ← 理论基础 ← [[Project State Management]]
|
||
- [[Kanban]] ← 被替代 ← [[Project State Management]]
|
||
- [[AI ChatOps]] ← 实现方式 ← [[Project State Management]]
|
||
|
||
## Related Links
|
||
- [Event Sourcing Pattern - Martin Fowler](https://martinfowler.com/eaaDev/EventSourcing.html)
|
||
- [Why Kanban Fails for Solo Developers](https://blog.nuclino.com/why-kanban-doesnt-work-for-me)
|