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.
Files changed (57) hide show
  1. {mobile_mcp_ai-2.6.3/mobile_mcp_ai.egg-info → mobile_mcp_ai-2.6.5}/PKG-INFO +1 -1
  2. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/config.py +32 -0
  3. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/basic_tools_lite.py +679 -602
  4. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/mcp_tools/mcp_server.py +241 -322
  5. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5/mobile_mcp_ai.egg-info}/PKG-INFO +1 -1
  6. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/setup.py +1 -1
  7. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/LICENSE +0 -0
  8. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/MANIFEST.in +0 -0
  9. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/README.md +0 -0
  10. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/__init__.py +0 -0
  11. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/__init__.py +0 -0
  12. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/device_manager.py +0 -0
  13. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/dynamic_config.py +0 -0
  14. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/ios_client_wda.py +0 -0
  15. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/ios_device_manager_wda.py +0 -0
  16. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/mobile_client.py +0 -0
  17. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/template_matcher.py +0 -0
  18. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/templates/close_buttons/auto_x_0112_151217.png +0 -0
  19. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/templates/close_buttons/auto_x_0112_152037.png +0 -0
  20. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/templates/close_buttons/auto_x_0112_152840.png +0 -0
  21. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/templates/close_buttons/auto_x_0112_153256.png +0 -0
  22. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/templates/close_buttons/auto_x_0112_154847.png +0 -0
  23. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/templates/close_buttons/gray_x_stock_ad.png +0 -0
  24. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/utils/__init__.py +0 -0
  25. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/utils/logger.py +0 -0
  26. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/utils/operation_history_manager.py +0 -0
  27. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/core/utils/smart_wait.py +0 -0
  28. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/docs/iOS_SETUP_GUIDE.md +0 -0
  29. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/mcp_tools/__init__.py +0 -0
  30. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/mobile_mcp_ai.egg-info/SOURCES.txt +0 -0
  31. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/mobile_mcp_ai.egg-info/dependency_links.txt +0 -0
  32. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/mobile_mcp_ai.egg-info/entry_points.txt +0 -0
  33. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/mobile_mcp_ai.egg-info/not-zip-safe +0 -0
  34. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/mobile_mcp_ai.egg-info/requires.txt +0 -0
  35. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/mobile_mcp_ai.egg-info/top_level.txt +0 -0
  36. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/requirements.txt +0 -0
  37. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/setup.cfg +0 -0
  38. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/templates/close_buttons/auto_x_0112_151217.png +0 -0
  39. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/templates/close_buttons/auto_x_0112_152037.png +0 -0
  40. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/templates/close_buttons/auto_x_0112_152840.png +0 -0
  41. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/templates/close_buttons/auto_x_0112_153256.png +0 -0
  42. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/templates/close_buttons/auto_x_0112_154847.png +0 -0
  43. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/templates/close_buttons/gray_x_stock_ad.png +0 -0
  44. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/tests/test_mind_cloud_my_space.py +0 -0
  45. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/tests/test_mind_correct.py +0 -0
  46. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/tests/test_mind_improved.py +0 -0
  47. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/tests/test_mind_optimized.py +0 -0
  48. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/tests/test_open_mind.py +0 -0
  49. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/tests/test_priority_demo.py +0 -0
  50. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/tests/test_simple.py +0 -0
  51. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/tests/test_/344/270/276/346/212/245.py" +0 -0
  52. {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
  53. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/tests/test_/346/265/213/350/257/225.py" +0 -0
  54. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/utils/__init__.py +0 -0
  55. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/utils/logger.py +0 -0
  56. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/utils/xml_formatter.py +0 -0
  57. {mobile_mcp_ai-2.6.3 → mobile_mcp_ai-2.6.5}/utils/xml_parser.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mobile-mcp-ai
3
- Version: 2.6.3
3
+ Version: 2.6.5
4
4
  Summary: 移动端自动化 MCP Server - 支持 Android/iOS,AI 功能可选(基础工具不需要 AI)
5
5
  Home-page: https://github.com/test111ddff-hash/mobile-mcp-ai
6
6
  Author: douzi
@@ -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