sam70361/aora-bot

Public

Aora Bot:代码绘制的网页角色引擎,46 个原创角色、44 种动画状态,支持 React、Web Component 与头像接口(原 Emotion Ball 表情馆)

  • Stars634+25 tuần này
  • Forks80
  • Watchers0
  • Issues0
  • Ngày tạo18/08/2026
  • Cập nhật gần nhất05/11/2026
  • Ngôn ngữTypeScript
  • Giấy phép—
README.md36.1 KBRaw

Emotion Ball 表情馆

为 AI 助手打造的表情引擎 —— 32 种状态表情 · 3 种身体形态 · 纯 SVG + 原生 JavaScript · 零依赖

在线预览 许可 零依赖 技术栈

中文 | English

在线预览 · 特性 · 快速开始 · 集成指南 · 自定义与扩展 · 许可


授权声明:仓库内 emotion-ball/ 目录的球形角色视觉形象(blob / wedge / gem 身体造型、配色与特效视觉)仅供个人技术学习与研究,禁止任何商业用途且永不提供商业授权;表情引擎源代码与表情配置数据(眼形 / 嘴形参数、动画原语、关键帧序列)为独立编写,双许可——非商业免费,商业用途可获取授权。详见 LICENSE、LICENSE-COMMERCIAL.md 与 NOTICE.md。

mood-mates/ 目录为同源引擎的原创角色子项目(云宝 Nimbo / 亮亮 Twinkle),独立原创设计,采用双许可(个人学习免费 + 可获取商业授权),不受上述限制约束。

本仓库由「一座总馆 + 两个子项目」组成:

  • 总馆(根目录 index.html):云宝 × 亮亮 × 球球 三个角色同台切换展示——同一面 32 表情陈列墙,点击顶部角色卡即可整馆换角,由两套引擎(MoodMates + EmotionBall)共同驱动;
  • mood-mates/:原创角色项目(云宝 / 亮亮),多角色架构、双许可、可商用,自带独立展示站与集成文档;
  • emotion-ball/:球形角色项目(形象仅供学习,引擎与表情数据可商业授权),32 种状态表情、3 种身体形态,自带独立展示站。

Emotion Ball 是一套面向 AI 助手的表情引擎:32 种状态表情全部由纯 SVG 与原生 JavaScript 实时驱动,零框架、零图片资源。AI 侧只需输出一个 emotionId,即可切换到对应表情,可直接用作聊天机器人、桌面宠物、悬浮助手的情绪表达层。

它也不只是"一颗球":内置圆胖(blob)、三角(wedge)、菱形(gem)三种身体形态,支持主题色多实例与线稿模式;整套表情体系围绕纯数据配置设计——眼环池、动画原语、关键帧序列自由组合,基于现有设计即可自主扩展新表情与新玩法。

仓库同时内置完整的「表情展示馆」站点:开屏线稿 Hero、陈列墙与画册双浏览模式、中英双语界面、明暗双主题。

预览

总馆开屏

球球 · 暗黑 球球 · 明亮
球球暗黑 球球明亮
云宝 · 暗黑 云宝 · 明亮
云宝暗黑 云宝明亮
亮亮 · 暗黑 亮亮 · 明亮
亮亮暗黑 亮亮明亮

特性

  • 32 种状态表情:覆盖生命周期(睡眠 / 唤醒 / 待机…)、情绪反应(开心 / 害羞 / 生气 / 惊讶…)与代理工作状态(思考中 / 检索资料 / 出错 / 任务完成…)三大分组,全部由配置驱动
  • 3 种身体形态:圆胖(blob)、三角(wedge)、菱形(gem),同一套眼睛与动画系统按轮廓自动适配;另支持主题色实例(团队小球)与线稿模式
  • 分段式 emotionId:十位数字即分组前缀 —— 00-09 生命周期、10-29 情绪、30-49 代理状态、50+ 自定义;组间空号为新表情预留,已有编号永不重排,对接方可放心硬编码
  • 轮廓环眼睛系统:25 组 48 点轮廓眼环,逐点弹簧插值形变,表情池随机轮换,眨眼带过冲关键帧
  • 球面投影:眼睛按身体轮廓做经度换算与余弦压缩,自旋绕到背面时自动隐藏
  • 彩带与撒花:自旋达速甩出 3D 轨道拖尾彩带(5-stop 色相渐变),思考状态头顶常驻环带,庆祝状态物理粒子撒花
  • 鼠标注视:全页面注视跟随,帧率无关指数平滑,叠加常驻眼神微漂移
  • 配置驱动、可自主扩展:每个表情都是「眼环池 + 动画原语 + 关键帧序列」的纯数据组合,支持运行时注册自定义表情、导入导出全部配置,详见自定义与扩展
  • AI 对接协议健壮:handleAIMessage 接受对象或 JSON 字符串,未知 ID、解析失败、缺字段均自动回退待机并触发 error 事件,永不白屏
  • 零依赖:HTML + SVG + 原生 JavaScript,无构建步骤,可直接迁移到 Electron 悬浮窗
  • 展示馆站点:陈列墙(网格 + 点击弹窗大图)与画册(横向长廊 + 大舞台翻页)双模式,顶部工具行集中提供分组 / 形状 / 间隔下拉与线稿、自动播放开关,中英双语、明暗主题,全部偏好经 localStorage 持久化

快速开始

# 任意静态服务器均可,例如:
python -m http.server 8765
# 总馆(三角色同台):  http://localhost:8765/
# Mood Mates 子站:    http://localhost:8765/mood-mates/

Nội dung README thuộc về sam70361 và cộng đồng đóng góp, giấy phép Không có giấy phép. Nguồn: github.com/sam70361/aora-bot