Wenlan
Wenlan is a source-backed AI knowledge base and LLM wiki for AI work: organize documents and decisions into pages you can find, inspect, and review.
翻訳待ち
A personal, local-first, AI-native notes app: Markdown files you own, a Notion-like editor, search by meaning, database views and an MCP server for AI assistants. A fork of SilverBullet.
翻訳待ち
Loading the full README. The saved excerpt is shown below.
A personal, local-first, AI-native notes app. Your notes stay plain Markdown files in a folder you own. On top of them you get a Notion-like editor, search that understands meaning as well as words, a graph of related notes, database views, and an MCP server so AI assistants can read and write the same notes. Everything runs on your own machine; note text leaves it only when you ask a question with Ask.Read the full README ↗A personal, local-first, AI-native notes app. Your notes stay plain Markdown files in a folder you own. On top of them you get a Notion-like editor, search that understands meaning as well as words, a graph of related notes, database views, and an MCP server so AI assistants can read and write the same notes. Everything runs on your own machine; note text leaves it only when you ask a question with Ask.
BlackBullet is a fork of SilverBullet (v2.11 line; Rust server, TypeScript / CodeMirror 6 client) and is not affiliated with that project. It keeps SilverBullet's internal names (crates, SB_* environment variables, plug API), so SilverBullet plugs and libraries keep working. Upstream's manual is in docs/.
Ctrl-q q) and a daily journal (Ctrl-q j); a mode chip in the header shows Edit or Preview (Ctrl-Alt-p, Editor: Toggle Preview), and with vim keys (on by default where there is a mouse) NORMAL / INSERT / VISUAL, where Esc steps Insert → Normal → Preview; beside it a Styled | Code segment hides or shows the Markdown marks (Ctrl-Alt-k, Editor: Toggle Code, :code / :styled).Ctrl-q s), related notes for the page you are on (Ctrl-q r), and a graph of links and similar pages (Ctrl-Shift-g).Ctrl-Alt-n); a trash you can restore from.Ctrl-q a, needs an Anthropic API key).Ctrl-e, the tree's Export… or Export: PDF / Export: Word / Export: Markdown with Images (PDF and Word are made by the sidecar).You need Docker with Compose v2.
git clone https://github.com/HayatoShimada/blackbullet.git
cd blackbullet
./setup.sh
The first run builds the images (10 to 20 minutes); later runs just start them. Then open http://127.0.0.1:3000.
./space. To use an existing folder of Markdown files, set SPACE_DIR=/path/to/notes in .env before running setup.sh.setup.sh also starts the search sidecar and connects it. The first indexing downloads a ~120 MB embedding model once and runs it on the CPU. MEMO_EMBED=off in .env keeps search word-based with no download..env; .env.example explains each one.| Command | What it does |
|---|---|
./setup.sh --status | Health of the app and the sidecar, index and model state, disk use |
./setup.sh --backup [dir] [--with-secrets] | A timestamped .tar.gz of the notes (secrets blanked unless --with-secrets) |
./setup.sh --restore <file> | Merges a backup into the notes folder after saving a safety copy |
./setup.sh --upgrade | git pull, rebuild and restart |
./setup.sh --stop | Stops everything; the notes stay where they are |
The sidecar speaks MCP at http://127.0.0.1:3010/mcp, protected by MEMO_MCP_TOKEN from .env (setup.sh prints this command with the token filled in):
claude mcp add --scope user --transport http memo http://127.0.0.1:3010/mcp \
--header "Authorization: Bearer <MEMO_MCP_TOKEN>"
Tools include search_notes, read_note, read_section, related_notes, list_tasks, list_projects, list_journal, recent_changes, append_journal, add_inbox, complete_task, write_note, edit_note, update_section, doc_status and reindex_docs. CONFIG (where tokens and keys live) is never readable or writable through MCP, and the general edit tools do not write Library/ or Templates/. packages/memo-mcp/contrib/plan_to_memo.py is a Claude Code hook that records each approved agent plan under the project's page. Other clients and the options are described in packages/memo-mcp/README.md.
Ask: Notes sends the sections that match your question to the Anthropic API and shows the answer with [n] links back to each section. Run Ask: Set up once to store an API key in the space's CONFIG page. Nothing is sent unless you run the command, and a space marked :confidential is never sent unless you allow it. Scopes (#tag, in:Folder/, kind:pdf, since:2026-01-01), follow-ups, saved answers and limits are described in Memo Ask.md.
Declare a database once in CONFIG:
database.define {
name = "projects",
folder = "Projects/",
template = "Templates/Project",
properties = {
{ key = "status", type = "select", options = {"active", "someday", "done"}, default = "active" },
{ key = "due", type = "date" },
},
}
This is the beginning of the README. Read the rest at the original. Read the full README ↗