parcadei/Continuous-Claude-v3
GitHub: parcadei/Continuous-Claude-v3
将 Claude Code 转化为具备跨会话记忆能力的持续学习系统,通过账本、交接和智能体编排解决上下文压缩问题。
Stars: 3587 | Forks: 272
# Continuous Claude
[](LICENSE)
[](https://claude.ai/code)
[](#skills-system)
[](#agents-system)
[](#hooks-system)
**Continuous Claude** 将 Claude Code 转化为一个持续学习的系统,它能够在会话之间维护上下文,编排专门的智能体(Agents),并通过智能代码分析避免浪费 Token。
## 目录
- [为什么选择 Continuous Claude?](#why-continuous-claude)
- [设计原则](#design-principles)
- [如何与 Claude 交流](#how-to-talk-to-claude)
- [快速开始](#quick-start)
- [架构](#architecture)
- [核心系统](#core-systems)
- [技能 (109)](#skills-system)
- [智能体 (32)](#agents-system)
- [Hooks (30)](#hooks-system)
- [TLDR 代码分析](#tldr-code-analysis)
- [记忆系统](#memory-system)
- [连续性系统](#continuity-system)
- [数学系统](#math-system)
- [工作流](#workflows)
- [安装](#installation)
- [更新](#updating)
- [配置](#configuration)
- [贡献](#contributing)
- [许可证](#license)
## 为什么选择 Continuous Claude?
Claude Code 存在一个**压缩问题**:当上下文填满时,系统会压缩你的对话,导致在会话期间做出的细致理解和决策丢失。
**Continuous Claude 通过以下方式解决了这个问题:**
| 问题 | 解决方案 |
|---------|----------|
| 上下文在压缩时丢失 | YAML 交接 —— 更高效的 Token 传输 |
| 每次会话都重新开始 | 记忆系统召回 + 守护进程自动提取学习内容 |
| 读取整个文件消耗大量 Token | 5 层代码分析 + 语义索引 |
| 复杂任务需要协调 | Meta-skills 编排智能体工作流 |
| 手动重复工作流 | 109 个支持自然语言触发的技能 |
**核心准则:积累,而非压缩。** 自动提取学习内容,然后在拥有完整上下文的情况下重新开始。
### 为什么叫 "Continuous"(连续)?为什么叫 "Compounding"(复利)?
这个名字是个双关语。**Continuous** 是因为 Claude 在会话之间维护状态。**Compounding** 是因为每个会话都让系统变得更聪明——学习内容像复利一样积累。
## 设计原则
一个智能体由五件事组成:**Prompt + Tools + Context + Memory + Model**。
| 组件 | 我们优化的内容 |
|-----------|------------------|
| **Prompt** | 技能注入相关上下文;Hooks 添加系统提醒 |
| **Tools** | TLDR 减少 Token;智能体并行化工作 |
| **Context** | 不仅是 Claude 知道*什么*,还在于*如何*提供给它 |
| **Memory** | 守护进程提取学习内容;召回机制展示它们 |
| **Model** | 当其他四个组件稳固后,模型变得可替换 |
### 反复杂性
我们抵制插件泛滥。你添加的每个 MCP、订阅和工具都承诺改进,但面临通过冲突破坏上下文、工具或 Prompt 的风险。
**我们的方法:**
- **时间,而非金钱** —— 不需要付费服务。Perplexity 和 NIA 是可选的,具有高 Token 价值。
- **学习,而非积累** —— 一个会学习的系统比一个收集插件的系统能更好地处理边缘情况。
- **左移验证** —— Hooks 在编辑后运行 pyright/ruff,在测试之前捕获错误。
复杂系统的故障模式在发生之前在结构上是不可见的。一个学习型、上下文高效的系统不能防止所有故障——但它能恢复和改进。
## 如何与 Claude 交流
**你不需要记忆斜杠命令。** 只需自然地描述你想要什么。
### 技能激活系统
当你发送消息时,一个 Hook 会注入上下文,告诉 **Claude** 哪些技能和智能体是相关的。Claude 从基于规则的系统推断并决定使用哪些工具。
```
> "Fix the login bug in auth.py"
🎯 SKILL ACTIVATION CHECK
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ CRITICAL SKILLS (REQUIRED):
→ create_handoff
📚 RECOMMENDED SKILLS:
→ fix
→ debug
🤖 RECOMMENDED AGENTS (token-efficient):
→ debug-agent
→ scout
ACTION: Use Skill tool BEFORE responding
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
### 优先级
| 级别 | 含义 |
|-------|---------|
| ⚠️ **CRITICAL** | 必须使用(例如,结束会话前的交接) |
| 📚 **RECOMMENDED** | 应该使用(例如,工作流技能) |
| 💡 **SUGGESTED** | 考虑使用(例如,优化工具) |
| 📌 **OPTIONAL** | 锦上添花(例如,文档助手) |
### 自然语言示例
| 你说的话 | 激活的内容 |
|--------------|----------------|
| "修复损坏的登录功能" | `/fix` 工作流 → debug-agent, scout |
| "构建一个用户仪表板" | `/build` 工作流 → plan-agent, kraken |
| "我想了解这个代码库" | `/explore` + scout 智能体 |
| "这个计划可能出什么问题?" | `/premortem` |
| "帮我弄清楚我需要什么" | `/discovery-interview` |
| "今天的工作完成了" | `create_handoff` (关键) |
| "从我们停下的地方继续" | `resume_handoff` |
| "研究认证模式" | oracle 智能体 + perplexity |
| "查找此 API 的所有用法" | scout 智能体 + ast-grep |
### 为什么采用这种方法?
| 好处 | 如何实现 |
|---------|-----|
| **更易发现** | 不需要知道命令的存在 |
| **上下文感知** | 系统知道你何时使用了 90% 的上下文 |
| **减少认知负荷** | 自然描述意图,获取精心策划的建议 |
| **对高级用户友好** | 仍然直接支持 /fix, /build 等 |
### 技能 vs 工作流 vs 智能体
| 类型 | 目的 | 示例 |
|------|---------|---------|
| **技能** | 单一用途工具 | `commit`, `tldr-code`, `qlty-check` |
| **工作流** | 多步骤过程 | `/fix` (sleuth → premortem → kraken → commit) |
| **智能体** | 专门的子会话 | scout (探索), oracle (研究) |
[查看详细的技能激活文档 →](docs/skill-activation.md)
## 快速开始
### 前置条件
- Python 3.11+
- [uv](https://github.com/astral-sh/uv) 包管理器
- Docker (用于 PostgreSQL)
- Claude Code CLI
### 安装
```
# 克隆
git clone https://github.com/parcadei/Continuous-Claude-v3.git
cd Continuous-Claude-v3/opc
# 运行 setup wizard(12 个步骤)
uv run python -m scripts.setup.wizard
```
### 向导程序做了什么
| 步骤 | 作用 |
|------|--------------|
| 1 | 备份现有的 .claude/ 配置(如果存在) |
| 2 | 检查前置条件(Docker, Python, uv) |
| 3-5 | 数据库 + API 密钥配置 |
| 6-7 | 启动 Docker 栈,运行迁移 |
| 8 | 安装 Claude Code 集成(32 个智能体,109 个技能,30 个 Hooks) |
| 9 | 数学功能(SymPy, Z3, Pint - 可选) |
| 10 | TLDR 代码分析工具 |
| 11-12 | 诊断工具 + Loogle(可选) |
#### 卸载:
```
cd Continuous-Claude-v3/opc
uv run python -m scripts.setup.wizard --uninstall
```
**它的作用**
1. 归档你当前的设置 → 将 ~/.claude 移动到 ~/.claude-v3.archived.
2. 恢复你的备份 → 找到最近的 ~/.claude.backup.*(在安装期间创建)并恢复它
3. 保留用户数据 → 从归档中复制回这些内容:
- history.jsonl(你的命令历史)
- mcp_config.json(MCP 服务器)
- .env(API 密钥)
- projects.json(项目配置)
- file-history/ 目录
- projects/ 目录
4. 移除 CC-v3 添加的内容 → 其他所有内容(Hooks, 技能, 智能体, 规则)
**安全特性**
- 你当前的设置带有时间戳归档 —— 没有任何内容会被删除
- 向导在继续之前会请求确认
- 它从安装期间创建的备份中恢复
- 你所有的 Claude Code 设置保持不变
### 远程数据库设置
默认情况下,CC-v3 通过 Docker 在本地运行 PostgreSQL。对于远程数据库设置:
#### 1. 数据库准备
```
# 连接到远程 PostgreSQL 实例
psql -h hostname -U user -d continuous_claude
# 启用 pgvector extension(需要 superuser 或 rds_superuser 权限)
CREATE EXTENSION IF NOT EXISTS vector;
# 应用 schema(从本地克隆)
psql -h hostname -U user -d continuous_claude -f docker/init-schema.sql
```
#### 2. 连接配置
在 `~/.claude/settings.json` 中设置 `CONTINUOUS_CLAUDE_DB_URL`:
```
{
"env": {
"CONTINUOUS_CLAUDE_DB_URL": "postgresql://user:password@hostname:5432/continuous_claude"
}
}
```
或者在运行 Claude 之前导出:
```
export CONTINUOUS_CLAUDE_DB_URL="postgresql://user:password@hostname:5432/continuous_claude"
claude
```
有关所有可用的环境变量,请参阅 `.env.example`。
### 第一次会话
```
# 启动 Claude Code
claude
# 尝试工作流
> /workflow
```
### 第一次会话命令
| 命令 | 作用 |
|---------|--------------|
| `/workflow` | 基于目标的路由(研究/计划/构建/修复) |
| `/fix bug <描述>` | 调查并修复 Bug |
| `/build greenfield <功能>` | 从头构建新功能 |
| `/explore` | 了解代码库 |
| `/premortem` | 实施前的风险分析 |
## 架构
```
┌─────────────────────────────────────────────────────────────────────┐
│ CONTINUOUS CLAUDE │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Skills │ │ Agents │ │ Hooks │ │
│ │ (109) │───▶│ (32) │◀───│ (30) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ TLDR Code Analysis │ │
│ │ L1:AST → L2:CallGraph → L3:CFG → L4:DFG → L5:Slicing │ │
│ │ (95% token savings) │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Memory │ │ Continuity │ │ Coordination│ │
│ │ System │ │ Ledgers │ │ Layer │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘
```
### 数据流:会话生命周期
```
SessionStart Working SessionEnd
│ │ │
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Load │ │ Track │ │ Save │
│ context │─────────────────▶│ changes │──────────────────▶│ state │
└─────────┘ └─────────┘ └─────────┘
│ │ │
├── Continuity ledger ├── File claims ├── Handoff
├── Memory recall ├── TLDR indexing ├── Learnings
└── Symbol index └── Blackboard └── Outcome
│
▼
┌─────────┐
│ /clear │
│ Fresh │
│ context │
└─────────┘
```
### 连续性循环(详细)
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ THE CONTINUITY LOOP │
└─────────────────────────────────────────────────────────────────────────────┘
1. SESSION START 2. WORKING
┌────────────────────┐ ┌────────────────────┐
│ │ │ │
│ Ledger loaded ────┼──▶ Context │ PostToolUse ──────┼──▶ Index handoffs
│ Handoff loaded │ │ UserPrompt ───────┼──▶ Skill hints
│ Memory recalled │ │ Edit tracking ────┼──▶ Dirty flag++
│ TLDR cache warmed │ │ SubagentStop ─────┼──▶ Agent reports
│ │ │ │
└────────────────────┘ └────────────────────┘
│ │
│ ▼
│ ┌────────────────────┐
│ │ 3. PRE-COMPACT │
│ │ │
│ │ Auto-handoff ─────┼──▶ thoughts/shared/
│ │ (YAML format) │ handoffs/*.yaml
│ │ Dirty > 20? ──────┼──▶ TLDR re-index
│ │ │
│ └────────────────────┘
│ │
│ ▼
│ ┌────────────────────┐
│ │ 4. SESSION END │
│ │ │
│ │ Stale heartbeat ──┼──▶ Daemon wakes
│ │ Daemon spawns ────┼──▶ Headless Claude
│ │ Thinking blocks ──┼──▶ archival_memory
│ │ │
│ └────────────────────┘
│ │
│ │
└──────────────◀────── /clear ◀──────┘
Fresh context + state preserved
```
### 工作流链
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ META-SKILL WORKFLOWS │
└─────────────────────────────────────────────────────────────────────────────┘
/fix bug /build greenfield
───────── ─────────────────
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ sleuth │─▶│ premortem│ │discovery │─▶│plan-agent│
│(diagnose)│ │ (risk) │ │(clarify) │ │ (design) │
└──────────┘ └────┬─────┘ └──────────┘ └────┬─────┘
│ │
▼ ▼
┌──────────┐ ┌──────────┐
│ kraken │ │ validate │
│ (fix) │ │ (check) │
└────┬─────┘ └────┬─────┘
│ │
▼ ▼
┌──────────┐ ┌──────────┐
│ arbiter │ │ kraken │
│ (test) │ │(implement│
└────┬─────┘ └────┬─────┘
│ │
▼ ▼
┌──────────┐ ┌──────────┐
│ commit │ │ commit │
└──────────┘ └──────────┘
/tdd /refactor
──── ─────────
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│plan-agent│─▶│ arbiter │ │ phoenix │─▶│ warden │
│ (design) │ │(tests 🔴)│ │(analyze) │ │ (review) │
└──────────┘ └────┬─────┘ └──────────┘ └────┬─────┘
│ │
▼ ▼
┌──────────┐ ┌──────────┐
│ kraken │ │ kraken │
│(code 🟢) │ │(transform│
└────┬─────┘ └────┬─────┘
│ │
▼ ▼
┌──────────┐ ┌──────────┐
│ arbiter │ │ judge │
│(verify ✓)│ │ (review) │
└──────────┘ └──────────┘
```
### 数据层架构
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ DATA LAYER ARCHITECTURE │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ TLDR 5-LAYER CODE ANALYSIS SEMANTIC INDEX │
│ ┌────────────────────────┐ ┌────────────────────────┐ │
│ │ L1: AST (~500 tok) │ │ BGE-large-en-v1.5 │ │
│ │ └── Functions, │ │ ├── All 5 layers │ │
│ │ classes, sigs │ │ ├── 10 lines context │ │
│ │ │ │ └── FAISS index │ │
│ │ L2: Call Graph (+440) │ │ │ │
│ │ └── Cross-file │──────────────│ Query: "auth logic" │ │
│ │ dependencies │ │ Returns: ranked funcs │ │
│ │ │ └────────────────────────┘ │
│ │ L3: CFG (+110 tok) │ │
│ │ └── Control flow │ │
│ │ │ MEMORY (PostgreSQL+pgvector) │
│ │ L4: DFG (+130 tok) │ ┌────────────────────────┐ │
│ │ └── Data flow │ │ sessions (heartbeat) │ │
│ │ │ │ file_claims (locks) │ │
│ │ L5: PDG (+150 tok) │ │ archival_memory (BGE) │ │
│ │ └── Slicing │ │ handoffs (embeddings) │ │
│ └────────────────────────┘ └────────────────────────┘ │
│ ~1,200 tokens │
│ vs 23,000 raw │
│ = 95% savings FILE SYSTEM │
│ ┌────────────────────────┐ │
│ │ thoughts/ │ │
│ │ ├── ledgers/ │ │
│ │ │ └── CONTINUITY_*.md│ │
│ │ └── shared/ │ │
│ │ ├── handoffs/*.yaml│ │
│ │ └── plans/*.md │ │
│ │ │ │
│ │ .tldr/ │ │
│ │ └── (daemon cache) │ │
│ └────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
## 核心系统
### 技能系统
技能是由自然语言触发的模块化能力。位于 `.claude/skills/`。
#### Meta-Skills(工作流编排器)
| Meta-Skill | 链 | 使用时机 |
|------------|-------|----------|
| `/workflow` | 路由器 → 适当的工作流 | 不知道从哪里开始 |
| `/build` | discovery → plan → validate → implement → commit | 构建功能 |
| `/fix` | sleuth → premortem → kraken → test → commit | 修复 Bug |
| `/tdd` | plan → arbiter (测试) → kraken (实现) → arbiter | 测试先行开发 |
| `/refactor` | phoenix → plan → kraken → reviewer → arbiter | 安全的代码转换 |
| `/review` | 并行专业审查 → 综合 | 代码审查 |
| `/explore` | scout (快速/深入/架构) | 了解代码库 |
| `/security` | 漏洞扫描 → 验证 | 安全审计 |
| `/release` | 审计 → E2E → 审查 → 变更日志 | 发布版本 |
#### Meta-Skill 参考
每个 Meta-Skill 都支持模式、范围和标志。单独输入技能(例如 `/build`)以获取交互式问题流程。
**`/build <模式> [选项] [描述]`**
| 模式 | 链 | 用于 |
|------|-------|---------|
| `greenfield` | discovery → plan → validate → implement → commit → PR | 从头开始的新功能 |
| `brownfield` | onboard → research → plan → validate → implement | 现有代码库中的功能 |
| `tdd` | plan → test-first → implement | 测试驱动开发 |
| `refactor` | 影响分析 → 计划 → TDD → 实现 | 安全重构 |
| 选项 | 效果 |
|--------|--------|
| `--skip-discovery` | 跳过访谈阶段(有明确的规范) |
| `--skip-validate` | 跳过计划验证 |
| `--skip-commit` | 不自动提交 |
| `--skip-pr` | 不创建 PR 描述 |
| `--parallel` | 并行运行研究智能体 |
**`/fix <范围> [选项] [描述]`**
| 范围 | 链 | 用于 |
|-------|-------|---------|
| `bug` | debug → implement → test → commit | 一般 Bug 修复 |
| `hook` | debug-hooks → hook-developer → implement → test | Hook 问题 |
| `deps` | preflight → oracle → plan → implement → qlty | 依赖错误 |
| `pr-comments` | github-search → research → plan → implement → commit | PR 反馈 |
| 选项 | 效果 |
|--------|--------|
| `--no-test` | 跳过回归测试 |
| `--dry-run` | 仅诊断,不修复 |
| `--no-commit` | 不自动提交 |
**`/explore <深度> [选项]`**
| 深度 | 时间 | 作用 |
|-------|------|--------------|
| `quick` | ~1 分钟 | tldr 树 + 结构概览 |
| `deep` | ~5 分钟 | onboard + tldr + 研究 + 文档 |
| `architecture` | ~3 分钟 | tldr 架构 + 调用图 + 层次 |
| 选项 | 效果 |
|--------|--------|
| `--focus "区域"` | 聚焦特定区域(例如 `--focus "auth"`) |
| `--output handoff | 为实现创建交接文档 |
| `--output doc` | 创建文档文件 |
| `--entry "函数"` | 从特定入口点开始 |
**`/tdd`, `/refactor`, `/review`, `/security`, `/release`**
这些遵循其定义的链,无需模式标志。只需运行:
```
/tdd "implement retry logic"
/refactor "extract auth module"
/review # reviews current changes
/security "authentication code"
/release v1.2.0
```
#### 关键技能(高价值工具)
**规划与风险**
- **premortem**: TIGERS & ELEPHANTS 风险分析 —— 在任何重要实现之前使用
- **discovery-interview**: 将模糊的想法转化为详细的规范
**上下文管理**
- **create_handoff**: 捕获会话状态以进行传输
- **resume_handoff**: 从交接文档恢复上下文
- **continuity_ledger**: 在会话内跟踪状态
**代码分析(95% Token 节省)**
- **tldr-code**: 调用图、CFG、DFG、切片
- **ast-grep-find**: 结构化代码搜索
- **morph-search**: 快速文本搜索(比 grep 快 20 倍)
**研究**
- **perplexity-search**: AI 驱动的网络搜索
- **nia-docs**: 库文档搜索
- **github-search**: 搜索 GitHub 代码/问题/PR
**质量**
- **qlty-check**: 70+ Linter,自动修复
- **braintrust-analyze**: 会话分析、重播和调试失败的会话
**数学与形式化证明**
- **math**: 统一计算(SymPy, Z3, Pint)—— 所有数学的统一入口
- **prove**: Lean4 定理证明,包含 5 阶段工作流(研究 → 设计 → 测试 → 实现 → 验证)
- **pint-compute**: 单位感知的算术和转换
- **shapely-compute**: 计算几何
`/prove` 技能无需学习 Lean 语法即可实现机器验证的证明。曾用于创建首个 Sylvester-Gallai 定理的 Lean 形式化。
#### 思考过程
```
What do I want to do?
├── Don't know → /workflow (guided router)
├── Building → /build greenfield or brownfield
├── Fixing → /fix bug
├── Understanding → /explore
├── Planning → premortem first, then plan-agent
├── Researching → oracle or perplexity-search
├── Reviewing → /review
├── Proving → /prove (Lean4 formal verification)
├── Computing → /math (SymPy, Z3, Pint)
└── Shipping → /release
```
[查看详细的技能分解 →](docs/skills/)
### 智能体系统
智能体是通过 Task 工具生成的专门 AI 工作者。位于 `.claude/agents/`。
#### 智能体分类(32 个活跃)
**编排器 (2)**
- **maestro**: 具有模式(Pipeline, Swarm, Jury)的多智能体协调
- **kraken**: 具有检查点/恢复支持的 TDD 实现智能体
**规划器 (4)**
- **architect**: 功能规划 + API 集成
- **phoenix**: 重构 + 框架迁移规划
- **plan-agent**: 具有研究/MCP 工具的轻量级规划
- **validate-agent**: 根据最佳实践验证计划
**探索器 (4)**
- **scout**: 代码库探索(代替 Explore 使用)
- **oracle**: 外部研究(网络、文档、API)
- **pathfinder**: 外部仓库分析
- **research-codebase**: 按原样记录代码库
**实现者 (3)**
- **kraken**: 具有严格测试先行工作流的 TDD 实现
- **spark**: 轻量级修复和快速调整
- **agentica-agent**: 使用 Agentica SDK 构建 Python 智能体
**调试器 (3)**
- **sleuth**: 一般 Bug 调查和根本原因分析
- **debug-agent**: 通过日志/代码搜索进行问题调查
- **profiler**: 性能分析和竞态条件
**验证器 (2)** - arbiter, atlas
**审查者 (6)** - critic, judge, surveyor, liaison, plan-reviewer, review-agent
**专业类 (8)** - aegis, herald, scribe, chronicler, session-analyst, braintrust-analyst, memory-extractor, onboard
#### 常见工作流
| 工作流 | 智能体链 |
|----------|-------------|
| 功能 | architect → plan-reviewer → kraken → review-agent → arbiter |
| 重构 | phoenix → plan-reviewer → kraken → judge → arbiter |
| Bug 修复 | sleuth → spark/kraken → arbiter → scribe |
[查看详细的智能体指南 →](docs/agents/)
### Hooks 系统
Hooks 在生命周期节点拦截 Claude Code。位于 `.claude/hooks/`。
#### Hook 事件(共 30 个 Hooks)
| 事件 | 关键 Hooks | 目的 |
|-------|-----------|---------|
| **SessionStart** | session-start-continuity, session-register, braintrust-tracing | 加载上下文,注册会话 |
| **PreToolUse** | tldr-read-enforcer, smart-search-router, tldr-context-inject, file-claims | Token 节省,搜索路由 |
| **PostToolUse** | post-edit-diagnostics, handoff-index, post-edit-notify | 验证,索引 |
| **PreCompact** | pre-compact-continuity | 压缩前自动保存 |
| **UserPromptSubmit** | skill-activation-prompt, memory-awareness | 技能提示,记忆召回 |
| **SubagentStop** | subagent-stop-continuity | 保存智能体状态 |
| **SessionEnd** | session-end-cleanup, session-outcome | 清理,提取学习内容 |
#### 关键 Hooks
| Hook | 目的 |
|------|---------|
| **tldr-context-inject** | 将代码分析添加到智能体 Prompt 中 |
| **smart-search-router** | 在适当的时候将 grep 路由到 AST-grep |
| **post-edit-diagnostics** | 编辑后运行 pyright/ruff |
| **memory-awareness** | 展示相关的学习内容 |
[查看所有 30 个 Hooks →](docs/hooks/)
### TLDR 代码分析
TLDR 通过 5 个分析层提供 Token 高效的代码摘要。
#### 5 层堆栈
| 层 | 名称 | 提供的内容 | Token |
|-------|------|------------------|--------|
| **L1** | AST | 函数、类、签名 | ~500 tokens |
| **L2** | 调用图 | 谁调用了什么(跨文件) | +440 tokens |
| **L3** | CFG | 控制流、复杂度 | +110 tokens |
| **L4** | DFG | 数据流、变量跟踪 | +130 tokens |
| **L5** | PDG | 程序切片、影响分析 | +150 tokens |
**总计:约 1,200 个 Token vs 23,000 个原始 Token = 节省 95%**
#### CLI 命令
```
# 结构分析
tldr tree src/ # File tree
tldr structure src/ --lang python # Code structure (codemaps)
# 搜索与提取
tldr search "process_data" src/ # Find code
tldr context process_data --project src/ --depth 2 # LLM-ready context
# 流程分析
tldr cfg src/main.py main # Control flow graph
tldr dfg src/main.py main # Data flow graph
tldr slice src/main.py main 42 # What affects line 42?
# Codebase 分析
tldr impact process_data src/ # Who calls this function?
tldr dead src/ # Find unreachable code
tldr arch src/ # Detect architectural layers
# 语义搜索(自然语言)
tldr daemon semantic "find authentication logic"
```
#### 语义索引
除了结构分析,TLDR 还为你的代码库构建**语义索引**:
- **自然语言查询** —— 询问 "错误处理在哪里?" 而不是使用 grep
- **自动重建** —— 脏标志 Hook 跟踪文件更改;在 N 次编辑后重建索引
- **选择性索引** —— 使用 `.tldrignore` 控制索引内容
```
# .tldrignore 示例
__pycache__/
*.test.py
node_modules/
.venv/
```
语义索引使用所有 5 层加上 10 行周围的代码上下文——而不仅仅是文档字符串。
#### Hook 集成
TLDR 通过 Hooks 自动集成:
- **tldr-read-enforcer**: 返回 L1+L2+L3 而不是完整的文件读取
- **smart-search-router**: 将 Grep 路由到 `tldr search`
- **post-tool-use-tracker**: 文件更改时更新索引
[查看 TLDR 文档 →](opc/packages/tldr-code/)
### 记忆系统
由 PostgreSQL + pgvector 驱动的跨会话学习。
### 工作原理
```
Session ends → Database detects stale heartbeat (>5 min)
→ Daemon spawns headless Claude (Sonnet)
→ Analyzes thinking blocks from session
→ Extracts learnings to archival_memory
→ Next session recalls relevant learnings
```
关键洞察:**思考块包含真正的推理**——不仅是 Claude 做了什么,还有为什么。守护进程自动提取这些内容。
#### 对话界面
| 你说的话 | 发生的事情 |
|--------------|--------------|
| "记住 auth 使用 JWT" | 带上下文存储学习内容 |
| "回忆认证模式" | 搜索记忆,展示匹配项 |
| "我们关于 X 做了什么决定?" | 通过 memory-awareness Hook 隐式召回 |
#### 数据库模式(4 张表)
| 表 | 目的 |
|-------|---------|
| **sessions** | 跨终端感知 |
| **file_claims** | 跨终端文件锁定 |
| **archival_memory** | 带有 BGE 嵌入的长期学习内容 |
| **handoffs** | 带有嵌入的会话交接 |
#### 召回命令
```
# 召回学习内容(混合文本 + 向量搜索)
cd opc && uv run python scripts/core/recall_learnings.py \
--query "authentication patterns"
# 显式存储学习内容
cd opc && uv run python scripts/core/store_learning.py \
--session-id "my-session" \
--type WORKING_SOLUTION \
--content "What I learned" \
--confidence high
```
#### 自动记忆
**memory-awareness** Hook 在你发送消息时展示相关的学习内容。你会看到 `MEMORY MATCH` 指示器——Claude 可以在你没有要求的情况下使用这些。
### 连续性系统
在上下文清除和会话之间保留状态。
#### 连续性账本
会话内状态跟踪。位置:`thoughts/ledgers/CONTINUITY_<主题>.md`
```
# Session: feature-x
Updated: 2026-01-08
## 目标
Implement feature X with proper error handling
## 已完成
- [x] Designed API schema
- [x] Implemented core logic
## 进行中
- [ ] Add error handling
## 阻碍
- Need clarification on retry policy
```
#### 交接
会话间知识传输。位置:`thoughts/shared/handoffs/<会话>/`
```
---
date: 2026-01-08T15:26:01+0000
session_name: feature-x
status: complete
---
# 移交: Feature X 实现
## 任务
| Task | Status |
|------|--------|
| Design API | Completed |
| Implement core | Completed |
| Error handling | Pending |
## 下一步
1. Add retry logic to API calls
2. Write integration tests
```
#### 命令
| 命令 | 效果 |
|---------|--------------|
| "保存状态" | 更新连续性账本 |
| "今天的工作完成了" / `/handoff` | 创建交接文档 |
| "继续工作" | 加载最新的交接文档 |
### 数学系统
两种能力:**计算**(SymPy, Z3, Pint)和**形式化验证**(Lean4 + Mathlib)。
#### 技术栈
| 工具 | 目的 | 示例 |
|------|---------|---------|
| **SymPy** | 符号数学 | 解方程、积分、矩阵运算 |
| **Z3** | 约束求解 | 证明不等式、SAT 问题 |
| **Pint** | 单位转换 | 将英里转换为公里、量纲分析 |
| **Lean4** | 形式化证明 | 机器验证的定理 |
| **Mathlib** | 10万+ 定理 | 用于构建的预形式化引理 |
| **Loogle** | 类型感知搜索 | 通过签名查找 Mathlib 引理 |
#### 两个入口
| 技能 | 使用时机 |
|-------|----------|
| `/math` | 计算、求解、运算 |
| `/prove` | 形式化验证、机器检查证明 |
#### /math 示例
```
# 解方程
"Solve x² - 4 = 0" → x = ±2
# 计算特征值
"Eigenvalues of [[2,1],[1,2]]" → {1: 1, 3: 1}
# 证明不等式
"Is x² + y² ≥ 2xy always true?" → PROVED (equals (x-y)²)
# 转换单位
"26.2 miles to km" → 42.16 km
```
#### /prove - 形式化验证
用于机器验证证明的 5 阶段工作流:
```
📚 RESEARCH → 🏗️ DESIGN → 🧪 TEST → ⚙️ IMPLEMENT → ✅ VERIFY
```
1. **研究**:使用 Loogle 搜索 Mathlib,寻找证明策略
2. **设计**:创建带有 `sorry` 占位符的骨架
3. **测试**:在证明之前搜索反例
4. **实现**:在编译器循环反馈中填充 sorries
5. **验证**:审计公理,确认零 sorries
```
/prove every group homomorphism preserves identity
/prove continuous functions on compact sets are uniformly continuous
```
**成就**:用于创建首个 Sylvester-Gallai 定理的 Lean 形式化。
#### 前置条件(可选)
数学功能需要通过向导步骤 9 安装:
```
# 由 wizard 自动安装
uv pip install sympy z3-solver pint shapely
# Lean4(用于 /prove)
curl https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh -sSf | sh
```
## 工作流
### /workflow - 基于目标的路由器
```
> /workflow
? What's your goal?
○ Research - Understand codebase/docs
○ Plan - Design implementation approach
○ Build - Implement features
○ Fix - Investigate and resolve issues
```
### /fix - Bug 解决
```
/fix bug "login fails silently"
```
**链:** sleuth → [checkpoint] → [premortem] → kraken → test → commit
| 范围 | 作用 |
|-------|--------------|
| `bug` | 一般 Bug 调查 |
| `hook` | 特定于 Hook 的调试 |
| `deps` | 依赖问题 |
| `pr-comments` | 处理 PR 反馈 |
### /build - 功能开发
```
/build greenfield "user dashboard"
```
**链:** discovery → plan → validate → implement → commit → PR
| 模式 | 作用 |
|------|--------------|
| `greenfield` | 从头开始的新功能 |
| `brownfield` | 修改现有代码库 |
| `tdd` | 测试先行开发 |
| `refactor` | 安全的代码转换 |
### /premortem - 风险分析
```
/premortem deep thoughts/shared/plans/feature-x.md
```
**输出:**
- **TIGERS**: 明显的威胁(HIGH/MEDIUM/LOW 严重性)
- **ELEPHANTS**: 未言明的顾虑
在用户接受/缓解风险之前,针对 HIGH 严重性进行阻断。
## 安装
### 完整安装(推荐)
```
# 克隆
git clone https://github.com/parcadei/continuous-claude.git
cd continuous-claude/opc
# 运行 setup wizard
uv run python -m scripts.setup.wizard
```
向导将交互式地引导你完成所有配置选项。
## 更新
拉取最新更改并同步你的安装:
```
cd continuous-claude/opc
uv run python -m scripts.setup.update
```
这将:
- 从 GitHub 拉取最新内容
- 更新 Hooks、技能、规则、智能体
- 如果已安装,升级 TLDR
- 如果已更改,重建 TypeScript Hooks
### 安装内容
| 组件 | 位置 |
|-----------|----------|
| 智能体 (32) | ~/.claude/agents/ |
| 技能 (109) | ~/.claude/skills/ |
| Hooks (30) | ~/.claude/hooks/ |
| 规则 | ~/.claude/rules/ |
| 脚本 | ~/.claude/scripts/ |
| PostgreSQL | Docker 容器 |
### 安装模式复制 vs 符号链接
向导提供两种安装模式:
| 模式 | 工作原理 | 最适合 |
|------|--------------|----------|
| **复制**(默认) | 将文件从仓库复制到 `~/.claude/` | 最终用户,稳定设置 |
| **符号链接** | 创建指向仓库文件的符号链接 | 贡献者,开发 |
#### 复制模式(默认)
文件从 `continuous-claude/.claude/` 复制到 `~/.claude/`。你在 `~/.claude/` 中所做的更改**仅在本地有效**,将在下次更新时被覆盖。
```
continuous-claude/.claude/ ──COPY──> ~/.claude/
(source) (user config)
```
**优点:** 稳定,与仓库更改隔离
**缺点:** 更新时本地更改丢失,需要手动同步
#### 符号链接模式(推荐给贡献者)
创建符号链接,以便 `~/.claude/` 直接指向仓库文件。任一位置的更改都会影响相同的文件。
```
~/.claude/rules ──SYMLINK──> continuous-claude/.claude/rules
~/.claude/skills ──SYMLINK──> continuous-claude/.claude/skills
~/.claude/hooks ──SYMLINK──> continuous-claude/.claude/hooks
~/.claude/agents ──SYMLINK──> continuous-claude/.claude/agents
```
**优点:**
- 更改自动同步到仓库(可以 `git commit` 改进)
- `git pull` 后无需重新安装
- 轻松回馈
**缺点:**
- 仓库中的破坏性更改立即影响你的设置
- 需要管理 git 工作流
#### 切换到符号链接模式
如果你使用复制模式安装并想切换:
```
# 备份当前配置
mkdir -p ~/.claude/backups/$(date +%Y%m%d)
cp -r ~/.claude/{rules,skills,hooks,agents} ~/.claude/backups/$(date +%Y%m%d)/
# 继续操作前验证备份是否成功
ls -la ~/.claude/backups/$(date +%Y%m%d)/
# 删除副本(仅在验证上述备份后)
rm -rf ~/.claude/{rules,skills,hooks,agents}
# 创建 symlinks(调整路径至您的 repo 位置)
REPO="$HOME/continuous-claude" # or wherever you cloned
ln -s "$REPO/.claude/rules" ~/.claude/rules
ln -s "$REPO/.claude/skills" ~/.claude/skills
ln -s "$REPO/.claude/hooks" ~/.claude/hooks
ln -s "$REPO/.claude/agents" ~/.claude/agents
# 验证
ls -la ~/.claude | grep -E "rules|skills|hooks|agents"
```
**Windows 用户:** 使用 PowerShell(以管理员身份或启用开发者模式):
```
# 首先启用 Developer Mode(Settings → Privacy & security → For developers)
# 或者以 Administrator 身份运行 PowerShell
# 备份当前配置
$BackupDir = "$HOME\.claude\backups\$(Get-Date -Format 'yyyyMMdd')"
New-Item -ItemType Directory -Path $BackupDir -Force
Copy-Item -Recurse "$HOME\.claude\rules","$HOME\.claude\skills","$HOME\.claude\hooks","$HOME\.claude\agents" $BackupDir
# 继续操作前验证备份是否成功
Get-ChildItem $BackupDir
# 删除副本(仅在验证上述备份后)
Remove-Item -Recurse "$HOME\.claude\rules","$HOME\.claude\skills","$HOME\.claude\hooks","$HOME\.claude\agents"
# 创建 symlinks(调整路径至您的 repo 位置)
$REPO = "$HOME\continuous-claude" # or wherever you cloned
New-Item -ItemType SymbolicLink -Path "$HOME\.claude\rules" -Target "$REPO\.claude\rules"
New-Item -ItemType SymbolicLink -Path "$HOME\.claude\skills" -Target "$REPO\.claude\skills"
New-Item -ItemType SymbolicLink -Path "$HOME\.claude\hooks" -Target "$REPO\.claude\hooks"
New-Item -ItemType SymbolicLink -Path "$HOME\.claude\agents" -Target "$REPO\.claude\agents"
# 验证
Get-ChildItem "$HOME\.claude" | Where-Object { $_.LinkType -eq "SymbolicLink" }
```
### 对于 Brownfield 项目
安装后,启动 Claude 并运行:
```
> /onboard
```
这将分析代码库并创建初始连续性账本。
## 配置
### .claude/settings.json
Hooks、工具和工作流的中央配置。
```
{
"hooks": {
"SessionStart": [...],
"PreToolUse": [...],
"PostToolUse": [...],
"UserPromptSubmit": [...]
}
}
```
### .claude/skills/skill-rules.json
技能激活触发器。
```
{
"rules": [
{
"skill": "fix",
"keywords": ["fix this", "broken", "not working"],
"intentPatterns": ["fix.*(bug|issue|error)"]
}
]
}
```
### 环境变量
| 变量 | 目的 | 必需 |
|----------|---------|----------|
| `DATABASE_URL` | PostgreSQL 连接字符串 | 是 |
| `BRAINTRUST_API_KEY` | 会话追踪 | 否 |
| `PERPLEXITY_API_KEY` | 网络搜索 | 否 |
| `NIA_API_KEY` | 文档搜索 | 否 |
| `CLAUDE_OPC_DIR` | CC 的 opc/ 目录路径(由向导设置) | 自动 |
| `CLAUDE_PROJECT_DIR` | 当前项目目录(由 SessionStart Hook 设置) | 自动 |
没有 API 密钥的服务仍然可以工作:
- 连续性系统(账本、交接)
- TLDR 代码分析
- 本地 git 操作
- TDD 工作流
## 目录结构
```
continuous-claude/
├── .claude/
│ ├── agents/ # 32 specialized AI agents
│ ├── hooks/ # 30 lifecycle hooks
│ │ ├── src/ # TypeScript source
│ │ └── dist/ # Compiled JavaScript
│ ├── skills/ # 109 modular capabilities
│ ├── rules/ # System policies
│ ├── scripts/ # Python utilities
│ └── settings.json # Hook configuration
├── opc/
│ ├── packages/
│ │ └── tldr-code/ # 5-layer code analysis
│ ├── scripts/
│ │ ├── setup/ # Wizard, Docker, integration
│ │ └── core/ # recall_learnings, store_learning
│ └── docker/
│ └── init-schema.sql # 4-table PostgreSQL schema
├── thoughts/
│ ├── ledgers/ # Continuity ledgers (CONTINUITY_*.md)
│ └── shared/
│ ├── handoffs/ # Session handoffs (*.yaml)
│ └── plans/ # Implementation plans
└── docs/ # Documentation
```
## 贡献
请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 了解以下方面的准则:
- 添加新技能
- 创建智能体
- 开发 Hooks
- 扩展 TLDR
## 致谢
### 模式与架构
- **[@numman-ali](https://github.com/numman-ali)** - 连续性账本模式
- **[Anthropic](https://anthropic.com)** - Claude Code 和 "Code Execution with MCP"
- **[obra/superpowers](https://github.com/obra/superpowers)** - 智能体编排模式
- **[EveryInc/compound-engineering-plugin](https://github.com/EveryInc/compound-engineering-plugin)** - 复利工程工作流
- **[yoloshii/mcp-code-execution-enhanced](https://github.com/yoloshii/mcp-code-execution-enhanced)** - 增强的 MCP 执行
- **[HumanLayer](https://github.com/humanlayer/humanlayer)** - 智能体模式
### 工具与服务
- **[uv](https://github.com/astral-sh/uv)** - Python 打包
- **[tree-sitter](https://tree-sitter.github.io/)** - 代码解析
- **[Braintrust](https://braintrust.dev)** - LLM 评估、日志记录和会话追踪
- **[qlty](https://github.com/qltysh/qlty)** - 通用代码质量 CLI(70+ Linter)
- **[ast-grep](https://github.com/ast-grep/ast-grep)** - 基于 AST 的代码搜索和重构
- **[Nia](https://trynia.ai)** - 库文档搜索
- **[Morph](https://www.morphllm.com)** - WarpGrep 快速代码搜索
- **[Firecrawl](https://www.firecrawl.dev)** - 网页抓取 API
- **[RepoPrompt](https://repoprompt.com)** - Token 高效的代码库映射
## Star History
[](https://star-history.com/#parcadei/Continuous-Claude-v2&Date)
## 许可证
[MIT](LICENSE) - 自由使用,欢迎回馈。
**Continuous Claude**: 不仅仅是一个编码助手——一个持久的、学习型的、多智能体开发环境,随着每次会话变得更聪明。
标签:Agent编排, Anthropic Claude, Claude Code, DNS解析, Hooks, LLM应用开发, MCP, MIT许可, SOC Prime, Token优化, 上下文窗口, 上下文管理, 交接机制, 人工智能, 代码分析, 任务调度, 凭证管理, 分类账, 工作流自动化, 工具调用, 开发工具, 开源项目, 持续学习, 提示词工程, 数字取证, 测试用例, 状态管理, 用户模式Hook绕过, 策略决策点, 自动化脚本, 自动化运维, 记忆系统, 语义索引, 请求拦截, 逆向工具