Skip to content

Commit 075df43

Browse files
committed
docs: 更新 README 至当前状态
- 去掉"重写中"措辞,标明 PC 客户端 Win32-only - 补功能列表(凹图/打轴/对轴/校准/悬浮窗/WebSocket) - 开发命令改 python -m aao.app - 加项目结构说明(aao 应用主体 / custom MAA 实现) - 加 loguru 双 sink 日志说明 - 鸣谢补 loguru docs(README): 鸣谢——依赖与参考项目分开 - 依赖(maafw/PySide6/loguru/numpy/websockets/Pillow/json5)单独列 - 参考项目:MaaAssistantArknights 标明地图数据运行时同步;其余三个 (CostBarRuler/prts-plus/ArknightsFrameAssistant) 去掉无法确认的仓库链接, 仅留项目名 + 用途,避免死链错链
1 parent 7401f1c commit 075df43

1 file changed

Lines changed: 55 additions & 10 deletions

File tree

README.md

Lines changed: 55 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,70 @@
11
# ArknightsAutoOperator
22

3-
明日方舟赛博塑料,自动凹图(帧级自动操作 + 费用条计时 + 打轴对轴)。
3+
明日方舟自动凹图:帧级自动操作 + 费用条计时 + 打轴对轴。
4+
5+
MaaFramework **方案二**(JSON pipeline + 进程内 custom action)+ PySide6 单进程主控台 + loguru 日志。
6+
仅支持 **PC 官方客户端**(Win32,`Arknights.exe`),不再适配模拟器。
47

5-
> **状态**:正推翻 Go + Wails 重写为 Python(MaaFramework **方案二** pipeline + 进程内 custom action + PySide6)。
68
> 总体方案见 [`docs/rewrite-plan.md`](docs/rewrite-plan.md)
79
10+
## 功能
11+
12+
- **凹图**:自动点关卡 → 开战 → 帧级执行时间轴 → 结算 → 三星停 / 非三星或漏怪放弃重试,循环到通关或达次数上限
13+
- **打轴**:F8/F9/F10 标记部署/技能/撤退,时间轴 canvas 双刻度(frame + 秒),节点可拖拽改帧
14+
- **对轴**:游标跟随实时帧,临近节点磁铁高亮,校验时间轴能否稳定复现
15+
- **校准**:费用条像素宽 → 逻辑帧映射(Jaccard 聚类),支持多档 profile(交替回费)
16+
- **悬浮窗**:置顶显示实时帧 / 计时器 / profile
17+
- **WebSocket API**:实时帧状态广播(`ws://localhost:2606`
18+
819
## 开发
920

1021
```bash
1122
uv sync
12-
uv run python agent/main.py --mode win32 # MAA 进程内接线 + 截图 smoke(里程碑 1)
13-
# 或 --mode adb 连模拟器
23+
uv run python -m aao.app # 启动主控台(可选 --profile xxx.json)
24+
uv run python -m aao.resources.syncer # 同步干员名 + 地图数据
25+
```
26+
27+
前置:管理员终端(PostMessage 输入需 UIPI 权限)+ AFA(arknights-frame-assistant)常驻 + 游戏窗口前台。
28+
29+
## 项目结构
30+
31+
```txt
32+
aao/ 应用主体(UI / 计时 / 打轴 / 测量 / 资源 / 工具)
33+
app.py 主控台入口(QMainWindow 侧栏:凹图/打轴/校准/设置)
34+
core/ timing(费用条计时)/ geometry(投影)/ battle / avatar / afa_hotkey
35+
measure/ 测量 worker + 悬浮窗 + WebSocket API
36+
timeline/ 时间轴模型 + 打轴编辑器
37+
ui/ 各功能页 + farm_worker + canvas + map_picker
38+
resources/ 干员名/地图同步 + 更新检查
39+
custom/ MAA custom 实现(pipeline 调用)
40+
agent.py MAA 子进程入口(interface.json 的 child_exec)
41+
action/ ExecuteTimeline(帧级执行)/ KeyPress
42+
reco/ ClickStage(关卡 OCR + 凹图计数)
43+
registry.py / outcome.py
44+
resource/ MAA pipeline(farm.json 自循环)/ image 模板 / ocr 模型
45+
config/ calibration(校准)/ timelines(时间轴)/ settings.json
46+
debug/ 日志(aao/YYYY-MM-DD.log,按天轮转保留 2 周)
1447
```
1548

49+
## 日志
50+
51+
loguru 双 sink:
52+
53+
- **控制台 / UI 日志面板**:仅消息,去来源,INFO
54+
- **文件 `debug/aao/*.log`**:完整含来源(模块:函数:行),DEBUG,按天轮转、保留 2 周、zip 压缩
55+
1656
## 鸣谢
1757

18-
### 开源库与参考项目
58+
### 依赖
1959

20-
- [MaaFramework](https://github.com/MaaXYZ/MaaFramework) — 图像识别自动化框架(pipeline + 自定义扩展
60+
- [MaaFramework](https://github.com/MaaXYZ/MaaFramework) — 图像识别自动化框架(pipeline + 进程内 custom action
2161
- [PySide6](https://www.qt.io/) — Qt UI
22-
- [prts-plus](https://github.com/jue-ce-zhe/prts-plus) — 模拟器帧级自动操作(执行器算法来源)
23-
- [ArknightsCostBarRuler](https://github.com/ZeroAd-06/ArknightsCostBarRuler) — 费用条计时 / 悬浮窗 / 打轴对轴(测量层来源)
24-
- [MaaAssistantArknights](https://github.com/MaaAssistantArknights/MaaAssistantArknights) — 地图数据 / 投影 / 粗流程参照
25-
- [arknights-frame-assistant](https://github.com/CloudTracey/arknights-frame-assistant) — PC 端帧操(PC 输入模型来源)
62+
- [loguru](https://github.com/Delgan/loguru) — 日志
63+
- [numpy](https://numpy.org/) / [websockets](https://websockets.readthedocs.io/) / [Pillow](https://python-pillow.org/) / [json5](https://github.com/dpranke/pyjson5)
64+
65+
### 参考项目
66+
67+
- [MaaAssistantArknights](https://github.com/MaaAssistantArknights/MaaAssistantArknights) — 地图数据(`Arknights-Tile-Pos`,运行时同步)+ 粗流程参照
68+
- [ArknightsCostBarRuler](https://github.com/ZeroAd-06/ArknightsCostBarRuler) — 费用条计时 / 悬浮窗 / 打轴对轴(测量层、校准、tick 检测来源)
69+
- [prts-plus](https://github.com/jue-ce-zhe/prts-plus) — 帧级自动操作的执行器算法(action / 投影 / 配置)
70+
- [ArknightsFrameAssistant](https://github.com/CloudTracey/arknights-frame-assistant) — PC 端帧操、AFA 热键输入模型

0 commit comments

Comments
 (0)