惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Apple Machine Learning Research
Apple Machine Learning Research
aimingoo的专栏
aimingoo的专栏
H
Help Net Security
腾讯CDC
T
Tailwind CSS Blog
Hugging Face - Blog
Hugging Face - Blog
人人都是产品经理
人人都是产品经理
酷 壳 – CoolShell
酷 壳 – CoolShell
MongoDB | Blog
MongoDB | Blog
宝玉的分享
宝玉的分享
有赞技术团队
有赞技术团队
美团技术团队
雷峰网
雷峰网
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 司徒正美
博客园_首页
Recent Announcements
Recent Announcements
云风的 BLOG
云风的 BLOG
B
Blog RSS Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
D
Docker
博客园 - Franky
Jina AI
Jina AI

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine — Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Show HN: VCoding – A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agents–no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main · ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: 📄 PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw LinkedIn™ 职位抓取工具 - Chrome 应用商店
GitHub - laleshii/engrym: A fast, AI-first code repositor...
laleshii · 2026-06-22 · via Hacker News: Show HN

A knowledge base for your codebase — stored as Markdown your coding agent can read and write.

engrym captures what a repo knows (architecture, decisions, the non-obvious gotchas) as a graph of plain .md files, then builds a disposable SQLite index over them for instant keyword, semantic, topic, and graph search. It's built so coding agents retrieve that knowledge before a task and record durable findings after — so the same things stop getting re-explained every session. The source of truth stays plain Markdown with a little YAML frontmatter, so a human reviews it in a normal diff.

engrym — a play on engram, a stored memory trace.

Why you'd want it

  • Onboard in minutes, not days. engrym search "how does auth work" returns the exact passage — no spelunking through the codebase.
  • Your agent stops re-deriving the obvious. Knowledge compounds in the repo instead of evaporating when the chat window closes.
  • No lock-in, no cloud. Just Markdown plus a rebuildable index. Embeddings run locally and offline by default — your code never leaves the machine.
  • Reviewable like code. Every fact is a line in a .md file; changes show up in pull requests.

Install

Needs a Rust toolchain. If you don't have one:

brew install rust                                                # macOS (Homebrew)
# or, any platform, via rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh   # then: source "$HOME/.cargo/env"

Then install from crates.io (cargo builds it and places engrym on your PATH; all deps, incl. bundled SQLite, are pulled in — no system libraries needed):

Or build from a clone of this repo:

cargo install --path .     # builds + installs onto PATH
# or just: cargo build --release   → binary at target/release/engrym

Quick start

In any repo, one command sets everything up:

engrym init      # scaffold engrym + hand off to your agent to build the initial KB

init writes engrym.toml, installs the agent skills, and hands a prompt to your coding agent (Claude Code, Codex, …) to author the first docs from your codebase. From then on the agent retrieves and records knowledge on its own.

Just want to try it without touching the repo? Add --local:

engrym init --local   # KB lives outside the repo, in ~/.engrym/ — zero files added

Local mode keeps the entire KB (docs + index) under ~/.engrym/, keyed to the git root, so nothing is committed and the working tree stays clean. It's the low-commitment way to start; everything below works identically. (See Local mode for how the agent still finds it.)

Once a KB exists, query it:

engrym search "how does hybrid search work"   # hybrid keyword + semantic retrieval
engrym topic indexing                         # everything under a topic
engrym related hybrid-search                  # a document's typed graph neighborhood
engrym show engrym-overview                   # print a document
engrym browse                                 # read & navigate the KB in your browser
engrym index                                  # (re)build the index after editing docs

Every command takes --json (for agents) and --repo <dir> (target another repo). This repo dogfoods itself — its docs/ is an engrym KB about engrym, so the queries above all work right here, right now.

Commands

Notation: <required>, [optional], a|b = choose one. Anything not bracketed is typed literally.

Command What it does
engrym init [--local] [--docs <dir>] Scaffold a repo and hand off to an agent
engrym index [--no-embed] (Re)build the index
engrym search <query> [--keyword|--semantic] [--altitude <n>] Retrieve passages
engrym topic <path> List documents under a topic
engrym related <id> Show a document's graph neighborhood
engrym show <id> Print a document
engrym new <id> … Create a document (also set, rm, relocate)
engrym lint [--strict] Validate the frontmatter contract
engrym browse [--port <n>] [--open] Local web UI to read/navigate the KB
engrym serve [--stop] Warm embedding daemon (usually automatic)
engrym install <skills|memory> Install agent skills, or record the repo in agent memory
engrym uninstall <skills|memory> Inverse of install
engrym reset Delete the KB's documents + index (keeps config)
engrym deinit Remove engrym from the repo entirely (inverse of init)

Data model

Each document is Markdown with a small frontmatter contract (full spec: spec/document-schema.md):

---
id: oauth-token-refresh          # required · stable, unique — the identity
title: OAuth token refresh flow  # required
altitude: 3                      # required · 0 = overview … 3 = impl detail
topics: [backend/auth/oauth]     # required · slash-paths, hierarchy implicit
relations:                       # optional · typed edges to other ids
  - { type: refines,    target: auth-architecture }
  - { type: depends_on, target: token-store }
---
Body prose. Inline [[wikilinks]] become `references` edges for free.

Three hierarchies make "abstract → specific" navigable: the topic taxonomy (engrym topic), typed relations (refines/part_of/depends_on/…), and altitude (0–3). A document's id is its identity — links never reference file paths — so the on-disk layout (flat / topic / altitude) is purely for human review, and relocate rearranges files safely.

How it works

  • Hybrid search — BM25 (exact terms, identifiers) and vector cosine (meaning) fused with reciprocal rank fusion. --keyword / --semantic force one ranker; an unembedded index falls back to keyword.
  • Local embeddings — offline by default (fastembed, bge-small-en-v1.5). Your code never leaves the machine; only changed passages re-embed.
  • Warm daemon — the first semantic query spawns a tiny background daemon that keeps the model resident (~130ms → ~13ms), self-terminating when idle. Auto-managed; ENGRYM_NO_DAEMON=1 opts out.
  • Authoringnew/set/rm generate frontmatter (never hand-write it) and edit source files by id, so they work regardless of index freshness.

Agents

init installs two skills into your chosen agent (Claude Code, Codex, …): a bootstrap skill that builds the initial KB, and a working skill that retrieves before a task and captures durable findings after — pull-based and model-judged, never a hook on every prompt.

Local mode (engrym init --local) keeps the entire KB outside the repo (~/.engrym/projects/<repo>-<hash>/, keyed by git root) so the repo is never touched. Because there's then no in-repo cue, init --local also records the repo in the agent's global memory (~/.claude/CLAUDE.md, ~/.codex/AGENTS.md); install/uninstall memory manage it on demand.

Configuration (engrym.toml)

[docs]
root   = "docs"                # where the Markdown KB lives
layout = "altitude"            # flat | topic | altitude

[embedding]
provider = "local"             # offline by default
model    = "bge-small-en-v1.5"

[search]
rrf_k = 60

[lint]
strict = false                 # CI passes --strict

[daemon]
enabled   = true
idle_secs = 300

Architecture

Markdown + frontmatter   →   SQLite index (.engrym/)   →   CLI / agent
(authored, git-tracked)      (derived, gitignored)         (query surface)

The index is never hand-edited and always rebuildable from the docs. Schema: spec/index-schema.sql. Deeper design notes live in the KB itself — try engrym search "…" or read docs/.