Files
Cyrene-For-Android/devdocs/06-移到-PC-开发说明.md
T
AskaEth 2369dd2115 meta(docs): devdocs/ 纳入版本库 —— 交接与协同文档不再只存在于本机
主人 2026-10-04 指示「项目仓库也可以写进去」。因此把 devdocs/ 从 .gitignore 移除并首次入库:

- `05-开发进度与交接.md` —— 跨会话交接锚点:当前状态、易忘的实现约定、踩过的坑、实机验收方法
- `02-前后端协同事项.md` —— 与后端会话的**交换文档**(两边都会读写:我们登记缺口,对面写回执)
- `01/03/04/06/07` + `DESIGN.md` —— 路线、客户端细化方案、构建环境、迁移说明、给后端会话的交接

**凭据扫描已过**:无账号口令、无 token/refreshToken 明文、无 API key 或私钥。
文档里只记「登录凭据不写进文档,问主人」这条口径本身。

(此前忽略它的理由已不成立:文档现在承担跨会话交接与前后端协同两件正事,
只留在本机磁盘会随机器丢失,而这批内容的价值恰恰在「后来人读得到」。)
2026-10-04 19:00:18 +08:00

97 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 06 — 开发工作迁至 Meowhome(交接说明)
> **开发全程在 Meowhome(Windows PC)上进行**:写码、编译、跑单测都在那边。
> 后端(Cyrene v2 主项目)**也已迁到同一台 PC**。
> 本目录(`devdocs/`)已随本次交接复制到 PC 的项目目录下。
---
## 1. 为什么迁
旧开发机是一台性能较弱的 **aarch64 Linux 容器**,编译会把桌面卡死。之前的流程是「旧机写码 → 推仓库 → PC 编译」两段式;现在整段开发都放 PC,省掉来回同步和 SSH 搬运。
---
## 2. 开发机:Meowhome
| 项 | 值 |
|---|---|
| 接入 | `ssh Meowhome`(`cd.yeij.top:40022`,用户 `Aska`,密钥 `~/.ssh/id_ed25519_meowhome`) |
| 系统 | Windows(主机名 `AEiva`,AMD64) |
| 项目目录 | `D:\Project\Code\Uni\Cyrene-For-Android` |
| Android SDK | `C:\Users\Aska\AppData\Local\Android\Sdk`(已装 `platforms/android-37.0` + `build-tools/37.0.0`) |
| `JAVA_HOME` | `C:\Program Files\Microsoft\jdk-21.0.11.10-hotspot\` |
| 构建 | `cd /d D:\Project\Code\Uni\Cyrene-For-Android & gradlew.bat assembleDebug` |
| 单测 | `gradlew.bat testDebugUnitTest` |
| 镜像 | Maven→阿里云、Gradle 发行包→腾讯(都已在仓库配置里,开箱即用) |
`local.properties`(不进仓库)已建好,指向上面的 SDK。
> `D:\...\Cyrene-For-Android` 里还有一份**未被 git 跟踪**的 `devdocs\`(本次交接复制过来的),`git status` 不会显示它。
---
## 3. 后端
**Cyrene v2 主项目也已迁到这台 PC**,不再跑在别处。
App 里的「服务器地址」指向本机后端即可:
- 模拟器:走 `10.0.2.2`
- 真机 / 局域网设备:走 PC 的局域网 IP
**具体地址与端口以主人给的为准,不要自己假设。**
---
## 4. 仓库
| 项 | 值 |
|---|---|
| 分支 | **`android`**(不用 `main`,`dev` 是 4 个月前的弃用项目) |
| 当前提交 | `9bc45dc`,工作区干净,已与 origin 同步 |
| 远端 | `ssh://git@git.yeij.top:2222/AskaEth/Cyrene-For-Android.git` |
| git 身份 | **`AskaEth <i@yeij.top>`**(PC 端如未配置,执行 `git config user.name AskaEth` / `git config user.email i@yeij.top`) |
---
## 5. 文档清单(都在 `devdocs/`,不进仓库)
| 文件 | 内容 |
|---|---|
| `DESIGN.md` | 总览与已定决策 |
| `01-功能拆解与分步路线.md` | 分步路线 |
| `02-前后端协同事项.md` | **后端缺口登记**——开发中一旦遇到后端不支持或「文档写了但没实现」,**当场写进这里并反馈主人** |
| `03-客户端细化开发方案.md` | 细化方案 + 里程碑 |
| `04-构建环境.md` | 环境、镜像、踩坑记录 |
| `05-开发进度与交接.md` | 进度 + 易忘的实现约定 |
| `06-移到-PC-开发说明.md` | 本文 |
---
## 6. 已完成 / 待办
**已完成**
- M0 工程骨架|M1 登录(含明文 HTTP 放行、自动登录、静默重登、401 登出)
- M2 只读主会话(历史 / 倒序 / 上拉分页 / 来源角标)
- M3 发送 + 流式(乐观消息、增量解析、光标、自动置底)
- M4 完整:`<p>` 多气泡、`<action>/<narration>` 旁白、思维链卡片(自动折叠 + 保留 10 分钟)、工具卡、图片(Coil 3)
- M5 侧边栏 + 会话列表(DataStore 快照、序号映射、切换/新建/删除)
- 交互打磨:回车发送、文本选择模式(全选只作用于当前气泡)、IME 修复、返回键逐层回退
- App 设置页:主题(跟随系统/浅色/深色)、显示旁白、思维链默认展开、版本、登出
- 列表项统一为 Miuix `BasicComponent` + `PreferenceCard`(MD3 圆角卡片)
**待办**
- **C-2 管理员只读监控**(概览 / 后台思考 / 记忆 / 人格)——独立导航图 + 独立 `Scaffold`,只读
- 子会话流程(主人已确认先搁置,暂不完善)
- 图片 / 工具卡实机验证(后端暂未配置工具)
---
## 7. 旧开发机
已停用,仅作历史参考:
- 编译配置(`~/.gradle/gradle.properties` 里的 `aapt2FromMavenOverride`、`daemon=false`)与 SDK 补装记录见 `04-构建环境.md`
- 那台机器的 `/tmp` 是内存盘(tmpfs),别往里放东西