beswarm 0.2.32__tar.gz → 0.2.33__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.

Potentially problematic release.


This version of beswarm might be problematic. Click here for more details.

Files changed (150) hide show
  1. {beswarm-0.2.32 → beswarm-0.2.33}/PKG-INFO +2 -1
  2. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/setup.py +1 -1
  3. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/core/request.py +70 -24
  4. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/plugins/websearch.py +2 -0
  5. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm.egg-info/PKG-INFO +2 -1
  6. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm.egg-info/requires.txt +1 -0
  7. {beswarm-0.2.32 → beswarm-0.2.33}/pyproject.toml +3 -2
  8. {beswarm-0.2.32 → beswarm-0.2.33}/MANIFEST.in +0 -0
  9. {beswarm-0.2.32 → beswarm-0.2.33}/README.md +0 -0
  10. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/__init__.py +0 -0
  11. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/main.py +0 -0
  12. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/__init__.py +0 -0
  13. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/core/__init__.py +0 -0
  14. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/core/log_config.py +0 -0
  15. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/core/models.py +0 -0
  16. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/core/response.py +0 -0
  17. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/core/test/test_base_api.py +0 -0
  18. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/core/test/test_geminimask.py +0 -0
  19. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/core/test/test_image.py +0 -0
  20. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/core/test/test_payload.py +0 -0
  21. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/core/utils.py +0 -0
  22. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/models/__init__.py +0 -0
  23. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/models/audio.py +0 -0
  24. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/models/base.py +0 -0
  25. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/models/chatgpt.py +0 -0
  26. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/models/claude.py +0 -0
  27. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/models/duckduckgo.py +0 -0
  28. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/models/gemini.py +0 -0
  29. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/models/groq.py +0 -0
  30. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/models/vertex.py +0 -0
  31. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/plugins/__init__.py +0 -0
  32. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/plugins/arXiv.py +0 -0
  33. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/plugins/config.py +0 -0
  34. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/plugins/excute_command.py +0 -0
  35. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/plugins/get_time.py +0 -0
  36. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/plugins/image.py +0 -0
  37. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/plugins/list_directory.py +0 -0
  38. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/plugins/read_file.py +0 -0
  39. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/plugins/read_image.py +0 -0
  40. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/plugins/readonly.py +0 -0
  41. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/plugins/registry.py +0 -0
  42. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/plugins/run_python.py +0 -0
  43. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/plugins/write_file.py +0 -0
  44. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/utils/__init__.py +0 -0
  45. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/utils/prompt.py +0 -0
  46. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/src/aient/utils/scripts.py +0 -0
  47. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/chatgpt.py +0 -0
  48. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/claude.py +0 -0
  49. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test.py +0 -0
  50. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_API.py +0 -0
  51. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_Deepbricks.py +0 -0
  52. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_Web_crawler.py +0 -0
  53. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_aiwaves.py +0 -0
  54. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_aiwaves_arxiv.py +0 -0
  55. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_ask_gemini.py +0 -0
  56. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_class.py +0 -0
  57. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_claude.py +0 -0
  58. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_claude_zh_char.py +0 -0
  59. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_ddg_search.py +0 -0
  60. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_download_pdf.py +0 -0
  61. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_gemini.py +0 -0
  62. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_get_token_dict.py +0 -0
  63. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_google_search.py +0 -0
  64. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_jieba.py +0 -0
  65. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_json.py +0 -0
  66. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_logging.py +0 -0
  67. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_ollama.py +0 -0
  68. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_plugin.py +0 -0
  69. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_py_run.py +0 -0
  70. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_requests.py +0 -0
  71. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_search.py +0 -0
  72. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_tikitoken.py +0 -0
  73. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_token.py +0 -0
  74. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_url.py +0 -0
  75. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_whisper.py +0 -0
  76. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_wildcard.py +0 -0
  77. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/aient/test/test_yjh.py +0 -0
  78. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/bemcp/bemcp/__init__.py +0 -0
  79. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/bemcp/bemcp/decorator.py +0 -0
  80. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/bemcp/bemcp/main.py +0 -0
  81. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/bemcp/bemcp/utils.py +0 -0
  82. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/bemcp/test/client.py +0 -0
  83. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/bemcp/test/server.py +0 -0
  84. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/prompt.py +0 -0
  85. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/README.md +0 -0
  86. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
  87. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/c-tags.scm +0 -0
  88. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
  89. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
  90. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
  91. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
  92. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/d-tags.scm +0 -0
  93. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
  94. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
  95. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
  96. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
  97. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
  98. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/go-tags.scm +0 -0
  99. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/java-tags.scm +0 -0
  100. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
  101. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
  102. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
  103. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
  104. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/python-tags.scm +0 -0
  105. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/r-tags.scm +0 -0
  106. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
  107. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
  108. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
  109. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
  110. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
  111. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
  112. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-languages/README.md +0 -0
  113. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-languages/c-tags.scm +0 -0
  114. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
  115. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-languages/cpp-tags.scm +0 -0
  116. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-languages/dart-tags.scm +0 -0
  117. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-languages/elisp-tags.scm +0 -0
  118. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-languages/elixir-tags.scm +0 -0
  119. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-languages/elm-tags.scm +0 -0
  120. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-languages/go-tags.scm +0 -0
  121. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-languages/hcl-tags.scm +0 -0
  122. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-languages/java-tags.scm +0 -0
  123. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-languages/javascript-tags.scm +0 -0
  124. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
  125. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
  126. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-languages/php-tags.scm +0 -0
  127. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-languages/python-tags.scm +0 -0
  128. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-languages/ql-tags.scm +0 -0
  129. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-languages/ruby-tags.scm +0 -0
  130. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-languages/rust-tags.scm +0 -0
  131. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-languages/scala-tags.scm +0 -0
  132. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/queries/tree-sitter-languages/typescript-tags.scm +0 -0
  133. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/tools/__init__.py +0 -0
  134. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/tools/click.py +0 -0
  135. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/tools/completion.py +0 -0
  136. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/tools/edit_file.py +0 -0
  137. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/tools/planner.py +0 -0
  138. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/tools/repomap.py +0 -0
  139. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/tools/request_input.py +0 -0
  140. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/tools/screenshot.py +0 -0
  141. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/tools/search_arxiv.py +0 -0
  142. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/tools/search_web.py +0 -0
  143. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/tools/taskmanager.py +0 -0
  144. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/tools/worker.py +0 -0
  145. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm/utils.py +0 -0
  146. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm.egg-info/SOURCES.txt +0 -0
  147. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm.egg-info/dependency_links.txt +0 -0
  148. {beswarm-0.2.32 → beswarm-0.2.33}/beswarm.egg-info/top_level.txt +0 -0
  149. {beswarm-0.2.32 → beswarm-0.2.33}/setup.cfg +0 -0
  150. {beswarm-0.2.32 → beswarm-0.2.33}/test/test_TaskManager.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: beswarm
3
- Version: 0.2.32
3
+ Version: 0.2.33
4
4
  Summary: MAS
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -21,6 +21,7 @@ Requires-Dist: pyautogui>=0.9.54
21
21
  Requires-Dist: pygments>=2.19.1
22
22
  Requires-Dist: pyperclip>=1.9.0
23
23
  Requires-Dist: pytz>=2025.2
24
+ Requires-Dist: reaktiv>=0.15.1
24
25
  Requires-Dist: requests>=2.32.3
25
26
  Requires-Dist: scipy>=1.15.3
26
27
  Requires-Dist: tqdm>=4.67.1
@@ -4,7 +4,7 @@ from setuptools import setup, find_packages
4
4
 
5
5
  setup(
6
6
  name="aient",
7
- version="1.1.49",
7
+ version="1.1.51",
8
8
  description="Aient: The Awakening of Agent.",
9
9
  long_description=Path.open(Path("README.md"), encoding="utf-8").read(),
10
10
  long_description_content_type="text/markdown",
@@ -239,26 +239,50 @@ async def get_gemini_payload(request, engine, provider, api_key=None):
239
239
  ]
240
240
 
241
241
  if "gemini-2.5" in original_model:
242
- payload["generationConfig"]["thinkingConfig"] = {
243
- "includeThoughts": True,
244
- }
242
+ generation_config = payload.get("generationConfig", {})
245
243
  # 从请求模型名中检测思考预算设置
246
244
  m = re.match(r".*-think-(-?\d+)", request.model)
247
245
  if m:
248
246
  try:
249
247
  val = int(m.group(1))
250
- if val > 32768 and "gemini-2.5-pro" in original_model:
251
- val = 32768
252
- elif val < 128 and "gemini-2.5-pro" in original_model:
253
- val = 128
254
- elif val <= 0:
255
- val = 0
256
- elif val > 24576:
257
- val = 24576
258
- payload["generationConfig"]["thinkingConfig"]["thinkingBudget"] = val
248
+ budget = None
249
+ # gemini-2.5-pro: [128, 32768]
250
+ if "gemini-2.5-pro" in original_model:
251
+ if val < 128:
252
+ budget = 128
253
+ elif val > 32768:
254
+ budget = 32768
255
+ else: # 128 <= val <= 32768
256
+ budget = val
257
+
258
+ # gemini-2.5-flash-lite: [0] or [512, 24576]
259
+ elif "gemini-2.5-flash-lite" in original_model:
260
+ if val > 0 and val < 512:
261
+ budget = 512
262
+ elif val > 24576:
263
+ budget = 24576
264
+ else: # Includes 0 and valid range, and clamps invalid negatives
265
+ budget = val if val >= 0 else 0
266
+
267
+ # gemini-2.5-flash (and other gemini-2.5 models as a fallback): [0, 24576]
268
+ else:
269
+ if val > 24576:
270
+ budget = 24576
271
+ else: # Includes 0 and valid range, and clamps invalid negatives
272
+ budget = val if val >= 0 else 0
273
+
274
+ payload["generationConfig"]["thinkingConfig"] = {
275
+ "includeThoughts": True,
276
+ "thinkingBudget": budget
277
+ }
259
278
  except ValueError:
260
279
  # 如果转换为整数失败,忽略思考预算设置
261
280
  pass
281
+ else:
282
+ payload["generationConfig"]["thinkingConfig"] = {
283
+ "includeThoughts": True,
284
+ }
285
+ payload["generationConfig"] = generation_config
262
286
 
263
287
  # # 检测search标签
264
288
  # if request.model.endswith("-search"):
@@ -535,26 +559,48 @@ async def get_vertex_gemini_payload(request, engine, provider, api_key=None):
535
559
  payload["generationConfig"]["max_output_tokens"] = 8192
536
560
 
537
561
  if "gemini-2.5" in original_model:
538
- payload["generationConfig"]["thinkingConfig"] = {
539
- "includeThoughts": True,
540
- }
541
562
  # 从请求模型名中检测思考预算设置
542
563
  m = re.match(r".*-think-(-?\d+)", request.model)
543
564
  if m:
544
565
  try:
545
566
  val = int(m.group(1))
546
- if val > 32768 and "gemini-2.5-pro" in original_model:
547
- val = 32768
548
- elif val < 128 and "gemini-2.5-pro" in original_model:
549
- val = 128
550
- elif val <= 0:
551
- val = 0
552
- elif val > 24576:
553
- val = 24576
554
- payload["generationConfig"]["thinkingConfig"]["thinkingBudget"] = val
567
+ budget = None
568
+ # gemini-2.5-pro: [128, 32768]
569
+ if "gemini-2.5-pro" in original_model:
570
+ if val < 128:
571
+ budget = 128
572
+ elif val > 32768:
573
+ budget = 32768
574
+ else: # 128 <= val <= 32768
575
+ budget = val
576
+
577
+ # gemini-2.5-flash-lite: [0] or [512, 24576]
578
+ elif "gemini-2.5-flash-lite" in original_model:
579
+ if val > 0 and val < 512:
580
+ budget = 512
581
+ elif val > 24576:
582
+ budget = 24576
583
+ else: # Includes 0 and valid range, and clamps invalid negatives
584
+ budget = val if val >= 0 else 0
585
+
586
+ # gemini-2.5-flash (and other gemini-2.5 models as a fallback): [0, 24576]
587
+ else:
588
+ if val > 24576:
589
+ budget = 24576
590
+ else: # Includes 0 and valid range, and clamps invalid negatives
591
+ budget = val if val >= 0 else 0
592
+
593
+ payload["generationConfig"]["thinkingConfig"] = {
594
+ "includeThoughts": True,
595
+ "thinkingBudget": budget
596
+ }
555
597
  except ValueError:
556
598
  # 如果转换为整数失败,忽略思考预算设置
557
599
  pass
600
+ else:
601
+ payload["generationConfig"]["thinkingConfig"] = {
602
+ "includeThoughts": True,
603
+ }
558
604
 
559
605
  # if request.model.endswith("-search"):
560
606
  # payload["tools"] = [search_tool]
@@ -44,6 +44,8 @@ def url_to_markdown(url):
44
44
  body = body[0]
45
45
  body = Cleaner(javascript=True, style=True).clean_html(body)
46
46
  return ''.join(lxml.html.tostring(c, encoding='unicode') for c in body)
47
+ except ImportError as e:
48
+ raise e
47
49
  except Exception as e:
48
50
  # print('\033[31m')
49
51
  # print("error: url_to_markdown url", url)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: beswarm
3
- Version: 0.2.32
3
+ Version: 0.2.33
4
4
  Summary: MAS
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -21,6 +21,7 @@ Requires-Dist: pyautogui>=0.9.54
21
21
  Requires-Dist: pygments>=2.19.1
22
22
  Requires-Dist: pyperclip>=1.9.0
23
23
  Requires-Dist: pytz>=2025.2
24
+ Requires-Dist: reaktiv>=0.15.1
24
25
  Requires-Dist: requests>=2.32.3
25
26
  Requires-Dist: scipy>=1.15.3
26
27
  Requires-Dist: tqdm>=4.67.1
@@ -15,6 +15,7 @@ pyautogui>=0.9.54
15
15
  pygments>=2.19.1
16
16
  pyperclip>=1.9.0
17
17
  pytz>=2025.2
18
+ reaktiv>=0.15.1
18
19
  requests>=2.32.3
19
20
  scipy>=1.15.3
20
21
  tqdm>=4.67.1
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "beswarm"
3
- version = "0.2.32"
3
+ version = "0.2.33"
4
4
  description = "MAS"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -22,6 +22,7 @@ dependencies = [
22
22
  "pygments>=2.19.1",
23
23
  "pyperclip>=1.9.0",
24
24
  "pytz>=2025.2",
25
+ "reaktiv>=0.15.1",
25
26
  "requests>=2.32.3",
26
27
  "scipy>=1.15.3",
27
28
  "tqdm>=4.67.1",
@@ -37,4 +38,4 @@ search = [
37
38
 
38
39
  [tool.setuptools.packages.find]
39
40
  where = ["."]
40
- include = ["beswarm*"]
41
+ include = ["beswarm*"]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes