entari-plugin-hyw 4.0.0rc6__tar.gz → 4.0.0rc7__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 entari-plugin-hyw might be problematic. Click here for more details.

Files changed (108) hide show
  1. {entari_plugin_hyw-4.0.0rc6/src/entari_plugin_hyw.egg-info → entari_plugin_hyw-4.0.0rc7}/PKG-INFO +1 -1
  2. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/pyproject.toml +1 -1
  3. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/__init__.py +24 -2
  4. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/index.html +26 -26
  5. entari_plugin_hyw-4.0.0rc7/src/entari_plugin_hyw/browser/engines/default.py +166 -0
  6. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/browser/manager.py +1 -1
  7. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/browser/service.py +268 -27
  8. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/src/App.vue +32 -1
  9. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/definitions.py +22 -3
  10. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/history.py +34 -44
  11. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/modular_pipeline.py +130 -36
  12. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/search.py +45 -9
  13. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/stage_base.py +3 -0
  14. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/stage_instruct.py +13 -3
  15. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/stage_summary.py +6 -0
  16. entari_plugin_hyw-4.0.0rc7/src/entari_plugin_hyw/stage_vision.py +113 -0
  17. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7/src/entari_plugin_hyw.egg-info}/PKG-INFO +1 -1
  18. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw.egg-info/SOURCES.txt +2 -0
  19. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/MANIFEST.in +0 -0
  20. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/README.md +0 -0
  21. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/setup.cfg +0 -0
  22. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/anthropic.svg +0 -0
  23. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/cerebras.svg +0 -0
  24. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/deepseek.png +0 -0
  25. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/gemini.svg +0 -0
  26. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/google.svg +0 -0
  27. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/grok.png +0 -0
  28. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/huggingface.png +0 -0
  29. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/microsoft.svg +0 -0
  30. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/minimax.png +0 -0
  31. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/mistral.png +0 -0
  32. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/nvida.png +0 -0
  33. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/openai.svg +0 -0
  34. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/openrouter.png +0 -0
  35. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/perplexity.svg +0 -0
  36. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/qwen.png +0 -0
  37. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/xai.png +0 -0
  38. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/xiaomi.png +0 -0
  39. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/zai.png +0 -0
  40. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/vite.svg +0 -0
  41. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/anthropic.svg +0 -0
  42. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/cerebras.svg +0 -0
  43. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/deepseek.png +0 -0
  44. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/gemini.svg +0 -0
  45. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/google.svg +0 -0
  46. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/grok.png +0 -0
  47. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/huggingface.png +0 -0
  48. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/microsoft.svg +0 -0
  49. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/minimax.png +0 -0
  50. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/mistral.png +0 -0
  51. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/nvida.png +0 -0
  52. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/openai.svg +0 -0
  53. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/openrouter.png +0 -0
  54. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/perplexity.svg +0 -0
  55. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/qwen.png +0 -0
  56. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/xai.png +0 -0
  57. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/xiaomi.png +0 -0
  58. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/zai.png +0 -0
  59. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/browser/__init__.py +0 -0
  60. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/browser/engines/base.py +0 -0
  61. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/browser/engines/bing.py +0 -0
  62. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/browser/engines/duckduckgo.py +0 -0
  63. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/browser/engines/google.py +0 -0
  64. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/browser/landing.html +0 -0
  65. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/.gitignore +0 -0
  66. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/README.md +0 -0
  67. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/index.html +0 -0
  68. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/package-lock.json +0 -0
  69. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/package.json +0 -0
  70. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/anthropic.svg +0 -0
  71. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/cerebras.svg +0 -0
  72. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/deepseek.png +0 -0
  73. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/gemini.svg +0 -0
  74. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/google.svg +0 -0
  75. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/grok.png +0 -0
  76. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/huggingface.png +0 -0
  77. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/microsoft.svg +0 -0
  78. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/minimax.png +0 -0
  79. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/mistral.png +0 -0
  80. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/nvida.png +0 -0
  81. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/openai.svg +0 -0
  82. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/openrouter.png +0 -0
  83. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/perplexity.svg +0 -0
  84. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/qwen.png +0 -0
  85. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/xai.png +0 -0
  86. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/xiaomi.png +0 -0
  87. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/zai.png +0 -0
  88. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/vite.svg +0 -0
  89. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/src/assets/vue.svg +0 -0
  90. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/src/components/HelloWorld.vue +0 -0
  91. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/src/components/MarkdownContent.vue +0 -0
  92. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/src/components/SectionCard.vue +0 -0
  93. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/src/components/StageCard.vue +0 -0
  94. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/src/main.ts +0 -0
  95. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/src/style.css +0 -0
  96. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/src/test_regex.js +0 -0
  97. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/src/types.ts +0 -0
  98. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/tsconfig.app.json +0 -0
  99. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/tsconfig.json +0 -0
  100. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/tsconfig.node.json +0 -0
  101. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/vite.config.ts +0 -0
  102. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/image_cache.py +0 -0
  103. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/misc.py +0 -0
  104. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/render_vue.py +0 -0
  105. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/stage_instruct_deepsearch.py +0 -0
  106. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw.egg-info/dependency_links.txt +0 -0
  107. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw.egg-info/requires.txt +0 -0
  108. {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: entari_plugin_hyw
3
- Version: 4.0.0rc6
3
+ Version: 4.0.0rc7
4
4
  Summary: Use large language models to interpret chat messages
5
5
  Author-email: kumoSleeping <zjr2992@outlook.com>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "entari_plugin_hyw"
7
- version = "4.0.0-rc6"
7
+ version = "4.0.0-rc7"
8
8
  description = "Use large language models to interpret chat messages"
9
9
  authors = [{name = "kumoSleeping", email = "zjr2992@outlook.com"}]
10
10
  dependencies = [
@@ -118,6 +118,7 @@ class HywConfig(BasicConfModel):
118
118
  instruct: Optional[ModelConfig] = None
119
119
  qa: Optional[ModelConfig] = None
120
120
  main: Optional[ModelConfig] = None # Summary stage
121
+ vision: Optional[ModelConfig] = None # Vision description stage
121
122
 
122
123
  # Search/Fetch Settings
123
124
  search_engine: str = "google"
@@ -145,6 +146,8 @@ class HywConfig(BasicConfModel):
145
146
  self.qa = ModelConfig(**self.qa)
146
147
  if isinstance(self.main, dict):
147
148
  self.main = ModelConfig(**self.main)
149
+ if isinstance(self.vision, dict):
150
+ self.vision = ModelConfig(**self.vision)
148
151
 
149
152
  def get_model_config(self, stage: str) -> Dict[str, Any]:
150
153
  """
@@ -169,6 +172,9 @@ class HywConfig(BasicConfModel):
169
172
  secondary = self.main
170
173
  elif stage == "main":
171
174
  primary = self.main
175
+ elif stage == "vision":
176
+ primary = self.vision
177
+ secondary = self.main # Fallback to main if vision not fully configured
172
178
 
173
179
  # Build result with fallback logic
174
180
  def resolve(field_name: str, is_essential: bool = True):
@@ -362,7 +368,18 @@ async def process_request(
362
368
 
363
369
  # Call Pipeline directly
364
370
  safe_input = msg_text
365
- pipeline = ModularPipeline(conf)
371
+
372
+ async def send_noti(msg: str):
373
+ try:
374
+ # Send simple text notification
375
+ if conf.quote:
376
+ await session.send([Quote(session.event.message.id), msg])
377
+ else:
378
+ await session.send(msg)
379
+ except Exception as e:
380
+ logger.warning(f"Failed to send notification: {e}")
381
+
382
+ pipeline = ModularPipeline(conf, send_func=send_noti)
366
383
  try:
367
384
  resp = await pipeline.execute(
368
385
  safe_input,
@@ -425,6 +442,7 @@ async def process_request(
425
442
  tab_id=tab_id,
426
443
  )
427
444
  else:
445
+ logger.info(f"Rendering card with {len(structured.get('references', []))} references...")
428
446
  render_ok = await renderer.render(
429
447
  markdown_content=content,
430
448
  output_path=output_path,
@@ -436,6 +454,7 @@ async def process_request(
436
454
  stages_used=final_resp.get("stages_used", []),
437
455
  theme_color=conf.theme_color,
438
456
  )
457
+ logger.info(f"Render completed: {render_ok}")
439
458
 
440
459
  # Send & Save
441
460
  if not render_ok:
@@ -482,10 +501,13 @@ async def process_request(
482
501
  if conf.save_conversation and sent_id:
483
502
  try:
484
503
  # Pass web_results to save fetched pages as markdown, and output image
504
+ # Also pass vision_trace and instruct_traces for dedicated logs
485
505
  history_manager.save_to_disk(
486
506
  sent_id,
487
507
  web_results=final_resp.get("web_results"),
488
- image_path=output_path if 'output_path' in locals() else None
508
+ image_path=output_path if 'output_path' in locals() else None,
509
+ vision_trace=final_resp.get("vision_trace"),
510
+ instruct_traces=final_resp.get("instruct_traces"),
489
511
  )
490
512
  except Exception as e:
491
513
  logger.warning(f"Failed to save conversation: {e}")