AI Browser:我用 CC 写了个桌面版 manus

67 阅读4分钟

开源了一个 AI 浏览器,让 AI 帮你自动完成网页任务

项目介绍

大家好!我最近开源了一个基于 Next.js + Electron 的 AI 智能浏览器项目 —— AI Browser。这个项目的核心理念是:让 AI 成为你的浏览器助手,帮你自动完成各种重复性的网页任务。

GitHub 地址: github.com/DeepFundAI/…

介绍地址:www.deepfundai.com/altas

为什么做这个项目?

在日常工作中,我们经常需要:

  • 定期采集某些网站的信息
  • 批量处理网页表单
  • 监控网页内容变化
  • 自动化测试网页功能

这些任务重复且枯燥,于是我想:能不能用自然语言告诉 AI 我想做什么,让它帮我完成这些任务?

核心功能

1. 自然语言任务执行

只需用中文描述你想做什么,AI 会自动分析并执行:

home.png

比如:"帮我采集最新的 AI 新闻并总结"

2. 实时任务可视化

左边显示 AI 的思考和执行步骤,右边实时预览浏览器操作:

main.png

你可以清楚地看到:

  • AI 正在执行哪一步
  • 使用了哪些工具
  • 浏览器在做什么操作

3. 定时任务调度

创建计划任务,让 AI 定期帮你完成重复工作:

schedule.png

支持:

  • 自定义执行间隔 (分钟/小时/天)
  • 多步骤任务编排
  • 立即执行或定时启动

4. 任务历史回溯

所有执行过的任务都会保存,支持搜索回溯:

history.png

技术架构

前端技术栈

Next.js 15 + React 19     # UI 框架
Ant Design + Tailwind CSS # 样式系统
Zustand                   # 状态管理

桌面应用层

Electron 33               # 跨平台桌面框架
Vite                      # 构建工具
TypeScript                # 类型安全

AI 引擎

基于 Eko 框架,通过 @jarvis-agent 包实现:

  • 多步骤任务规划
  • 工具调用 (浏览器操作、文件读写等)
  • 流式输出展示

支持的 AI 模型

  • DeepSeek: deepseek-chat, deepseek-reasoner
  • 通义千问 (Qwen): qwen-max, qwen-plus, qwen-vl-max
  • Google Gemini: gemini-1.5-flash, gemini-2.0-flash, gemini-1.5-pro
  • Claude: claude-3.7-sonnet, claude-3.5-sonnet, claude-3-opus
  • OpenRouter: 聚合多个 AI 服务商

架构设计

┌─────────────────────────────────────────────────┐
│              用户界面 (Next.js)                   │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐      │
│  │ 任务输入  │  │ 执行展示  │  │ 历史记录  │      │
│  └──────────┘  └──────────┘  └──────────┘      │
└─────────────┬───────────────────────────────────┘
              │ IPC Communication
┌─────────────▼───────────────────────────────────┐
│         Electron 主进程                          │
│  ┌──────────────────────────────────────┐      │
│  │      AI Agent 服务 (Eko 框架)         │      │
│  │  ┌────────────┐  ┌────────────────┐  │      │
│  │  │ 任务规划器  │  │  工具调度器     │  │      │
│  │  └────────────┘  └────────────────┘  │      │
│  └──────────────────────────────────────┘      │
│  ┌──────────────────────────────────────┐      │
│  │         浏览器自动化工具               │      │
│  │  - 页面导航 - 元素操作 - 内容提取    │      │
│  └──────────────────────────────────────┘      │
└─────────────────────────────────────────────────┘

数据流

  1. 用户输入任务 → Next.js 页面
  2. IPC 调用 → Electron 主进程
  3. AI 解析任务 → Eko Agent 规划步骤
  4. 工具执行 → 浏览器自动化/文件操作
  5. 流式返回 → SSE 推送到前端
  6. UI 更新 → 实时显示执行进度
  7. 历史保存 → IndexedDB 持久化

快速开始

1. 安装依赖

pnpm install

2. 配置 API Key

复制配置模板:

cp .env.template .env.local

编辑 .env.local,填入你的 API Key:

# 选择一个你有的 API Key 即可
DEEPSEEK_API_KEY=sk-xxx
# QWEN_API_KEY=sk-xxx
# GOOGLE_API_KEY=xxx
# ANTHROPIC_API_KEY=sk-xxx
# OPENROUTER_API_KEY=sk-xxx

3. 运行项目

# 构建 Electron 部分(mac 端)
pnpm run build:deps

# 构建 Electron 部分(windows 端)
pnpm run build:deps:win

# 启动开发服务器
pnpm run next

# 新开终端,启动 Electron
pnpm run electron

4. 打包应用

# mac端
pnpm run build

# windows端
pnpm run build:win

支持打包为:

  • macOS: .dmg 安装包
  • Windows: .exe 安装程序

应用场景

1. 信息采集

"帮我采集掘金前端分类的热门文章标题和链接"

2. 数据监控

定时任务:"每天早上 9 点检查 GitHub 项目的 Star 数"

3. 自动化操作

"帮我在 B 站搜索'前端面试',收集前 10 个视频的标题和播放量"

4. 内容整理

"访问这些网址,提取文章正文并保存为 Markdown"

技术亮点

1. MCP 协议集成

使用 Model Context Protocol 实现 AI 与工具的标准化通信:

// Tool definition
const browserTool = {
  name: "browser_navigate",
  description: "Navigate to a URL in the browser",
  parameters: {
    url: { type: "string", description: "Target URL" }
  }
}

2. 流式响应

通过 SSE (Server-Sent Events) 实现 AI 响应的实时推送:

// API route: /api/mcp/sse
export async function GET(req: Request) {
  const encoder = new TextEncoder()
  const stream = new ReadableStream({
    async start(controller) {
      for await (const chunk of aiResponse) {
        controller.enqueue(encoder.encode(chunk))
      }
    }
  })
  return new Response(stream)
}

3. 任务持久化

使用 IndexedDB 保存任务历史,支持快速检索:

// Task storage
export const taskStorage = {
  async save(task: Task) {
    const db = await openDB('tasks', 1)
    await db.put('tasks', task)
  },
  async search(keyword: string) {
    // Full-text search implementation
  }
}

后续规划

  • 支持 Agent 的提示词配置
  • 支持 SellAgent
  • 支持计划阶段的调整
  • 支持语音输入
  • 支持人工干预

致谢

特别感谢 Eko 框架,为本项目提供了强大的 AI Agent 能力。

开源协议

MIT License

写在最后

这个项目从想法到实现花了不少时间,目前还在持续优化中。如果你对 AI + 浏览器自动化感兴趣,欢迎 Star 和提 Issue!

如果有任何问题或建议,欢迎在评论区交流讨论!


GitHub: github.com/DeepFundAI/…

作者: lsustc

技术栈: Next.js 15 + Electron 33 + TypeScript + Ant Design