openmacro
Openmacro/openmacro加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
凌晨三点,数据分析师小林面对着一堆 Excel 表格发呆。老板要求把过去一年的销售数据做成可视化报表——折线图、柱状图、对比分析——至少二十张起步。"用 Python 画图不难,"他想,"但光是把数据从五个表格里清洗合并,再跑一遍循环生成图片,这活儿至少得干到天亮。"
就在他准备硬着头皮开干的时候,他想起了上个月装的一个工具——Openmacro。打开终端,敲下:
macro --api_key "你的API_KEY"
然后对 AI 说:"把桌面上这五个 Excel 表格合并,按月份统计销售额,画二十张不同维度的图表,保存到 report 文件夹。"
AI 开始工作。它打开 Excel 文件、运行 Python 代码、调用数据可视化库——整个过程无需小林敲一行代码。十五分钟后,二十张图表安静地躺在文件夹里,每一张都按要求做好了分类和标注。
这听起来像科幻,但 Openmacro 正在把它变成现实。
Openmacro 是一个本地多模态 AI 代理框架,它的核心使命是:让大语言模型(LLM)直接在你的电脑上执行任务——不只是回答问题,而是真正地操控文件、运行代码、浏览网页、操作软件。
这个项目的灵感来源于同样大名鼎鼎的 Open Interpreter,但在设计上走了一条不同的路。Open Interpreter 侧重于代码执行,而 Openmacro 追求的是更广泛的操作能力——它不只是一个代码解释器,而是一个通用的人机交互中间层。
项目的作者是 Amor Budiyanto,一位来自印尼的独立开发者。从代码提交记录来看,他一个人维护着整个项目,从核心架构到浏览器扩展,事无巨细都亲力亲为。这种"一人代码军团"的模式在开源世界里并不罕见,但能坚持下来的少之又少。
目前 Openmacro 版本为 0.2.11(处于早期开发阶段,README 中明确标注"Not stable"),语言为 Python,依赖 Poetry 管理,协议 MIT——这是一套标准的现代 Python 开源项目配置。
从代码结构来看,Openmacro 的设计采用了模块化分层架构,各层职责清晰:
| 模块 | 职责 | 关键技术 |
|---|---|---|
core/ | 核心调度与提示工程 | Prompt 模板管理 |
llm/ | 大语言模型接入 | SambaNova API(当前);计划支持 OpenAI/Anthropic |
computer/ | 本地计算环境抽象 | Python/Bash/JS/R/PowerShell 等多语言执行 |
extensions/ | 扩展能力集 | Browser(浏览器自动化)、Email(邮件)等 |
memory/ | 对话记忆持久化 | ChromaDB 向量数据库 |
speech/ | 语音交互 | STT(语音转文字)+ TTS(文字转语音) |
profile/ | 用户配置管理 | JSON/TOML/YAML/Python 多种配置格式 |
这种架构的精妙之处在于扩展性:computer 模块负责与本地环境交互,extensions 模块负责高级能力扩展,而 llm 模块则负责大脑思考——三层各司其职,又通过标准接口互相调用。
特别是 computer 模块,它实现了对多种编程语言环境的自动检测和调用,包括 Python、Node.js(bun/deno/node)、R、Java、CMD、PowerShell、AppleScript、Bash 等。这意味着 AI 可以根据任务需求自动选择合适的"工具手"来执行操作。
用户只需用自然语言描述任务,Openmacro 就能自动拆解并执行。它的工作流程大致是:
Openmacro 内置了强大的浏览器扩展,支持:
engine="google" 等参数配置)headless=False 可见浏览器窗口调试)这使得 AI 不仅能操作本地文件,还能"上网冲浪"获取最新信息——真正实现了本地智能与互联网信息的打通。
结合 Python 环境,Openmacro 可以完成完整的数据分析流水线:
通过 speech/ 模块,Openmacro 支持语音输入(STT)和语音输出(TTS),支持多种 TTS 引擎:系统引擎、Google GTTS、OpenAI TTS 等。这让用户可以真正做到"对着电脑说话,让它替你干活"。
借助 ChromaDB 向量数据库,Openmacro 能够持久化对话历史,让多轮对话成为可能。配合强大的 Profile 系统,用户可以:
项目使用 Poetry 管理依赖,提供了两种安装方式:
# 方式一(推荐)
pip install openmacro
macro --api_key "YOUR_API_KEY"
# 方式二
py -m pip install openmacro
py -m openmacro --api_key "YOUR_API_KEY"
目前 Openmacro 仅支持 SambaNova API(作者选择它的原因是"免费、快速、可靠")。用户需要到 cloud.sambanova.ai 注册账号获取免费 API Key。官方表示未来将支持 OpenAI 和 Anthropic 的 API——这将大幅扩展用户的选择空间。
注意:目前项目处于早期开发阶段,稳定性无法保证,生产环境使用需谨慎。
Openmacro 本质上是一个 CLI 工具(命令行界面),通过终端与用户交互。它没有独立的 Web 界面——但通过 Browser Extension 和语音模块,它提供了比传统 CLI 丰富得多的交互方式。
项目不提供 Dockerfile 或 docker-compose,无法实现一键容器化部署。对于希望快速在服务器上部署的用户来说,这是一个遗憾——不过由于它是 Python 项目,直接 pip install 部署也很简单。
尽管设计思路令人眼前一亮,Openmacro 目前面临的挑战也很明显:
作者在 README 中坦诚写道:"Project is in its early stage of development. Current version is not stable."——0.2.11 版本意味着功能尚未稳定,API 可能随时变化,生产环境使用存在风险。
目前仅支持 SambaNova,对于已经重度使用 OpenAI GPT-4 或 Anthropic Claude 的用户来说,需要额外注册账户和管理 API Key,增加了使用成本和认知负担。
本地代理框架天然存在安全边界问题:让 AI 直接执行代码、操控文件、自动化浏览器——如果 prompt 被恶意注入,后果不堪设想。虽然项目提供了 safeguards 配置(如 timeout 超时控制),但相比专业安全工具(如 Docker 沙箱)仍有差距。
相比 Open Interpreter 已有大量社区插件和教程,Openmacro 目前用户量较少(105 stars),生态建设才刚刚起步,很多扩展功能(如 Email 模块)的实际表现如何,尚未得到充分验证。
使用 playwright(浏览器自动化)等重型依赖,在部分环境(尤其是国内网络)下安装可能遇到困难。项目虽然提供了 auto_install 选项,但实际体验仍有优化空间。
Openmacro 代表了 LLM 应用的一个有趣方向:从"回答问题"到"执行任务"的跨越。
长期以来,AI 助手的形态停留在"对话生成"——用户问,它答,仅此而已。而 Open Interpreter、Openmacro 这类项目的出现,正在重新定义"AI 助手"的边界:AI 不应该只是知识的搬运工,更应该成为用户数字生活的执行层。
这种"LLM as Agent"的趋势正在加速。AutoGPT、LangChain Agents、Microsoft Copilot Stack……都在探索同样的问题:如何让 AI 不仅"会说",更能"会做"。
Openmacro 的差异化在于它的本地优先策略:所有操作都在用户本地电脑上执行,不需要把数据上传到云端。这在隐私敏感的场景(企业内部数据、个人财务信息等)下有独特的价值。相比那些需要把文件上传到云端处理的方案,Openmacro 的"数据不出本机"特性显得尤为珍贵。
从项目增长曲线来看,105 stars 虽然不算亮眼,但对于一个由单人维护、处于早期阶段的 Python 项目来说,这是一个值得关注的起点——尤其是在 AI Agent 赛道持续火热的背景下。
Openmacro 是一个有野心、有想法、也有执行力的开源项目。它用模块化的架构证明了"让大模型操控电脑"这件事在技术上完全可行。虽然目前还处于早期阶段,存在稳定性和生态建设的短板,但其设计思路和实现质量都值得肯定。
如果你对 AI Agent 感兴趣,想要一个可以真正替你操作电脑的助手,Openmacro 是一个值得尝试的沙盒——尤其是当你对数据隐私有要求、不想把文件上传到云端的时候。把它当作一个实验性的探索工具,在受控环境下体验"对着终端说话,电脑就帮你干活"的快感。
毕竟,凌晨三点让 AI 替你画图的日子,或许比想象中更近了一些。