ํ๋ฆฟํ ํ ๋ง๋๋ก ๊ณผ๊ฑฐ Claude Code / Codex ์ธ์ ์ ๋์ฐพ๋๋ค. Claude Code / Codex ์์์ AI ๊ฐ ์๋ ํธ์ถํ๋ skill. 100% ๋ก์ปฌ, API key ์์, ์ธ๋ถ ์ ์ก 0.
You: ๊ทธ๋ deno ์ธ์ฆ ํค๋ ์์
ํ๋ ๊ฑฐ ๋ค์ ์์ํด์ค.
AI: โ recall search "deno ์ธ์ฆ ํค๋"
2๊ฑด ๋งค์นญ. ๊ฐ์ฅ ์ต๊ทผ ์ธ์
:
claude :: 3cca0676-1106-4c5a-8f1f-1080ad72e4cd
์๋ ํ ์ค์ ๊ทธ๋๋ก ์
๋ ฅํ์๋ฉด ๊ทธ ์ธ์
์ผ๋ก ๋์๊ฐ๋๋ค:
/resume 3cca0676-1106-4c5a-8f1f-1080ad72e4cd
You: [๋ณต์ฌ โ ๋ถ์ฌ๋ฃ๊ธฐ โ Enter]
[๊ทธ ์ธ์
์ด ํ์ฌ CLI ์์์ ๊ทธ๋๋ก ์ด์๋จ]
โ recall ๋ช
๋ น์ ์ธ์ธ ํ์ ์์ต๋๋ค. AI ๊ฐ SKILL.md ๋ฅผ ์ฝ๊ณ ์์์ ํธ์ถ, session_id ๋ฅผ ์ฐพ์์ฃผ๊ณ ์ฌ์ฉ์์๊ฒ /resume <id> ํ ์ค๋ง ์๋ดํฉ๋๋ค. ์ฌ์ฉ์๋ ํ ๋ฒ ๋ถ์ฌ๋ฃ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
| ๋ฌธ์ | recall |
|---|---|
์ธ์
์ด ์๋ฐฑ ๊ฐ ์์ด๋ฉด claude --resume / codex resume ์ picker ๊ฐ ๋ชป ์ฐพ๋๋ค |
ํ๋ฆฟํ ํ ๋ง๋๋ก ๋ณธ๋ฌธ๊น์ง ํํ ์คํธ ๋งค์นญ (SQLite FTS5) |
| rename ยท fork ์์ด ์์ ํ๋ฉด ๊ทธ ์ธ์ ์ ๋ค์ ๋ชป ์ฐพ๋๋ค | session_id ๋ชจ๋ฅด๊ณ ํค์๋๋ง ์์ด๋ OK |
| ํด๋ผ์ฐ๋ ๋๊ธฐํ๋ ๋ถ๋ด์ค๋ฝ๋ค | 100% ๋ก์ปฌ. ๋คํธ์ํฌ ํธ์ถ 0, ํ ๋ ๋ฉํธ๋ฆฌ 0, API key 0 |
| Claude / Codex ๋ฐ๋ก ๊ฒ์์ ๊ท์ฐฎ๋ค | ํ ์ธ๋ฑ์ค์ ๋ ๋๊ตฌ ํตํฉ |
| ๋งค๋ฒ ์๋ ์ธ๋ฑ์ฑ์ ๋ถํธํ๋ค | recall daemon install ํ ๋ฒ์ด๋ฉด 30๋ถ๋ง๋ค ์๋ |
| ์ธ๋ถ ์ ์ ธ ๋์ฐ๋ฉด ์์ ํ๋ฆ์ด ๋๊ธด๋ค | /resume <id> slash command ํ ์ค๋ก ํ์ฌ CLI ์์์ ๊ทธ ์ธ์
์ผ๋ก ์ ํ |
์ด๋ฏธ Claude Code ๋๋ Codex ๊ฐ OAuth ์ธ์ฆ๋ ์ํ๋ผ๋ฉด, ๋ค์์ ๊ทธ ๋๊ตฌ์ ๊ทธ๋๋ก ๋ถ์ฌ๋ฃ์ผ์ธ์.
https://github.com/Hostingglobal-Tech/recall ๋ฅผ ์ด ๋จธ์ ์ ์ค์นํด์ค.
1. Rust ์์ผ๋ฉด rustup ์ผ๋ก ์ค์น
2. ~/.local/share/recall ์ clone, cargo build --release
3. ๋น๋ ์ฐ์ถ๋ฌผ(target/release/recall)์ PATH ๋๋ ํ ๋ฆฌ(~/.local/bin ๋ฑ)์ ๋ณต์ฌ
4. plugins/claude/SKILL.md ๋ฅผ ~/.claude/skills/recall/SKILL.md ๋ก ๋ณต์ฌ (skill ๋ฑ๋ก)
5. recall init && recall scan && recall daemon install
6. ๋จ๊ณ๋ง๋ค ๊ฒฐ๊ณผ ํ์ธ
codex "Install https://github.com/Hostingglobal-Tech/recall. If Rust is missing, install rustup. Clone to ~/.local/share/recall, cargo build --release, put binary on PATH, copy plugins/codex/SKILL.md to ~/.codex/skills/recall/SKILL.md, then run 'recall init && recall scan && recall daemon install'."Claude Code ์ Codex ๋ฅผ ๊ฐ์ ๋จธ์ ์์ ๋ชจ๋ ์ด๋ค๋ฉด ๋ skill ๋ชจ๋ ๋ฑ๋กํ์ธ์:
cp plugins/claude/SKILL.md ~/.claude/skills/recall/SKILL.md(Claude)cp plugins/codex/SKILL.md ~/.codex/skills/recall/SKILL.md(Codex)
์ค์น ํ โ ๋ช ๋ น์ ์ธ์ฐ์ง ๋ง์ธ์. ๊ทธ๋ฅ ์์ฐ์ด๋ก ๋งํ๋ฉด ๋ฉ๋๋ค:
"๊ทธ๋ oauth ์ฐ๊ฒฐํ๋ ์์ ๋ค์" "์ง๋์ฃผ supabase RLS ์งฐ๋ ์ธ์ ์ด๋์์ง?" "์ด์ K8s ์ธ๊ทธ๋ ์ค ๋๋ฒ๊น ๊ทธ๊ฑฐ ์ด์ด์"
git clone https://github.com/Hostingglobal-Tech/recall.git ~/.local/share/recall
cd ~/.local/share/recall
cargo build --release
cp target/release/recall ~/.local/bin/
# Claude Code skill ๋ฑ๋ก
mkdir -p ~/.claude/skills/recall
cp plugins/claude/SKILL.md ~/.claude/skills/recall/SKILL.md
# Codex skill ๋ฑ๋ก (Codex ๋ ์ฐ๋ ๋จธ์ ์ด๋ฉด ๊ฐ์ด)
mkdir -p ~/.codex/skills/recall
cp plugins/codex/SKILL.md ~/.codex/skills/recall/SKILL.md
# ์ฒซ ์ธ๋ฑ์ฑ + ์๋ ์ธ๋ฑ์ฑ ๋ฑ๋ก
recall init
recall scan
recall daemon install # 30๋ถ ์ฃผ๊ธฐ ์๋ scanrecall ์ ์ด๋ค ํ๋ก์ธ์ค๋ spawn ํ์ง ์์ต๋๋ค. session_id ๋ฅผ ์ฐพ์์ฃผ๊ณ ์ฌ์ฉ์๊ฐ ํ์ฌ CLI ์ ์ง์ ๋ถ์ฌ๋ฃ์ ํ ์ค๋ง ์๋ดํฉ๋๋ค.
$ recall resume "deno ์ธ์ฆ ํค๋"
matched : claude :: 3cca0676-1106-4c5a-8f1f-1080ad72e4cd
cwd : C:\Users\ceo
To resume this session, paste the following one-liner into your current CLI:
/resume 3cca0676-1106-4c5a-8f1f-1080ad72e4cdclaude ์ codex ๋ ๋ค /resume <session_id> ๋ฅผ in-session slash command ๋ก ์ง์ํฉ๋๋ค. ์ฌ์ฉ์๊ฐ ๊ทธ ํ ์ค์ ๊ทธ๋๋ก ์
๋ ฅํ๋ฉด ํ์ฌ CLI ๊ฐ ๊ทธ ์ธ์
์ผ๋ก ๊ต์ฒด๋ฉ๋๋ค.
์ ํ๋ก์ธ์ค๋ก ์ธ๋ถ ์คํ์ ์ํ๋ฉด
claude --resume <id>๋๋codex resume <id>๋ฅผ ์ ์ ธ์์ ์คํํ๋ฉด ๋ฉ๋๋ค.
์ ์ธ์
์ recall daemon ์ด ์์์ DB ์ ๋ฃ์ด์ค๋๋ค.
recall daemon install --interval-min 30 # ๋ฑ๋ก (๊ธฐ๋ณธ 30๋ถ)
recall daemon status # ์ํ ํ์ธ
recall daemon uninstall # ์ ๊ฑฐOS ๋ณ ๋ฐฑ์๋:
- Linux / macOS:
crontabํ ์ค ์ถ๊ฐ - Windows: Scheduled Task
recall-scan๋ฑ๋ก
์ฌ๋์ ๋ณดํต ์ธ์ธ ํ์ ์์. AI ๊ฐ SKILL.md ์๋ด๋๋ก ํธ์ถ.
| ๋ช ๋ น | ๋์ |
|---|---|
recall init |
~/.recall/recall.db ์์ฑ |
recall scan [--provider claude|codex|all] [--force] |
sha256 ์ฆ๋ถ ์ธ๋ฑ์ฑ |
recall search "<ํค์๋>" |
FTS5 ํํ ์คํธ (title + first/last prompt + body) |
recall show <session_id_prefix> |
์ธ์ ์์ธ + first/last prompt |
recall resume <id|ํค์๋> |
session_id ์ฐพ์์ /resume <uuid> ํ ์ค๋ง ์๋ด (์คํ ์ ํจ) |
recall related <session_id_prefix> |
๊ฐ์ cwd ์ ๋ค๋ฅธ ์ธ์ (1-hop ๊ทธ๋ํ) |
recall stats |
provider ๋ณ ์ธ์ ยท๋ฉ์์งยท์ฌ์ด์ฆ ํต๊ณ |
recall daemon install/status/uninstall |
์ฃผ๊ธฐ ์๋ scan ๊ด๋ฆฌ |
~/.recall/recall.db # SQLite (sessions + FTS5 + edges)
์คํค๋ง:
sessions (id, provider, session_id, cwd, title, first/last_prompt, ...)
sessions_fts FTS5 ๊ฐ์ ํ
์ด๋ธ (title + prompts + body)
edges (src_pk, dst_pk, kind, weight) -- 1-hop ๊ทธ๋ํ (same_cwd)API key, config ํ์ผ, ์ธ๋ถ ์์กด ๋ชจ๋ ์์ต๋๋ค.
- ๋คํธ์ํฌ ํธ์ถ 0. ์ค์นยท๋น๋ยท์คํ ์ด๋์๋ ์ธ๋ถ ํต์ ์์.
- ํ ๋ ๋ฉํธ๋ฆฌ 0.
- ์๋ณธ ์ธ์
ํ์ผ์ ์ฝ๊ธฐ๋ง. recall ์
~/.recall/์๋ง ์๋๋ค. - recall ์ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ spawn ํ์ง ์์ต๋๋ค. ์ฌ์ฉ์๊ฐ
/resume์ฌ๋์ ๋ช ๋ น์ ์ง์ ์ ๋ ฅํด ํ์ฌ CLI ์ธ์ ์ ๊ทธ ์ธ์ ์ผ๋ก ๊ต์ฒดํฉ๋๋ค.
์กฐํ ๊ธฐ๋ฅ์ ์ ๋ถ ๋ฉ๋๋ค. recall search, recall show, recall stats, recall related ๋ recall ์ด ์๊ธฐ SQLite DB ๋ง ๋ณด๋ฉด ๋๋ read-only ์์
์ด๋ผ claude / codex ๋ณธ์ฒด ์ ๋ฌด์ ๋ฌด๊ดํ๊ฒ ์๋ํฉ๋๋ค. ๊ณผ๊ฑฐ์ ๋ง๋ค์ด์ง ~/.claude/projects/ ๋๋ ~/.codex/sessions/ ๋๋ ํฐ๋ฆฌ๋ง ์์ผ๋ฉด ์ธ๋ฑ์ฑ๋ ๋ฉ๋๋ค.
recall resume ์ด ์ถ๋ ฅํ๋ /resume <uuid> ํ ์ค์ claude ๋๋ codex CLI ์์์ ์
๋ ฅํด์ผ ์๋ฏธ๊ฐ ์๋ slash command ์
๋๋ค. ๊ทธ CLI ๊ฐ ์ค์น๋์ด ์๊ณ ์คํ ์ค์ด์ด์ผ ๊ทธ ํ ์ค์ด ํ์ฌ ์ธ์
์ ๊ต์ฒดํฉ๋๋ค. ๋จ์ํ ์ด๋ค ์์
์ด ์์๋์ง ๊ฒ์ยท์์นด์ด๋ธ ์ฉ๋๋ผ๋ฉด claude / codex ๊ฐ ์์ด๋ unrestricted ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
์๋์ ์ผ๋ก single-node ์ ์ฉ์ผ๋ก ์ค๊ณํ์ต๋๋ค. ์ด์ ์ธ ๊ฐ์ง:
- ์ฝ์์ ์งํค๊ธฐ ์ํด โ recall ์ ํต์ฌ ์ฝ์์ "100% ๋ก์ปฌ, API key ์์, ์ธ๋ถ ์ ์ก 0" ์ ๋๋ค. ๋ฉํฐ-๋ ธ๋ ๋๊ธฐํ๋ ์ด๋ค ํํ๋ ํด๋ผ์ฐ๋ ๋๋ ๋๊ธฐํ ์๋ฒ๊ฐ ํ์ํด์ ๊ทธ ์ฝ์์ด ๊นจ์ง๋๋ค.
- ์ธ์ ๋ณธ๋ฌธ์ ์๊ฒฉ์ฆ๋ช ์ด ์์ฃผ ์์ โ ํ ํฐ, ๋น๋ฐ๋ฒํธ fragment, ์ฌ๋ด API URL ๊ฐ์ ๊ฒ ์์ฐ์ค๋ฝ๊ฒ ๋ค์ด๊ฐ๋๋ค. ๋๊ธฐํ ์ฑ๋์ ๊ทธ ์์ฒด๋ก ์ ๊ณต๊ฒฉ๋ฉด์ ๋๋ค.
/resume์ ์๋ ๋ชจ๋ธ ์์ฒด๊ฐ ๋จ์ผ ๋ ธ๋ โ ๋ฐ์ session_id ๋ ๊ทธ ๋จธ์ ์ claude / codex ๊ฐ ์๊ธฐ ๋์คํฌ์์ ํด๋น jsonl ์ ์ฐพ์ ๋๋ง ์๋ฏธ๊ฐ ์์ต๋๋ค. ๋ค๋ฅธ ๋จธ์ ์ session_id ๋ฅผ ๋ฐ์๋ ๊ฑฐ๊ธฐ์๋ ๋ชป ์ฝ๋๋ค.
์ฌ๋ฌ ๋จธ์ ์ ๊ตณ์ด ํตํฉํ๊ณ ์ถ๋ค๋ฉด ๋ ๊ฐ์ง ์ฐํ:
- ๊ฐ ๋จธ์ ์ recall ์ ๋ฐ๋ก ๊น๊ณ ๊ทธ ๋จธ์ ์์์๋ง ๊ฒ์
- NAS ๋ฑ ๊ณต์ ์คํ ๋ฆฌ์ง์
~/.recall/recall.db๋ฅผ ๋๊ณ read-only mount โ ๋จ, ๋์ ์ฐ๊ธฐ๋ SQLite WAL ๋ฝ์ผ๋ก ์ถฉ๋ ๊ฐ๋ฅ
incremental scan ์
๋๋ค. recall ์ ๊ฐ jsonl ํ์ผ์ ์ ์ฒด ๋ด์ฉ์ ๋ํ SHA256 ํด์๋ฅผ DB ์ ์ ์ฅํด๋๊ณ , ๋ค์ scan ๋ ๋ค์ ๊ณ์ฐํด ์ผ์นํ๋ฉด ๊ทธ ํ์ผ์ ๊ฑด๋๋๋๋ค (skipped).
- ๋ณ๊ฒฝ ์๋ ํ์ผ: skip (DB I/O 0)
- ๋ฉ์์ง๊ฐ ๋ ์ถ๊ฐ๋ ํ์ผ: ๊ทธ ์ธ์ ๋ง ๋ค์ upsert (๋ค๋ฅธ ์ธ์ ์ํฅ X)
- ์์ ํ ์๋ก์ด ํ์ผ: ์ ๊ท INSERT
๋ณธ ๋จธ์ ๊ธฐ์ค ์ฝ 19 ์ธ์ / 7,900 ๋ฉ์์ง / 48MB ์ raw ๋ฐ์ดํฐ๋ฅผ fresh scan ํ์ ๋ ์ฝ 1์ด, incremental scan ์ ๊ทธ๋ณด๋ค ๋ ๋น ๋ฆ ๋๋ค. 30๋ถ ์ฃผ๊ธฐ daemon ์ด ๋์๋ ํ์์ ๊ฑฐ์ ๋ชจ๋ ํ์ผ์ด skipped ๋ผ ๋ถ๋ด ์์ต๋๋ค.
๊ฐ์ ์ ์ฒด ์ฌ ์ธ๋ฑ์ฑ์ด ํ์ํ ๊ฒฝ์ฐ (์: ํ์ ๋ก์ง์ด ๋ฐ๋ ์งํ) recall scan --force ๋ฅผ ํ ๋ฒ ์คํํ๋ฉด sha ๋น๊ต๋ฅผ ๊ฑด๋๋๋๋ค. DB ์์ฒด๋ฅผ ์ด๊ธฐํํ๋ ค๋ฉด ~/.recall/recall.db ์ญ์ ํ recall init && recall scan.
ํ์ฌ ๊ณต์ ์ง์์ ๋ ๊ฐ์ง์ ๋๋ค:
- Claude Code:
~/.claude/projects/<encoded-cwd>/<session-id>.jsonl - Codex: ๋ชจ๋
~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl+ ๋ ๊ฑฐ์~/.codex/history.jsonl
๋ค๋ฅธ ๋๊ตฌ๋ค๋ ๋น์ทํ jsonl ๋๋ SQLite ๊ธฐ๋ฐ ์ธ์ ์ ์ฅ์๋ฅผ ๊ฐ์ง๊ณ ์์ด์ ์ด๋ํฐ 1๊ฐ๋ง ์ถ๊ฐํ๋ฉด ๋์ผ ์ธ๋ฑ์ค์ ํตํฉ๋ฉ๋๋ค. ํจํด:
src/main.rs์<provider>_root() -> PathBufhelper ์ถ๊ฐparse_<provider>(path) -> Result<SessionRow>์์ฑ โsession_id,cwd,first/last_ts, ๋ฉ์์ง ๋ณธ๋ฌธ๋ง ์ถ์ถํ๋ฉด ๋จcmd_scan()์์ ์ provider branch ์ถ๊ฐ (claude ์ธก ์ฝ๋๋ฅผ ๊ทธ๋๋ก ๋ชจ๋ธ๋ก)
PR ํ์ํฉ๋๋ค. ์ด์์ provider: cursor ๊ฐ์ ์์ผ๋ก ์ ์ด์ฃผ์๊ณ , ๋ณธ์ธ ๋จธ์ ์ ์ค์ ๊ฒฝ๋ก + ํ์ผ 1๊ฐ ์ํ์ ์ฒจ๋ถํ์๋ฉด ์ถ๊ฐ๊ฐ ํจ์ฌ ๋น ๋ฆ
๋๋ค.
recall ์ FTS5 ๋ tokenize = 'unicode61 remove_diacritics 2' ๋ก ์ค์ ๋์ด ์์ด์ ํ๊ธยท์๋ฌธ ๋ชจ๋ ์ ๋์ฝ๋ ์ฝ๋ํฌ์ธํธ ๋จ์๋ก ํ ํฐํ๋ฉ๋๋ค. ๋ค๋ง:
- prefix ๊ฒ์ ์ ๋จ โ
recall search "์ "์ผ๋ก "์ ๊ธ" ๋งค์นญ์ ์ ๋ฉ๋๋ค. ๋จ์ด ์ ์ฒด๋ฅผ ์ ๋ ฅํ๊ฑฐ๋์ *์ฒ๋ผ FTS5 prefix wildcard ๋ฅผ ์ง์ ์ธ ์ ์์ต๋๋ค (๋จ, ํค์๋ ์ธ์์ escape ๋จ์ ์ฃผ์). - ์ฐ์ด/๊ตฌ๋ฌธ ๊ฒ์ โ ๋์ด์ฐ๊ธฐ๋ก ๊ตฌ๋ถ๋ ๋ ๋จ์ด๋ฅผ ๋ชจ๋ ํฌํจํ๋ ์ธ์
์ ์ฐพ๊ณ ์ถ์ผ๋ฉด
"์ ๊ธ ์ ์ฑ "์ฒ๋ผ ๋ฐ์ดํ ์์ ๊ฐ์ด ๋ฃ์ผ๋ฉด ๋ฉ๋๋ค. - ๋๋ฌด ํํ ๋จ์ด๋ ๋
ธ์ด์ฆ โ "the", "is", "๊ทธ๋ฆฌ๊ณ " ๊ฐ์ stop word ๋ ๋ณ๋ ์ ๊ฑฐ ์ ๋์ด ์์ด์ ๊ฑฐ์ ๋ชจ๋ ์ธ์
์ ๋งค์นญ๋ฉ๋๋ค. ์ข ๋ ๊ณ ์ ํ ํค์๋ (
wakelock,ํ์ง์ฒด,ํ๋ํ๊ฐ์) ๊ฐ ์ ์ขํ๋๋ค.
์กฐํ ๊ฒฐ๊ณผ๊ฐ 0๊ฑด์ด๋ฉด ํค์๋๋ฅผ ๋ณํํด๋ณด์ธ์: ์๋ฌธ โ ํ๊ธ (lockout โ ์ ๊ธ), ๋จ์ด ๋ถํด (ํ๋ํ โ FNF ๋๋ psych engine), ๋๋ ๋ ํน์ดํ ๋ช
์ฌ (ํ์ผ ์ด๋ฆยท์๋ฌ ๋ฉ์์งยท๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด๋ฆ).
๋ค. --db <PATH> ์ ์ญ ์ต์
์ด ๋ชจ๋ ์๋ธ์ปค๋งจ๋์ ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ~/.recall/recall.db ์ธ๋ฐ, ํ
์คํธ์ฉ ๊ฒฉ๋ฆฌ DB ๋ฅผ ๋ฐ๋ก ๋ ์ ์๊ณ (--db /tmp/test.db), Time Machine / ๋ฐฑ์
์์ ์ ์ธํ๊ณ ์ถ๋ค๋ฉด ๋ค๋ฅธ ๊ฒฝ๋ก๋ก ์ฎ๊ธธ ์๋ ์์ต๋๋ค. daemon ๋ ๋์ผ DB ๋ฅผ ๊ฐ๋ฆฌํค๋๋ก install ์ --db ๋ฅผ ์ง์ ํ๋ฉด ๋ฉ๋๋ค.
recall daemon status๊ฐ OS ์ค์ผ์ค๋ฌ์ ๋ฑ๋ก๋ ์ ๋ณด (๋ค์ ์คํ ์๊ฐ, ๋ฑ๋ก ์ํ, ๋ช ๋ น) ๋ฅผ ๋ณด์ฌ์ค๋๋ค. ์ถ๊ฐ๋ก:
- Linux / macOS:
crontab -l | grep recall๋ก cron ๋ผ์ธ ์ง์ ํ์ธ /tail -f /tmp/recall-scan.log๋ก ์ถ๋ ฅ ์ถ์ - Windows:
schtasks /query /tn recall-scan/ Task Scheduler GUI ์์ "์ต๊ทผ ์คํ" ํ์ธ
์ธ์
์ ๋ง ๋๋ธ ์งํ ๊ฒ์์ด ์ ์กํ๋ค๋ฉด daemon ์ ๋ค์ fire ๊น์ง (์ต๋ 30๋ถ) ๊ธฐ๋ค๋ฆฌ๊ฑฐ๋ recall scan ์ ์ง์ ํ ๋ฒ ํธ์ถํ๋ฉด ๋ฉ๋๋ค.
recall ์ ์ผ๋ถ๋ฌ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ spawn ํ์ง ์์ต๋๋ค. /resume <uuid> ํ ์ค์ ์ฌ์ฉ์๊ฐ ์ง์ ์๊ธฐ CLI ์ ์
๋ ฅํด์ผ ์๋ฏธ๊ฐ ์์ต๋๋ค (slash command ๊ฐ in-session ์
๋ ฅ๋ง ์ธ์). ์ด ๋ถ๋ฆฌ ๋๋ถ์:
- recall ์ด ์๋ํ์ง ์์ ์ ์ ธ/ํ๋ก์ธ์ค๋ฅผ ๋์ธ ์ํ 0
- ์๊ฒฉ์ฆ๋ช ยทํ๊ฒฝ๋ณ์ยทsandbox ์ค์ ์ด ์๋์ ๋ค๋ฅธ ์ปจํ ์คํธ๋ก ์์ง ์์
- ์ฌ์ฉ์๊ฐ
/resume์ค์ ๋ณด๊ณ ํ ๋ฒ ๋ ํ์ธํ ๊ธฐํ๊ฐ ์์
์๋ํ๊ฐ ๊ผญ ํ์ํ ๊ฒฝ์ฐ (์: ์ผ์ผ cron ์ผ๋ก ์ด์ ์ธ์
์ฌ open) ๋ claude --resume <id> ๋๋ codex resume <id> ๋ฅผ ์ ์
ธ์์ ์ง์ ํธ์ถํ์๋ฉด ๋ฉ๋๋ค โ ๊ทธ๊ฑด recall ์ ๋ฒ์ ๋ฐ์ด์ง๋ง ์ถ๋ ฅ๋ <id> ๋ฅผ ๊ทธ๋๋ก ์ธ ์ ์์ต๋๋ค.
recall show / recall resume / recall related ๋ชจ๋ SELECT ... WHERE session_id LIKE 'prefix%' ๋ก ๋งค์นญํฉ๋๋ค. UUID v4 ๊ธฐ์ค ์ 8 ์๋ฆฌ๋ฉด ๋ณดํต ์ถฉ๋ ์์ด ์ ์ผํ๊ฒ ์กํ๋๋ค (3cca0676, 019e2314 ๊ฐ์ ํํ). ๋์ผ prefix ๊ฐ ์ฌ๋ฌ ์ธ์
์ ๊ฑธ์น๋ฉด last_ts DESC ์์ผ๋ก ๊ฐ์ฅ ์ต๊ทผ ๊ฒ์ด ์ ํ๋ฉ๋๋ค.
๊ฒ์ ๊ฒฐ๊ณผ (recall search) ๊ฐ ๋ณด์ฌ์ฃผ๋ SID_8 ์ปฌ๋ผ์ด ๋ฐ๋ก ๊ทธ 8์ prefix ๋ผ์ ๊ทธ๋๋ก ๋ณต์ฌํด recall show 3cca0676 ์์ผ๋ก ์ฐ๋ฉด ๋ฉ๋๋ค.
