Files
nexus/wiki/sources/project-state-management.md
2026-04-21 16:03:27 +08:00

87 lines
3.5 KiB
Markdown
Raw 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.
---
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)