mobile-mcp-ai 2.6.3__tar.gz → 2.6.5__tar.gz
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.
- {mobile_mcp_ai-2.6.3/mobile_mcp_ai.egg-info → mobile_mcp_ai-2.6.5}/PKG-INFO +1 -1
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/config.py +32 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/basic_tools_lite.py +679 -602
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/mcp_tools/mcp_server.py +241 -322
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5/mobile_mcp_ai.egg-info}/PKG-INFO +1 -1
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/setup.py +1 -1
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/LICENSE +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/MANIFEST.in +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/README.md +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/__init__.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/__init__.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/device_manager.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/dynamic_config.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/ios_client_wda.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/ios_device_manager_wda.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/mobile_client.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/template_matcher.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/templates/close_buttons/auto_x_0112_151217.png +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/templates/close_buttons/auto_x_0112_152037.png +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/templates/close_buttons/auto_x_0112_152840.png +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/templates/close_buttons/auto_x_0112_153256.png +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/templates/close_buttons/auto_x_0112_154847.png +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/templates/close_buttons/gray_x_stock_ad.png +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/utils/__init__.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/utils/logger.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/utils/operation_history_manager.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/utils/smart_wait.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/docs/iOS_SETUP_GUIDE.md +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/mcp_tools/__init__.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/mobile_mcp_ai.egg-info/SOURCES.txt +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/mobile_mcp_ai.egg-info/dependency_links.txt +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/mobile_mcp_ai.egg-info/entry_points.txt +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/mobile_mcp_ai.egg-info/not-zip-safe +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/mobile_mcp_ai.egg-info/requires.txt +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/mobile_mcp_ai.egg-info/top_level.txt +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/requirements.txt +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/setup.cfg +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/templates/close_buttons/auto_x_0112_151217.png +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/templates/close_buttons/auto_x_0112_152037.png +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/templates/close_buttons/auto_x_0112_152840.png +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/templates/close_buttons/auto_x_0112_153256.png +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/templates/close_buttons/auto_x_0112_154847.png +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/templates/close_buttons/gray_x_stock_ad.png +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/tests/test_mind_cloud_my_space.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/tests/test_mind_correct.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/tests/test_mind_improved.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/tests/test_mind_optimized.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/tests/test_open_mind.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/tests/test_priority_demo.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/tests/test_simple.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/tests/test_/344/270/276/346/212/245.py" +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/tests/test_/345/210/207/346/215/242/350/257/255/350/250/200/345/210/260English.py" +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/tests/test_/346/265/213/350/257/225.py" +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/utils/__init__.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/utils/logger.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/utils/xml_formatter.py +0 -0
- {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/utils/xml_parser.py +0 -0
|
@@ -102,6 +102,31 @@ class Config:
|
|
|
102
102
|
"false"
|
|
103
103
|
).lower() == "true"
|
|
104
104
|
|
|
105
|
+
# ==================== Token 优化(省钱模式)====================
|
|
106
|
+
# 启用 Token 优化(默认开启,只精简格式,不影响准确度)
|
|
107
|
+
TOKEN_OPTIMIZATION_ENABLED: bool = os.getenv(
|
|
108
|
+
"TOKEN_OPTIMIZATION_ENABLED",
|
|
109
|
+
"true"
|
|
110
|
+
).lower() == "true"
|
|
111
|
+
|
|
112
|
+
# list_elements 最大返回元素数量(默认 0 = 不限制,确保准确度)
|
|
113
|
+
MAX_ELEMENTS_RETURN: int = int(os.getenv("MAX_ELEMENTS_RETURN", "0"))
|
|
114
|
+
|
|
115
|
+
# take_screenshot_with_som 最大返回元素数量(默认 0 = 不限制)
|
|
116
|
+
MAX_SOM_ELEMENTS_RETURN: int = int(os.getenv("MAX_SOM_ELEMENTS_RETURN", "0"))
|
|
117
|
+
|
|
118
|
+
# 精简返回信息(只移除冗余提示文字,不影响数据)
|
|
119
|
+
COMPACT_RESPONSE: bool = os.getenv(
|
|
120
|
+
"COMPACT_RESPONSE",
|
|
121
|
+
"true"
|
|
122
|
+
).lower() == "true"
|
|
123
|
+
|
|
124
|
+
# 精简工具描述(减少每次请求的 token)
|
|
125
|
+
COMPACT_TOOL_DESCRIPTION: bool = os.getenv(
|
|
126
|
+
"COMPACT_TOOL_DESCRIPTION",
|
|
127
|
+
"true"
|
|
128
|
+
).lower() == "true"
|
|
129
|
+
|
|
105
130
|
@classmethod
|
|
106
131
|
def get_ai_platform(cls) -> Optional[str]:
|
|
107
132
|
"""获取优先使用的AI平台"""
|
|
@@ -137,6 +162,13 @@ class Config:
|
|
|
137
162
|
"device": {
|
|
138
163
|
"default_device_id": cls.DEFAULT_DEVICE_ID,
|
|
139
164
|
"lock_orientation": cls.LOCK_SCREEN_ORIENTATION,
|
|
165
|
+
},
|
|
166
|
+
"token_optimization": {
|
|
167
|
+
"enabled": cls.TOKEN_OPTIMIZATION_ENABLED,
|
|
168
|
+
"max_elements": cls.MAX_ELEMENTS_RETURN,
|
|
169
|
+
"max_som_elements": cls.MAX_SOM_ELEMENTS_RETURN,
|
|
170
|
+
"compact_response": cls.COMPACT_RESPONSE,
|
|
171
|
+
"compact_tool_desc": cls.COMPACT_TOOL_DESCRIPTION,
|
|
140
172
|
}
|
|
141
173
|
}
|
|
142
174
|
|