Bläddra i källkod

发布 v0.4.77:更新客户端与服务端修复并排除完整版

Samien 1 månad sedan
förälder
incheckning
762fbd6659
8 ändrade filer med 73 tillägg och 24 borttagningar
  1. 5 5
      README.md
  2. 6 2
      desktop/main.mjs
  3. 1 1
      docker.env.example
  4. 7 7
      docs/docker-install.md
  5. 45 0
      docs/releases/v0.4.77.md
  6. 2 2
      package-lock.json
  7. 4 4
      package.json
  8. 3 3
      release.json

+ 5 - 5
README.md

@@ -1,6 +1,6 @@
 # 夭夭 AI
 
-当前 Web 与 macOS 桌面发布版本:**v0.4.76**。桌面版提供 Apple Silicon(arm64)客户端正式 DMG;本次未发布完整版桌面安装包,Windows 与 Android 沿用旧版,详见 [发布说明](docs/releases/v0.4.76.md)。
+当前 Web 与 macOS 桌面发布版本:**v0.4.77**。桌面版提供 Apple Silicon(arm64)客户端正式 DMG;本次未发布完整版桌面安装包,Windows 与 Android 沿用旧版,详见 [发布说明](docs/releases/v0.4.77.md)。
 
 夭夭 AI 为网页、iOS 和安卓提供统一的 Agent、群聊、文件库及语音配置服务。Hermes 通过标准 9119 HTTP/WebSocket 接口执行任务。
 
@@ -66,11 +66,11 @@ yaoyao service install
 
 | 镜像 | 架构 |
 | --- | --- |
-| `samienluo/yaoyao:v0.4.76-amd` | AMD64 |
-| `samienluo/yaoyao:v0.4.76` | 自动匹配 AMD64 / ARM64 |
-| `samienluo/yaoyao:latest` | 最新稳定版通用镜像,当前与 `v0.4.76` 相同 |
+| `samienluo/yaoyao:v0.4.77-amd` | AMD64 |
+| `samienluo/yaoyao:v0.4.77` | 自动匹配 AMD64 / ARM64 |
+| `samienluo/yaoyao:latest` | 最新稳定版通用镜像,当前与 `v0.4.77` 相同 |
 
-准备好 Docker Engine/Compose 和容器可访问的 Hermes 9119 服务,在仓库目录将 `docker.env.example` 复制为 `docker.env`。配置上游地址,并设置 `HERMES_YAOYAO_IMAGE=samienluo/yaoyao:v0.4.76`(或 `samienluo/yaoyao:latest`),即可使用远程镜像:
+准备好 Docker Engine/Compose 和容器可访问的 Hermes 9119 服务,在仓库目录将 `docker.env.example` 复制为 `docker.env`。配置上游地址,并设置 `HERMES_YAOYAO_IMAGE=samienluo/yaoyao:v0.4.77`(或 `samienluo/yaoyao:latest`),即可使用远程镜像:
 
 ```sh
 docker compose --env-file docker.env pull web

+ 6 - 2
desktop/main.mjs

@@ -25,14 +25,18 @@ const fixtureHome = process.env.HERMES_YAOYAO_DESKTOP_TEST_HOME
 // Packaged: the runtime sits in Resources/runtime; dev: staged build roots.
 const clientOnly = app.isPackaged
   ? clientOnlyRuntime(join(process.resourcesPath, 'runtime'))
-  : clientOnlyRuntime(join(app.getAppPath(), '.desktop-build-client'))
+  : process.env.HERMES_YAOYAO_DESKTOP_CLIENT_ONLY === '0'
+    ? false
+    : clientOnlyRuntime(join(app.getAppPath(), '.desktop-build-client'))
 const platform = desktopPlatform(process.platform, { clientOnly })
 const loginOptions = loginItemOptions()
 // Fixture identity also isolates Chromium cookies, window state and the app lock.
 // The shell package name distinguishes the variants: the client keeps the
 // historical 夭夭 identity (userData, logs, single-instance lock) so upgrades
 // stay in place, while the full dual-mode build uses its own 夭夭完整版 home.
-const productName = JSON.parse(readFileSync(join(desktopRoot, 'package.json'), 'utf8')).productName || '夭夭'
+const shellManifest = app.isPackaged ? join(desktopRoot, 'package.json')
+  : join(app.getAppPath(), clientOnly ? '.desktop-build-client' : '.desktop-build', 'shell', 'package.json')
+const productName = JSON.parse(readFileSync(shellManifest, 'utf8')).productName || '夭夭'
 if (fixtureHome) app.setPath('userData', join(fixtureHome, 'desktop'))
 app.setName(productName)
 if (platform.windows) app.setAppUserModelId('cn.samien.yaoyao.desktop')

+ 1 - 1
docker.env.example

@@ -3,7 +3,7 @@ HERMES_YAOYAO_BIND_ADDRESS=127.0.0.1
 HERMES_YAOYAO_PUBLISHED_PORT=15300
 # 远程通用镜像支持 AMD64 / ARM64;每次发布更新 latest 并保留旧版本标签。
 # HERMES_YAOYAO_IMAGE=samienluo/yaoyao:latest
-# 固定版本:samienluo/yaoyao:v0.4.76;仅 AMD64:samienluo/yaoyao:v0.4.76-amd。
+# 固定版本:samienluo/yaoyao:v0.4.77;仅 AMD64:samienluo/yaoyao:v0.4.77-amd。
 # 留空时使用本地构建名称 yaoyao:local。
 # YAOYAO_DESKTOP_IMAGE=hermes-yaoyao-desktop:0.4.0
 # Cursor Universal 兼容桌面的本地构建名称;基础镜像在 deploy/computer/Dockerfile.cursor 中固定。

+ 7 - 7
docs/docker-install.md

@@ -12,14 +12,14 @@
 
 | 标签 | 架构 |
 | --- | --- |
-| `v0.4.76-amd` | `linux/amd64` |
-| `v0.4.76` | `linux/amd64`、`linux/arm64`,拉取时自动匹配 |
-| `latest` | 最新稳定通用镜像,当前指向与 `v0.4.76` 相同的镜像 |
+| `v0.4.77-amd` | `linux/amd64` |
+| `v0.4.77` | `linux/amd64`、`linux/arm64`,拉取时自动匹配 |
+| `latest` | 最新稳定通用镜像,当前指向与 `v0.4.77` 相同的镜像 |
 
 ```sh
-docker pull samienluo/yaoyao:v0.4.76
+docker pull samienluo/yaoyao:v0.4.77
 # 需要固定 AMD64 时:
-docker pull samienluo/yaoyao:v0.4.76-amd
+docker pull samienluo/yaoyao:v0.4.77-amd
 ```
 
 每次新版本发布都会更新 `latest`,旧版本标签继续保留。需要固定部署版本时使用具体版本标签。
@@ -34,7 +34,7 @@ cp docker.env.example docker.env
 
 | 配置 | 用途 |
 | --- | --- |
-| `HERMES_YAOYAO_IMAGE` | 远程镜像可设为 `samienluo/yaoyao:v0.4.76` 或 `samienluo/yaoyao:latest`;未设置时使用本地构建名称 |
+| `HERMES_YAOYAO_IMAGE` | 远程镜像可设为 `samienluo/yaoyao:v0.4.77` 或 `samienluo/yaoyao:latest`;未设置时使用本地构建名称 |
 | `HERMES_YAOYAO_UPSTREAM` | Hermes 上游地址,默认 `http://host.docker.internal:9119` |
 | `HERMES_YAOYAO_BIND_ADDRESS` | Web 的宿主机发布地址,默认 `127.0.0.1`;局域网访问可设为 `0.0.0.0` |
 | `HERMES_YAOYAO_PUBLISHED_PORT` | 宿主机 Web 端口,默认 `15300` |
@@ -211,7 +211,7 @@ curl --fail http://127.0.0.1:15300/healthz
 使用 Docker Hub 发布镜像时,在 `docker.env` 设置:
 
 ```dotenv
-HERMES_YAOYAO_IMAGE=samienluo/yaoyao:v0.4.76
+HERMES_YAOYAO_IMAGE=samienluo/yaoyao:v0.4.77
 YAOYAO_CURSOR_DESKTOP_IMAGE=samienluo/yaoyao-desktop:v0.4.12-cursor-amd
 ```
 

+ 45 - 0
docs/releases/v0.4.77.md

@@ -0,0 +1,45 @@
+# 夭夭 AI v0.4.77
+
+本次发布 Web、Docker 双架构镜像和 macOS Apple Silicon 纯客户端。full 桌面安装包不在本次发布范围;Windows 和 Android 沿用旧版附件。
+
+## 更新内容
+
+- 修复 Bot 删除失败后的重试和原执行停止确认,减少残留任务与生命周期状态不一致的问题。
+- 修复拆分部署时 Bot 对服务端执行环境的识别。
+- 修复实时命令过期去重与持久回执恢复,提升断线恢复后的状态一致性。
+- 修复归档文件授权,并在登出后关闭 Bot 事件连接。
+- 改善记忆合成的账号调度,限制并行读取,避免部分账号长期得不到处理。
+- 修复桌面开发启动时纯客户端与完整版的模式及应用身份选择。
+
+## 升级说明
+
+- 升级前备份完整 `.yaoyao` 数据目录,建议先更新服务端,再更新客户端。
+- macOS 安装包为纯客户端,需要连接已有服务器,不包含本机服务器或执行节点运行时。需要桌面内置本机服务的用户可继续使用历史 full 包。
+- macOS 客户端沿用历史应用标识,使用 Developer ID Application 正式签名和 Apple 公证,并提供完整自动更新附件。历史开发签名版请先手动安装正式 DMG。
+- Windows 和 Android 旧版附件继续保留。
+- 主项目采用 Apache-2.0,第三方组件保留各自许可与署名。
+
+## 下载
+
+- `Yaoyao-0.4.77-arm64.dmg`:macOS Apple Silicon 纯客户端安装包。
+- `Yaoyao-0.4.77-arm64.zip`、两种安装包对应的 `.blockmap` 和 `latest-mac.yml`:自动更新附件。
+- `Yaoyao-0.4.77-source.tar.gz`:Web/桌面源码和部署配置。
+- `SHA256SUMS.txt`:发布附件的 SHA-256 校验值。
+
+## Docker Hub
+
+| 镜像 | 架构 |
+| --- | --- |
+| `samienluo/yaoyao:v0.4.77-amd` | `linux/amd64` |
+| `samienluo/yaoyao:v0.4.77` | `linux/amd64`、`linux/arm64` |
+| `samienluo/yaoyao:latest` | 验证后更新为本次双架构镜像 |
+
+```sh
+docker pull samienluo/yaoyao:v0.4.77
+docker compose --env-file docker.env pull web
+docker compose --env-file docker.env up -d --no-build web
+```
+
+Compose 镜像配置设为 `samienluo/yaoyao:v0.4.77`。Docker 镜像上传到 Docker Hub;GitHub 提供客户端、源码和校验附件。旧版本标签与附件保留。
+
+附件摘要、镜像摘要和验证结果见 [GitHub 发布页](https://github.com/Lsamien/yaoyao/releases/tag/v0.4.77)。

+ 2 - 2
package-lock.json

@@ -1,12 +1,12 @@
 {
   "name": "yaoyao",
-  "version": "0.4.76",
+  "version": "0.4.77",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "yaoyao",
-      "version": "0.4.76",
+      "version": "0.4.77",
       "license": "Apache-2.0",
       "dependencies": {
         "@koa/bodyparser": "^5.0.0",

+ 4 - 4
package.json

@@ -1,6 +1,6 @@
 {
   "name": "@lsamien/yaoyao",
-  "version": "0.4.76",
+  "version": "0.4.77",
   "license": "Apache-2.0",
   "description": "夭夭 AI:聊天、多 Agent 团队、文件库与电脑工作空间",
   "type": "module",
@@ -30,12 +30,12 @@
     "test:e2e:team-tools": "npm run build && playwright test -c playwright.team-tools.config.ts",
     "desktop:build": "npm run build && node scripts/build-desktop.mjs",
     "desktop:build:client": "node scripts/write-build-info.mjs && node scripts/build-desktop-client.mjs",
-    "desktop:dev:client": "npm run desktop:build:client && electron .",
+    "desktop:dev:client": "npm run desktop:build:client && cross-env HERMES_YAOYAO_DESKTOP_CLIENT_ONLY=1 electron .",
     "desktop:pack:client": "npm run desktop:build:client && electron-builder --config electron-builder.client.yml --mac --arm64 --publish never",
-    "desktop:dev": "npm run desktop:build && electron .",
+    "desktop:dev": "npm run desktop:build && cross-env HERMES_YAOYAO_DESKTOP_CLIENT_ONLY=0 electron .",
     "desktop:pack": "npm run desktop:build && electron-builder --mac --arm64 --publish never",
     "desktop:release": "npm run desktop:build && node scripts/desktop-release.mjs",
-    "desktop:test": "node --test desktop/*.test.mjs",
+    "desktop:test": "cross-env HERMES_YAOYAO_DESKTOP_CLIENT_ONLY=0 node --test desktop/*.test.mjs",
     "runner": "node dist-server/runner/index.js",
     "runner:dev": "tsx src/runner/index.ts",
     "runner:build": "node scripts/build-runner.mjs",

+ 3 - 3
release.json

@@ -1,6 +1,6 @@
 {
   "schemaVersion": 1,
-  "releaseVersion": "0.4.76",
-  "webVersion": "0.4.76",
-  "gitTag": "v0.4.76"
+  "releaseVersion": "0.4.77",
+  "webVersion": "0.4.77",
+  "gitTag": "v0.4.77"
 }