✨ 项目简介

NoteMeld(源知库) 是一款自托管的 AI 知识工作台,面向那些长期学习、持续研究、反复输出的人。

它不是一个单纯“保存资料”的笔记工具,而是把你每天接触的内容,逐步沉淀为可追溯、可复用、可持续增长的个人知识库

在 NoteMeld 里,你平时接触的多源信息会被汇入同一个知识层:

  • 🌐 阅读:网页文章、本地文件
  • 🎬 观看:Bilibili / YouTube / 抖音 / 快手 / 视频号等平台视频
  • 💬 对话:与 AI 交流的过程与结论

每一次记录都会同时产出两件东西:

  • 一篇结构化 Markdown 笔记,方便你直接阅读、复盘、继续编辑
  • 一份知识包(实体 / 概念 / 证据 / 关系),自动汇入项目级 Wiki,供后续检索、引用和问答调用

这意味着你不再只是“收藏了一条链接”或“记下了一段聊天”,而是在持续构建属于自己的知识网络。

NoteMeld 不走传统 RAG 路线,而是采用 Wiki-First Retrieval:把 Wiki 视作“已编译的知识层”。相比先堆原文再临时检索,它更强调结构化沉淀、引用可溯源和长期可复用,2C2G 小机器即可跑得动。

它适合谁

  • 想长期学习某个主题的人:如 AI、产品、历史、投资、技术栈
  • 在做持续项目研究的人:如产品调研、创业准备、竞品分析、行业跟踪
  • 有输出需求的人:如写博客、做视频、写报告、做分享、做课程
  • 经常和 AI 深度讨论,希望把结论长期沉淀下来的人

它解决什么问题

  • 信息易失:看过、聊过、想过的内容很快忘掉
  • 知识分散:网页、视频、文件、AI 对话散落在不同平台
  • 复用困难:写作、决策、学习时又得重新搜索和整理
  • 观点无证据:知道一个结论,却找不到来源、上下文和依据

NoteMeld 的目标不是帮你“记更多”,而是帮你把零散输入逐步变成稳定、可追溯、可调用的个人认知资产。

三步走

步骤 做什么
1. 多源采集 粘一条链接 / 上传一个文件 / 接入一段 AI 对话
2. 结构化笔记 Plan → Map → Reduce 的 Refine Engine 自动生成 Markdown 笔记
3. 沉淀为 Wiki 抽取知识包,自动汇入实体 / 概念图谱,永久可查询

🧭 如何使用

最推荐的使用方式,不是把它当成“第二个收藏夹”,而是当成你的个人研究台长期上下文层

典型使用场景

  • 长期学习:持续收集课程、文章、视频与自己的理解,逐步形成主题知识图谱
  • 项目研究:把竞品资料、行业访谈、思考过程和 AI 讨论统一沉淀,方便后续反复调用
  • 内容创作:积累素材、观点、证据和案例,写文章或做分享时直接从自己的库里取材
  • 决策支持:围绕职业选择、技术选型、投资判断等议题,保留证据链和历史推理
  • 个人反思:把重要对话、阶段性结论和复盘沉淀下来,形成长期的思维档案

最佳实践

  • 围绕长期主题建库:优先聚焦 1 到 3 个你会持续投入的主题,不要一开始什么都收
  • 优先采高密度内容:与其保存 20 条噪音资讯,不如沉淀 3 条真正值得反复回看的内容
  • 保留你的解释层:除了原文,也要保存自己的判断、总结、质疑和结论
  • 重视结构化加工:采集只是入口,真正的价值来自整理后的 Markdown 笔记和 Wiki 知识包
  • 让知识参与后续工作:写作、汇报、继续提问、做决策时,优先回到自己的库,而不是重新搜索全网
  • 持续增量,不求一次完美:个人知识库应该像花园一样生长,而不是一次性建模工程

一条简单的个人工作流

  1. 每天采集:把值得沉淀的网页、视频、文件、AI 对话收进来
  2. 每周整理:挑出最重要的 3 到 5 条内容生成结构化笔记
  3. 每月回顾:看看一个主题下反复出现了哪些概念、人物、证据和争议
  4. 优先回用:下一次写东西、做方案、继续提问时,先查自己的库

🔧 功能特性

内容采集

  • 多平台视频:Bilibili、YouTube、抖音、快手、本地视频
  • 网页文章:清洗 HTML、抽取正文 / 元数据 / 社交信号
  • B 站 / YouTube 字幕优先:有官方字幕时跳过音频转写,省时省钱
  • 浏览器扩展:在原页面直接发起任务,附带本地登录态 Cookie

笔记生成

  • 多模态视频理解:转录 + 智能视觉采样(按转录线索定位关键帧)
  • 笔记格式可选:要点、总结、思维导图、引文 + 时间戳跳转、自动截图
  • Refine Engine:长内容自动 Map-Reduce,超长输入也能稳定出稿
  • 多模型支持:OpenAI / DeepSeek / Qwen / 任意 OpenAI 兼容供应商
  • 多种本地转写:Faster-Whisper、MLX-Whisper(Apple Silicon)、Groq、必剪 BCut

知识库

  • 知识包模型:每篇笔记产出 entity / concept / evidence / claim / relation
  • Wiki 图谱:实体类型分组的左侧树 + 中央力导图 + 右侧元数据洞察
  • 可溯源:每个实体 / 概念都关联回原始来源链接和时间戳
  • 增量沉淀:跨任务的实体合并与概念聚类(演进中)

工程能力

  • Sidecar 文件系统:每个任务保留 SummaryInput / Plan / Refine 轨迹,便于复盘与排障
  • 网关超时韧性:多模态推理被 ALB / 网关超时(502/503/504/524)时,图片自动阶梯降级(8 → 4 → 2 → 0)
  • SQLite 持久化任务、Provider、Model、用量统计

🚀 快速开始

环境要求

  • macOS / Windows / Linux
  • Python 3.11+
  • Node 20+
  • pnpm(通过 corepack 启用即可)
  • ffmpeg
  • 一个 LLM Provider Key(OpenAI / DeepSeek / Qwen 任选其一)

一键安装(推荐)

macOS:

curl -fsSL https://notemeld.wiki/install.sh | bash
notemeld

Windows PowerShell:

irm https://notemeld.wiki/install.ps1 | iex
notemeld

Linux:

curl -fsSL https://notemeld.wiki/install.sh | bash
notemeld

安装后会注册 notemeld 命令,并将应用、数据、日志隔离到用户目录下的 .notemeld

源码启动

git clone <your-repo-url> notemeld
cd notemeld
cp .env.example .env

# 启动后端 + 前端
bash run_notemeld.sh

启动成功后:

首次启动会自动创建 Python 虚拟环境、安装依赖、生成 .env

MCP 接入(Trae)

NoteMeld 启动后,后端同时提供 HTTP MCP endpoint:

http://127.0.0.1:8483/mcp

在 Trae 的 MCP 配置里新增:

{
  "mcpServers": {
    "notemeld": {
      "url": "http://127.0.0.1:8483/mcp"
    }
  }
}

如果当前 Trae 配置界面要求显式声明 transport,使用:

{
  "mcpServers": {
    "notemeld": {
      "transport": "http",
      "url": "http://127.0.0.1:8483/mcp"
    }
  }
}

远程访问时,需要先在 NoteMeld 启动环境中配置:

export NOTEMELD_MCP_TOKEN="your-token"

然后在 Trae MCP server headers 里加入:

{
  "mcpServers": {
    "notemeld": {
      "url": "http://127.0.0.1:8483/mcp",
      "headers": {
        "Authorization": "Bearer your-token"
      }
    }
  }
}

当前可用 MCP 工具:

  • notemeld_import_note:导入现成 Markdown 笔记并后台提取 LLM Wiki
  • notemeld_search_notes:按标题搜索笔记
  • notemeld_read_note:按标题读取笔记内容
  • notemeld_search_wiki:搜索结构化 LLM Wiki
  • notemeld_read_wiki_page:读取白名单 Wiki concept/entity 页面

可用下面的请求快速验证 MCP 握手和工具列表:

curl -s http://127.0.0.1:8483/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"Trae","version":"local"}}}'
curl -s http://127.0.0.1:8483/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'

更完整的 Trae 接入说明见 docs/mcp-trae-setup.md

📜 License

MIT License。详见 LICENSE