Show HN: I built Knemora – An Open-source AI Second brain
Score
52Why selected
进入全量动态池,后续可由人工或模型复核精选价值。
AI commentary
「来自 Hacker News 热门(Algolia · 中文化) 的这条信息指向行业格局和商业判断变化,适合用于判断近期 AI 圈的真实动向。」
Quick overview
Show HN: I built Knemora – An Open-source AI Second brain · HN points: 1 · comments: 0 · https://news.ycombinator.com/item?id=50353601
- Open-source, Local-first AI (SI) Second Brain.
- Contribute to federicolaterra/knemora development by creating an account on GitHub.
Full text
Open-source, Local-first AI (SI) Second Brain
Knemora is an open-source, local-first knowledge and agent platform with a native Second Brain graph, a portable Markdown Wiki, and local AI (SI) inference. It works without a mandatory cloud service, external LLM API, vector database, or desktop knowledge application.
This repository is prepared for its first public release, v0.1.0-alpha. It is alpha software
intended for early testing and feedback; a future v1.0.0 is planned after further development,
with no release date announced.
What is Knemora?
documents + data
↓
knowledge compilation
↓
living Markdown Wiki
↓
native Second Brain graph
↓
private search, chat, and analysis
Knemora Open-Source includes:
- local document ingestion for PDF, TXT, Markdown, DOCX, CSV, and XLSX;
- immutable source storage and claim-level provenance;
- a portable LLM Wiki using Markdown, YAML frontmatter, wikilinks, and relative Markdown links;
- a native Sigma.js/Graphology Second Brain with global and local graph views;
- lexical/BM25 search and bounded graph navigation without mandatory embeddings;
- local Qwen inference through llama.cpp behind a provider-neutral boundary;
- deterministic Polars-based dataset analysis and chart-ready results;
- authenticated sessions, backend RBAC, audit events, and content-free observability;
- backup, restore, migration, and Wiki maintenance workflows.
These capabilities are part of the current open-source application. There is no separate commercial edition, feature paywall, licensing server, subscription, or silent telemetry.
Requirements (macOS Apple Silicon)
The upcoming public alpha supports managed setup on native macOS Apple Silicon with Metal. Install:
- Required: Node.js 24 or newer with npm, from nodejs.org or another trusted distribution. Knemora does not install or change Node globally.
- Acquisition only: Git when using the documented
git cloneroute. - Disk: at least 7 GB free for the 4.12 GB default GGUF, staged/downloaded runtime components, application packages, and working data. Additional source documents and backups need more space.
The launcher verifies and manages uv 0.11.22, CPython 3.13.14, llama.cpp b11146 and its complete library payload, locked application dependencies, and the selected model in application-owned locations. Initial setup needs network access for runtime, package, and model downloads; prepared start and private local operation do not check release hosts or require a hosted service. This is managed local runtime installation, not a claim that Knemora is dependency-free or already cross-platform.
Quick start — Zero-Config
Zero-Config means Knemora performs managed setup with sensible defaults, installs its Python and inference runtimes into application-owned locations, and requires no manual configuration for the standard onboarding path. Node.js 24 with npm remains a prerequisite, and the first setup performs the downloads described above.
Acquire the application checkout separately:
git clone https://github.com/federicolaterra/knemora.git cd knemora
Then prepare and start the private local application with the two explicit commands:
./knemora setup ./knemora start
The canonical checkout directory is knemora. When renaming or moving an existing checkout, stop
managed services first and run ./knemora setup once from the new location. Setup rebuilds
location-bound Python console scripts against Knemora's managed interpreter while preserving .env
and all application data under ~/.knemora.
Running ./knemora without a subcommand remains the interactive entry point. On first launch it
displays the Knemora welcome screen and offers either the normal local environment or the isolated
Development demo; the explicit commands above provide the same standard setup and start path.
Additional lifecycle commands include:
./knemora start --with-presets ./knemora delete --presets ./knemora status ./knemora logs ./knemora doctor ./knemora update --check ./knemora update ./knemora stop ./knemora backup ./knemora backups ./knemora uninstall --preserve-data
Automation can use --non-interactive --yes --no-open. Setup is idempotent, configuration values
already present in .env are preserved, and stop/restart never delete data. The UI is available at
http://localhost:5173 after either start command reaches READY.
System and AI (SI) Core Architecture
Knemora runs a Vue 3 interface against an authenticated FastAPI boundary on the local machine. Google ADK provides bounded root-agent orchestration through typed application tools, while a provider-neutral boundary serves the default Qwen3-8B model through local llama.cpp inference. Document and dataset ingestion compile durable knowledge into a portable Markdown Wiki with YAML frontmatter, explicit links, immutable-source references, and claim-level provenance. Sigma.js and Graphology render the native Second Brain from rebuildable indexes, while SQLite and application files keep operational data, sources, datasets, and knowledge local.
Portable backups
Full backups default to ~/Documents/Knemora/Backups/ and include a consistent SQLite snapshot,
the Knowledge Wiki, immutable originals and attachments, dataset artifacts, checksummed inventory,
and portable model configuration. GGUF files and secrets are excluded.
./knemora backup # --full is the default ./knemora backup --db-only ./knemora backup --path ~/Dropbox/Knemora ./knemora backups ./knemora restore BACKUP_ID_OR_ARCHIVE_PATH ./knemora backup delete BACKUP_ID ./knemora config backup-path
Custom backup paths persist. Restore validates the complete archive before replacement and creates
an external recovery archive first. Database-only restore preserves file data and requires an
explicit --allow-db-only acknowledgement when Wiki/source files exist. See the
backup and restore guide.
Model management
Knemora keeps model import separate from model selection. models inspects the effective local
registry, load imports and validates one external GGUF, and setup --model selects only a model
that is already registered.
Use a Knemora-curated, checksum-pinned model directly:
./knemora models ./knemora setup --model qwen3-8b-q3-k-m
Or import a user-provided Hugging Face GGUF, note the generated Knemora ID, then select it:
# Syntax example; verify the repository, artifact, and license before use. ./knemora load --model hf:owner/Example-GGUF:Q3_K_M ./knemora models ./knemora setup --model example-q3-k-m
Imports resolve exactly one .gguf or fail on no match/ambiguity, download through a resumable
partial file, validate size/checksum/GGUF headers, and persist metadata under
~/.knemora/config/models.json. Imported models are shown as User / Custom, are never described
as Knemora-tested, and are not selected automatically. They remain subject to their upstream model
licenses; Knemora's MIT License does not relicense model weights. For automation, place the global
flags before the command: ./knemora --non-interactive --yes load --model hf:....
For automatic profiles, setup and each start assess the full model context against the current safe memory budget, then use the supported 4,096-token fallback only if it is safe. The CLI reports that reduced context may truncate broad or multi-step answers sooner. Explicit CLI, persisted, or environment context requests remain authoritative and are never silently lowered.
Inspect the default model's configured preference, automatic/explicit mode, last effective context, and current memory assessment with:
./knemora model info qwen3-8b-q3-k-m
The last effective context is the context used by the last admitted start; automatic selection can change at the next start as available memory changes. Removal is deliberately two-stage:
./knemora model remove <id> ./knemora model remove <id> registry
The first command removes only local artifact data. The second removes the registry entry and is
accepted only after artifact data is gone. Curated removal is recorded as a persistent local
suppression—the source-controlled definition is not edited—and the required default definition
cannot be removed. Active models must first be replaced with setup --model <other-id>.
Try Knemora with demo knowledge
./knemora start --with-presets
This creates an isolated, entirely synthetic Northstar Labs Development environment with 120
interconnected, provenance-bearing Wiki pages. A stage progress bar reports database, preset, and
service readiness. Existing valid assets under ~/.knemora/demo/development are validated in one
pass and loaded instead of being compiled again; missing assets are created once. The demo UI is
read-only: source upload, ingestion mutations, Wiki compilation, and dataset analysis are disabled.
Ask the copyable prompt shown in the demo UI:
Which gateway, owner, policy, and freeze day apply to ORBIT-LANTERN? Cite sources.
A general-purpose chatbot without this fictional corpus has no authoritative way to know the answer. Knemora can retrieve the seeded private context and cite its sources; this demonstrates grounding, not a claim that Knemora's base model is intrinsically smarter. Open the Second Brain page to inspect the same demo Markdown links used by search and chat.
Native Second Brain
Open Second Brain in the main navigation after startup. The Global Graph contains every eligible Markdown page and resolved explicit page link. Local Graph accepts a searchable root page and traverses incoming and outgoing links for one, two, or three hops while preserving edge direction. Search can focus a node or open its native Wiki Detail page; filters use real page type, tag, and folder metadata.
Expand opens an immersive viewport layout with Global/Local Graph tabs, Find a page, Filters,
and Legend on the left and the complete graph toolbar above the canvas. The page itself stays fixed
while the left panel gains its own scrollbar only when needed. Minimize or Escape returns to
the normal workspace.
The graph is a derived view, not another authoritative store. Compilation refreshes the existing Wiki revision, and the graph index also detects supported external Markdown edits by safe relative path, size, and modification time. Refresh forces a rebuild and reports its freshness. Links in fenced or inline code, images, attachments, and external URLs are ignored. Ambiguous and unresolved page links are counted without creating fake nodes. If WebGL is unavailable, Knemora presents an accessible searchable page list with the same native detail navigation.
Uninstall
Uninstall always requires an explicit y or yes response in an interactive terminal. Before
prompting, Knemora prints the absolute repository and configured application-data paths and the
full deletion scope. --yes cannot bypass this confirmation.
./knemora uninstall # remove the repository and application data ./knemora uninstall --preserve-data # remove only the repository
Both commands remove uncommitted and untracked files inside the checkout. The default command also
removes the entire configured Knemora runtime directory (normally ~/.knemora), including the
database, configuration, models, Wiki, sources, datasets, logs, and demo data. Portable backups
outside the repository and application-data directory are preserved, as are shared dependencies
and external symlink targets. With --preserve-data, a fresh clone can reuse the retained data by
keeping the same KNEMORA_HOME, then running ./knemora setup and ./knemora start.
Repository map
apps/api/ FastAPI, Google ADK, domain services, migrations
apps/web/ Vue 3, Vite, and TypeScript product interface
knowledge/ Live portable Markdown Wiki and rebuildable graph index
infrastructure/ Local runtime, backup, restore, and audit scripts
packages/ Reserved for justified shared packages
docs/ Public guides, architecture references, and examples
tests/ Cross-application test contracts
Manual development setup
Prerequisites: Python 3.12+, uv, Node.js 24, and npm. The repository
root includes .nvmrc and .node-version defaults for the supported Node major.
cp .env.example .env # Replace KNEMORA_BOOTSTRAP_ADMIN_PASSWORD in .env. make setup make db-migrate make api-dev
In another terminal:
make web-dev
Open http://localhost:5173. The API health endpoint is
http://localhost:8000/api/v1/health.
The full local release can also be started with make app-start after configuring llama.cpp and a
compatible GGUF. For an explicit no-inference operations drill, use:
KNEMORA_SKIP_LLM=1 make app-start
Documentation
- Installation
- Architecture
- Updates
- Workspace lists and conversation history
- Wiki / Direct Chat Modes
- Explicit public web search
- Google ADK developer playground
- Local inference
- Ingestion and provenance
- Knowledge Engine
- Second Brain and Wiki
- Security and privacy
- Backup and restore
- Upgrading
- Development
- Development demo preset
Contributing and security
See Contributing, the Code of Conduct, and the security policy. Third-party licensing is summarized in Third-party notices, and release history is recorded in the changelog.
License
Knemora is open-source software licensed under the MIT License.
See LICENSE for details.
Related items
89
FeaturedOpenAI Research: AI Is Redefining Job Boundaries
OpenAI研究:AI正在重新定义工作边界
If you care about the real impact of AI on work, this research is a must-read. Instead of theory, it uses data to show how ChatGPT users expand their task scope, offering direct insights for HR, managers, and every professional looking to upgrade their skills.
87
FeaturedOpenAI CFO Shares Five Lessons for Building an AI-Native Finance Function
OpenAI CFO 分享构建 AI 原生财务职能的五大经验
As an editor, I find this article uniquely valuable because it comes from a finance chief at an AI leader, not an external consultancy, making it highly practical. I recommend it to finance digitalization leads, CFOs, and anyone interested in AI-driven transformation.
87
FeaturedScientific Computing in the Age of Agentic AI: OpenAI Releases New Field Report
智能体AI时代下的科学计算:OpenAI发布新领域报告
This report is one of the most practical analyses in the current AI agent wave, especially suitable for practitioners in computational biology and drug discovery. It answers the key question 'What can AI agents do besides writing code?' and directly demonstrates productivity gains in complex scientific computing.
87
FeaturedReal World VoiceEQ: Measuring the Human Quality of Voice AI
Real World VoiceEQ:量化语音AI的人类自然度
What's noteworthy is that this benchmark truly focuses on the soft metric of 'human-likeness', not traditional speech recognition rate or MOS scores. For teams working on speech synthesis, voice cloning, or voice interaction, this is a highly practical reference tool that quickly identifies model deficiencies in emotion, prosody, etc. However, language support is currently limited; looking forward to future expansion.
85
FeaturedOpenAI Introduces AI Age Scorecard: A New Way to Measure ROI
OpenAI 推出AI时代记分卡:衡量投资回报的新方法
This blog post hits a sore point in the current AI industry: how to quantify input-output. For enterprise decision-makers deploying or planning large-scale AI, it helps avoid herd mentality. My personal advice: try defining 'useful work' based on your own business scenario, and avoid designing metrics that are merely formality.
85
FeaturedHow to Manage AI Investments in the Agentic Era: Focus on Useful Work per Dollar and High-Value Workflows
代理时代如何管理AI投资:聚焦每美元有用功与高价值工作流
This article is especially important for enterprises scaling AI agents. It reminds us that focusing solely on falling API prices is a trap; what really matters is the return per unit of work. I recommend CTOs and CFOs read it together and establish quantitative evaluation mechanisms internally.
85
FeaturedDesigning Organisations That Can Keep Up With AI: Organisational Latency as the Biggest Barrier
设计能跟上AI的组织:组织延迟成为最大障碍
What makes this article truly worth following is that it raises a neglected bottleneck: no matter how strong the technology is, if the organisation can't keep up, it's useless. For CTOs, CIOs, and transformation leaders, this is a more important framework than tech selection.
84
FeaturedOpenAI Partners with U.S. Department of Energy and National Labs to Accelerate Scientific Discovery with Frontier AI
OpenAI宣布与美国能源部和国家实验室合作,推动前沿AI加速科学发现
This is not just a tech collaboration but a milestone in national AI strategy. For those following AI policy and scientific innovation, the framework design is worth examining.


