Electron / Node.js / OpenAI SDK / Anthropic SDK / SQLite / Lark

IBAutowork

IBAutowork 是一个将 Chrome 风格多标签浏览器与 AI Agent 执行系统结合的桌面应用。它把浏览器会话、工具调用、代码执行、 文件与数据库操作、长期记忆、任务调度、触发器和飞书机器人集成放进同一套自动化工作流中,适合网页操作、信息采集、多账号场景和重复任务托管。

AI Agent Browser 多环境隔离 会话级标签页隔离 Function Calling 长期记忆 任务经验沉淀 触发器 飞书/Lark

项目概览

Electron 28

桌面主框架,提供浏览器壳、IPC、窗口和打包能力。

20 tabs

单会话最大标签页限制,避免长期任务把浏览器资源无限撑开。

3 层记忆

工作记忆、短期记忆、长期记忆组合,解决上下文长度和任务经验复用问题。

产品定位

IBAutowork 的核心不是“浏览器加聊天框”,而是让 Agent 拥有可控的浏览器执行环境、结构化工具、独立会话状态、可检索记忆和可调度任务,从而把一次性问答变成可复用的自动化流程。

总体架构

Renderer UI tabs / chat / managers Agent Runtime chat / plan / reasoning / memory Tool System browser / shell / file / sqlite Electron Main IPC / webview / proxy / bridge Browser Sessions environment / tabs / storage Integrations tasks / triggers / Lark / QQ Local Persistence: IndexedDB / localStorage / SQLite / JSON files

浏览器与隔离

多环境隔离

环境类似轻量指纹浏览器空间,不同环境拥有独立 Cookie、cache、localStorage、SessionStorage 和浏览历史,适合多账号登录与分场景自动化。

会话级网页隔离

每个聊天会话维护自己的标签页数组和 DOM/webview 状态。切换会话时保存和恢复对应标签页,后台会话的标签页会隐藏但状态仍可被管理。

标签页资源控制

单会话限制最多 20 个标签页,工具提示会引导 Agent 在达到上限时先关闭标签页,避免自动化任务无限打开页面。

TLS Proxy

主进程包含 TLS 代理模块,为复杂网络访问和 HTTPS 请求处理提供底层支撑。

Agent 运行时

chat.js多会话聊天、会话创建/切换/删除、消息历史、Token 统计和模型配置管理。
agent.jsFunction Calling 主循环,根据用户目标调用工具、接收执行结果并继续下一步。
reasoning.js处理思考模型、工具调用解析和思考步骤展示,让模型决策过程能被界面表达。
plan-manager.js任务计划管理,把复杂目标拆成步骤并跟踪执行状态。
memory-manager.js / long-term-memory.js负责记忆写入、检索、压缩和长期保留,为后续任务提供历史上下文。

工具系统

类别代表工具能力
浏览器browser_open、browser_get_tabs、browser_switch_tab、browser_close_tab、browser_evaluate_script打开页面、切换标签、执行同步 JavaScript、读取页面内容和管理当前会话内标签页。
系统与文件shell_execute、powershell_script、file_read、file_write、file_list执行 Shell/PowerShell,读写文件,列出目录,为桌面自动化任务提供本地操作能力。
代码执行python_execute、nodejs_execute、code_analyze、json_process运行 Python/Node.js 片段,处理结构化数据和中间结果。
数据库sqlite_query、sqlite_execute、sqlite_list_tables、sqlite_table_info对本地 SQLite 数据库进行查询、写入和表结构检查。
Agent 与记忆call_agent、memory_search、memory_add调用可复用专家 Agent,检索或新增经验记忆。
任务与触发tools-task-manager、tools-trigger创建、管理、执行定时任务和条件触发器。

记忆与经验

三层记忆架构

工作记忆处理当前上下文,短期记忆承接近期会话,长期记忆落地到本地存储,用搜索和摘要方式减少重复上下文消耗。

可编辑经验

用户可以手动新增、编辑、删除记忆;任务执行后的经验会沉淀下来,后续同类任务可自动注入相关经验。

会话总结

会话可以被总结并保存为记忆,长对话不会只依赖原始聊天记录,而是转化成可检索的知识资产。

任务经验闭环

定时任务每次运行都可产生经验,成功路径和失败教训被积累,下一次运行时作为提示上下文参与决策。

任务与触发器

Task Manager支持分钟、小时、天级别的定时任务,任务与独立会话绑定,可保存历史和经验。
Trigger Manager支持基于网页状态或外部条件触发自动化流程,触发后进入 Agent 执行链路。
Reusable Agent Experts可创建专门 Agent,为特定任务配置提示词、模型和工具范围,减少每次重新描述工作方式。
Abort Notification任务中止或异常时可通过飞书等渠道通知,便于无人值守任务被及时发现。

飞书与外部集成

Feishu / Lark Bridge

主进程和 UI 中包含飞书桥接与管理器,支持把消息通知、任务中断和自动化状态接入团队协作工具。

QQ Bot Manager

项目中包含 QQ 机器人管理模块,说明自动化系统预留了多渠道消息入口。

RSS 与信息流

工具系统包含 RSS 获取能力,可以作为信息采集、内容摘要和定时推送任务的数据源。

本地桌面分发

electron-builder 配置支持 Windows NSIS 安装包和 portable 便携版,面向真实桌面交付。

模型与设置

能力说明
OpenAI SDK支持 OpenAI 及 OpenAI-compatible 接口,用于 Function Calling、普通对话和工具调用续写。
Anthropic SDK支持 Claude / Anthropic 格式模型接入,让同一套 Agent 流程可以切换不同模型供应商。
多模型配置Agent 管理器和设置界面维护模型、Endpoint、API Key、温度等参数,任务和会话可按需要选择。
中英文界面locales/zh.js 与 locales/en.js 提供双语 UI 文案和工具说明。
安全边界浏览器、Shell、文件和数据库工具都以结构化工具形式暴露,便于在 UI 层展示调用参数和结果。

项目截图

以下均来自项目已有截图资产。

环境选择界面
环境选择与隔离空间管理。
运行截图一
浏览器与 Agent 执行过程。
运行截图二
多步骤任务执行与结果反馈。
记忆管理
长期记忆管理,可查看、编辑和组织经验。
任务列表
任务列表与定时自动化管理。
任务经验
任务经验沉淀与复用。
自建 Agent
可复用专家 Agent 配置。
触发器
条件触发器与自动执行入口。
设置界面
模型、服务和应用设置。