|
|
2 viikkoa sitten | |
|---|---|---|
| .github | 1 kuukausi sitten | |
| assets | 1 kuukausi sitten | |
| bin | 4 viikkoa sitten | |
| deploy | 1 kuukausi sitten | |
| desktop | 3 viikkoa sitten | |
| docs | 3 viikkoa sitten | |
| integrations | 2 viikkoa sitten | |
| licenses | 1 kuukausi sitten | |
| public | 4 viikkoa sitten | |
| scripts | 4 viikkoa sitten | |
| src | 2 viikkoa sitten | |
| tests | 2 viikkoa sitten | |
| third-party | 1 kuukausi sitten | |
| .dockerignore | 1 kuukausi sitten | |
| .env.example | 1 kuukausi sitten | |
| .gitignore | 1 kuukausi sitten | |
| Dockerfile | 1 kuukausi sitten | |
| LICENSE | 1 kuukausi sitten | |
| NOTICE | 1 kuukausi sitten | |
| README.md | 3 viikkoa sitten | |
| THIRD_PARTY_NOTICES.md | 4 viikkoa sitten | |
| compose.desktops.cursor.yaml | 1 kuukausi sitten | |
| compose.desktops.yaml | 1 kuukausi sitten | |
| compose.hermes-bridge.yaml | 1 kuukausi sitten | |
| compose.yaml | 1 kuukausi sitten | |
| design-qa-task-interactions.md | 1 kuukausi sitten | |
| design-qa.md | 1 kuukausi sitten | |
| docker.env.example | 3 viikkoa sitten | |
| electron-builder.client.yml | 1 kuukausi sitten | |
| electron-builder.yml | 1 kuukausi sitten | |
| index.html | 1 kuukausi sitten | |
| package-lock.json | 3 viikkoa sitten | |
| package.json | 3 viikkoa sitten | |
| playwright.avatar-roundtrip.config.ts | 1 kuukausi sitten | |
| playwright.avatar.config.ts | 1 kuukausi sitten | |
| playwright.bot-panels.config.ts | 1 kuukausi sitten | |
| playwright.bot-session-transfer.config.ts | 1 kuukausi sitten | |
| playwright.config.ts | 1 kuukausi sitten | |
| playwright.credential-vault.config.ts | 1 kuukausi sitten | |
| playwright.desktop-hosts.config.ts | 1 kuukausi sitten | |
| playwright.execution-auth.config.ts | 1 kuukausi sitten | |
| playwright.grok-auth.config.ts | 1 kuukausi sitten | |
| playwright.hermes-bridge.config.ts | 1 kuukausi sitten | |
| playwright.native-environment.config.ts | 1 kuukausi sitten | |
| playwright.server-name.config.ts | 1 kuukausi sitten | |
| playwright.team-tools.config.ts | 1 kuukausi sitten | |
| playwright.workspace.config.ts | 1 kuukausi sitten | |
| release.json | 3 viikkoa sitten | |
| tsconfig.client.build.json | 2 kuukautta sitten | |
| tsconfig.client.json | 2 kuukautta sitten | |
| tsconfig.json | 2 kuukautta sitten | |
| tsconfig.server.json | 1 kuukausi sitten | |
| vite.config.ts | 2 kuukautta sitten | |
| vitest.config.ts | 2 kuukautta sitten |
当前 Web 与 macOS 桌面发布版本:v0.4.82。桌面版提供 Apple Silicon(arm64)客户端正式 DMG;本次未发布完整版桌面安装包,Windows 与 Android 沿用旧版,详见 发布说明。
夭夭 AI 为网页、iOS 和安卓提供统一的 Agent、群聊、文件库及语音配置服务。Hermes 通过标准 9119 HTTP/WebSocket 接口执行任务。
Bot 模式的“工具”菜单提供“自动化”和“已连接应用”两个独立入口。“已连接应用”统一管理应用连接与 MCP;“自动化”使用独立的日历、任务列表和运行日志页面。所有模式均可从底部菜单打开独立的“关于”对话框。这些页面不属于设置中心。
远程电脑:其他 Mac 上的夭夭 App 启动时可选择「登录远程」或「进入本地」;登录远程用服务器地址加账号密码登录(与手机端一致的凭据方式),窗口直接使用远程服务器(15300)的夭夭界面,本机不运行 Web 服务;管理员账号登录同时把这台 Mac 注册为可远程控制的电脑,供服务器上的 Bot 操作。每个机器人可并列启用本地虚拟机、云端和多台 Mac 的电脑控制,工具按在线情况同时可用。详见 服务器与电脑。
需要 Node.js 24 和可通过标准 API 访问的 Hermes 9119 服务。
npm ci
npm run build
npm start
默认 Web 地址为 http://127.0.0.1:15300,上游为 http://127.0.0.1:9119。首次打开 Web 时自行创建管理员账号;服务不会生成固定的默认账号或密码。远端 Hermes 的凭据可在系统设置中配置。
HERMES_YAOYAO_UPSTREAM=http://服务器:9119 npm start
Web 数据默认保存在 ~/.yaoyao,可用 YAOYAO_HOME 指定(兼容 HERMES_YAOYAO_HOME)。旧默认目录 ~/.hermes-yaoyao 会在服务空闲并停止后整体迁移至 ~/.yaoyao,保留账号、会话、文件和密钥;两目录同时有数据时停止迁移,避免覆盖。备份应包含整个数据目录及加密密钥。
由 Web 或 iOS 创建的普通聊天会按登录用户、Profile 和 Session ID 在 chat-cache.sqlite3 中登记所有权并持久化;后续续聊与列表展示以这份服务端登记为准,不再单独依赖 Hermes 的 source 标记。Web 的只读历史记录不进入该数据库,继续按需读取 9119。可通过 HERMES_YAOYAO_CHAT_CACHE_MODE=upstream-only|shadow|prefer-local 切换策略,默认 prefer-local。
桌面版分两种,安装包均为 Apple Silicon(arm64):
Yaoyao-<版本>-arm64.dmg,拖到应用程序后打开,首次启动填写服务器地址并登录。适合服务器已部署(Docker 或 npm)的场景,也是此后主推的桌面形态。两份 App 的安装目录与数据目录相互独立,可以并存。客户端沿用历史安装身份,从旧版「夭夭」升级安装时原地替换、保留登录与配置。
桌面安装包的签名、公证状态及自动升级可用范围见对应版本的 GitHub 发布说明。详细说明见 macOS App。
已有 Node.js 24 环境时,服务端可通过 npm 一条命令安装:
npm install -g @lsamien/yaoyao
yaoyao service install
安装后访问 http://127.0.0.1:15300 创建管理员账号。macOS 通过 LaunchAgent 开机自启;Linux 的服务安装支持在路线图中。详见 npm 安装说明。
执行 yaoyao service restart 重启服务,执行 yaoyao --version(或 yaoyao version / yaoyao -v)查询已安装的 npm 包版本。
远程镜像发布在 Docker Hub:
| 镜像 | 架构 |
|---|---|
samienluo/yaoyao:v0.4.82-amd |
AMD64 |
samienluo/yaoyao:v0.4.82 |
自动匹配 AMD64 / ARM64 |
samienluo/yaoyao:latest |
最新稳定版通用镜像,当前与 v0.4.82 相同 |
准备好 Docker Engine/Compose 和容器可访问的 Hermes 9119 服务,在仓库目录将 docker.env.example 复制为 docker.env。配置上游地址,并设置 HERMES_YAOYAO_IMAGE=samienluo/yaoyao:v0.4.82(或 samienluo/yaoyao:latest),即可使用远程镜像:
docker compose --env-file docker.env pull web
docker compose --env-file docker.env up -d --no-build web
从本地源码构建时,在仓库目录执行:
cp docker.env.example docker.env
# 按实际环境修改 docker.env 中的上游地址和发布地址
docker compose --env-file docker.env config --quiet
docker compose --env-file docker.env up -d --build
默认访问 http://127.0.0.1:15300。应用数据保存在 yaoyao-data 命名卷,容器内路径为 /home/node/.yaoyao。首次打开页面创建管理员账号,并在系统设置中配置 Hermes 连接。
宿主机连接、局域网访问、验证及升级步骤见 Docker 部署说明。
需要随 Docker Web 部署电脑环境,可使用 compose.desktops.yaml(两台标准桌面)或 compose.desktops.cursor.yaml(一台 Cursor Universal 开发桌面)。Cursor 方案基于 public.ecr.aws/k0i0n2g5/cursorenvironments/universal:sand-box-latest 加入夭夭桌面桥接层,配置与启动命令见 Cursor 桌面部署。
iOS 统一连接 Web 地址,通过设置中的手机登录二维码或账号密码登录。不能再直接填写 9119 地址;旧 15300 Web 账号和本机聊天缓存继续保留。
npm 安装的 macOS 服务支持在「更新与回滚」中下载 npm 新版本,下载完成后点击「重启服务器」覆盖当前安装,不保留旧版本,临时包自动清理。参见 npm 安装说明。
源码 Web 默认从 GitHub Releases 检查稳定版本;桌面菜单“检查 App 更新…”可下载并校验 DMG 后手动安装。旧官方发布源会自动归一化为 GitHub,自定义仓库保留。详见 GitHub 版本升级。
发布版本由 release.json 记录。macOS 源码/发布包服务支持在系统设置中升级 Web 或回滚到上一个版本;其他源码部署更新代码、重新构建并重启服务,Docker 部署通过拉取远程镜像(或自行构建)并重建容器更新。升级前备份 Web 数据目录,客户端版本要求见对应发布说明。
后续发布同时交付本地构建和 Docker Hub 远程镜像,验证固定版本后更新 latest,保留旧版本标签。发布者按 发布流程 执行,并将镜像地址、架构和验证结果写入发布说明。
npm run typecheck
npm test
npm run build
Apache-2.0,详见 LICENSE。第三方组件保留各自许可与署名,见 THIRD_PARTY_NOTICES.md。