limopola
本地优先的 AI 统一入口,支持 GPT/Claude/Gemini/Llama 等多模型,覆盖 Chat/Editor/Agent/Reasoning 四种交互模式
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
本地优先的 AI 统一入口,支持 GPT/Claude/Gemini/Llama 等多模型,覆盖 Chat/Editor/Agent/Reasoning 四种交互模式
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

你正在用 Claude 写代码,突然需要生成一张图片,切到 Midjourney;图生成好了,又要去 ChatGPT 做文案优化;写完文案想让 AI fact-check,翻出了另一个工具——一上午过去了,浏览器标签页堆了二十多个,每个都要重新登录、重新设置上下文。
Limopola 的出现,就是为了终结这种"AI 工具割裂感"。它是一个本地优先的 AI 统一交互平台,在同一个 Web 界面里,接入了 OpenAI GPT 系列、Anthropic Claude、Google Gemini、Mistral、Llama(本地运行),以及 DALL-E、Flux、Imagen 等图像生成模型。Chat(聊天)、Editor(编辑器)、Agent(自主代理)、Reasoning(推理链)四种交互模式,一个窗口全覆盖。

Limopola 的诞生颇具故事性。作者 Jacob Bergdahl 在 README 中坦言,这个项目最初是"后悔地"基于 OpenAI 官方的一个 Node.js quickstart 示例仓库搭建的,原本只是想做个简单的演示,没想到功能越加越多,最终演变成了一个功能完善的 AI 平台。
名字本身也很有趣——Li + Mo + Po + La,分别是 link(链接)、model(模型)、portal(门户)、language(语言)的缩写,组合起来就是"连接各种语言模型的门户"。这恰好概括了 Limopola 的核心定位。
项目采用 MIT 开源许可,当前 GitHub 标星 111,拥有 10 个 Fork,经历过 155 次提交迭代。虽然体量不大,但功能覆盖相当完整。
Limopola 基于 Next.js 16 构建前端,使用 React 19 和 TypeScript 开发。状态管理选用了轻量的 Jotai(原子化状态管理方案),数据库只用了极简的 SQLite 存储少量配置信息,大量运行时数据直接放在客户端浏览器的 localStorage 中。
在 AI 能力的集成上,项目引入了 LangChain 作为核心编排框架,并同时集成了多个主流 AI 服务商的 SDK:
openai SDK + @azure/openai(Azure OpenAI 兼容)@anthropic-ai/sdk@google/genai(Gemini 系列)@mistralai/mistralainode-llama-cpp(GGUF 格式)+ Ollama@mlc-ai/web-llm),完全在浏览器中运行本地 GGUF 模型,无需任何服务器所有 API 调用都通过 LangChain 统一路由,添加新模型支持只需修改配置,无需改动核心代码。
Limopola 最核心的价值在于它对多种交互模式的深度支持。
Limopola 的 Chat 模式颠覆了传统 AI 对话平台的范式——用同一个聊天窗口对接所有模型。可以用 GPT-4 开始对话,用 Claude 继续,甚至中途切到 Llama。整个对话历史在单一实例中管理,右侧边栏可以保存"上下文模板"(Context),让 AI 以特定角色或知识背景回答。内存开关可以随时清除上下文,从头开始。

Editor 提供了一个受 AI 控制的可编辑文本区域,AI 生成的文本直接输出到用户控制的 textarea 中,用户可以随时修改、继续生成。这是人机协作写作的典型场景,特别适合长文创作、代码编辑等需要反复迭代的任务。项目作者建议在 Editor 模式下使用非对话微调的模型(如 llama-2-70b 而非 llama-2-70b-chat)。
Agent 模式允许用户输入一个"任务指令",AI 会自动拆解为子任务列表,为每个子任务分配合适的模型,然后依次执行。典型任务包括生成儿童绘本(带插图和配音)、制作品牌手册、构建 Fan 网站等。文档特别警告:当前版本可能会产生高昂的 API 调用费用。

Reasoning 模式是 Limopola 最有野心的功能。它借鉴了 DeepSeek R1 的 Chain-of-Thought 推理模式,将其模型无关化——理论上可以让任何 LLM 都具备 o1/R1 级别的推理能力。实现方式是通过 few-shot prompting 引导模型进行显式推理。Claude 3.5 Sonnet 是当前默认模型,Llama 3 70B 表现也不错。令人意外的是,GPT-4o 在这个模式中表现欠佳,而被认为是"遗留模型"的 GPT-4 反而表现良好——这可能与模型的思维模式训练方向有关。
Limopola 支持完全不依赖云端 API 的本地运行方式:
node-llama-cpp 直接加载 GGUF 文件:下载任意 GGUF 模型放入 models/ 目录,运行 npm run local 即可。npm run install-local-llm 脚本可以一键下载默认模型。
Ollama 服务:本地已安装 Ollama,只需 ollama serve 启动,在 .env 中配置模型名即可。
WebLLM 浏览器端推理:完全在浏览器中运行,零服务器资源消耗。
亮点:
局限:
# 最简方式(自动下载默认模型)
git clone git@github.com:jacobbergdahl/limopola.git
cd limopola
npm run quickstart
# 自定义模型
npm i
# 下载 GGUF 模型放入 models/ 目录
npm run local
API 密钥均可在 .env.example 中找到说明,全部为可选——本地 GGUF 模型完全免费使用。
Limopola 代表了一种"AI 平台聚合"趋势——在 Claude API 和 GPT-4 各有优劣、Llama 本地运行又免费的背景下,用户没有理由被锁定在单一平台。Limopola 试图成为AI 领域的万能钥匙,让用户在一个窗口里自由穿梭于不同模型之间,按需切换、按场景选择最优解。
它的 Reasoning 模式尤其值得关注——通过 prompt engineering 将 o1/R1 级别的推理能力下放到非推理模型,与当前"推理模型平民化"的大趋势高度吻合。
