chore: publish wechat native rollback release v2.2.0
This commit is contained in:
11
README.md
11
README.md
@@ -33,7 +33,7 @@
|
||||
- `src/boss_control`:空占位目录,不参与当前运行
|
||||
- `src/boss_device_agent`:空占位目录,不参与当前运行
|
||||
|
||||
## 当前运行状态(2026-03-26)
|
||||
## 当前运行状态(2026-03-27)
|
||||
|
||||
本地:
|
||||
|
||||
@@ -90,13 +90,16 @@ Android APK:
|
||||
- 已生成 Android debug APK:`android/app/build/outputs/apk/debug/app-debug.apk`
|
||||
- 已生成 Android signed release APK:`android/app/build/outputs/apk/release/app-release.apk`
|
||||
- `npm run apk:release` 还会额外产出带版本号的文件:`android/app/build/outputs/apk/release/boss-android-v{versionName}-release.apk`
|
||||
- 当前最新 release 构建版本:`2.1.1`(`versionCode=8`)
|
||||
- 当前最新 release 构建版本:`2.2.0`(`versionCode=9`)
|
||||
- 当前 APK 已切到原生 Android 客户端:`MainActivity + BossApiClient + 原生 XML 布局`
|
||||
- 当前原生活动页已经覆盖:会话首页、项目详情、项目目标、版本记录、消息转发、线程详情、设备详情、添加设备、账号与安全、设置、AI 账号、技能、运维中心、关于
|
||||
- 当前原生一级体验已回退到微信式交互:`会话 / 设备 / 我的` 固定底部 tab,会话首页是简单聊天列表,项目详情页是聊天优先,只保留 `项目目标 / 版本记录` 两个轻入口
|
||||
- 当前 `设备` 和 `我的` 根页已收口为简单列表;`运维 / 审计 / 修复` 不再出现在一级 `我的`,而是下沉到 `关于 > 高级与调试`
|
||||
- 原生客户端当前直接调用 `https://boss.hyzq.net` 的 Boss API,不再打开 WebView
|
||||
- `2.0.1` 已修复华为真机上因 `Theme.SplashScreen` 与 `AppCompatActivity` 不兼容导致的启动闪退
|
||||
- `2.1.0` 已在本机连接的华为真机上完成签名包覆盖安装与启动复核,原生三栏入口和子活动页声明已全部接通
|
||||
- `2.1.1` 已补上原生 OTA 下载链路:关于页会直接请求受保护的 `/api/v1/user/ota/package`,下载完成后可拉起系统安装器
|
||||
- `2.2.0` 已把原生 UI 从控制台风格回退到微信式简单列表和聊天优先视图,并复核了设备页 / 我的页 / 深层高级入口
|
||||
|
||||
## 本地启动
|
||||
|
||||
@@ -180,6 +183,8 @@ device-agent 当前职责:
|
||||
- Android 原生会话页:`android/app/src/main/java/com/hyzq/boss/ProjectDetailActivity.java`
|
||||
- Android 原生设备页:`android/app/src/main/java/com/hyzq/boss/DeviceDetailActivity.java`
|
||||
- Android 原生我的页:`android/app/src/main/java/com/hyzq/boss/AiAccountsActivity.java`、`android/app/src/main/java/com/hyzq/boss/OpsCenterActivity.java`、`android/app/src/main/java/com/hyzq/boss/SettingsActivity.java`
|
||||
- Android 微信式 surface contract:`android/app/src/main/java/com/hyzq/boss/WechatSurfaceMapper.java`
|
||||
- Android 聊天页布局:`android/app/src/main/res/layout/activity_project_chat.xml`
|
||||
- 服务器环境示例:`.env.server.example`
|
||||
|
||||
当前 `scripts/deploy-server.sh`:
|
||||
@@ -244,6 +249,7 @@ npm run aab:release
|
||||
- Web 端根布局当前仍保留 `NativeAppBridge`,用于浏览器态与历史桥接兼容;当前正式 APK 已改为原生 Activity + 原生 API 客户端,不再依赖 WebView
|
||||
- APP 日志桥已经改成会话感知:只会按当前登录账号解析绑定设备,不再在未登录页默认按全局管理员设备写日志
|
||||
- APP 外壳已经从“桌面预览卡片”切回真机态:移动端不再渲染假的 `9:41 / 5G` 状态栏,底部 `会话 / 设备 / 我的` 导航固定在视口底部,背景改为全屏 cover,不再出现圆角矩形外壳
|
||||
- 原生 Android 当前也和这套产品口径对齐:根页采用微信式简单列表,项目聊天页改成消息流优先,`设备 / 我的` 页不再展示控制台式统计卡片
|
||||
- 登录成功后的进入首页链路已做稳态处理:会先确认 `/api/auth/session` 可读,再执行 `replace(/conversations)`,并附带一次原生级兜底跳转,避免真机 WebView 偶发停留在“正在进入会话首页”
|
||||
- `/api/v1/events` 已作为 SSE 出口使用,会话页、设备页、技能页和项目详情页会按事件自动刷新,不再只靠手动刷新
|
||||
- 我的页新增 `技能` 入口,`/me/skills` 会按设备分组展示 Skill,并支持一键复制调用语句
|
||||
@@ -259,6 +265,7 @@ npm run aab:release
|
||||
- 当前登录页已临时放开成“一键进入”,账号密码和验证码输入暂时不作为拦截条件
|
||||
- `POST /api/auth/send-code` 与固定验证码 `000000` 仍保留给注册 / 重置密码和后续认证收口,不作为当前登录页前置条件
|
||||
- 新注册和重置密码现在使用 `scrypt` 哈希;历史 `sha256` 密码会在下一次密码登录时自动迁移
|
||||
- 原生 Android 当前把 `ProjectForwardActivity / ThreadDetailActivity / OpsCenterActivity` 等复杂能力下沉到二级或更深层入口,不再把线程预算 / 转发 / 运维说明堆在主聊天页和一级我的页
|
||||
- 当前默认最高管理员账号:`17600003315`
|
||||
- 当前默认测试密码:`boss123456`
|
||||
- 当前本机 Codex 节点 `mac-studio` 已绑定到 `17600003315`
|
||||
|
||||
@@ -33,8 +33,8 @@ android {
|
||||
applicationId "com.hyzq.boss"
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode 8
|
||||
versionName "2.1.1"
|
||||
versionCode 9
|
||||
versionName "2.2.0"
|
||||
buildConfigField "String", "BOSS_API_BASE_URL", "\"https://boss.hyzq.net\""
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
||||
@@ -46,10 +46,12 @@
|
||||
- `android`:原生 Android 客户端工程
|
||||
- `android/app/src/main/java/com/hyzq/boss/MainActivity.java`:原生入口 Activity
|
||||
- `android/app/src/main/java/com/hyzq/boss/BossApiClient.java`:原生 API 客户端
|
||||
- `android/app/src/main/java/com/hyzq/boss/ProjectDetailActivity.java`:原生项目详情、消息、目标/版本/转发入口
|
||||
- `android/app/src/main/java/com/hyzq/boss/DeviceDetailActivity.java`:原生设备详情和技能入口
|
||||
- `android/app/src/main/java/com/hyzq/boss/ProjectDetailActivity.java`:原生聊天优先项目页,只保留目标/版本轻入口
|
||||
- `android/app/src/main/java/com/hyzq/boss/DeviceDetailActivity.java`:原生设备详情与技能入口
|
||||
- `android/app/src/main/java/com/hyzq/boss/AiAccountsActivity.java`:原生 AI 账号管理页
|
||||
- `android/app/src/main/java/com/hyzq/boss/OpsCenterActivity.java`:原生运维 / 审计中心
|
||||
- `android/app/src/main/java/com/hyzq/boss/WechatSurfaceMapper.java`:原生微信式 surface contract
|
||||
- `android/app/src/main/res/layout/activity_project_chat.xml`:原生聊天页布局
|
||||
- `android/signing/release-signing.properties.example`:release 签名模板
|
||||
|
||||
这些不是当前运行真相:
|
||||
@@ -108,12 +110,13 @@
|
||||
- `会话` 页按项目渲染聊天列表,主 Agent 永远置顶
|
||||
- 单设备项目显示单头像,多设备协作显示群聊式组合头像
|
||||
- 非群聊项目显示线程上下文余量圆环
|
||||
- 项目聊天页必须展示活跃线程预算、handoff 状态和主 Agent 调度摘要
|
||||
- 项目聊天页当前已经改成聊天优先,只保留 `项目目标 / 版本记录` 两个轻入口;线程预算、handoff、运维与转发能力仍保留数据和深层活动页,但不再出现在主聊天面
|
||||
- 主 Agent 项目页会实时吸收 APP 端日志,用于边对话边指导 APK / Web 优化
|
||||
- 移动端 UI 已去掉假的状态栏与桌面预览壳;底部一级导航固定在视口底部,返回逻辑不会再把 APP 根页直接弹回桌面
|
||||
- `项目目标` 支持用户编辑、主 Agent 复核、完成项自动划线
|
||||
- `版本迭代记录` 只读,由主 Agent 汇总
|
||||
- `我的 > 运维与修复 > 运维对话 / 审计对话`
|
||||
- `我的` 根页当前只保留 `账号与安全 / AI 账号 / 设置 / 技能 / 关于`
|
||||
- `关于 > 高级与调试` 才进入 `运维对话 / 审计对话 / 修复`
|
||||
- `我的 > AI 账号` 必须可查看和切换 `主 GPT / 备用 GPT / API 容灾`
|
||||
- `我的 > 技能` 必须按绑定设备展示 Skill,并支持一键复制调用语句
|
||||
- `设备` 页当前只允许出现生产设备,旧演示脏数据不能回流到正式视图
|
||||
@@ -130,7 +133,7 @@
|
||||
- 邮件:`Postfix + Dovecot`
|
||||
- Android:`AppCompatActivity + 原生 XML 布局 + HttpURLConnection`
|
||||
- 原生登录恢复:`SharedPreferences + restore token`
|
||||
- 当前最新原生 APK:`2.1.1`(`versionCode=8`)
|
||||
- 当前最新原生 APK:`2.2.0`(`versionCode=9`)
|
||||
|
||||
当前不要误判成已经用了:
|
||||
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
- 原生入口:`android/app/src/main/java/com/hyzq/boss/MainActivity.java`
|
||||
- API 客户端:`android/app/src/main/java/com/hyzq/boss/BossApiClient.java`
|
||||
- 当前导航:`会话 / 设备 / 我的`
|
||||
- 当前一级交互:微信式简单列表与聊天优先
|
||||
- 当前微信式 surface contract:`android/app/src/main/java/com/hyzq/boss/WechatSurfaceMapper.java`
|
||||
- 当前原生活动页:
|
||||
- `MainActivity`
|
||||
- `ProjectDetailActivity`
|
||||
@@ -36,6 +38,13 @@
|
||||
- `AiAccountsActivity`
|
||||
- `OpsCenterActivity`
|
||||
- `AboutActivity`
|
||||
- 当前项目聊天页:
|
||||
- `ProjectDetailActivity` 已改成聊天优先布局
|
||||
- 主面只保留 `项目目标 / 版本记录`
|
||||
- `消息转发 / 线程详情 / 运维调试` 仍保留对应原生活动页,但已退出主聊天面
|
||||
- 当前 `关于` 页:
|
||||
- 保留版本与 OTA 操作
|
||||
- 新增深层 `高级与调试` 入口,用于进入 `OpsCenterActivity`
|
||||
- 当前登录:临时免验证,点击登录直接创建最高管理员会话
|
||||
- 当前会话恢复:`SharedPreferences` 中保存 `boss_session / restore_token / account`
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Boss 当前运行与部署状态
|
||||
|
||||
更新时间:`2026-03-26`
|
||||
更新时间:`2026-03-27`
|
||||
|
||||
## 1. 本地状态
|
||||
|
||||
@@ -89,6 +89,7 @@ cd /Users/kris/code/boss
|
||||
- 根布局当前会挂载 APP 日志桥,路由切换、运行时错误、消息发送和 OTA 操作会通过 `/api/v1/app-logs` 实时同步到服务器;日志绑定已改成按当前登录会话解析设备
|
||||
- 根布局当前还会挂载原生运行时桥:维护 APP 内导航历史、拦截 Android 返回键、防止根页直接退回桌面,并在 OTA / 同签名覆盖安装后自动尝试恢复登录态
|
||||
- UI 外壳已收口为真机态:移动端不再渲染假的 `9:41 / 5G` 状态栏,底部一级导航固定在视口底部,背景图按手机 viewport 全屏 cover,WebView 不再显示外层圆角矩形预览壳
|
||||
- 原生 Android 当前也和这套产品方向对齐:`会话 / 设备 / 我的` 为固定底部 tab,一级面尽量维持微信式简单列表和聊天优先,不再把线程预算 / 运维面板放在主聊天页或一级我的页
|
||||
- 会话页、设备页、技能页和项目详情页当前都通过 `/api/v1/events` 的 SSE 自动刷新
|
||||
- 我的页当前新增 `AI 账号` 入口,支持查看 `主 GPT / 备用 GPT / API 容灾`,并明确主链路优先走已经在绑定电脑上登录 `ChatGPT Plus / Codex` 的 `Master Codex Node`
|
||||
- 主 Agent 当前真实对话链路已验证通过:`Boss Web -> /api/v1/projects/master-agent/messages -> master-agent task queue -> local-agent -> codex exec -> /complete -> 项目消息账本`
|
||||
@@ -108,12 +109,13 @@ cd /Users/kris/code/boss
|
||||
- 当前已生成 Android debug APK:`android/app/build/outputs/apk/debug/app-debug.apk`
|
||||
- 当前已生成 Android signed release APK:`android/app/build/outputs/apk/release/app-release.apk`
|
||||
- 当前 release 构建还会额外生成带版本号的 APK:`android/app/build/outputs/apk/release/boss-android-v{versionName}-release.apk`
|
||||
- 当前最新 release 构建版本:`2.1.1`(`versionCode=8`)
|
||||
- 当前最新 release 构建版本:`2.2.0`(`versionCode=9`)
|
||||
- 当前 release keystore 位于本机 `android/keystores/boss-release.keystore`,签名参数位于 `android/signing/release-signing.properties`
|
||||
- `2.0.1` 已在本机连接的华为真机上复核通过,修复了 `Theme.SplashScreen` 导致的 `AppCompatActivity` 启动闪退
|
||||
- `2.1.0` 已把 Web 一级页和主要二级页全部补成原生活动页:`MainActivity / ProjectDetailActivity / ProjectGoalsActivity / ProjectVersionsActivity / ProjectForwardActivity / ThreadDetailActivity / DeviceDetailActivity / DeviceEnrollmentActivity / SkillInventoryActivity / SecurityActivity / SettingsActivity / AiAccountsActivity / OpsCenterActivity / AboutActivity`
|
||||
- `2.1.0` 已完成签名包覆盖安装到本机连接的华为真机,并确认 `com.hyzq.boss` 可以成功拉起进程
|
||||
- `2.1.1` 已补上原生 OTA 下载安装引导、`REQUEST_INSTALL_PACKAGES` 权限声明,以及根页默认入口/返回逻辑收口
|
||||
- `2.2.0` 已把原生 UI 回退到微信式交互:会话首页改为简单聊天列表,项目详情页改为聊天优先,只保留 `项目目标 / 版本记录` 两个轻入口,设备页和我的页根面改为简单列表,`高级与调试` 已下沉到 `关于`
|
||||
|
||||
## 2. 服务器状态
|
||||
|
||||
@@ -195,6 +197,7 @@ cd /Users/kris/code/boss
|
||||
- Skill 清单当前按设备同步和展示已经可用,但还没有“安装 / 卸载 Skill”这种远程管理能力
|
||||
- 服务器侧主 Agent 实时回复依赖被绑定设备的 `local-agent` 在线并能执行 `codex exec`;如果设备离线,只能保留任务或走 API 容灾账号
|
||||
- API 容灾当前由用户在 APP 的 `我的 > AI 账号` 页面自行配置 `OpenAI API` 账号,不再依赖服务器预置 Key
|
||||
- 原生 Android 的二级深层页虽然仍保留 `ProjectForwardActivity / ThreadDetailActivity / OpsCenterActivity` 等能力,但它们已经退出主 UI 正面;后续如再加入口,需继续遵守“一级微信式,复杂能力下沉”的规则
|
||||
- 图片 / 视频真实文件上传仍未接对象存储
|
||||
- 认证虽然已有最小会话 Cookie,但还没有刷新令牌、跨端会话治理、CSRF 防护和更细的风控策略
|
||||
- 邮件对外正式投递仍缺少 DNS / 信誉相关的最终收口,例如 SPF、DKIM、DMARC、MX 与退信策略
|
||||
|
||||
@@ -111,6 +111,8 @@
|
||||
- `android/app/src/main/java/com/hyzq/boss/DeviceDetailActivity.java`
|
||||
- `android/app/src/main/java/com/hyzq/boss/AiAccountsActivity.java`
|
||||
- `android/app/src/main/java/com/hyzq/boss/OpsCenterActivity.java`
|
||||
- `android/app/src/main/java/com/hyzq/boss/WechatSurfaceMapper.java`
|
||||
- `android/app/src/main/res/layout/activity_project_chat.xml`
|
||||
- `android/app/build/outputs/apk/debug/app-debug.apk`
|
||||
|
||||
文档:
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"artifactType": "aab",
|
||||
"fileName": "boss-android-v2.1.1-release.aab",
|
||||
"urlPath": "/downloads/boss-android-v2.1.1-release.aab",
|
||||
"sizeBytes": 2853490,
|
||||
"updatedAt": "2026-03-26T15:51:15Z",
|
||||
"sha256": "c67341ca50d219e3d75baa6c88520c11d475611bed33237710d4518f292779c9",
|
||||
"versionName": "2.1.1",
|
||||
"versionCode": 8,
|
||||
"fileName": "boss-android-v2.2.0-release.aab",
|
||||
"urlPath": "/downloads/boss-android-v2.2.0-release.aab",
|
||||
"sizeBytes": 2856550,
|
||||
"updatedAt": "2026-03-27T05:35:23Z",
|
||||
"sha256": "897f9620bcab202817e530874517eb755837f79ff927fba0128c8e96742cbdd6",
|
||||
"versionName": "2.2.0",
|
||||
"versionCode": 9,
|
||||
"buildFlavor": "release"
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"fileName": "boss-android-v2.1.1-release.apk",
|
||||
"fileName": "boss-android-v2.2.0-release.apk",
|
||||
"urlPath": "/api/v1/user/ota/package",
|
||||
"sizeBytes": 3032808,
|
||||
"updatedAt": "2026-03-26T15:51:10Z",
|
||||
"sha256": "453412d605ad2cd3b1cabf806752d1288a8b23f1c61900b007468a264dda3459",
|
||||
"versionName": "2.1.1",
|
||||
"versionCode": 8,
|
||||
"sizeBytes": 3037496,
|
||||
"updatedAt": "2026-03-27T05:35:21Z",
|
||||
"sha256": "7bf501d24d15f7c0a8cc7757e48514c7b92c4956fd7695736cb99d01406c391a",
|
||||
"versionName": "2.2.0",
|
||||
"versionCode": 9,
|
||||
"buildFlavor": "release"
|
||||
}
|
||||
|
||||
BIN
public/downloads/boss-android-v2.2.0-release.aab
Normal file
BIN
public/downloads/boss-android-v2.2.0-release.aab
Normal file
Binary file not shown.
BIN
public/downloads/boss-android-v2.2.0-release.apk
Normal file
BIN
public/downloads/boss-android-v2.2.0-release.apk
Normal file
Binary file not shown.
Reference in New Issue
Block a user