连续性
人工智能系统的会话状态持久性
   
崩溃会损失几秒钟,而不是几个小时。每个AI实例都精确地从上一个中断的地方开始。
______________________________________________________________________
问题
人工智能助手在设计上是无状态的。每次会议都以全新的方式开始。这很好 一次性问题,但对于多会话项目来说是灾难性的 决策是复合的,背景就是一切。
- 会话崩溃、达到令牌限制或结束——下一个会话开始时是盲目的
- 架构决策从头开始重新辩论
- 已完成的工作被遗忘;几个小时消失在重建中
- 相同的问题在不同的代码库中反复得到解决
解决方案
8个工具,用于处理会话持久性、崩溃恢复、决策跟踪和 上下文压缩。将CONTINUITY插入克劳德桌面(或任何兼容MCP的桌面) 客户端),会话连续性变得自动。
这就是一个记得你的项目的合作者和一个 每天早上问“那我们在做什么?”。
______________________________________________________________________
工具
| 工具 | 目的 |
|---|---|
continuity_save_session | 在会话结束时生成结构化切换 |
continuity_load_session | 使用压缩上下文从上次会话恢复 |
continuity_checkpoint | 轻量级状态每3-5次操作节省一次 |
continuity_recover_crash | 检测碰撞并从上次检查点自动恢复 |
continuity_log_decision | 用基本原理+备选方案记录架构决策 |
continuity_query_decisions | 搜索决策历史以防止再次辩论 |
continuity_compress_context | 智能上下文压缩(20K令牌→ 1K) |
continuity_handoff_quality | 保存前验证切换完整性 |
______________________________________________________________________
安装
先决条件
- Node.js>=18
- Claude Desktop或任何兼容MCP的客户端
设置
git clone https://github.com/duke-of-beans/CONTINUITY.git
cd CONTINUITY
npm install --include=dev
npm run build配置Claude桌面
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"CONTINUITY": {
"command": "node",
"args": ["/path/to/CONTINUITY/dist/index.js"],
"env": {
"CONTINUITY_DATA_DIR": "/path/to/your/.continuity"
}
}
}
}重新启动克劳德桌面。您将看到8个可用的新工具。
配置
CONTINUITY_DATA_DIR 控制状态存储的位置。默认为 ~/.continuity.
.continuity/
├── config.json # Settings (auto-generated with defaults)
├── state.db # SQLite database
├── sessions/ # JSON state snapshots + markdown handoffs
└── decisions/ # JSONL decision log______________________________________________________________________
用法
会话生命周期
Session Start:
→ continuity_recover_crash() # Check for unclean shutdown
→ continuity_load_session() # Load last session context
During Work:
→ continuity_checkpoint() # Every 3-5 tool calls
→ continuity_log_decision() # When architectural choices are made
Session End:
→ continuity_handoff_quality() # Validate completeness
→ continuity_save_session() # Generate handoff for next session决策登记处
停止重新讨论相同的架构选择:
continuity_log_decision({
workspace: "my-project",
category: "architectural",
decision: "Use PostgreSQL over Neo4j",
rationale: "Simpler ops, graph extension covers graph needs",
alternatives: ["Neo4j", "DGraph", "ArangoDB"],
impact: "high",
revisit_trigger: "If graph queries exceed 10K nodes/sec"
})稍后,在任何新的会议中:
continuity_query_decisions({ keyword: "database", workspace: "my-project" })
// → Returns the decision with full rationale, preventing re-debate故障恢复
continuity_recover_crash({ workspace: "my-project" })
// → Detects unclean shutdown
// → Returns last checkpoint with active files, next steps, recovery context
// → Zero context loss if checkpoints were regular______________________________________________________________________
建筑
Storage Layer
├── SQLite (state.db) → Checkpoints, session records, fast queries
├── JSONL (decisions.jsonl) → Append-only architectural decision log
└── JSON (sessions/*.json) → Full session state snapshots + markdown handoffs
Tool Modules
├── session-tools.ts → save, load, checkpoint, crash recovery
├── decision-tools.ts → log + query architectural decisions
└── utility-tools.ts → compression, handoff validation
Server
└── mcp-server.ts → MCP SDK wiring, tool registration, error handling______________________________________________________________________
使用
与Claude Desktop、Cursor和任何兼容MCP的客户端兼容。设计 与其他MCP服务器组合——任何服务器都可以通过 标准工具界面。
______________________________________________________________________
许可证
麻省理工学院——使用它,分叉它,建立在它之上。
