row-bot
本地优先的桌面AI全能助手,数据主权回归用户,支持多模型路由、持久记忆、多渠道消息
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
本地优先的桌面AI全能助手,数据主权回归用户,支持多模型路由、持久记忆、多渠道消息
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你有没有过这样的困扰:想用 AI 助手处理工作,但又不想把聊天记录、项目文件、邮件往来全都上传到云端?商业 AI 服务的数据安全问题让人心存顾虑,隐私条款一年变好几次,而本地部署又门槛太高、配置复杂。
Row-Bot 就是为解决这个矛盾而生的。这是一个主打「本地优先」的桌面 AI 助手,核心理念是:你的数据留在你的机器上,AI 能力来自你选择的模型商或本地部署。
图1:Row-Bot 项目标识
Row-Bot 原名 Thoth,是古埃及神话中的知识与书写之神。项目创始人 sidd sachar 最初开发它的动机很简单:市面上的 AI 助手要么是云端黑箱(数据不由你控制),要么是开源工具(上手门槛太高)。他想做一个普通人也能轻松运行的本地 AI 助手,既能保护隐私,又足够强大来处理真实工作。
2026 年项目正式更名为 Row-Bot,其名称本身就是产品的设计哲学:Reason(通过混乱上下文推理)、Orchestrate(编排工具和模型供应商)、Work(在文件、仓库、工作流和消息渠道中工作)。这个名字概括了一个 AI 助手应有的完整生命周期。
目前 GitHub 获 star 约 1275 个,Python 编写,采用 Apache-2.0 开源协议,定位为中高端用户的本地 AI 工作站。
Row-Bot 不是一个简单的聊天界面,它集成了六个功能模块,覆盖 AI 助手的几乎所有使用场景:
1. 聊天(Chat) — 基于 LangGraph 的多轮对话引擎,支持模型供应商感知路由。系统能自动识别不同模型的上下文窗口限制、能力标签和降级策略,本地模型(Ollama)和云端模型可以并排使用,工具调用自动适配。
2. 持久记忆(Memory) — 这不是简单的对话历史,而是结构化的知识图谱(NetworkX)和向量检索(FAISS + Sentence Transformers)。每次对话的上下文会被压缩存档,后续对话可以随时召回历史信息,实现跨会话的持续学习。
3. 工具与工作流(Tools & Workflows) — Row-Bot 的工具系统极为丰富,涵盖了浏览器自动化(Playwright/MCP)、Shell 命令执行、代码解释器、Google Mail 集成、ArXiv 论文检索、维基百科查询等。更重要的是,它支持开发者工作室(Developer Studio)和设计师工作室(Designer Studio),前者可以自定义工具链,后者可以用 AI 生成图像并直接编辑。
4. 消息渠道(Messaging Channels) — Row-Bot 支持接入 Discord、Slack、Telegram、WhatsApp、SMS 等多个消息平台,AI 可以在这些渠道中自动响应,无需额外部署。
5. 实时语音(Realtime Voice) — 集成语音输入输出,用户可以像打电话一样与 Row-Bot 对话,支持本地 Whisper 语音识别。
6. 健康追踪(Health Tracking) — 一个有意思的附加功能,Row-Bot 可以与健康数据源集成,提供基于个人数据的健康建议,将 AI 助手延伸到了个人生活管理领域。
图2:Row-Bot 应用界面预览
Row-Bot 的技术架构非常值得深入了解。它建立在以下几个核心组件之上:
LangGraph 状态机:整个对话和任务执行引擎基于 LangGraph 构建,使用 interrupt 和 Command 原语实现任务中断和人工审批。LangGraph 的 checkpoint 机制(langgraph-checkpoint-sqlite)保证了任务在崩溃后可以从断点恢复。
多渠道消息路由(channels/):通过 ChannelRegistry 注册不同平台(Discord、Slack、Telegram、WhatsApp 等),每个渠道有独立的认证、媒体处理和运行时逻辑。ThreadRepair 模块处理跨渠道的对话线程修复。
知识图谱(buddy/brain.py):使用 NetworkX 构建有向图存储实体关系,FAISS 作为向量索引,sentence-transformers 生成嵌入向量,支持语义相似度检索和图遍历的混合查询。
模型路由(agent.py):支持多模型并行调用,根据任务类型自动选择合适的模型。_provider_uses_anthropic_messages() 函数处理不同模型的 API 格式兼容性问题,OpenAI 兼容接口和 Anthropic 原生接口自动适配。
Web UI:基于 NiceGUI 构建,这是一个使用 Python 直接编写响应式 Web 界面的框架,比 Streamlit 更轻量,比 Gradio 更灵活。NiceGUI 让 Row-Bot 可以用纯 Python 实现复杂的实时交互界面。
MCP 集成:langchain-mcp-adapters 和 mcp 包支持 Model Context Protocol,使得 Row-Bot 可以连接外部工具和数据源,扩展性极强。
Row-Bot 提供三类安装方式:
Windows/macOS:提供一键安装程序(.exe / .dmg),下载后双击即可,无需命令行操作。
Linux:一行命令安装脚本,从 GitHub Releases 下载 tarball,解压即用。
源码运行:克隆仓库后运行 python app.py,需要手动安装依赖(requirements.txt)。
⚠️ 注意:Row-Bot 没有 Dockerfile 或 docker-compose.yml,不支持容器化部署。这既是优点(减少容器复杂度),也是限制(不适合在服务器环境批量部署)。对于想要在 Linux 服务器上运行的用户,目前只能通过源码安装。
硬件需求方面,Row-Bot 默认使用 CPU 版本的 PyTorch(torch),仅使用 Ollama 时对 GPU 无要求。但如果要本地运行较大的 Embedding 模型或图像生成任务,建议配备 8GB+ 内存和独立显卡。存储空间约需 3GB(含依赖包)。
Row-Bot 在隐私设计上下了不少功夫。核心原则是:Row-Bot 本身没有账号系统、没有服务端、没有遥测管道。API Key 存储在系统凭据管理器中(OS Credential Store),而不是项目配置文件。所有 AI 调用都是直接从用户设备到模型供应商,不经过任何中间服务器。
对于企业用户来说,这种架构意味着:可以在完全隔离的网络环境中运行,敏感数据不出内网,AI 能力却不受损失。这对于金融、医疗、法律等对数据安全有严格要求的行业尤其有价值。
本地模型的体验差距:虽然 Row-Bot 支持 Ollama 等本地模型,但本地模型的推理质量与 GPT-4o、Claude 等顶级云端模型仍有差距。对于需要高质量输出的用户,仍需配置云端 API Key,这又引入了隐私顾虑。
配置复杂度:Row-Bot 的功能极为丰富,但这也意味着初始配置有一定学习曲线。接入各种消息渠道、设置 API Key、配置 MCP 工具,每一步都需要一定的技术基础。文档虽全但量大,新手可能需要数小时才能配置好个性化工作流。
无容器化支持:对于 DevOps 工程师来说,缺乏 Docker 支持是一个明显的遗憾。在 Kubernetes 环境中无法直接部署 Row-Bot,限制了它在云原生架构中的集成。
Row-Bot 代表了一个重要趋势:**AI 主权(AI Sovereignty)**运动正在兴起。随着用户对数据隐私的关注度提升,以及本地大模型能力的不断增强,「数据本地处理 + AI 能力按需调用」的模式正在从极客圈走向更广泛的用户群体。
Row-Bot 的 LangGraph 多代理架构、知识图谱持久记忆、多渠道统一入口等特性,也代表了 AI 助手从「单次问答工具」向「长期工作伙伴」演进的方向。未来的 AI 助手不只是回答问题,而是持续学习用户习惯、主动管理信息、跨平台协调工作的智能体。
如果这个方向持续演进,Row-Bot 这类本地优先的 AI 工作站,有望成为个人和企业 AI 基础设施的重要组成部分。