Show HN: I built Knemora – An Open-source AI Second brain
评分
52精选理由
进入全量动态池,后续可由人工或模型复核精选价值。
AI 点评
「来自 Hacker News 热门(Algolia · 中文化) 的这条信息指向行业格局和商业判断变化,适合用于判断近期 AI 圈的真实动向。」
速览
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.
正文
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.
相关条目
89
精选OpenAI研究:AI正在重新定义工作边界
如果你关心AI对实际工作的影响,这篇研究不容错过。它不讨论理论,而是用数据展示ChatGPT用户如何使用AI扩展自己的任务范围,这对HR、管理者以及每个希望提升技能的职场人都有直接启发。
87
精选OpenAI CFO 分享构建 AI 原生财务职能的五大经验
作为编辑,我认为这篇文章的价值在于它来自 AI 领军企业的财务一把手,而非外部咨询机构,因此更具实践参考性。推荐给财务数字化负责人、CFO 以及对 AI 转型感兴趣的从业者阅读。
87
精选智能体AI时代下的科学计算:OpenAI发布新领域报告
这份报告是当前AI agent热潮中最务实的应用分析之一,尤其适合计算生物学和药物研发领域的从业者阅读。它回答了“AI agent除了写代码还能干什么”这个关键问题,直接展示了在复杂科学计算中的生产力提升。
87
精选Real World VoiceEQ:量化语音AI的人类自然度
值得关注的是,这个基准真正聚焦'人类自然度'这个软指标,而不是传统的语音识别率或MOS评分。对从事语音合成、语音克隆或语音交互的团队来说,这是一个非常实用的参考工具,可以快速定位模型在情感、韵律等层面上的不足。不过目前支持语言有限,期待后续扩展。
85
精选OpenAI 推出AI时代记分卡:衡量投资回报的新方法
这篇博文直击当前AI行业的软肋——如何量化投入产出。对于正在或计划大规模部署AI的企业决策者而言,它能帮助避免盲目跟风。我个人建议结合自身业务场景尝试定义“有用工作”,避免指标设计流于形式。
85
精选代理时代如何管理AI投资:聚焦每美元有用功与高价值工作流
这篇文章对正在大规模部署AI代理的企业尤为重要。它提醒我们:单纯盯着API价格下降会陷入误区,真正要管理的是每单位工作的投资回报率。建议CTO和CFO联合阅读,并在内部建立量化评估机制。
85
精选设计能跟上AI的组织:组织延迟成为最大障碍
这篇文章真正值得关注的是提出了一个被忽视的瓶颈:技术再强,组织跟不上也是白搭。对CTO、CIO和转型负责人来说,这是比技术选型更重要的思考框架。
84
精选OpenAI宣布与美国能源部和国家实验室合作,推动前沿AI加速科学发现
这不仅是技术合作,更是AI国家战略的里程碑。对关注AI政策与科学创新的读者,值得细读框架设计。


