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.
- {entari_plugin_hyw-4.0.0rc6/src/entari_plugin_hyw.egg-info → entari_plugin_hyw-4.0.0rc7}/PKG-INFO +1 -1
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/pyproject.toml +1 -1
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/__init__.py +24 -2
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/index.html +26 -26
- entari_plugin_hyw-4.0.0rc7/src/entari_plugin_hyw/browser/engines/default.py +166 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/browser/manager.py +1 -1
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/browser/service.py +268 -27
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/src/App.vue +32 -1
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/definitions.py +22 -3
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/history.py +34 -44
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/modular_pipeline.py +130 -36
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/search.py +45 -9
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/stage_base.py +3 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/stage_instruct.py +13 -3
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/stage_summary.py +6 -0
- entari_plugin_hyw-4.0.0rc7/src/entari_plugin_hyw/stage_vision.py +113 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7/src/entari_plugin_hyw.egg-info}/PKG-INFO +1 -1
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw.egg-info/SOURCES.txt +2 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/MANIFEST.in +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/README.md +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/setup.cfg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/anthropic.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/cerebras.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/deepseek.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/gemini.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/google.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/grok.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/huggingface.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/microsoft.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/minimax.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/mistral.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/nvida.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/openai.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/openrouter.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/perplexity.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/qwen.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/xai.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/xiaomi.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/logos/zai.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/card-dist/vite.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/anthropic.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/cerebras.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/deepseek.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/gemini.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/google.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/grok.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/huggingface.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/microsoft.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/minimax.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/mistral.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/nvida.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/openai.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/openrouter.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/perplexity.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/qwen.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/xai.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/xiaomi.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/assets/icon/zai.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/browser/__init__.py +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/browser/engines/base.py +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/browser/engines/bing.py +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/browser/engines/duckduckgo.py +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/browser/engines/google.py +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/browser/landing.html +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/.gitignore +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/README.md +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/index.html +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/package-lock.json +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/package.json +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/anthropic.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/cerebras.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/deepseek.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/gemini.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/google.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/grok.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/huggingface.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/microsoft.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/minimax.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/mistral.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/nvida.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/openai.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/openrouter.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/perplexity.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/qwen.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/xai.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/xiaomi.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/logos/zai.png +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/public/vite.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/src/assets/vue.svg +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/src/components/HelloWorld.vue +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/src/components/MarkdownContent.vue +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/src/components/SectionCard.vue +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/src/components/StageCard.vue +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/src/main.ts +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/src/style.css +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/src/test_regex.js +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/src/types.ts +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/tsconfig.app.json +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/tsconfig.json +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/tsconfig.node.json +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/card-ui/vite.config.ts +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/image_cache.py +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/misc.py +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/render_vue.py +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw/stage_instruct_deepsearch.py +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw.egg-info/dependency_links.txt +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw.egg-info/requires.txt +0 -0
- {entari_plugin_hyw-4.0.0rc6 → entari_plugin_hyw-4.0.0rc7}/src/entari_plugin_hyw.egg-info/top_level.txt +0 -0
|
@@ -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-
|
|
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
|
-
|
|
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}")
|