AI代理操作系统

Daemon OS是一款为AI代理提供完整计算机操作能力的本地化操作系统,通过读取macOS无障碍树实现任意应用程序的自动化控制,支持工作流保存与重复执行。

  • by hammadxcm
  • Swift
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 hammadxcm/daemon-os

使用说明


你的AI代理可以编写代码、运行测试、搜索文件。但它不能点击按钮、发送电子邮件或填写表格。它位于聊天框内。

Daemon OS改变了这一点。 只需安装一次,任何AI代理都可以查看和操作Mac上的每个应用程序。

You:     "Send an email to sarah@company.com about the Q4 report"
Agent:   daemon_run recipe:"gmail-send" params:{recipient, subject, body}
         → Compose opens, fields fill, email sends. Done.

安装

brew install hammadxcm/daemon-os/daemon-os
daemon setup

就这样 daemon setup 处理权限、MCP配置和配方安装。

为什么选择Daemon OS?

其他电脑使用工具会截图并猜测屏幕上的内容。Daemon OS读取macOS可访问性树——每个应用程序中每个元素的结构化、标记数据。不需要视觉模型。没有像素猜测。

当它计算出一个工作流程时,它会保存它。其他工具每次都会重复同样昂贵的推理。

  • 自我学习 --前沿模型一次性计算出工作流。一个小模型永远运行它。
  • 透明 --食谱是JSON。跑步前仔细阅读每一步。没有黑盒子。
  • 本土的 --可访问性树,而不是截图。结构化数据,而非像素坐标。
  • 任何应用程序 --不仅仅是浏览器。Slack、Finder、Messages——Mac上的任何东西。
  • 本地 --你的数据永远不会离开你的机器。
  • 打开 --MCP协议。适用于Claude Code、Cursor、VS Code或任何MCP客户端。

||Daemon OS |人类计算机使用|OpenAI运算符|OpenClaw| |:---:|------|:--:|:--:|:--:|:--:| | 👀 | 它怎么看 |辅助功能树+截图|仅截图|仅截屏|浏览器DOM| | 🖥️ | 原生应用 |任何macOS应用程序|任何(通过像素)|仅浏览器|仅浏览器| | 🧠 | 学习工作流程 |JSON食谱|否|否| | 🔒 | 数据保持本地 |是|取决于设置|否(云)|是| | 📖 | 开源 |麻省理工学院|否|否|麻省理工|

运作原理

Daemon OS通过以下方式连接到您的AI代理 主控程序 并为它提供了20个工具来查看和操作你的Mac。它读取macOS的可访问性树,以获取有关每个应用程序的结构化数据,并在需要视觉上下文时进行截图。单击、键入、滚动、按键、管理窗口。任何应用程序,而不仅仅是浏览器。

You:     "Download the latest paper on chain-of-thought prompting from arXiv"
Agent:   daemon_run recipe:"arxiv-download" params:{query:"chain of thought prompting"}
         → Navigates to arXiv, searches, opens PDF, downloads to Desktop. Done.

适用于Claude Code、Cursor、VS Code或任何讲MCP的东西。

技术栈

20工具

工具 它的作用
🔍 daemon_context 获取当前应用程序、窗口标题、URL、焦点元素和屏幕上的所有交互元素
🔍 daemon_state 列出每个正在运行的应用程序及其窗口、位置和大小
🔍 daemon_find 在整个UI中按名称、角色、DOM id或CSS类搜索元素
🔍 daemon_read 从任何应用程序中提取文本内容,并对嵌套内容进行深度控制
🔍 daemon_inspect 获取一个元素的完整元数据:角色、位置、动作、DOM id、可编辑状态
🔍 daemon_element_at 识别特定屏幕坐标处的元素
📸 daemon_screenshot 捕获窗口截图以进行可视化调试
🎯 daemon_click 按名称、DOM id或屏幕坐标单击元素
⌨️ daemon_type 按名称或当前光标在特定字段中键入文本
⌨️ daemon_press 按一个键,如回车键、Tab键、Esc键或箭头键
⌨️ daemon_hotkey 按组合键,如Cmd+L、Cmd+Return、Cmd+Shift+P
🎯 daemon_scroll 在任何应用程序窗口中向上、向下、向左或向右滚动
🪟 daemon_focus 将任何应用程序或特定窗口带到前面
🪟 daemon_window 最小化、最大化、关闭、移动或调整任何窗口的大小
⏳ daemon_wait 等待URL更改、元素出现或消失或标题更改
📦 daemon_recipes 列出所有已安装的配方及其说明和参数
▶️ daemon_run 执行带有参数替换的配方
📦 daemon_recipe_show 查看配方的完整步骤和配置
📦 daemon_recipe_save 从JSON安装新配方
📦 daemon_recipe_delete 删除已安装的配方

食谱

当你的代理想出一个工作流时,它会将其保存为食谱。配方是一个包含步骤、参数和等待条件的JSON文件。透明且可审计。

前沿模型一次性计算出工作流。一个小模型永远运行它。

# One command sends an email
daemon_run recipe:"gmail-send" params:{"recipient":"hello@example.com","subject":"Hello","body":"World"}

# 7 steps, 30 seconds, 100% reliable

捆绑食谱: gmail-send, slack-send, finder-create-folder, arxiv-download

  • 食谱只是JSON。跑步前仔细阅读每一步。
  • 与您的团队分享。一个人学习工作流程,每个人都会受益。
  • 把食谱连在一起。代理人知道什么时候打电话。
  • 用克劳德或GPT-4写一次。和俳句一起永远奔跑。

MCP客户端配置

daemon setup 自动配置您的MCP客户端。对于手动配置,请在客户端配置中添加:

Claude Code
{
  "mcpServers": {
    "daemon-os": {
      "type": "stdio",
      "command": "/usr/local/bin/daemon",
      "args": ["mcp"]
    }
  }
}
Cursor

增添 .cursor/mcp.json:

{
  "mcpServers": {
    "daemon-os": {
      "type": "stdio",
      "command": "/usr/local/bin/daemon",
      "args": ["mcp"]
    }
  }
}
VS Code

增添 .vscode/mcp.json:

{
  "servers": {
    "daemon-os": {
      "type": "stdio",
      "command": "/usr/local/bin/daemon",
      "args": ["mcp"]
    }
  }
}
Generic MCP Client
{
  "mcpServers": {
    "daemon-os": {
      "type": "stdio",
      "command": "/usr/local/bin/daemon",
      "args": ["mcp"]
    }
  }
}

服务器在MCP中发送代理指令 initialize 响应,因此连接的代理会自动学习如何使用这些工具。

CLI命令

命令 描述
daemon mcp 启动MCP服务器(MCP客户端使用)
daemon setup 交互式首次设置向导
daemon doctor 诊断问题并提出修复建议
daemon status 快速健康检查
daemon version 打印版本

诊断

$ daemon doctor

  ✓ Accessibility: granted
  ✓ Screen Recording: granted
  ✓ Processes: 1 daemon MCP process
  ✓ MCP Config: daemon-os connected
  ✓ Recipes: 4 installed
  ✓ AX Tree: 12/12 apps readable

  All checks passed. Daemon OS is healthy.

建筑

graph TD
    A["AI Agent (Claude Code / Cursor / VS Code)"] -->|MCP Protocol - stdio| B[Daemon OS MCP Server]
    B --> C["Perception (7 tools)"]
    B --> D["Actions (7 tools)"]
    B --> E[Wait Manager]
    B --> F[Recipe Engine]
    C --> G[AXorcist]
    D --> G
    E --> G
    F --> H[Recipe Store]

从源代码构建

git clone https://github.com/hammadxcm/daemon-os.git
cd daemon-os
swift build
.build/debug/daemon setup

需要Swift 6.2+和macOS 14+。

项目统计

~4500行Swift·161个测试·23个测试套件

学分

建立在 AXorcist 靠近 @施泰皮特 --macOS辅助功能引擎使一切成为可能。

文档

  • 建筑 --模块设计、数据流和关键决策
  • 设置 --先决条件、安装和权限
  • 工具 --所有20种工具的完整参考
  • 食谱 --编写和管理可回放工作流
  • 贡献 --开发设置、测试和PR过程
  • 故障排除 --常见错误和修复

贡献

看 docs/贡献.md。我们需要更多应用程序的配方、不同设置下的测试和错误报告。如果你正在构建可以做真实事情的人工智能代理,这就是这个项目。

许可证

麻省理工学院