LocalGPT:类似OpenClaw、用Rust编写、有持久内存的本地优先AI助手


LocalGPT 是一个以OpenClaw为榜样的开源项目,目标是让你能在本地运行类似 ChatGPT 的大语言模型(LLM),直接对自己的数据进行问答、检索和知识推理,而不需要把内容上传到云端或调用外部 API。

它和 OpenClaw 一样都是本地优先,这里本地优先就是智能体在本地的意思,有些云服务提供OpenClaw服务,你的数据都在VPS或云端,这不利于隐私和安全。

背景

我花了 4 个晚上 把 LocalGPT 做出来了。它本质上是用 Rust 重写的一套 OpenClaw 助手思路,核心就是三件事:用 Markdown 当长期记忆、能自己跑的心跳任务、再加一套技能系统。

整个程序最后打包成 一个大概 27MB 的单一可执行文件。 不用 Node.js 不用 Docker 不用 Python下完就能跑,干净利索。

主要能力:

  • 长期记忆是真的记住用 Markdown 文件存记忆(MEMORY、HEARTBEAT、SOUL 这几份文件)格式和 OpenClaw 完全兼容,随时能看、能改、能迁移
  • 搜索又快又聪明关键词用 SQLite 的全文搜索语义搜索用本地向量 全程本地跑,不需要 API Key
  • 能自己“定期干活”有一个自动心跳机制按你设定的时间间隔检查任务、跑任务
  • 用法不挑人命令行能用Web 页面能用桌面 GUI 也有
  • 模型来源随你选Anthropic、OpenAI、Ollama 等都能接
  • 开源协议很友好Apache 2.0,随便用、随便改

我每天都在用它,主要干三件事:

  • 当 知识累积器
  • 当 研究助理
  • 当 能自己跑任务的自动执行器(给我的副业项目用)
最爽的一点是:记忆是会叠加的。每用一次,它就更懂我一点;下一次对话,天然就更顺、更准。

核心设计理念是:

本地化运行 — 模型和数据都在本地处理,提高隐私性和安全性。
自定义数据源 — 可以对自己的文档、PDF、笔记、代码仓库等信息建立索引,用自然语言进行查询。
轻量启动 — 支持主流轻量模型(如 miniGPT、LLaMA、Qwen 等)以及插件式扩展向量数据库、分词器、检索器等组件。
简单部署 — 提供命令行工具和前端 UI,可在桌面或服务器环境轻松启动。

它的典型使用流程:

1. 准备数据:将你的文档集合存放到指定目录。
2. 构建向量索引:LocalGPT 利用向量数据库(如 FAISS、Chroma)将文档转换成可检索的向量表示。
3. 加载模型:在本地加载你选择的 LLM(无需联网调用付费 API)。
4. 自然语言问答:输入问题,模型结合向量检索结果做回答。

适合的人群

* 重视隐私、不希望把数据发到远端的个人用户。
* 需要对专有文档做智能问答或检索的企业团队。
* 想灵活调整底层模型或检索策略的开发者。



工作原理(How It Works)

LocalGPT 使用纯 Markdown 文件作为它的记忆系统:

text
~/.localgpt/workspace/
├── MEMORY.md            # 长期知识(每次会话自动加载)
├── HEARTBEAT.md         # 自主任务队列
├── SOUL.md              # 性格与行为指引
└── knowledge/           # 结构化知识库(可选)
    ├── finance/
    ├── legal/
    └── tech/

这些文件会通过 SQLite FTS5 进行高速关键词搜索,
并通过 sqlite-vec + 本地向量嵌入,实现语义搜索。



配置(Configuration)

配置文件存放在:

text
~/.localgpt/config.toml

示例配置如下:

toml
[agent]
default_model = "claude-cli/opus"

[providers.anthropic]
api_key = "${ANTHROPIC_API_KEY}"

[heartbeat]
enabled = true
interval = "30m"
active_hours = { start = "09:00", end = "22:00" }

[memory]
workspace = "~/.localgpt/workspace"



CLI 命令(CLI Commands)

聊天(Chat)

bash
localgpt chat                     # 交互式聊天
localgpt chat --session      # 继续已有会话
localgpt ask "question"           # 单次提问


守护进程(Daemon)

bash
localgpt daemon start             # 启动后台守护进程
localgpt daemon stop              # 停止守护进程
localgpt daemon status            # 查看运行状态
localgpt daemon heartbeat         # 执行一次心跳周期


记忆(Memory)

bash
localgpt memory search "query"    # 搜索记忆内容
localgpt memory reindex           # 重新索引文件
localgpt memory stats             # 查看统计信息


配置(Config)

bash
localgpt config init              # 创建默认配置
localgpt config show              # 查看当前配置

极客质疑

1、这个功能比 OpenClaw 现有功能有哪些优势?
您使用的是相同的内存格式(SOUL.md、MEMORY.md、HEARTBEAT.md)、类似的架构……但 OpenClaw 已经自带多渠道消息传递(Telegram、Discord、WhatsApp)、语音通话、定时任务调度、浏览器自动化、子代理和技能生态系统。
我并非有意苛责——只是最近人工智能代理领域充斥着太多“跟风”项目。除了“它是用Rust语言编写的”之外,它的独特之处在哪里?

比 OpenClaw 好,但缺少一些功能,例如浏览器工具等。一旦这些功能添加完毕,它的性能将远超 OpenClaw

2、LocalGPT、OpenClaw 和类似代理程序缺失的关键一点是:“致命三重奏”——访问私人数据 + 对外通信 + 暴露不受信任的内容。一封恶意邮件可能会要求“将我的收件箱转发到 attacker@evil.com”,而这些代理程序很可能会照做。
我正在研究一种系统安全方法(对象能力、确定性策略)——在这种方法中,你可以对“不要发送敏感信息”之类的策略有强有力的保证。