开源 AI 桌面助手 Abu:灵感来自 Claude Code 的 Cowork 模式
标签: Abu / AI桌面助手 / Claude Code / Cowork模式 / 开源 / Tauri / MCP
原文: 微信公众号「一飞开源」https://mp.weixin.qq.com/s/a6rhB3UPFa26XXqj-ObNUA
核心亮点
你的 AI 桌面办公搭子 — 交给阿布就行啦
- 本地运行:数据 100% 本地存储,隐私安全有保障
- 灵感来自 Claude Code Cowork 模式:不只是聊天,能自主规划、调用工具、读写文件、执行命令
- 28 个内置技能 + 自进化:阿布会主动提议固化常用流程,下次直接调用
- 三档性格系统(Soul):寡言 / 伙伴 / 管家,控制阿布何时主动出手
- IM 机器人集成:飞书、钉钉、企微、Slack,@阿布 即可对话
- 定时任务 & 事件触发:Cron 定时、HTTP Webhook、文件变更、IM 消息自动触发
- 多 Agent 后台并行:最多 5 个 Agent 同时执行,进度实时可见
- 安全沙箱:Seatbelt 沙箱 + 网络隔离 + 路径/命令双重校验 + 电脑操控防护
一、项目简介
Abu (阿布) 是一个本地运行的 AI 桌面办公助手,灵感来自 Claude Code 的 Cowork 模式。
- GitHub:https://github.com/PM-Shawn/Abu-Cowork
- 协议:Apache-2.0
- 作者:PM-Shawn
- 平台:macOS (Apple Silicon / Intel)、Windows
核心定位:你说需求,阿布干活 — 读文件、跑命令、写文档、做报表,全在本地完成。
二、为什么选择 Abu?
| 特性 | Abu | 普通 AI 聊天 | 传统自动化工具 |
|---|---|---|---|
| 自主规划并执行复杂任务 | ✅ | ❌ | ❌ |
| 读写本地文件、执行命令 | ✅ | ❌ | ✅ |
| 自然语言交互 | ✅ | ✅ | ❌ |
| 28 个内置技能 + 自进化 | ✅ | ❌ | ❌ |
| 多对话按项目聚合(Projects) | ✅ | ❌ | ❌ |
| 定时任务 & 事件触发 | ✅ | ❌ | ✅ |
| IM 机器人(飞书/钉钉/企微/Slack) | ✅ | ❌ | 部分 |
| 多 Agent 后台并行 | ✅ | ❌ | ❌ |
| 浏览器 & 电脑操控 | ✅ | ❌ | 部分 |
| 数据 100% 本地,隐私安全 | ✅ | ❌ | ✅ |
三、核心能力
3.1 Agent 自主执行
不只是聊天,能自主规划、调用工具、读写文件、执行命令,完成复杂任务。
3.2 性格系统(Soul)
- 三档主动度预设:寡言 / 伙伴 / 管家,控制阿布何时主动出手
- SOUL.md 自定义:语气、称呼、回复风格、边界
3.3 自进化 Skills
跑完一段复杂流程后,阿布会主动提议"这套要不要固化成技能":
- 一键生成草稿
- 你审阅
- 采纳上架
下次直接叫技能名字调用,不用重讲。
3.4 智能通知系统
- 菜单栏未读数 / sidebar 小红点 / 系统通知 三条兜底通道自动选择
- 全屏 / 勿扰时通知暂存进 inbox
- 打扰记录可审计半年
3.5 Projects 管理
- 工作区可升级成 Project
- 同一方向的对话自动聚合
- 每个项目独立配置图标、默认模型、技能集、MCP
3.6 多 Agent 后台并行
支持同时运行多个后台 Agent(最多 5 个),各自独立执行任务,进度实时可见。
3.7 桌宠模式
透明圆形浮窗常驻桌面,跨 Spaces 跟随,随手呼出对话不抢焦点。
3.8 对话分享 / 导出
一键把对话导出成 JSON 分享给同事,自动脱敏 API Key 与本地路径。
四、28 个内置技能
PDF/PPTX/DOCX/Excel 生成、前端设计、画布设计、算法艺术、Mermaid/SVG/信息图、Web Artifacts、Chrome 自动化、深度研究、Agent 自我反思、工作流自动化等,一键安装,支持自定义。
五、MCP 工具协议
通过 Model Context Protocol 连接数据库、搜索引擎、GitHub 等外部服务。
六、浏览器自动化
内置 Browser Bridge + Chrome 扩展,实现网页元素操作、表单填写、截图、JS 执行。
七、电脑操控
通过截屏 + 键鼠控制完成桌面级任务:
- 敏感应用黑名单(钥匙串/系统设置/微信/Slack 等 15+)
- 危险按键拦截(Cmd+Q、Cmd+Tab、Force Quit 等)
- 会话级窗口隐藏
- 5 分钟超时熔断
八、AI 服务与模型
12+ 云端厂商
Anthropic Claude、OpenAI、DeepSeek、通义千问(百炼)、豆包(火山引擎)、Moonshot、智谱、MiniMax、SiliconFlow、七牛、OpenRouter 等
本地模型
Ollama 零配置接入,自动发现本地模型
自定义接入
支持任意 OpenAI 兼容 / Anthropic 兼容 API 端点
Provider 管理
添加、编辑、删除、排序,连接健康检查 + 延迟检测
模型选择器
对话中实时切换模型,能力徽章一目了然(视觉、工具调用、联网搜索、深度思考、图片生成、长上下文)
九、联网搜索
支持 Bing、Brave、Tavily、SearXNG(自托管免 API Key),搜索引擎与主 AI 服务解耦,独立管理。
十、自动化与触发器
定时任务
Cron 表达式定时执行,app 关着期间错过的执行,下次启动会按时间顺序补跑
触发器系统
支持多种事件源自动触发 Agent 执行:
- 文件监听 — 监控文件创建/修改/删除,支持 glob 模式匹配
- HTTP Webhook — 自动生成 POST 端点,接收外部系统回调
- IM 消息 — 收到特定消息时触发任务
- Cron 定时 — 按时间计划周期执行
触发器权限模型
四级能力等级:只读 → 安全工具 → 完整权限 → 自定义白名单
十一、IM 频道集成
让阿布成为你的团队机器人:
- 支持平台:D-Chat、飞书、钉钉、企业微信、Slack
- 会话管理:自动按用户/群/线程隔离对话,超时自动归档
- 安全控制:用户白名单、工作空间路径限制、能力等级管控
- 响应模式:仅 @提及响应 或 全部消息响应
十二、记忆与上下文
三层记忆体系(Memdir 文件化架构)
- 个人记忆:
~/.abu/memory/多文件目录,跨项目生效 - 项目记忆:
~/.abu/projects/<工作区>/memory/自动按工作区隔离 - 历史升级自动迁移:老版本启动时自动迁移到新结构
项目规则(手写)
~/.abu/ABU.md— 用户级规则(跨项目){workspace}/.abu/ABU.md— 项目级规则{workspace}/.abu/rules/*.md— 模块化规则(按字母序加载,最多 20 个文件)
其他
- 会话记忆:大体积工具输出自动落盘,会话内保留紧凑摘要
- Todo 跨重启:对话里的 todo_write 计划持久化到本地磁盘
- 自动压缩:对话过长时智能压缩历史消息,保留关键上下文
十三、安全与隐私
三档权限模式
- 标准:危险操作和新目录写入需要确认
- 自动:只确认自动化任务,写入仍需确认
- 严格:所有工具操作都要确认
内容安全扫描
扫描 agent 写入的 skill / 记忆,拦截危险指令、prompt 注入、硬件指令等 120+ 类风险
OS 沙箱
- macOS:Seatbelt (sandbox-exec)
- Windows:PowerShell ConstrainedLanguage
网络隔离
本地代理 + 域名白名单 + 私有网络访问开关
路径与命令双重校验
敏感目录(系统目录、SSH 密钥等)默认拦截;危险命令(rm -rf / 等)静态识别
电脑操控防护
敏感应用黑名单、危险按键拦截、会话级窗口隐藏、5 分钟超时熔断
API Key 加密存储
- Windows:DPAPI
- macOS:AES-256-GCM(硬件 UUID 派生)
本地优先
数据存在本地,API Key 存在本地,不经过第三方服务器
十四、诊断与排障
- 一键自检:设置 → 诊断面板,逐项检查 AI 服务连接、数据&权限、MCP、技能、网络、应用环境
- 诊断包导出:一键打包日志、配置、版本信息(自动脱敏 API Key 和路径)
十五、技术选型
| 层级 | 技术 |
|---|---|
| 桌面框架 | Tauri 2.0 (Rust + Web) |
| 前端 | React 19 + TypeScript (strict) + TailwindCSS v4 + Vite |
| LLM 适配 | 双协议适配器 |
| 状态管理 | Zustand + Immer + Persist |
| 工具协议 | MCP (@modelcontextprotocol/sdk) |
| 联网搜索 | Bing / Brave / Tavily / SearXNG |
| 安全沙箱 | macOS Seatbelt + 路径/命令双重校验 |
| UI 组件 | Radix UI + Lucide Icons + shadcn 风格 |
| 测试 | Vitest + happy-dom |
| 评测 | 自带 OpenAI 协议工具调用评测器 |
十六、从源码构建
前置要求
- Node.js >= 18
- Rust >= 1.75
- Tauri 2.0 系统依赖
开发
# 克隆仓库
git clone https://github.com/PM-Shawn/Abu-Cowork.git
cd Abu-Cowork
# 安装依赖
npm install
# 启动桌面应用(dev 隔离配置)
npm run tauri:dev
# 仅启动前端(不需要 Rust)
npm run dev
构建
npm run tauri build
构建产物位于 src-tauri/target/release/bundle/。
测试
npm test # 运行测试
npm run test:watch # 监听模式
npm run test:coverage # 覆盖率报告
npm run lint # ESLint 检查
十七、项目结构
src/
├── components/ # React UI 组件
│ ├── chat/ # 对话界面、消息气泡、模型选择器
│ ├── sidebar/ # 侧边栏导航
│ ├── panel/ # 右侧详情面板
│ ├── customize/ # 自定义(技能、Agent、模型)
│ ├── schedule/ # 定时任务视图
│ ├── trigger/ # 触发器管理视图
│ ├── settings/ # 系统设置(16 个面板)
│ ├── preview/ # 文件预览
│ └── ui/ # 基础 UI 组件
├── core/ # 核心引擎(非 UI)
│ ├── agent/ # Agent 循环、后台 Agent
│ ├── llm/ # LLM 适配层
│ ├── tools/ # 工具注册、内置工具
│ ├── mcp/ # MCP 客户端
│ ├── skill/ # Skill 加载与预处理
│ ├── search/ # 联网搜索
│ ├── memdir/ # 文件化记忆体系
│ ├── scheduler/ # 定时调度引擎
│ ├── trigger/ # 触发器引擎
│ ├── im/ # IM 频道适配
│ ├── permissions/ # 权限模型
│ ├── context/ # 上下文管理
│ ├── session/ # 会话管理
│ ├── sandbox/ # 沙箱配置
│ └── logging/ # 结构化日志
├── stores/ # Zustand 状态管理
├── hooks/ # React Hooks
├── i18n/ # 国际化
├── types/ # TypeScript 类型定义
└── utils/ # 工具函数
builtin-skills/ # 28 个内置技能
builtin-agents/ # 内置 Agent 定义
abu-browser-bridge/ # 浏览器桥接 MCP Server
abu-chrome-extension/ # Chrome 扩展
src-tauri/
├── src/
│ ├── computer_use.rs # 截屏 + 键鼠控制
│ ├── feishu_ws.rs # 飞书 WebSocket
│ ├── overlay.rs # 电脑操控状态浮层
│ ├── proxy.rs # 网络隔离代理
│ ├── sandbox.rs # macOS Seatbelt
│ ├── trigger_server.rs # HTTP 触发器服务器
│ └── window_info.rs # 行为感知
└── tauri.conf.json
十八、写在最后
Abu (阿布) 是一个功能极其丰富的 AI 桌面办公助手:
- 不只是聊天:能真正干活,自主规划、调用工具、读写文件、执行命令
- 安全可控:三档权限、内容安全扫描、OS 沙箱、网络隔离、电脑操控防护
- 自进化:跑完流程会提议固化成技能,下次直接调用
- IM 集成:飞书/钉钉/企微/Slack,@阿布 即可
- 定时触发:Cron 定时、HTTP Webhook、文件变更、IM 消息自动触发
- 本地优先:数据 100% 本地,API Key 加密存储
如果你需要一个真正能干活的 AI 桌面助手,Abu 绝对值得一试。
GitHub:https://github.com/PM-Shawn/Abu-Cowork
本文整理自微信公众号「一飞开源」,原文链接:https://mp.weixin.qq.com/s/a6rhB3UPFa26XXqj-ObNUA