乐于分享
好东西不私藏

[开源]本地运行的 AI 桌面办公助手,灵感来自 Claude Code 的 Cowork 模式

[开源]本地运行的 AI 桌面办公助手,灵感来自 Claude Code 的 Cowork 模式

一飞开源,介绍创意、新奇、有趣、实用的开源/AI应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

Abu (阿布)

你的 AI 桌面办公搭子 — 交给阿布就行啦

本地运行的 AI 桌面办公助手,灵感来自 Claude Code 的 Cowork 模式。 你说需求,阿布干活 — 读文件、跑命令、写文档、做报表,全在本地完成。

二、开源协议

使用Apache-2.0开源协议

三、界面展示

产品预览

简洁直观的界面,强大灵活的能力

欢迎页
自然语言输入,对话即指令
任务执行
自主规划步骤,调用工具完成复杂任务
权限控制
文件访问需用户授权,安全可控
IM 频道对话
在飞书/钉钉中 @阿布 即可交互
Skill 技能
28 个内置技能,支持自定义扩展 + 自进化
MCP 连接器
一键接入 Playwright、GitHub 等外部工具
定时任务
Cron 定时执行,让阿布每天自动工作
触发器 / 值班
HTTP、文件变更、IM 消息等事件自动触发
AI 服务管理
多厂商 Provider 管理,健康检查,一键切换
IM 频道配置
连接飞书、钉钉、企微等 IM 平台
个人记忆
记住你的偏好和工作习惯
安全沙箱
Seatbelt 沙箱 + 网络隔离,保护隐私
性格设置(Soul)
主动度三档预设 + SOUL.md 自定义语气、称呼、回复风格
诊断面板
AI 服务 / MCP / 技能 / 网络 / 应用 一键自检 + 诊断包导出
内容安全扫描
三档权限模式(标准 / 自动 / 严格)+ 扫描 agent / skill / 记忆里的 prompt 注入与危险指令

四、功能概述

为什么选择 Abu?

特性

Abu

普通 AI 聊天

传统自动化工具

自主规划并执行复杂任务

读写本地文件、执行命令

自然语言交互

28 个内置技能 + 自进化(阿布自己攒新技能)

多对话按项目聚合(Projects)

定时任务 & 事件触发

IM 机器人(飞书/钉钉/企微/Slack)

部分

多 Agent 后台并行

浏览器 & 电脑操控

部分

数据 100% 本地,隐私安全

核心能力

  • Agent 自主执行
     — 不只是聊天,能自主规划、调用工具、读写文件、执行命令,完成复杂任务
  • 性格系统(Soul)
     — 三档主动度预设(寡言 / 伙伴 / 管家)控制阿布何时主动出手;SOUL.md 自定义语气、称呼、回复风格、边界
  • 自进化 Skills
     — 跑完一段复杂流程后,阿布会主动提议"这套要不要固化成技能",一键生成草稿 → 你审阅 → 采纳上架;下次直接叫技能名字调用,不用重讲
  • 智能通知系统
     — 菜单栏未读数 / sidebar 小红点 / 系统通知 三条兜底通道自动选择;全屏 / 勿扰时通知暂存进 inbox,回主窗口通过 badge 感知;打扰记录可审计半年
  • Projects 管理
     — 工作区可升级成 Project,同一方向的对话自动聚合,每个项目独立配置图标、默认模型、技能集、MCP
  • 多 Agent 后台并行
     — 支持同时运行多个后台 Agent(最多 5 个),各自独立执行任务,进度实时可见
  • 桌宠模式
     — 透明圆形浮窗常驻桌面,跨 Spaces 跟随,随手呼出对话不抢焦点
  • 对话分享 / 导出
     — 一键把对话导出成 JSON 分享给同事;自动脱敏 API Key 与本地路径
  • 28 个内置技能
     — PDF/PPTX/DOCX/Excel 生成、前端设计、画布设计、算法艺术、Mermaid/SVG/信息图、Web Artifacts、Chrome 自动化(Abu-Browser)、深度研究、Agent 自我反思(reflect)、工作流自动化等,一键安装,支持自定义
  • MCP 工具协议
     — 通过 Model Context Protocol 连接数据库、搜索引擎、GitHub 等外部服务
  • 浏览器自动化
     — 内置 Browser Bridge + Chrome 扩展,实现网页元素操作、表单填写、截图、JS 执行
  • 电脑操控
     — 通过截屏 + 键鼠控制完成桌面级任务,内置敏感应用拦截、危险按键拦截、5 分钟超时熔断等多重防护
  • HTTP Fetch
     — 内置安全网关:URL 长度校验、凭据嵌入拦截、云元数据端点拦截、10 MB 下载上限、60 秒超时,避免裸 curl 的盲区

AI 服务与模型

  • 12+ 云端厂商
     — Anthropic Claude、OpenAI、DeepSeek、通义千问(百炼)、豆包(火山引擎)、Moonshot、智谱、MiniMax、SiliconFlow、七牛、OpenRouter 等
  • 本地模型
     — Ollama 零配置接入,自动发现本地模型
  • 自定义接入
     — 支持任意 OpenAI 兼容 / Anthropic 兼容 API 端点
  • Provider 管理
     — 添加、编辑、删除、排序,连接健康检查 + 延迟检测
  • 模型选择器
     — 对话中实时切换模型,能力徽章一目了然(视觉、工具调用、联网搜索、深度思考、图片生成、长上下文)
  • 收藏与历史
     — 常用模型一键收藏,最近使用快速切换
  • 图像生成
     — 内置 DALL-E 2 / DALL-E 3 接入,也支持任意自定义图片生成端点

联网搜索

  • 多搜索引擎
     — 支持 Bing、Brave、Tavily、SearXNG(自托管免 API Key)
  • 独立配置
     — 搜索引擎与主 AI 服务解耦,独立管理

自动化与触发器

  • 定时任务
     — Cron 表达式定时执行(如每天早上 9 点发 AI 日报);app 关着期间错过的执行,下次启动会按时间顺序补跑
  • 触发器系统
     — 支持多种事件源自动触发 Agent 执行:文件监听 — 监控文件创建/修改/删除,支持 glob 模式匹配HTTP Webhook — 自动生成 POST 端点,接收外部系统回调IM 消息 — 收到特定消息时触发任务Cron 定时 — 按时间计划周期执行
  • 触发器权限模型
     — 四级能力等级(只读 → 安全工具 → 完整权限 → 自定义白名单),精细控制自动任务的操作范围

IM 频道集成

让阿布成为你的团队机器人 — 在 IM 中 @阿布 即可对话:

  • 支持平台
     — D-Chat、飞书、钉钉、企业微信、Slack
  • 会话管理
     — 自动按用户/群/线程隔离对话,超时自动归档,支持"继续上次"恢复
  • 安全控制
     — 用户白名单、工作空间路径限制、能力等级管控
  • 响应模式
     — 仅 @提及响应 或 全部消息响应

记忆与上下文

  • 三层记忆体系(Memdir 文件化架构)
    个人记忆 — ~/.abu/memory/ 多文件目录,跨项目生效,自动按主题分文件存储,MEMORY.md 作为索引注入对话项目记忆 — ~/.abu/projects/<工作区>/memory/ 自动按工作区隔离,每条记忆为独立 .md 文件,便于阅读、搜索和回收历史升级自动迁移 — 老版本的 ~/.abu/agents/abu/memory.md 和 {workspace}/.abu/MEMORY.md 启动时自动迁移到新结构
  • 项目规则
    (手写):~/.abu/ABU.md — 用户级规则(跨项目){workspace}/.abu/ABU.md — 项目级规则{workspace}/.abu/rules/*.md — 模块化规则(按字母序加载,最多 20 个文件)
  • Projects 聚合
     — 工作区可升级成 Project,同一文件夹下的对话自动归到一起,老对话启动时自动回填 projectId;每个项目可独立配置默认模型、技能集、MCP 连接器
  • 会话记忆
     — 大体积工具输出自动落盘,会话内保留紧凑摘要,防止上下文爆炸
  • Todo 跨重启
     — 对话里的 todo_write 计划持久化到本地磁盘,重启续聊直接接着用
  • 自动压缩
     — 对话过长时智能压缩历史消息,保留关键上下文

安全与隐私

  • 三档权限模式
     — 标准(危险操作和新目录写入需要确认)/ 自动(只确认自动化任务,写入仍需确认)/ 严格(所有工具操作都要确认)
  • 内容安全扫描
     — 扫描 agent 写入的 skill / 记忆,拦截危险指令、prompt 注入、硬件指令等 120+ 类风险
  • OS 沙箱
     — macOS Seatbelt (sandbox-exec) / Windows PowerShell ConstrainedLanguage,隔离 shell 命令的文件访问范围
  • 网络隔离
     — 本地代理 + 域名白名单 + 私有网络访问开关,可控制每条请求的目标
  • 路径与命令双重校验
     — 敏感目录(系统目录、SSH 密钥等)默认拦截;危险命令(rm -rf / 等)静态识别
  • 电脑操控防护
     — 敏感应用黑名单(钥匙串/系统设置/微信/Slack 等 15+)、危险按键拦截(Cmd+Q、Cmd+Tab、Force Quit 等)、会话级窗口隐藏、5 分钟超时熔断
  • API Key 加密存储
     — Windows DPAPI / macOS AES-256-GCM(硬件 UUID 派生),不再明文写 localStorage
  • 本地优先
     — 数据存在本地,API Key 存在本地,不经过第三方服务器
  • 跨平台
     — 支持 macOS (Apple Silicon / Intel) 和 Windows

诊断与排障

  • 一键自检
     — 设置 → 诊断面板,逐项检查 AI 服务连接、数据&权限、MCP、技能、网络、应用环境
  • 诊断包导出
     — 出问题时一键打包日志、配置、版本信息(自动脱敏 API Key 和路径),方便发给作者排障

详细功能说明请查看 使用指南

五、技术选型

技术栈

层级

技术

桌面框架

Tauri 2.0 (Rust + Web)

前端

React 19 + TypeScript (strict) + TailwindCSS v4 + Vite

LLM 适配

双协议适配器 (Anthropic / OpenAI-compatible)

状态管理

Zustand + Immer + Persist

工具协议

MCP (@modelcontextprotocol/sdk)

联网搜索

Bing / Brave / Tavily / SearXNG

安全沙箱

macOS Seatbelt + 路径/命令双重校验

UI 组件

Radix UI + Lucide Icons + shadcn 风格

测试

Vitest + happy-dom(覆盖核心 store / agent / skill / memdir 等模块)

评测

自带 OpenAI 协议工具调用评测器(npm run eval:tool-selection)

从源码构建

前置要求

  • Node.js >= 18
  • Rust >= 1.75(安装 Rust)
  • Tauri 2.0 系统依赖(参考文档)

开发

# 克隆仓库git clone https://github.com/PM-Shawn/Abu-Cowork.gitcd Abu-Cowork# 安装依赖npm install# 启动桌面应用(dev 隔离配置,与正式安装的 Abu 完全隔离)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/      # 侧边栏导航(含 Recents 折叠搜索)│   ├── panel/        # 右侧详情面板(工作区、项目记忆/指令)│   ├── customize/    # 自定义(技能、Agent、模型)│   ├── schedule/     # 定时任务视图│   ├── trigger/      # 触发器(值班)管理视图│   ├── settings/     # 系统设置(16 个面板,详见 settings/sections/)│   ├── preview/      # 文件预览(PDF/Office/图片/Markdown)│   └── ui/           # 基础 UI 组件 (shadcn/Radix)├── core/             # 核心引擎(非 UI)│   ├── agent/        # Agent 循环、后台 Agent、project rules│   ├── llm/          # LLM 适配层(Claude / OpenAI-compatible / Ollama)│   ├── tools/        # 工具注册、内置工具、安全校验│   ├── mcp/          # MCP 客户端│   ├── skill/        # Skill 加载与预处理│   ├── search/       # 联网搜索(Bing/Brave/Tavily/SearXNG)│   ├── memdir/       # 文件化记忆体系(personal/project,多文件 + 索引)│   ├── scheduler/    # 定时调度引擎│   ├── trigger/      # 触发器引擎(HTTP/文件/Cron/IM)│   ├── im/           # IM 频道适配(D-Chat/飞书/钉钉/企微/Slack)│   ├── permissions/  # 权限模型、能力等级│   ├── context/      # 上下文管理与自动压缩│   ├── session/      # 会话管理与磁盘落盘│   ├── sandbox/      # 沙箱配置│   ├── logging/      # 结构化日志│   └── updates/      # 自动更新通道├── eval/             # 工具调用 / 模型能力评测脚手架(开发者使用)├── stores/           # Zustand 状态管理├── hooks/            # React Hooks├── i18n/             # 国际化 (中文 / English)├── types/            # TypeScript 类型定义└── utils/            # 工具函数builtin-skills/       # 28 个内置技能(每个为独立目录)builtin-agents/       # 内置 Agent 定义(预留)abu-browser-bridge/   # 浏览器桥接 MCP Serverabu-chrome-extension/ # Chrome 扩展(Abu-Browser 技能依赖)src-tauri/├── src/│   ├── computer_use.rs    # 截屏 + 键鼠控制 + 敏感应用拦截│   ├── feishu_ws.rs       # 飞书 WebSocket 长连接│   ├── overlay.rs         # 电脑操控状态浮层│   ├── proxy.rs           # 网络隔离代理│   ├── sandbox.rs         # macOS Seatbelt / Win ConstrainedLanguage│   ├── trigger_server.rs  # HTTP 触发器服务器│   └── window_info.rs     # 行为感知(活跃应用采样)└── tauri.conf.json

六、源码地址

开源项目地址:

https://github.com/PM-Shawn/Abu-Cowork

访问一飞开源:https://code.exmay.com/