Skip to content

CumuloCumulo/Homura

Repository files navigation

Homura Title Tagline

Chrome Extension License Version SDK

为什么选择核心技术核心功能快速开始SDKEnglish

Visitor Count

Demo GIF


✨ 为什么选择 Homura?

🎯 AI 时代的声明式自动化

Comparison

┌─────────────────────────────────────────────────────────────┐
│ 传统 RPA (命令式)                                             │
│  ┌─────┐   ┌─────┐   ┌─────┐                              │
│  │步骤1│ → │步骤2│ → │步骤3│ → ...                      │
│  └─────┘   └─────┘   └─────┘                              │
│  僵化的流程、手动分支、UI 变化即失效                             │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│ Homura (声明式)                                               │
│  ┌─────────────┐   ┌─────────────┐                        │
│  │ 技能库       │   │ 规则书        │                        │
│  │ (Skills)    │   │ (Rule Book)  │                        │
│  └─────────────┘   └─────────────┘                        │
│           │                    │                            │
│           └────────────────────┴                            │
│                     ↓                                       │
│  ┌──────────────┐  ┌───────────────┐                       │
│  │ AI 智能体    │  │  执行引擎      │                       │
│  │ (决策)       │  │  (精确执行)    │                       │
│  └──────────────┘  └───────────────┘                       │
│  动态决策、自愈能力、AI 驱动的自适应                             │
└─────────────────────────────────────────────────────────────┘

🏗️ 技术架构

大脑-肢体解耦设计

Brain-Limb

层级 职责 技术栈
大脑 (AI) 非确定性决策 LLM + 规则书
肢体 (引擎) 确定性执行 Scope + Anchor + Target

🎯 独特的选择器系统

作用域 + 锚点 + 目标 — 三层定位架构:

┌─────────────────────────────────────────────────────────────┐
│ 1️⃣  SCOPE - 查找所有容器                                   │
│    selector: "tr.audit-row" → [Row1, Row2, Row3, ...]     │
├─────────────────────────────────────────────────────────────┤
│ 2️⃣  ANCHOR - 定位目标行                                    │
│    selector: ".name" contains "张三" → Row2                │
├─────────────────────────────────────────────────────────────┤
│ 3️⃣  TARGET - 在定位行内操作                                │
│    selector: "button.btn-approve" → CLICK                 │
└─────────────────────────────────────────────────────────────┘

核心优势:

  • 高熵值锚点 — 验证跨行唯一性
  • 分栏表格支持 — 处理冻结列布局
  • 单元格级定位 — 精确元素位置
  • 自愈能力 — AI 自动修复损坏的选择器

🎨 核心功能

🤖 AI 驱动的编排

功能 说明
规则书驱动 用自然语言 (Markdown) 编写业务规则
动态决策 AI 实时适应页面条件
迭代执行 持续执行直到目标达成
异常恢复 AI 分析错误并尝试替代方案

🔧 智能录制

功能 说明
一键生成 录制操作,AI 生成可复用工具
自动参数化 AI 识别变量 (如 "张三" → {{student_name}})
跨页录制 跨越导航和新标签页持续录制
实时验证 录制时实时测试选择器

🛡️ 稳健执行

功能 说明
原子操作 CLICK, INPUT, EXTRACT_TEXT, WAIT_FOR, NAVIGATE
毫秒级精度 直接 DOM 操作,无 Puppeteer 开销
可视化调试 实时元素高亮和执行预览
错误恢复 自动重试和回退策略

🎨 深空 UI 设计

"用心交互 — 数字减负、平静界面、空间高效"

  • 零学习曲线 — 熟悉的模式,渐进式披露
  • 紧凑高效 — 为侧边栏优化
  • 暗色主题 — 护眼,开发者友好
  • 呼吸动画 — 微妙反馈,降低认知负荷

🚀 快速开始

安装

# 克隆仓库
git clone https://github.com/CumuloCumulo/Homura.git
cd Homura

# 安装依赖
npm install

# 构建扩展
npm run build

加载到 Chrome

  1. 打开 chrome://extensions/
  2. 启用 开发者模式
  3. 点击 加载已解压的扩展程序
  4. 选择 dist 文件夹

首次自动化

  1. 点击工具栏中的 Homura 图标
  2. 切换到 录制 模式
  3. 在页面上执行你的操作
  4. 点击 生成工具 — AI 创建可复用自动化
  5. 测试并保存到 工具库

🏗️ 系统架构

┌─────────────────────────────────────────────────────────────┐
│                    表现层 (Presentation)                    │
│  ┌──────────────┐  ┌───────────────┐                      │
│  │  SidePanel   │  │   Dashboard    │                      │
│  │              │  │               │                      │
│  │  • 检查器    │  │   • 工具库     │                      │
│  │  • 录制器    │  │   • 蓝图      │                      │
│  │  • 测试模式  │  │   • 规则书     │                      │
│  └──────────────┘  └───────────────┘                      │
├─────────────────────────────────────────────────────────────┤
│                    智能层 (Intelligence)                    │
│  ┌──────────────┐  ┌───────────────┐                      │
│  │  AI 服务     │  │   编排器       │                      │
│  │              │  │               │                      │
│  │  • 工具      │  │   • 智能体    │                      │
│  │  │  构建器   │  │   • 决策      │                      │
│  │  │           │  │   │   循环    │                      │
│  │  └───────────┘  │   └───────────┘                      │
│  └──────────────┘  └───────────────┘                      │
├─────────────────────────────────────────────────────────────┤
│                    执行层 (Execution)                       │
│  ┌──────────────┐  ┌───────────────┐  ┌──────────────┐   │
│  │   选择器     │  │    执行器      │  │  原语操作     │   │
│  │   引擎       │  │               │  │  (5 actions) │   │
│  │              │  │  ┌─────────┐ │  └──────────────┘   │
│  │  • 路径      │  │  │ 高亮器  │ │                      │
│  │  │ 结构     │  │  └─────────┘ │                      │
│  │  └──────────┘  │               │                      │
│  └──────────────┘  └───────────────┘                      │
└─────────────────────────────────────────────────────────────┘

📦 模块化 SDK

SDK Tagline

import { analyzeElement, createUnifiedSelector } from '@homura/sdk/selector';
import { executeClick } from '@homura/sdk/primitives';
import { executeTool } from '@homura/sdk/executor';

// 分析元素并生成稳健的选择器
const element = document.querySelector('button');
const analysis = analyzeElement(element);
const selector = createUnifiedSelector(analysis, 'CLICK');

// 使用自动重试和错误处理执行
await executeClick(element, { delay: 100 });
npm install @homura/sdk

📚 文档

文档 描述
用户指南 完整文档
开发指南 贡献指南
SDK 架构 SDK 参考
UI 设计 设计系统

🛠️ 开发

# 安装依赖
npm install

# 开发模式
npm run dev

# 类型检查
npm run typecheck

# 构建 SDK
npm run build:sdk

# 构建扩展
npm run build:extension

# 运行测试
npm test

🤝 贡献

欢迎贡献!请参阅 开发指南

核心原则:

  1. 规范驱动开发 — 先写规范
  2. 类型安全优先 — 必须通过类型检查
  3. 测试覆盖率 ≥80% — 维持高测试标准
  4. 一致命名 — 遵循 命名规范

📄 许可证

MIT License — 详见 LICENSE


Footer

文档报告问题讨论

Star History Chart

TypeScript React Chrome

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors