kotonebot 0.1.0__py3-none-any.whl → 0.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,76 @@
1
+ Metadata-Version: 2.4
2
+ Name: kotonebot
3
+ Version: 0.2.0
4
+ Summary: Kotonebot is game/app automation library based on computer vision technology, works for Windows and Android.
5
+ Requires-Python: >=3.10
6
+ Description-Content-Type: text/markdown
7
+ License-File: LICENSE
8
+ Requires-Dist: opencv-python~=4.10
9
+ Requires-Dist: rapidocr_onnxruntime~=1.4
10
+ Requires-Dist: av~=14.0
11
+ Requires-Dist: scikit-image~=0.25
12
+ Requires-Dist: thefuzz~=0.22
13
+ Requires-Dist: pydantic~=2.10
14
+ Requires-Dist: ksaa-res~=0.2
15
+ Requires-Dist: typing-extensions~=4.12
16
+ Requires-Dist: python-dotenv~=1.0
17
+ Requires-Dist: onnxruntime~=1.14
18
+ Requires-Dist: numpy
19
+ Provides-Extra: android
20
+ Requires-Dist: adbutils~=2.8; extra == "android"
21
+ Requires-Dist: uiautomator2~=3.2; extra == "android"
22
+ Provides-Extra: windows
23
+ Requires-Dist: pywin32; extra == "windows"
24
+ Requires-Dist: ahk~=1.8; extra == "windows"
25
+ Requires-Dist: win11toast~=0.35; extra == "windows"
26
+ Requires-Dist: psutil~=6.1; extra == "windows"
27
+ Provides-Extra: dev
28
+ Requires-Dist: fastapi~=0.115; extra == "dev"
29
+ Requires-Dist: uvicorn~=0.34; extra == "dev"
30
+ Requires-Dist: python-multipart~=0.0; extra == "dev"
31
+ Requires-Dist: websockets~=14.1; extra == "dev"
32
+ Requires-Dist: psutil~=6.1; extra == "dev"
33
+ Requires-Dist: gradio~=5.21; extra == "dev"
34
+ Requires-Dist: snakeviz; extra == "dev"
35
+ Requires-Dist: build; extra == "dev"
36
+ Provides-Extra: all
37
+ Requires-Dist: kotonebot[android,windows]; extra == "all"
38
+ Dynamic: license-file
39
+
40
+ # kotonebot
41
+ > [!WARNING]
42
+ > 本项目仍然处于早期开发阶段,可能随时会发生 breaking change。如果要使用,建议 pin 到一个具体的版本。
43
+
44
+ kotonebot 是一个使用 Python 编写,基于 OpenCV、RapidOCR 等技术,致力于简化 Python 游戏自动化脚本编写流程的框架。
45
+
46
+ ## 特性
47
+ * 层次化引入
48
+ * 包含 Library、Framework、Application 三个不同层次,分别封装到不同程度,可自由选择
49
+ * 平台无关的输入输出(截图与模拟点击)
50
+ * 基于代码生成的图片资源引用
51
+ * 避免硬编码字符串
52
+ * 图像/OCR 识别结果追踪 & 可视化查看工具
53
+ * 开箱即用的模拟器管理(目前仅支持 MuMu12 与雷电模拟器)
54
+
55
+ ## 安装
56
+ 要求:Python >= 3.10
57
+
58
+ ```bash
59
+ # Windows Host, Windows Client
60
+ pip install kotonebot[windows]
61
+ # Windows Host, Android Client
62
+ pip install kotonebot[android]
63
+ # Development dependencies
64
+ pip install kotonebot[dev]
65
+ ```
66
+
67
+ ## 快速开始
68
+ WIP
69
+
70
+ ## 文档
71
+ WIP
72
+
73
+ ## 其他
74
+ 本项目分离自 [KotonesAutoAssistant](https://github.com/XcantloadX/kotones-auto-assistant),因此 c69130 以前的提交均为 KotonesAutoAssistant 的历史提交。
75
+
76
+ 由于使用 filter-repo 移除了大量无用文件,因此历史提交信息和更改的文件可能无法完全对应。
@@ -7,20 +7,20 @@ kotonebot/backend/color.py,sha256=KqFISc6puMNbsyB5diu5PcqNjdkLwUeryVsMmeAJG4Q,20
7
7
  kotonebot/backend/core.py,sha256=pn1XORbU6_ddfgLJQpLSmiGL2MjnF5iCk5GBdrq3GYE,3783
8
8
  kotonebot/backend/dispatch.py,sha256=t3eqkOVNNrdaeXSMLxDbReYhVRoAlSRNxb7oO2clRsQ,7423
9
9
  kotonebot/backend/flow_controller.py,sha256=sbr6JiuYXErevY_BPrzw7hUCfxLGVrz0W_KNbXIxe9Q,6228
10
- kotonebot/backend/image.py,sha256=QtX7nddUm31Gt7tsG-262WCHZyPsKg8QtNblfg7ijII,27630
11
- kotonebot/backend/loop.py,sha256=3ow5M9QeGoaaPrRLhs-129QDRJDR4FNxVZ-mIfRG4m0,9599
10
+ kotonebot/backend/image.py,sha256=jXYGVXa9K1zBCJBG1Btsf2AG5XI9A0DMy5uYy6KOusk,28111
11
+ kotonebot/backend/loop.py,sha256=HlgMON1LcBPZP710w5uHeziMRSF5Dhwv3UKUdjCkouk,9594
12
12
  kotonebot/backend/ocr.py,sha256=xcbcfsEdD6J9nd1pWpHa1jKnQMvrlWcTtvSWd90T-u0,17571
13
13
  kotonebot/backend/preprocessor.py,sha256=YmAbLa-XXES2AchMJtsBpPZwIIGHuYapwpXpw0YSpbA,3423
14
14
  kotonebot/backend/context/__init__.py,sha256=0X9jzM0ftGQUgjoXCk98xf1inoCqHqaUwT0wcHn9P5s,168
15
- kotonebot/backend/context/context.py,sha256=0y0_k4EtO5oGtXsSsFB_oEyWgl6Hy_PMbIpuXepo_yo,35204
15
+ kotonebot/backend/context/context.py,sha256=dvGD_kKaThYdwIuC21Gd2P0uYwyh3yRgMYqkZ5_Ap3w,34472
16
16
  kotonebot/backend/context/task_action.py,sha256=7fKy6ZOtOaDW87hketiub72_eND9yorJqBP3Z5b8fX8,6259
17
17
  kotonebot/backend/debug/__init__.py,sha256=pcSpwzU2YwGrogOoHmsI035nkA_-kDLfm-lfBxHuQ-c,43
18
18
  kotonebot/backend/debug/entry.py,sha256=_sIGi9_LegbaM2DCcDTvGJhrkyUqF6W2Al4nYmkb9rM,2833
19
19
  kotonebot/backend/debug/mock.py,sha256=0fTiJeqVTanQv6L3TPbldgbJRBPmunZOjlzKtVicJ_M,2118
20
20
  kotonebot/backend/debug/server.py,sha256=9PEpczIrwCnD4c_FAtiojwk27aKkkzTtRySCsdho4Rs,7517
21
- kotonebot/backend/debug/vars.py,sha256=7ISd20f3LPzTqWNxrRb5kYz_4I2YaX6777f2sveY-Kg,10728
21
+ kotonebot/backend/debug/vars.py,sha256=3wtbkH2WFNXyT2ZNu-8en3S0pAb40h-SefYyScRMLnM,10912
22
22
  kotonebot/client/__init__.py,sha256=1eXyGopBFpYoucNTNkTo-7nIeDyasyETfHJ8DWuaNTo,192
23
- kotonebot/client/device.py,sha256=Afn552smLtSCanUiCPxHwb91X_3192xDygAe1_JIfn8,19201
23
+ kotonebot/client/device.py,sha256=5BVa1dXVI_jH5gLCL61tJ_MXG6BVSt_mETqyUVlutWo,19370
24
24
  kotonebot/client/fast_screenshot.py,sha256=q69AX15VXRuB0U2qFJKfoTOBgG4nVBCUcaN1CX0VsUc,13647
25
25
  kotonebot/client/protocol.py,sha256=x05llULFI3MddbvBX_c0sYWlSzCyWa3hped24ktq2Ko,2300
26
26
  kotonebot/client/registration.py,sha256=XK424QEWbJKfNdkiDoIJUh_JIy8ryk4I4I3hrWUXCX8,848
@@ -63,8 +63,8 @@ kotonebot/ui/pushkit/__init__.py,sha256=xDUctRUL3euvge-yl8IhFYMlxIxQXsjxcyGN5tUw
63
63
  kotonebot/ui/pushkit/image_host.py,sha256=nB6BCOA5ZgSGi-ntgqQp49H1UZDk8qC41O_PTLPzZ-E,2581
64
64
  kotonebot/ui/pushkit/protocol.py,sha256=KVZ-xr0sMdiuri7AiYqugpZRRtefBsosXm6zouScUR4,266
65
65
  kotonebot/ui/pushkit/wxpusher.py,sha256=U7WKxyf9pVgGvppmBxwMRuBuFkQG3NC3tkdRh7_-IOw,1732
66
- kotonebot-0.1.0.dist-info/licenses/LICENSE,sha256=gcuuhKKc5-dwvyvHsXjlC9oM6N5gZ6umYbC8ewW1Yvg,35821
67
- kotonebot-0.1.0.dist-info/METADATA,sha256=93444Oc1FcrE4FCkqbbHpNRVw-J-yQSmYUCmvgL-OvY,9491
68
- kotonebot-0.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
69
- kotonebot-0.1.0.dist-info/top_level.txt,sha256=QUWAZdbBndoojkrs6RcNytLAn7a0ns4YNF4tLx2Nc4s,10
70
- kotonebot-0.1.0.dist-info/RECORD,,
66
+ kotonebot-0.2.0.dist-info/licenses/LICENSE,sha256=gcuuhKKc5-dwvyvHsXjlC9oM6N5gZ6umYbC8ewW1Yvg,35821
67
+ kotonebot-0.2.0.dist-info/METADATA,sha256=hw-MoKVmW9545-io812vg9aVXIq34hKtknzI9B7tY0E,2788
68
+ kotonebot-0.2.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
69
+ kotonebot-0.2.0.dist-info/top_level.txt,sha256=QUWAZdbBndoojkrs6RcNytLAn7a0ns4YNF4tLx2Nc4s,10
70
+ kotonebot-0.2.0.dist-info/RECORD,,
@@ -1,204 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: kotonebot
3
- Version: 0.1.0
4
- Summary: Kotonebot is game/app automation library based on computer vision technology, works for Windows and Android.
5
- Requires-Python: >=3.10
6
- Description-Content-Type: text/markdown
7
- License-File: LICENSE
8
- Requires-Dist: opencv-python~=4.10
9
- Requires-Dist: rapidocr_onnxruntime~=1.4
10
- Requires-Dist: av~=14.0
11
- Requires-Dist: scikit-image~=0.25
12
- Requires-Dist: thefuzz~=0.22
13
- Requires-Dist: pydantic~=2.10
14
- Requires-Dist: ksaa-res~=0.2
15
- Requires-Dist: typing-extensions~=4.12
16
- Requires-Dist: python-dotenv~=1.0
17
- Requires-Dist: onnxruntime~=1.14
18
- Requires-Dist: numpy
19
- Provides-Extra: android
20
- Requires-Dist: adbutils~=2.8; extra == "android"
21
- Requires-Dist: uiautomator2~=3.2; extra == "android"
22
- Provides-Extra: windows
23
- Requires-Dist: pywin32; extra == "windows"
24
- Requires-Dist: ahk~=1.8; extra == "windows"
25
- Requires-Dist: win11toast~=0.35; extra == "windows"
26
- Provides-Extra: dev
27
- Requires-Dist: fastapi~=0.115; extra == "dev"
28
- Requires-Dist: uvicorn~=0.34; extra == "dev"
29
- Requires-Dist: python-multipart~=0.0; extra == "dev"
30
- Requires-Dist: websockets~=14.1; extra == "dev"
31
- Requires-Dist: psutil~=6.1; extra == "dev"
32
- Requires-Dist: gradio~=5.21; extra == "dev"
33
- Requires-Dist: snakeviz; extra == "dev"
34
- Requires-Dist: build; extra == "dev"
35
- Provides-Extra: all
36
- Requires-Dist: kotonebot[android,windows]; extra == "all"
37
- Dynamic: license-file
38
-
39
- # Kotone's Auto Assistant 琴音小助手
40
- ## 功能
41
- * 自动日常,包括
42
- * 领取礼物(邮件)
43
- * 领取活动费
44
- * 领取工作奖励并自动重新安排工作
45
- * 竞赛挑战
46
- * 领取任务奖励
47
- * 清理商店
48
- * 包括 AP 商店和金币商店
49
- * 可以购买推荐商品,或者指定要购买的物品
50
- * 低配版自动培育
51
- * 支持 REGULAR 和 PRO 模式
52
- * 支持指定 P 偶像<sup>1</sup>
53
- * 支持指定使用增强道具(笔记数量和 Pt 数量提升)
54
- * 暂时**只能使用自动编成**回忆和支援卡
55
- * 对于非练习周,如果没有推荐休息,暂时只会按顺序执行活动支给(活動支給)、文化课(授業)、外出(おでかけ)、休息这四种,不支持咨询(相談)
56
- * 领取技能卡和 P 饮料时,固定领取第一个。若 P 饮料溢出,则不领取
57
-
58
- <sup>1</sup> 见后文的注意事项
59
-
60
- ## 安装
61
- ### 模拟器要求
62
- * 分辨率:必须是 1280x720
63
- * 系统版本:Android 10+(Q,API 29),这是游戏的要求
64
- * 已开启游戏加速器或代理且网络通畅
65
-
66
- ### 普通用户
67
- TODO
68
-
69
- ### 技术用户
70
- 琴音小助手通过 pip 分发,因此你可以执行下面的命令来安装:
71
- ```bash
72
- # Python == 3.10
73
- pip install ksaa
74
- ```
75
-
76
- > 琴音小助手的缩写是“kaa”(**K**otone's **A**uto **A**ssist),
77
- > 但是“kaa”已经被其他包占用了,
78
- > 因此改用“ksaa”(**K**otone'**s** **A**uto **A**ssist)。
79
-
80
- 不过为了避免依赖冲突,你最好使用 pipx 来安装:
81
- ```bash
82
- # 安装 pipx
83
- scoop install pipx
84
- pipx ensurepath
85
- # 安装 kaa
86
- pipx install ksaa
87
- ```
88
- (也可以通过 pip 安装 pipx,详见 [pipx 文档](https://github.com/pypa/pipx#on-windows))
89
-
90
- 如果你不想使用 pipx,也可以手动创建虚拟环境,并使用普通的 pip 安装。
91
-
92
- 安装完成后,只需要运行 `kaa` 命令即可启动 GUI 界面:
93
- ```bash
94
- kaa
95
- ```
96
-
97
- 需要注意的是,配置文件 `config.json` 会自动在工作目录下生成。
98
- 因此你最好每次都在同一个地方运行 kaa,否则可能会出现找不到配置文件的情况。
99
-
100
- ## 使用
101
- ### 配置
102
- TODO
103
-
104
- ### 注意事项
105
- > [!IMPORTANT]
106
- > 建议**使用亲密度至少为 7 的偶像**进行培育,
107
- > 因为琴音小助手暂时无法处理亲密度提升事件。
108
-
109
- ## 开源协议
110
- kaa 本体及框架(kotonebot 文件夹)、相关辅助脚本(tools 文件夹)使用 **GPLv3 协议**开源。kaa 开发工具(kotonebot-devtool)、启动器(bootstrap 文件夹)以 **MIT 协议**开源。
111
-
112
- kaa 的开发主要用到了以下开源项目:
113
- * [GkmasObjectManager
114
- ](https://github.com/AllenHeartcore/GkmasObjectManager):用于提取游戏图像资源,以 GPLv3 协议开源。
115
- * [gakumasu-diff](https://github.com/vertesan/gakumasu-diff):游戏数据。
116
-
117
- kaa 的开发还参考了以下开源项目:
118
- * [EmulatorExtras](https://github.com/MaaXYZ/EmulatorExtras):MuMu 与雷电模拟器的截图与控制接口定义。
119
- * [blue_archive_auto_script](https://github.com/pur1fying/blue_archive_auto_script):MuMu 与雷电模拟器的截图与控制接口的 Python 实现,以及各模拟器的控制实现。
120
-
121
- ## 免责声明
122
- **请在使用本项目前仔细阅读以下内容。使用本脚本将带来包括但不限于账号被封禁的风险。**
123
-
124
- ### 总则
125
- 本项目(琴音小助手)是一个为游戏 **《学园偶像大师》(学園アイドルマスター)** 设计的自动操作脚本。本项目的创建目的仅为技术学习与研究,并非为了提供商业服务或鼓励不正当的游戏行为。
126
-
127
- ### 版权声明
128
- 本项目所使用的部分资源文件,包括但不限于图像、音频、模型等,其版权归属于其原始权利人。该游戏的开发商为 **QualiArts**,发行商为**万代南梦宫娱乐(Bandai Namco Entertainment Inc.)**。
129
-
130
- 1. **权利归属**:本项目中使用的所有相关游戏资源文件的版权、商标权及其他一切知识产权,均归 **QualiArts**、**万代南梦宫娱乐**或其相关权利方所有。
131
-
132
- 2. **非官方性质**:本项目为非官方、非商业性质的开源项目。本项目的开发者与 **QualiArts** 及 **万代南梦宫娱乐**没有任何形式的关联、合作或官方授权。
133
-
134
- ### 核心风险与责任限制
135
- 1. **账号封禁风险**:**您必须清楚地认识到,使用任何形式的第三方自动操作脚本(包括本项目)都有违反《学园偶像大师》的用户协议(利用規約)的潜在风险。游戏运营商有权对使用此类脚本的账号采取惩罚措施,包括但不限于临时或永久封禁账号。对于因使用本脚本而导致的任何账号损失(如封号、数据回滚等),项目作者概不负责。**
136
-
137
- > ・对本服务的服务器等进行非法访问、窃取数据、使用使软件进行非法处理的程序、使用工具等获取信息或使用工具等不正当推进游戏的行为。
138
-
139
- > ・本サービスのサーバー等への不正アクセス行為、データ窃取行為、ソフトウェアに不正な処理を行わせるプログラムを使用する行為、ツール等を使用して情報を取得する行為またはツール等を使用して不正にゲームを有利に進める行為
140
-
141
- 2. **使用限制**:本项目的全部内容**严禁用于任何商业用途或恶意破坏游戏平衡的行为**。任何将本项目用于此类活动的行为,均可能构成对版权方的侵权和对游戏运营商的违约,由此产生的一切法律责任由使用者自行承担。
142
-
143
- 3. **无担保与责任限制**:本项目按“原样”提供,不附带任何形式的明示或暗示担保,包括其功能的稳定性、准确性或持续可用性。对于因使用或无法使用本项目而导致的任何直接、间接、偶然、特殊或继发性损害(**包括但不限于账号封禁**),项目作者概不负责。
144
-
145
- **继续下载、安装或使用本项目,即表示您已完全阅读、理解并同意承担以上所有风险和条款。如果您不同意,请立即停止使用并删除本项目的所有相关文件。**
146
-
147
- ## 开发
148
- 见 [DEVELOPMENT.md](./docs/DEVELOPMENT.md)
149
-
150
- ## 贡献
151
- 非常欢迎 PR。
152
-
153
- 你可以从 Github Issue 中选择一个 Issue 解决,或者从下面的路线图里选一个任务讨论。
154
-
155
- ## 路线图
156
- 下面是待实现的功能:
157
- (带删除线标记的为已完成)
158
-
159
- ### 培育
160
- * 允许指定领取 P 饮料、P 物品、技能卡的领取选择优先级
161
- * ~~允许指定行动优先级~~
162
- * 自动使用 P 饮料
163
- * ~~支持非凡(アノマリー)属性偶像的自动培育~~
164
- * ~~支持琴音的自动培育~~
165
- * 允许优先选择活动加成高的偶像进行培育
166
- * ~~支持 MASTER 培育~~
167
- * 支持 NIA 培育
168
-
169
- ### 日常
170
- * ~~竞赛按分数差距优先选择~~
171
- * ~~自动硬币扭蛋(コインガシャ)~~
172
-
173
- ### 调度
174
- * ~~模拟器启停~~
175
- * 记录任务执行时间与次数,避免重复执行。例如竞赛每天只执行一次
176
- * 常驻运行与自动运行
177
- * ~~命令行接口~~
178
- * 尝试接入 ALAS
179
-
180
- ### UI
181
- * UI
182
- * 使用 Flet/Flutter 重写 UI
183
- * 分离脚本与 UI,允许 UI 与脚本分别独立运行
184
- * 启动器
185
- * 使用 C# 替换当前的简易 .bat 文件
186
-
187
- ### 跨平台
188
- * Android 支持
189
- - [ ] 使用 Python for Android 移植 kaa 到 Android 平台
190
- - [ ] 解决 native 依赖编译问题
191
- - [ ] 需要一个适合移动端的 UI
192
- - [ ] 调用 Shizuku 执行 ADB 命令
193
- - [ ] 使用 Pyjnius 绕过 ADB ,调用无障碍直接控制设备
194
- * Linux 支持
195
-
196
- ### 开发工具
197
- * 使用 Konva.js 重构 ImageAnnotation 工具
198
- * 将开发工具通过 VSCode 扩展与 VSCode 整合
199
-
200
- ### 其他
201
- * 适配汉化版
202
- - [ ] 需要一个合适的方法自动切换不用语言的资源文件
203
- - [ ] 需要一个合适的工具来辅助替换模板图片文件
204
- - [ ] 收集汉化版本的截图