ccFamily
[ MENU ]
SECT. 00 // THE PROBLEM

ccFamily/
記憶 · 歷史
給 Claude Code 的兩個本機工具

你的 Claude Code 每次開新對話都是一張白紙。前兩週決定的架構、修過的坑、定過的慣例——全忘。

於是你變成了 AI 的長期記憶,每次都得再講一遍。

那些對話沒有消失——它們躺在 ~/.claude/projects/ 的 JSONL 裡,只是沒人去讀。ccFamily 是兩個去讀它的本機工具:一個讀給 AI,一個讀給你

▲ NOW · CMD · INSTALL

npm install -g @tznthou/ccrecall

[ ⭐ GITHUB → ]
SECT. 01 // TWO TOOLS · TWO DIRECTIONS

一個讓 AI 記得
一個讓你 回頭查

同一份 JSONL,兩種讀法。ccRecall 把它煉成餵給 AI 的記憶,ccRewind 把它攤成給人看的歷史。兩個各自獨立,裝一個或兩個都行。

▲ NOW
ccRecall LIVE · v0.5.6

讓 AI 記得 · CLI · APACHE-2.0

session 結束後把對話煉成結構化記憶,下次開新對話自動帶回最多 5 筆。你不用再重講一次「我們之前決定用 X 不用 Y」。 ~/.ccrecall/

看 ccRecall 怎麼運作 →
▲ NOW
ccRewind LIVE · v1.19.2

讓你回頭查 · 桌面 APP · GPL-3.0

把散落的 JSONL 攤成一本有索引的考古筆記本:搜得到、看得懂分支、算得出 token 花在哪。 ~/.ccrewind/

看 ccRewind 怎麼運作 →
WHICH ONE · 什麼時候用哪個
ccRecall

想讓 Claude 記得上週為什麼選了 SQLite

ccRewind

想翻出三天前那段對話最後是怎麼結論的

ccRecall

開新 session 不想再重講一次專案脈絡

ccRewind

想知道這個月 token 到底花在哪些對話上

SECT. 02 // ARCHITECTURE · PEER PRODUCTS + PLUGIN · SCHEMA 6/20 ALIGNED

兩個 peer,
加一個還沒開始寫的 plugin。

不是 pipeline、不是中央 daemon——而是兩個對等的基礎產品(獨立安裝、獨立升級、獨立刪除),加一個讀共用 schema 的擴展 plugin。

FIG. C · ARCH SIMPLIFIED

// TWO PEER PRODUCTS · INDEPENDENT

ccRewind

history GUI · dark-mode

PHASE 02 · LIVE · ~/.ccrewind/

ccRecall

memory layer · CLI

PHASE 01 · LIVE · ~/.ccrecall/

[+ ccreason plugin · PLANNED]

↕ peer · independent · schema 6/20 aligned ↕

~/.ccfamily/db.sqlite

FUTURE TARGET · 20 unified tables (10 baseline + 7 ccRecall + 3 ccRewind)

// 現階段獨立 DB · 合併 opt-in · reversible migration

DESIGN NOTE

為何 plugin?

ccReason(ADR 推理)獨立 npm 包但讀 ccRecall 共用 schema——是 plugin,不是 subcommand 也不是 peer。

原因:ccReason 的核心動作是「讀 ccRecall 的 memories + knowledge_map 表推 ADR」——讀寫都依賴 ccRecall 的 SQLite schema。獨立成 peer 等於要重新發明 storage、做成 subcommand 又會污染 ccRecall codebase。plugin 模式(獨立 npm + 共用 schema)兩邊優勢都拿到

// 對 V2 ADR CLI 路線是補充,不是顛覆。仍是 CLI、仍是 ADR markdown、仍 Apache-2.0。

// PLUGIN (READS SHARED SCHEMA) · 尚未動工

ccReason 設計完成 · 還沒開始寫

EXTENSION · ADR CLI · INDEPENDENT NPM · SHARED SCHEMA

獨立 npm 包但架構上是 ccRecall 的 extension,讀 ccRecall 的 memories + knowledge_map 表推 ADR markdown,可 commit 進 docs/adr/

ccreason adr "why did we switch to NATS"

FAMILY COMMITMENT

ASSERT #04

獨立生命週期

每個 peer 產品可獨立安裝、獨立升級、獨立刪除。卸載 ccRecall 不影響 ccRewind,反之亦然。ccReason plugin 是 opt-in。

ASSERT #05

本機資料

共用 DB 永遠在本機 ~/.ccfamily/沒有 cloud sync 計畫。合規派可丟進公司 backup policy。

ASSERT #06

可逆遷移

Schema migration 提供可逆路徑與文件(forward + rollback SQL)。整合採用者保有退出空間。

// INVARIANTS: LOCAL-FIRST · OPEN-SOURCE · CLAUDE-CODE-NATIVE · INDEPENDENT-INSTALL · REVERSIBLE-MIGRATION

SECT. 03 · FINAL

STEP 1 · INSTALL
這行 5 秒,剩下 3 步在教學裡

npm install -g @tznthou/ccrecall

[ ⭐ STAR ON GITHUB ]