LobsterAI — 全场景个人助理 Agent
7×24 小时帮你干活的全场景个人助理,由网易有道开发
English · 中文
LobsterAI 是由网易有道开发的全场景个人助理 Agent。它 7×24 小时待命,能够帮你完成日常办公中的各类事务 —— 数据分析、制作 PPT、生成视频、撰写文档、搜索信息、收发邮件、定时任务,以及更多。
LobsterAI 的核心是 Cowork 模式,它能在本地或沙箱环境中执行工具、操作文件、运行命令,一切都在你的监督下自主完成。此外,LobsterAI 支持通过钉钉、飞书、Telegram、Discord 等 IM 平台远程触发,让你在手机上也能随时指挥 Agent 工作。
核心特性
- 全场景办公助理 — 数据分析、PPT 制作、视频生成、文档撰写、Web 搜索、邮件收发,覆盖日常办公全流程
- 本地 + 沙箱执行 — 任务执行支持本地直接运行或隔离的 Alpine Linux 沙箱
- 内置技能 — 包括 Office 文档生成、Web 搜索、Playwright 自动化、Remotion 视频生成等
- 定时任务 — 支持对话式发起或 GUI 界面添加定时任务,如每日新闻收集、邮箱整理、周期性报告生成等
- 持久记忆 — 自动从对话中提取用户偏好与个人信息,跨会话记住你的习惯,越用越懂你
- IM 远程操控 — 通过钉钉、飞书、Telegram、Discord 在手机端随时触发 Agent
- 权限门控 — 所有敏感工具调用需用户明确批准后执行
- 跨平台 — macOS(Intel + Apple Silicon)、Windows、Linux 桌面端,配合 IM 实现移动端覆盖
- 数据本地化 — SQLite 本地存储,聊天记录和配置不离开你的设备
工作原理
快速开始
环境要求
安装与开发
- # 克隆仓库
- git clone https://github.com/netease-youdao/LobsterAI.git
- cd lobsterai
- # 安装依赖
- npm install
- # 启动开发环境(Vite 开发服务器 + Electron 热重载)
- npm run electron:dev
复制代码 开发服务器默认运行在 http://localhost:5175。
生产构建
- # 编译 TypeScript + Vite 打包
- npm run build
- # ESLint 代码检查
- npm run lint
复制代码 打包分发
使用 electron-builder 生成各平台安装包,输出到 release/ 目录。- # macOS (.dmg)
- npm run dist:mac
- # macOS - 仅 Intel
- npm run dist:mac:x64
- # macOS - 仅 Apple Silicon
- npm run dist:mac:arm64
- # macOS - Universal (双架构)
- npm run dist:mac:universal
- # Windows (.exe NSIS 安装包)
- npm run dist:win
- # Linux (.AppImage)
- npm run dist:linux
复制代码 架构概览
LobsterAI 采用 Electron 严格进程隔离架构,所有跨进程通信通过 IPC 完成。
进程模型
Main Process(src/main/main.ts):
- 窗口生命周期管理
- SQLite 数据持久化
- CoworkRunner — Claude Agent SDK 执行引擎
- IM 网关 — 钉钉、飞书、Telegram、Discord 远程接入
- 40+ IPC 通道处理
- 安全:context isolation 启用,node integration 禁用,sandbox 启用
Preload Script(src/main/preload.ts):
- 通过 contextBridge 暴露 window.electron API
- 包含 cowork 命名空间用于会话管理和流式事件
Renderer Process(src/renderer/):
- React 18 + Redux Toolkit + Tailwind CSS
- 所有 UI 和业务逻辑
- 仅通过 IPC 与主进程通信
目录结构
- src/
- ├── main/ # Electron 主进程
- │ ├── main.ts # 入口,IPC 处理
- │ ├── preload.ts # 安全桥接
- │ ├── sqliteStore.ts # SQLite 存储
- │ ├── coworkStore.ts # 会话/消息 CRUD
- │ ├── skillManager.ts # 技能管理
- │ ├── im/ # IM 网关(钉钉/飞书/Telegram/Discord)
- │ └── libs/
- │ ├── coworkRunner.ts # Agent SDK 执行器
- │ ├── coworkVmRunner.ts # 沙箱 VM 执行
- │ ├── coworkSandboxRuntime.ts # 沙箱生命周期
- │ └── coworkMemoryExtractor.ts # 记忆提取
- │
- ├── renderer/ # React 前端
- │ ├── App.tsx # 根组件
- │ ├── types/ # TypeScript 类型定义
- │ ├── store/slices/ # Redux 状态切片
- │ ├── services/ # 业务逻辑层(API/IPC/i18n)
- │ └── components/
- │ ├── cowork/ # Cowork UI 组件
- │ ├── artifacts/ # Artifact 渲染器
- │ ├── skills/ # 技能管理 UI
- │ ├── im/ # IM 集成 UI
- │ └── Settings.tsx # 设置面板
- │
- SKILLs/ # 技能定义目录
- ├── skills.config.json # 技能启停与排序配置
- ├── web-search/ # Web 搜索
- ├── docx/ # Word 文档生成
- ├── xlsx/ # Excel 表格
- ├── pptx/ # PowerPoint 演示
- ├── pdf/ # PDF 处理
- ├── remotion/ # 视频生成
- ├── playwright/ # Web 自动化
- └── ... # 更多技能
复制代码 Cowork 系统
Cowork 是 LobsterAI 的核心功能 —— 基于 Claude Agent SDK 的 AI 工作会话系统。它面向办公场景设计,能够自主完成数据分析、文档生成、信息检索等复杂任务。
执行模式
模式说明auto自动根据上下文选择执行方式local本地直接执行,全速运行sandbox隔离的 Alpine Linux VM,安全优先流式事件
Cowork 通过 IPC 事件实现实时双向通信:
- message — 新消息加入会话
- messageUpdate — 流式内容增量更新
- permissionRequest — 工具执行需要用户审批
- complete — 会话执行完毕
- error — 执行出错
权限控制
所有涉及文件系统、终端命令、网络请求的工具调用都需要用户在 CoworkPermissionModal 中明确批准。支持单次批准和会话级批准。
技能系统
LobsterAI 内置 16 种技能,覆盖办公、创作、自动化等多种场景,通过 SKILLs/skills.config.json 配置启停和排序:
技能功能典型场景web-searchWeb 搜索信息检索、资料收集docxWord 文档生成报告撰写、方案输出xlsxExcel 表格生成数据分析、报表制作pptxPowerPoint 制作演示文稿、汇报材料pdfPDF 处理文档解析、格式转换remotion视频生成(Remotion)宣传视频、数据可视化动画playwrightWeb 自动化网页操作、自动化测试canvas-designCanvas 绘图设计海报、图表设计frontend-design前端 UI 设计原型制作、页面设计develop-web-gameWeb 游戏开发小游戏快速原型scheduled-task定时任务周期性工作自动执行weather天气查询天气信息获取local-tools本地系统工具文件管理、系统操作create-plan计划编排项目规划、任务分解skill-creator自定义技能创建扩展新能力imap-smtp-email邮件收发邮件处理、自动回复支持通过 skill-creator 创建自定义技能并热加载。
定时任务
LobsterAI 支持创建定时任务,让 Agent 按计划自动执行重复性工作。
创建方式
- 对话式创建 — 直接用自然语言告诉 Agent(如「每天早上 9 点帮我收集科技新闻」),Agent 会自动创建对应的定时任务
- GUI 界面创建 — 在定时任务管理面板中手动添加,可视化配置执行时间和任务内容
典型场景
场景示例新闻收集每天早上自动收集行业资讯并生成摘要邮箱整理定时检查收件箱,分类整理并汇总重要邮件数据报告每周自动生成业务数据分析报告信息监控定期检查指定网站内容变化并通知工作提醒按计划生成待办事项清单或会议纪要定时任务基于 Cron 表达式调度,支持分钟、小时、日、周、月等多种周期粒度。任务执行时会自动启动 Cowork 会话,结果可通过桌面端查看或经 IM 推送到手机。
IM 集成 — 手机端远程操控
LobsterAI 支持将 Agent 桥接到多种 IM 平台。在手机上通过 IM 发送消息即可远程触发桌面端的 Agent 执行任务,随时随地指挥你的个人助理。
平台协议说明钉钉DingTalk Stream企业机器人双向通信飞书Lark SDK飞书应用机器人TelegramgrammYBot API 接入Discorddiscord.jsDiscord Bot 接入在设置面板中配置对应平台的 Token/密钥即可启用。配置完成后,你可以在手机 IM 中直接对 Agent 下达指令(如「帮我分析这份数据」「做一份本周工作汇报 PPT」),Agent 会在桌面端自动执行并返回结果。
持久记忆
LobsterAI 内置记忆系统,能够跨会话记住你的个人信息和偏好,让 Agent 越用越懂你。
记忆获取方式
- 自动提取 — 对话过程中,系统自动识别并记录你的个人信息(姓名、职业等)、偏好习惯(喜好的语言、格式、风格)和个人事实(养的宠物、使用的工具等),无需手动操作
- 主动告知 — 在对话中直接说「记住我喜欢用 Markdown 格式」「记下我的项目叫 LobsterAI」等,Agent 会以更高置信度存储
- 手动管理 — 在设置面板的记忆管理界面中手动添加、编辑或删除记忆条目
工作机制
每轮对话结束后,记忆提取器会分析对话内容:
提取类型示例置信度个人档案「我叫张三」「我是产品经理」高个人所有「我养了一只猫」「我有一台 MacBook」高个人偏好「我喜欢简洁的风格」「我偏好英文回复」中高助手偏好「回复时不要用 emoji」「代码用 TypeScript」中高主动告知「记住这个」「请记下来」最高提取的记忆会自动去重、合并,并在后续会话中注入到 Agent 的上下文中,使 Agent 的回复更加个性化和贴合你的需求。
记忆设置
配置项说明默认值记忆开关启用或关闭记忆功能开启自动捕获是否自动从对话中提取记忆开启捕获严格度严格 / 标准 / 宽松,控制自动提取的灵敏度标准最大注入条数每次会话注入的记忆上限(1-60)12数据存储
所有数据存储在本地 SQLite 数据库(lobsterai.sqlite,位于用户数据目录)。
表用途kv应用配置键值对cowork_configCowork 设置(工作目录、系统提示词、执行模式)cowork_sessions会话元数据cowork_messages消息历史scheduled_tasks定时任务定义安全模型
LobsterAI 在多个层面实施安全控制:
- 进程隔离 — context isolation 启用,node integration 禁用
- 权限门控 — 敏感工具调用需用户明确审批
- 沙箱执行 — 可选 Alpine Linux VM 隔离执行环境
- 工作区边界 — 文件操作限制在指定工作目录内
- IPC 验证 — 所有跨进程调用经过类型检查
技术栈
层技术框架Electron 40前端React 18 + TypeScript构建Vite 5样式Tailwind CSS 3状态Redux ToolkitAI 引擎Claude Agent SDK (Anthropic)存储sql.jsMarkdownreact-markdown + remark-gfm + rehype-katex图表Mermaid安全DOMPurifyIMdingtalk-stream · @larksuiteoapi/node-sdk · grammY · discord.js配置
应用配置
应用级配置存储在 SQLite kv 表中,通过设置面板修改。
Cowork 配置
Cowork 会话配置包含:
- 工作目录 — Agent 操作的根目录
- 系统提示词 — 自定义 Agent 行为
- 执行模式 — auto / local / sandbox
国际化
支持中文(默认)和英文两种语言,通过设置面板切换。
开发规范
- TypeScript 严格模式,函数式组件 + Hooks
- 2 空格缩进,单引号,分号
- 组件 PascalCase,函数/变量 camelCase,Redux 切片 *Slice.ts
- Tailwind CSS 优先,避免自定义 CSS
- 提交信息遵循 type: short imperative summary 格式(如 feat: add artifact toolbar)
大多数人用 AI,是在消耗时间。
少数人用 AI,是在积累资产。
其实我还有其他进阶的想法,就是动态的一直压缩记忆,
按时间,还是按事件分类的角度去分类,我还没想清。
如果有好的建议,希望可以留言评论,谢谢
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |