项目定位与核心架构理念
OpenLumara 被开发者定义为一种不同于传统代码封装的 AI 代理,它是一个从零开始用 Python 构建的框架,专为本地模型设计。与 OpenClaw 和 Hermes 等工具不同,OpenLumara 不限制上下文窗口,也不强制要求繁琐的 Shell 访问权限。其核心设计理念在于极致的模块化与安全性,默认提供一个 4,000 token 的提示词,并将所有功能(包括记忆和 Shell 访问)都设计为可切换的模块。这种架构确保了禁用模块时零 Token 占用和零攻击面,只有被启用的模块才会加载到 Python 环境中。
"This is from scratch Python framework built for local models where open claw and Hermes block context and demandful shell access."
在架构层面,OpenLumara 拥有一个极简的核心,负责处理代理循环和工具调用,而所有其他功能均为独立模块。它支持 Telegram、Discord、CLI 和 Web UI 等多种渠道,但这些渠道作为独立层与核心交互。所有数据以开放格式存储在一个文件夹中,实现了无锁定(No lock-in)的数据管理。这种设计旨在通过模块化提升灵活性,同时保持核心轻量,避免传统代理工具中常见的臃肿和安全风险。
硬件环境与安装配置
本次测试在 Ubuntu 系统上进行,使用的硬件为 Nvidia RTX 6000 显卡,配备 48GB VRAM。博主首先克隆了 OpenLumara 的仓库,并从根目录运行 run.sh 脚本(Windows 用户可使用对应的批处理脚本)。该脚本会自动创建虚拟环境并安装依赖,整个过程需要一定时间。安装完成后,系统会自动加载所有默认模块,并启动两个默认渠道:终端 CLI 和 端口 3000 的 Web UI。此外,首次启动时系统还会自动备份数据,确保用户数据的安全性。
| 组件/项目 | 规格/状态 |
|---|---|
| 操作系统 | Ubuntu |
| 显卡型号 | Nvidia RTX 6000 |
| 显存容量 | 48GB VRAM |
| 启动渠道 | CLI (终端), Web UI (端口 3000) |
| 默认模块状态 | 23 个模块中 16 个启用 |
| 数据备份 | 首次启动自动备份 |
安装过程相对简单,用户只需运行脚本即可。启动后,Web UI 会在本地端口 3000 提供服务,用户可通过浏览器访问 localhost:3000 进入界面。CLI 界面也会同步显示,提示符显示为 "user",表明系统已就绪。这种开箱即用的体验降低了本地 AI 代理的部署门槛,使得用户能够快速进入配置和测试阶段。
模型集成与基础交互测试
为了测试 OpenLumara 的性能,博主将其与 Ollama 服务集成的本地模型 Qwen 进行连接。在 Web UI 中,用户点击右上角的齿轮图标进入设置,在 API 选项卡中设置 Ollama 的服务 URL 和 API Key(Key 内容可随意填写)。保存后,在左侧菜单刷新模型列表,即可选择已加载的 Qwen 模型。用户还可以调整超参数,如启用思考模式(Thinking/Reasoning)或保留思考过程用于代理循环。
"It is now thinking with that Quen model. And there you go. It's a pretty nice chatbot."
在基础交互测试中,博主向模型发送消息 "Hello, you're on camera"。Qwen 模型迅速响应,不仅给出了回答,还进行了角色扮演,表示调整了“想象中的相机镜头”,并附带了自我介绍和帮助模块。这一测试表明,OpenLumara 能够稳定地调用本地模型,并支持基本的对话交互。然而,博主指出,仅具备聊天功能并不能体现其独特性,因为市面上已有无数类似的聊天机器人。OpenLumara 的真正价值在于其模块化的工具调用能力。
模块化功能与记忆机制
OpenLumara 的核心差异化功能在于其模块化的工具调用。在设置中,用户可以轻松启用或禁用各种模块,例如 Web 搜索。博主启用了 Web 搜索模块并保存设置,系统随即在后台加载相关依赖,并在 CLI 中显示系统日志。这种即插即用的模块化设计使得用户可以根据需求灵活配置代理功能,而无需修改底层代码。
在记忆功能测试中,博主要求代理将某项任务添加到待办事项列表中。代理通过思考、发送工具调用,成功将信息记录到其内部记忆中。这一过程展示了 OpenLumara 的自主记忆管理能力,代理能够识别用户意图,调用相应的记忆模块进行数据存储。这种能力对于需要长期交互和任务管理的本地 AI 代理至关重要,使得代理能够自然地提醒用户待办事项,而无需用户手动查询。
"It is a tool call which it has done and it has recorded into its memory which is quite interesting."
此外,OpenLumara 支持多种渠道接入,包括 Telegram、Discord 等,这些渠道作为独立层与核心交互,确保了系统的可扩展性和灵活性。用户可以根据需要启用不同的渠道模块,实现多平台协同工作。这种设计使得 OpenLumara 不仅是一个本地聊天机器人,更是一个可定制的智能代理平台。
自定义模块生成与扩展性
OpenLumara 的另一个亮点是其高度的可扩展性,特别是通过用户自定义模块(User Modules)进行功能扩展。博主在 CLI 中尝试让代理生成一个自定义模块,用于在指定最小值和最大值之间生成随机数。代理成功编写了 Python 代码,并指导用户如何保存该模块。更令人印象深刻的是,代理甚至尝试自动将代码保存为 random_number.py 文件。
| 测试项目 | 结果/状态 |
|---|---|
| 自定义模块生成 | 成功生成 Python 代码 |
| 文件保存尝试 | 代理尝试自动保存为 .py 文件 |
| 模块启用 | 在 Web UI 设置中可手动启用 |
| 模块调用测试 | 出现误报(False Alarm),需改进 |
在 Web UI 的设置中,用户可以查看并启用这些自定义模块。博主启用了刚生成的随机数模块,并在聊天中尝试调用。然而,测试中出现了一些问题,代理未能正确执行模块调用,出现了误报。这表明虽然 OpenLumara 在模块生成和集成方面具有巨大潜力,但在实际调用的稳定性和错误处理方面仍有改进空间。尽管如此,这种让 AI 编写并运行自身代码的能力,展示了本地代理在自动化和扩展性方面的巨大优势。
总结与评价
OpenLumara 通过其模块化架构和安全性设计,为本地 AI 代理提供了一种新的解决方案。与 OpenClaw 和 Hermes 相比,它不限制上下文,且默认禁用敏感功能,降低了安全风险。通过集成 Ollama 和 Qwen 模型,博主验证了其基本的聊天和记忆功能,并展示了其自定义模块生成的潜力。尽管在模块调用稳定性上仍有不足,但 OpenLumara 的灵活性和可扩展性使其成为本地 AI 代理开发者的有力工具。博主认为,这种以用户为中心、注重隐私和模块化的设计,代表了本地 AI 代理发展的一个重要方向。
"That is this new open lumara tool for you. Let me know what do you think."
总体而言,OpenLumara 适合那些希望完全控制本地 AI 代理、注重隐私和数据安全的用户。其开源、无锁定的特性,以及丰富的模块化选项,使得用户可以根据自身需求定制代理功能。虽然目前版本在模块调用的稳定性上还需优化,但其核心架构和创新理念值得关注和期待。