← 返回
科技行业动态#Show#Knemora#Open-source#Second

Show HN: I built Knemora – An Open-source AI Second brain

Hacker News 热门(Algolia · 中文化)T2
23:582 小时前HN 编译阅读原文 ↗导出 MD ↓

评分

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.

正文

Knemora Knemora

Open-source, Local-first AI (SI) Second Brain

100% local by default Local llama.cpp inference server MIT License
Default model: Qwen3-8B Q3_K_M Stress-tested model: Qwen3.8-27B IQ2_S Tested on Apple M1 Pro with 16 GB unified memory Metal offload with six CPU threads

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 clone route.
  • 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

Knemora setup and startup

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.

Knemora system architecture

Knemora AI (SI) core architecture

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

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

五维评分

信息增量9 ×0.3

基于真实用户行为数据的研究成果,提供了关于AI如何改变工作内容的新定量证据。

内容质量8 ×0.2

结构清晰,关键发现明确,但可进一步深入细分行业差异。

实用价值8 ×0.2

为企业管理层、HR和组织设计者提供了直接可参考的数据洞察。

时效性10 ×0.15

研究刚于近日发布,紧贴当前AI应用热潮。

信源可信度10 ×0.15

来源为OpenAI官方研究,数据可靠且权威。

基础分 89 × T1 信源权重 ×1 = 89

精选线 60已入选精选

11:30OpenAI:News(RSS)T1RSS

精选OpenAI研究:AI正在重新定义工作边界

如果你关心AI对实际工作的影响,这篇研究不容错过。它不讨论理论,而是用数据展示ChatGPT用户如何使用AI扩展自己的任务范围,这对HR、管理者以及每个希望提升技能的职场人都有直接启发。

AI行业#ChatGPT#OpenAI#劳动力市场影响
87

五维评分

信息增量8 ×0.3

提供了来自 AI 原生企业内部 CFO 的一手经验,信息增量较高。

内容质量9 ×0.2

内容结构清晰,来自权威高管,质量上乘。

实用价值8 ×0.2

为财务高管提供了可落地的经验与注意事项,实用价值强。

时效性9 ×0.15

刚发布的官方内容,时效性高。

信源可信度10 ×0.15

信源为 OpenAI 官方博客,可靠性极高。

基础分 86.5 × T1 信源权重 ×1 = 87

精选线 60已入选精选

01:00OpenAI:News(RSS)T1RSS

精选OpenAI CFO 分享构建 AI 原生财务职能的五大经验

作为编辑,我认为这篇文章的价值在于它来自 AI 领军企业的财务一把手,而非外部咨询机构,因此更具实践参考性。推荐给财务数字化负责人、CFO 以及对 AI 转型感兴趣的从业者阅读。

金融行业#AI原生财务#AI投资回报率#OpenAI
87

五维评分

信息增量8 ×0.3

首次系统性报告智能体AI在科学计算中的具体应用案例,信息增量较高。

内容质量9 ×0.2

来自权威机构OpenAI,内容结构清晰,案例详实,质量上乘。

实用价值8 ×0.2

为科研人员和决策者提供了可操作的参考和路线图,实用价值显著。

时效性9 ×0.15

报告发布日期为近期,紧贴AI agent热门趋势,时效性强。

信源可信度10 ×0.15

OpenAI作为AI领域头部机构,其官方报告可信度极高。

基础分 86.5 × T1 信源权重 ×1 = 87

精选线 60已入选精选

01:00OpenAI:News(RSS)T1RSS

精选智能体AI时代下的科学计算:OpenAI发布新领域报告

这份报告是当前AI agent热潮中最务实的应用分析之一,尤其适合计算生物学和药物研发领域的从业者阅读。它回答了“AI agent除了写代码还能干什么”这个关键问题,直接展示了在复杂科学计算中的生产力提升。

AI行业#AI编码智能体#OpenAI#基因组学
87

五维评分

信息增量8 ×0.3

语音人类自然度评估标准新工具,信息增量高,此前缺乏同类开源基准。

内容质量9 ×0.2

内容详实,技术细节清晰,附带使用说明与开源代码,质量高。

实用价值9 ×0.2

直接可用于模型开发与对比,实用价值极高,尤其对语音相关团队。

时效性8 ×0.15

语音AI快速发展期,评测需求强烈,发布时机恰逢其时。

信源可信度10 ×0.15

Hugging Face官方博客,权威信源,工具已开源可验证。

基础分 87 × T1 信源权重 ×1 = 87

精选线 60已入选精选

08:00Hugging Face:Blog(RSS)T1RSS

精选Real World VoiceEQ:量化语音AI的人类自然度

值得关注的是,这个基准真正聚焦'人类自然度'这个软指标,而不是传统的语音识别率或MOS评分。对从事语音合成、语音克隆或语音交互的团队来说,这是一个非常实用的参考工具,可以快速定位模型在情感、韵律等层面上的不足。不过目前支持语言有限,期待后续扩展。

科技行业#Hugging Face#Real World VoiceEQ#自然度评估
85

五维评分

信息增量8 ×0.3

提出新颖的AI ROI量化框架,对当前缺乏标准化评估方法的企业具有较高的信息增量。

内容质量7 ×0.2

框架逻辑清晰,但缺乏具体案例或数据支撑,偏概念性介绍。

实用价值9 ×0.2

直接面向企业实际痛点,可操作性强,对投资决策有明确指导意义。

时效性10 ×0.15

在当前AI投资泡沫与理性化需求背景下,该内容极其及时。

信源可信度9 ×0.15

来自OpenAI官方渠道,由CFO署名,权威性高。

基础分 84.5 × T1 信源权重 ×1 = 85

精选线 60已入选精选

18:00OpenAI:News(RSS)T1RSS

精选OpenAI 推出AI时代记分卡:衡量投资回报的新方法

这篇博文直击当前AI行业的软肋——如何量化投入产出。对于正在或计划大规模部署AI的企业决策者而言,它能帮助避免盲目跟风。我个人建议结合自身业务场景尝试定义“有用工作”,避免指标设计流于形式。

科技行业#AI记分卡#AI部署策略#OpenAI
85

五维评分

信息增量8 ×0.3

提出了新颖的'每美元有用功'指标,对AI投资评估有较高信息增量。

内容质量7 ×0.2

逻辑清晰、结构完整,但缺少实际案例分析,略偏抽象。

实用价值9 ×0.2

为企业提供了可落地的衡量框架与治理建议,实用性强。

时效性9 ×0.15

发表于代理时代兴起之际,贴合当前企业AI投资焦虑点。

信源可信度10 ×0.15

来源为OpenAI官方博客,权威性高。

基础分 84.5 × T1 信源权重 ×1 = 85

精选线 60已入选精选

18:00OpenAI:News(RSS)T1RSS

精选代理时代如何管理AI投资:聚焦每美元有用功与高价值工作流

这篇文章对正在大规模部署AI代理的企业尤为重要。它提醒我们:单纯盯着API价格下降会陷入误区,真正要管理的是每单位工作的投资回报率。建议CTO和CFO联合阅读,并在内部建立量化评估机制。

AI行业#AI代理#OpenAI#ROI
85

五维评分

信息增量8 ×0.3

提出组织延迟这一概念,对AI落地实践有增量启发。

内容质量8 ×0.2

观点明确,逻辑清晰,引用权威信源。

实用价值9 ×0.2

对企业和组织管理者具有直接指导意义。

时效性8 ×0.15

当前AI快速迭代期,组织滞后问题紧迫。

信源可信度10 ×0.15

来源为OpenAI官方新闻,权威性高。

基础分 85 × T1 信源权重 ×1 = 85

精选线 60已入选精选

20:00OpenAI:News(RSS)T1RSS

精选设计能跟上AI的组织:组织延迟成为最大障碍

这篇文章真正值得关注的是提出了一个被忽视的瓶颈:技术再强,组织跟不上也是白搭。对CTO、CIO和转型负责人来说,这是比技术选型更重要的思考框架。

AI行业#AI#OpenAI#组织变革
84

五维评分

信息增量9 ×0.3

首次公开OpenAI与美能源部合作框架,披露合作领域与资源支持,信息增量高。

内容质量8 ×0.2

内容清晰完整,但缺乏具体时间表与项目细节,质量上乘但可优化。

实用价值7 ×0.2

对科研机构与政策制定者有参考价值,但普通读者直接实用度一般。

时效性8 ×0.15

新闻刚发布,但合作尚未有落地成果,时效性良好。

信源可信度10 ×0.15

来源为OpenAI官方RSS,权威性无可挑剔。

基础分 84 × T1 信源权重 ×1 = 84

精选线 60已入选精选

20:00OpenAI:News(RSS)T1RSS

精选OpenAI宣布与美国能源部和国家实验室合作,推动前沿AI加速科学发现

这不仅是技术合作,更是AI国家战略的里程碑。对关注AI政策与科学创新的读者,值得细读框架设计。

AI行业#OpenAI#前沿AI#国家实验室

引用前请核对原文