尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
A local second brain for Claude Code, hardened for a managed work machine. No sync, no connectors, Windows-first.
翻译准备中
正在加载完整 README。
查看完整 README ↗A local second brain for Claude Code, hardened for a work machine.
Claude Code forgets everything when a session ends. This gives it a memory made of ordinary markdown files in a folder you own — and loads only the page your question actually touches, so the context cost stays flat no matter how much you write.
This is the enterprise-hardened fork of pf-vault-memory.
Same architecture, different defaults: no sync, no connectors, exclusions documented and
prompted for, Windows-first install, and no publishing guidance.
This does not make Claude Code private, local, or air-gapped. It cannot. Claude Code sends conversation content to Anthropic in order to work at all — with or without this repo.
What this changes is what happens on your disk. It adds local files and local automation. It introduces no new outbound network path.
The accurate sentence for your IT team: no new data leaves the machine; some new plaintext lands on the local disk.
If Claude Code itself is not approved on your machine, this repo does not change that question.
→ Full detail: docs/corporate-use.md
The usual way to give an assistant memory is to paste everything you know into one file it reads every session. That works for a week. Then the file is enormous, every message pays for it, and the one relevant fact is buried among fifty others.
This inverts it. The index is loaded. The library is not.
| Layer | What it is | Context cost |
|---|---|---|
KERNEL.md | Your identity and standing rules. Deliberately short | Every session |
wiki/index.md | One line per page — a table of contents, not the book | Every session |
wiki/ | The actual knowledge, one page per topic | Only when opened |
raw/ | Session captures awaiting review | Never loaded |
A mature knowledge base preloaded runs to tens of thousands of tokens on every message, and it has no ceiling — the cost curve is the size of your notes. Index-then-fetch stays roughly flat. That is the whole claim, and it is structural: one approach scales with the size of your knowledge base, the other does not.
There is a second saving on output. The shipped KERNEL.md tells Claude to answer first and
cut filler, which removes the restated question, the preamble, and the closing summary from
every reply.
Memory. Claude reads wiki/index.md, opens the page your question touches, and cites it.
Reading a file is cheap; guessing is not.
Capture that cannot forget. A SessionEnd hook writes a note for every session, so nothing
is lost when you close a terminal at 7pm.
Promotion that stays human. /ingest moves captures into your permanent knowledge base —
and it never runs on its own. Capture is cheap and noisy by design; synthesis is where
judgement lives.
An answering style. The shipped KERNEL.md carries a full standing-instructions block:
answer first, no filler, steel-man before agreeing, say directly when an idea is weak,
re-examine the premise on pushback, no hedging as a confidence-dodge. Same model, different
defaults. Cut what you disagree with — it is a text file.
Two standing laws that matter more on a managed machine. Blocked-path: when something is denied, stop and report it — never work around it. 14-day package gate: no dependency younger than two weeks without asking.
One component writes without being asked: hooks/vault_capture.py, at session end. Per session
it writes a single local markdown file containing:
| Recorded | Not recorded |
|---|---|
| Your prompts (capped, truncated) | The full assistant transcript |
| Paths of files written | The contents of those files |
| The last assistant message (truncated) | Tool outputs |
| Session id, cwd, timestamps, turn count | Environment variables, credentials |
No network calls. It reads a transcript already on your disk and writes one markdown file.
Do not take this table's word for it. The hook is ~350 lines of plain Python with its contract in the docstring. Read it before installing. A README describing a program is evidence about the author's intent; the program is evidence about the program.
git clone https://github.com/panditfloki/pf-vault-memory-enterprise
cd pf-vault-memory-enterprise
$env:VAULT_PATH = "$HOME\vault"
powershell -ExecutionPolicy Bypass -File .\install.ps1
Works on Windows PowerShell 5.1 and PowerShell 7+. Idempotent — re-run after editing any hook or skill.
If the installer will not run — restricted execution policy, ConstrainedLanguage mode, no PowerShell — use docs/manual-install.md: four file copies and one JSON edit. Do not try to work around the restriction.
If GitHub is blocked, download the ZIP through a browser. The installer does not care how the files arrived.
If there is no Python, automatic capture cannot run; everything else works and you use
/capture by hand.
git clone https://github.com/panditfloki/pf-vault-memory-enterprise
cd pf-vault-memory-enterprise
VAULT_PATH=~/vault bash install.sh
1. Load the kernel. Add one line to ~/.claude/CLAUDE.md:
@<your-vault-path>/KERNEL.md
That single line is the only per-machine configuration.
2. Set your exclusions. Edit EXCLUDE_DIRS in vault_capture.py before your first real
session. Any folder listed produces nothing — no note, no metadata, no filename. Then verify
it: open a session in an excluded folder, close it, confirm nothing appeared.
EXCLUDE_DIRS before your first real session, not after.hooks/ vault_capture.py (SessionEnd) · vault_queue_nudge.py (SessionStart)
skills/ /capture · /ingest
vault-template/ KERNEL.md · CLAUDE.md · wiki/ seeds — scaffolded on first install
docs/ corporate-use.md · manual-install.md
install.ps1 Windows (primary)
install.sh macOS / Linux
MIT · © 2026 dydxfx · dydxfx.com · by Pandit Floki (panditfloki)