Files
MemRelay/projects/4f53c06a-c6c3-40ec-b2fc-5f019ea45fc0/curated/project-cpe 当前状态概览.md
T

7.5 KiB
Raw Blame History

title, type, permalink, stable_id, scope, project_id, workspace_type, usage_profile_id, preference_context, document_type, revision, source_memory_ids, source_checkpoint_ids, source_file_ids, source_git_commit, source_git_commits, source_agent_sync_ids, model_connection, model_name, source_count, source_revisions, source_dispositions, cited_source_ids, job_cited_source_ids, conflicts, supersedes, preferences, source_cursor, source_hash, prompt_version, schema_version, curation_job_id, created_at, updated_at, tags, restored_from_commit
title type permalink stable_id scope project_id workspace_type usage_profile_id preference_context document_type revision source_memory_ids source_checkpoint_ids source_file_ids source_git_commit source_git_commits source_agent_sync_ids model_connection model_name source_count source_revisions source_dispositions cited_source_ids job_cited_source_ids conflicts supersedes preferences source_cursor source_hash prompt_version schema_version curation_job_id created_at updated_at tags restored_from_commit
project-cpe 当前状态概览 curated main/projects/4f53c06a-c6c3-40ec-b2fc-5f019ea45fc0/curated/project-cpe-当前状态概览 fe7caa54-0379-47d0-a16d-b85423ebef99 project 4f53c06a-c6c3-40ec-b2fc-5f019ea45fc0 development null development current_state 1
de28dc8246094e2bc17cab7c764fb4d4a2da71e0
de28dc8246094e2bc17cab7c764fb4d4a2da71e0
Sub2API git-restore 188
memory:2ab0a44e-c56a-4cbc-a82f-c8b8456d5019 memory:c8101753-2674-42d9-8849-8e98d325d497 memory:866234ea-0d81-4fd9-912a-6cb68441e1cc memory:d0a91595-3be4-4366-a615-58833dd0dff8 memory:51b5b48b-ac1f-4477-ab2f-dfc46198eb01 memory:fd164c80-b38b-4984-8008-48b57ba46e61 memory:fa66c797-a786-4966-8cb1-2eff40e3dc4e memory:f0d365e8-4d2c-4d91-bdc0-df4d3d6fa6b3 memory:a732a5c7-f413-440e-ad41-2c018a68e15f memory:ce9c98cd-85c8-4595-9cae-aa019b487893 memory:e92dbe0b-bb27-4b0e-b5bb-2330a0472fd2 memory:8c6276e6-d7db-409d-a3cd-5570c2d8fdc5
1 1 1 1 1 1 1 1 1 1 1 1
processed unchanged unsupported skipped
188 0 0 0
git:backend/src/config.rs
git:backend/src/db.rs
git:backend/src/dbus.rs
git:backend/src/handlers.rs
git:backend/src/ota.rs
git:backend/src/state.rs
git:backend/src/usb_switch.rs
git:backend/src/utils.rs
git:frontend/src/contexts/RefreshContext.tsx
git:frontend/src/contexts/ThemeContext.tsx
git:frontend/src/hooks/useAdaptivePolling.ts
git:frontend/src/pages/Dashboard/index.tsx
git:frontend/src/pages/ATConsole.tsx
git:frontend/src/pages/Configuration.tsx
git:frontend/src/pages/DeviceInfo.tsx
git:frontend/src/pages/Frp.tsx
git:frontend/src/pages/InitScript.tsx
git:frontend/src/pages/Network.tsx
git:frontend/src/pages/OtaUpdate.tsx
git:frontend/src/pages/Phone.tsx
git:frontend/src/pages/SMS.tsx
git:frontend/src/pages/Terminal.tsx
git:frontend/vite.config.ts
git:scripts/build.sh
git:scripts/deploy.sh
git:scripts/pack-ota.sh
git:scripts/pack-userdata.sh
memory:2ab0a44e-c56a-4cbc-a82f-c8b8456d5019
memory:c8101753-2674-42d9-8849-8e98d325d497
memory:866234ea-0d81-4fd9-912a-6cb68441e1cc
memory:d0a91595-3be4-4366-a615-58833dd0dff8
memory:51b5b48b-ac1f-4477-ab2f-dfc46198eb01
memory:fd164c80-b38b-4984-8008-48b57ba46e61
memory:fa66c797-a786-4966-8cb1-2eff40e3dc4e
memory:f0d365e8-4d2c-4d91-bdc0-df4d3d6fa6b3
memory:a732a5c7-f413-440e-ad41-2c018a68e15f
memory:ce9c98cd-85c8-4595-9cae-aa019b487893
memory:e92dbe0b-bb27-4b0e-b5bb-2330a0472fd2
memory:8c6276e6-d7db-409d-a3cd-5570c2d8fdc5
git:backend/src/config.rs
git:backend/src/db.rs
git:backend/src/dbus.rs
git:backend/src/handlers.rs
git:backend/src/ota.rs
git:backend/src/state.rs
git:backend/src/usb_switch.rs
git:backend/src/utils.rs
git:frontend/src/contexts/RefreshContext.tsx
git:frontend/src/contexts/ThemeContext.tsx
git:frontend/src/hooks/useAdaptivePolling.ts
git:frontend/src/pages/Dashboard/index.tsx
git:frontend/src/pages/ATConsole.tsx
git:frontend/src/pages/Configuration.tsx
git:frontend/src/pages/DeviceInfo.tsx
git:frontend/src/pages/Frp.tsx
git:frontend/src/pages/InitScript.tsx
git:frontend/src/pages/Network.tsx
git:frontend/src/pages/OtaUpdate.tsx
git:frontend/src/pages/Phone.tsx
git:frontend/src/pages/SMS.tsx
git:frontend/src/pages/Terminal.tsx
git:frontend/vite.config.ts
git:scripts/build.sh
git:scripts/deploy.sh
git:scripts/pack-ota.sh
git:scripts/pack-userdata.sh
summary current_source_ids superseded_source_ids
Later checkpoint supersedes earlier repository URL
memory:2ab0a44e-c56a-4cbc-a82f-c8b8456d5019
memory:c8101753-2674-42d9-8849-8e98d325d497
87 96f0e4026558c8a03161f53b392fcec7359d4d701c4f33576b44e2f308b0ec5a 2026-08-12.3 3 null 2026-08-19T03:55:22.375228+00:00 2026-09-23T14:55:12.147562+00:00
project-cpe
development
current_state
6a6a895eaf

当前开发状态

后端

  • 代码结构: backend/src 目录下实现了配置 (config.rs)、数据库 (db.rs)、ofono D‑Bus 交互 (dbus.rs)、HTTP 处理 (handlers.rs)、OTA 逻辑 (ota.rs)、FRPC 管理 (state.rs)、USB Gadget 切换 (usb_switch.rs)、工具函数 (utils.rs)、Webhook 与短信推送 (webhook.rs, sms_push.rs) 等模块。
  • 关键实现:
    • 全局串行锁 with_serial 防止 ofono InProgress 错误。
    • iptables_watchdog 每 5 s 刷新防火墙规则。
    • OTA 包的原子替换与校验(MD5、SHA‑256、架构检查)。
    • 配置系统采用 JSON 热加载,部分字段(如 FRPC token、APN password)已脱敏占位。
  • 依赖锁定: 所有依赖记录在 Cargo.lock 中,使用的主要 crates 已列于证据表 3.1。
  • 构建脚本: build.rs 注入 APP_VERSION、GIT_BRANCH、GIT_COMMIT。
  • 未完成项: 安全存储敏感字段、完整的错误码映射、单元测试覆盖。

前端

  • 技术栈: React 19 + TypeScript 5.9,UI 框架 MUI v7,数据获取 TanStack Query 5,构建工具 Vite 7。
  • 全局上下文: ThemeContext(亮/暗模式持久化),RefreshContext(轮询间隔可配置),自定义 Hook useAdaptivePolling、useApi 实现可见性感知的轮询。
  • 路由与页面: 通过 react-router 懒加载,实现了 Dashboard、ATConsole、Configuration、DeviceInfo、FRP、InitScript、Network、OTA Update、Phone、SMS、Terminal 等十余页面;每个页面对应后端 API 完整封装。
  • 布局: MainLayout + Sidebar + TopBar,固定页头和按钮栏,内部内容可滚动。
  • 构建产出: vite build 生成 dist/,在 CI 中打包进 OTA 包。
  • 未完成项: 单元/集成测试、错误边界 (ErrorBoundary)、i18n 多语言支持、列表虚拟化、全局错误状态码处理。

CI / 部署

  • GitHub Actions: .github/workflows/build-ota.yml 自动构建后端 Rust 二进制、前端 dist,可选 UPX 压缩,生成 meta.json 并校验校验和,最终产出 udx710-ota-3.5.5.tar.gz。
  • 脚本集合 (scripts/):
    • build.sh 完成交叉编译、前端打包、OTA 元数据生成。
    • deploy.sh 通过 ADB 将产物推送至设备并重启服务。
    • pack-ota.sh 与 pack-userdata.sh 负责 OTA 打包及 UBIFS 制作。
    • monitor.sh 提供 ofono DBus 实时监控交互界面。
  • Docker: docker/gnu-builder.Dockerfile 基于 Ubuntu 18.04,安装 gcc-aarch64-linux-gnu 与 Rust 交叉目标。

关键开放事项

类别 描述
安全 AT 网关缺失鉴权、所有 HTTP 错误返回 200、CORS *、敏感字段未加密存储
OTA 未签名、无回滚机制
FRPC 日志轮转阈值固定、令牌未安全保存
USB 配置文件无文件锁、热切换标记为实验性
测试 缺乏单元/集成测试、前端缺少错误边界
性能 大表未虚拟化、轮询可见性切换未防抖
国际化 仅中文硬编码

以上状态基于截至 2026‑08‑19 的所有证据,任何后续改动应更新相应章节并在文档中记录。