vibego 0.2.37__py3-none-any.whl → 0.2.39__py3-none-any.whl
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 vibego might be problematic. Click here for more details.
- bot.py +16 -34
- {vibego-0.2.37.dist-info → vibego-0.2.39.dist-info}/METADATA +1 -1
- {vibego-0.2.37.dist-info → vibego-0.2.39.dist-info}/RECORD +7 -7
- vibego_cli/__init__.py +1 -1
- {vibego-0.2.37.dist-info → vibego-0.2.39.dist-info}/WHEEL +0 -0
- {vibego-0.2.37.dist-info → vibego-0.2.39.dist-info}/entry_points.txt +0 -0
- {vibego-0.2.37.dist-info → vibego-0.2.39.dist-info}/top_level.txt +0 -0
bot.py
CHANGED
|
@@ -136,7 +136,17 @@ if _parse_mode_key in _PARSE_MODE_CANDIDATES:
|
|
|
136
136
|
if MODEL_OUTPUT_PARSE_MODE is None:
|
|
137
137
|
worker_log.info("模型输出将按纯文本发送")
|
|
138
138
|
else:
|
|
139
|
-
|
|
139
|
+
mode_value = (
|
|
140
|
+
MODEL_OUTPUT_PARSE_MODE.value
|
|
141
|
+
if isinstance(MODEL_OUTPUT_PARSE_MODE, ParseMode)
|
|
142
|
+
else str(MODEL_OUTPUT_PARSE_MODE)
|
|
143
|
+
)
|
|
144
|
+
worker_log.info("模型输出 parse_mode:%s", mode_value)
|
|
145
|
+
if MODEL_OUTPUT_PARSE_MODE != ParseMode.MARKDOWN_V2:
|
|
146
|
+
worker_log.warning(
|
|
147
|
+
"当前 parse_mode=%s,将按配置发送原始转义符号(推荐 MarkdownV2)",
|
|
148
|
+
mode_value,
|
|
149
|
+
)
|
|
140
150
|
else:
|
|
141
151
|
MODEL_OUTPUT_PARSE_MODE = ParseMode.MARKDOWN_V2
|
|
142
152
|
worker_log.warning(
|
|
@@ -482,12 +492,6 @@ _ESCAPED_CODE_BLOCK_PATTERN = re.compile(
|
|
|
482
492
|
re.DOTALL
|
|
483
493
|
)
|
|
484
494
|
|
|
485
|
-
_OPTIMIZE_CHECKBOX_PATTERN = re.compile(r"\\\[\s+\\\]")
|
|
486
|
-
_OPTIMIZE_DOT_PATTERN = re.compile(
|
|
487
|
-
r"(?P<prefix>[0-9A-Za-z\u4e00-\u9fff])\\\.(?=(?:\s|$|[)\]\u3002\uff0c\uff1b\uff1a\uff01\uff1f]))"
|
|
488
|
-
)
|
|
489
|
-
|
|
490
|
-
|
|
491
495
|
def _is_already_escaped(text: str) -> bool:
|
|
492
496
|
"""检测文本是否已经包含 MarkdownV2 转义字符。
|
|
493
497
|
|
|
@@ -509,8 +513,8 @@ def _is_already_escaped(text: str) -> bool:
|
|
|
509
513
|
|
|
510
514
|
# 对于短文本,放宽检测条件
|
|
511
515
|
if len(text) < 20:
|
|
512
|
-
#
|
|
513
|
-
if len(matches) >=
|
|
516
|
+
# 短文本出现任意转义字符即可认定为已转义,防止重复转义
|
|
517
|
+
if len(matches) >= 1:
|
|
514
518
|
return True
|
|
515
519
|
else:
|
|
516
520
|
# 检查转义字符密度(降低到 3%)
|
|
@@ -589,31 +593,9 @@ def _prepare_model_payload(text: str) -> str:
|
|
|
589
593
|
|
|
590
594
|
|
|
591
595
|
def _optimize_markdown_v2_payload(payload: str) -> str:
|
|
592
|
-
"""
|
|
593
|
-
|
|
594
|
-
if not payload or "\\" not in payload:
|
|
595
|
-
return payload
|
|
596
|
+
"""占位函数:保留严格转义版本,确保 MarkdownV2 合规。"""
|
|
596
597
|
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
def _preserve(segment: re.Match[str]) -> str:
|
|
600
|
-
placeholder = f"__OPT_CODE_BLOCK_{len(preserved_segments)}__"
|
|
601
|
-
preserved_segments.append(segment.group(0))
|
|
602
|
-
return placeholder
|
|
603
|
-
|
|
604
|
-
stripped = CODE_SEGMENT_RE.sub(_preserve, payload)
|
|
605
|
-
stripped = _OPTIMIZE_CHECKBOX_PATTERN.sub("[ ]", stripped)
|
|
606
|
-
|
|
607
|
-
def _dot_replacer(match: re.Match[str]) -> str:
|
|
608
|
-
prefix = match.group("prefix")
|
|
609
|
-
return f"{prefix}."
|
|
610
|
-
|
|
611
|
-
stripped = _OPTIMIZE_DOT_PATTERN.sub(_dot_replacer, stripped)
|
|
612
|
-
|
|
613
|
-
for index, segment in enumerate(preserved_segments):
|
|
614
|
-
stripped = stripped.replace(f"__OPT_CODE_BLOCK_{index}__", segment)
|
|
615
|
-
|
|
616
|
-
return stripped
|
|
598
|
+
return payload
|
|
617
599
|
|
|
618
600
|
|
|
619
601
|
def _prepare_model_payload_variants(text: str) -> tuple[str, Optional[str]]:
|
|
@@ -2666,7 +2648,7 @@ def _build_status_buttons(task_id: str, current_status: str) -> list[list[Inline
|
|
|
2666
2648
|
for status in STATUS_DISPLAY_ORDER:
|
|
2667
2649
|
text = _format_status(status)
|
|
2668
2650
|
if status == current_status:
|
|
2669
|
-
text = f"
|
|
2651
|
+
text = f"{text} (当前)"
|
|
2670
2652
|
row.append(
|
|
2671
2653
|
InlineKeyboardButton(
|
|
2672
2654
|
text=text,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
bot.py,sha256=
|
|
1
|
+
bot.py,sha256=1SThFpCzn0Wfj0ovGHJRowK_uZL_0alQGu2zQU4CN-g,273819
|
|
2
2
|
logging_setup.py,sha256=gvxHi8mUwK3IhXJrsGNTDo-DR6ngkyav1X-tvlBF_IE,4613
|
|
3
3
|
master.py,sha256=ZW4A3Gh0MUKFnfZX-VJ7OCNnBzlEcOWkPKYH92OfyKA,112967
|
|
4
4
|
project_repository.py,sha256=UcthtSGOJK0cTE5bQCneo3xkomRG-kyc1N1QVqxeHIs,17577
|
|
@@ -427,14 +427,14 @@ tasks/fsm.py,sha256=rKXXLEieQQU4r2z_CZUvn1_70FXiZXBBugF40gpe_tQ,1476
|
|
|
427
427
|
tasks/models.py,sha256=N_qqRBo9xMSV0vbn4k6bLBXT8C_dp_oTFUxvdx16ZQM,2459
|
|
428
428
|
tasks/service.py,sha256=w_S_aWiVqRXzXEpimLDsuCCCX2lB5uDkff9aKThBw9c,41916
|
|
429
429
|
telegram_markdown/__init__.py,sha256=bG3H9fWn5GfTqC6xvd49xbVdYWfSFeaX2nefweOYcWY,9757
|
|
430
|
-
vibego_cli/__init__.py,sha256=
|
|
430
|
+
vibego_cli/__init__.py,sha256=JrNDd69m19jqQtCE-skg54kfgY00_IW_NusHO-VuUZg,311
|
|
431
431
|
vibego_cli/__main__.py,sha256=qqTrYmRRLe4361fMzbI3-CqpZ7AhTofIHmfp4ykrrBY,158
|
|
432
432
|
vibego_cli/config.py,sha256=VxkPJMq01tA3h3cOkH-z_tiP7pMgfSGGicRvUnCWkhI,3054
|
|
433
433
|
vibego_cli/deps.py,sha256=1nRXI7Dd-S1hYE8DligzK5fIluQWETRUj4_OKL0DikQ,1419
|
|
434
434
|
vibego_cli/main.py,sha256=X__NXwZnIDIFbdKSTbNyZgZHKcPlN0DQz9sqTI1aQ9E,12158
|
|
435
435
|
vibego_cli/data/worker_requirements.txt,sha256=QSt30DSSSHtfucTFPpc7twk9kLS5rVLNTcvDiagxrZg,62
|
|
436
|
-
vibego-0.2.
|
|
437
|
-
vibego-0.2.
|
|
438
|
-
vibego-0.2.
|
|
439
|
-
vibego-0.2.
|
|
440
|
-
vibego-0.2.
|
|
436
|
+
vibego-0.2.39.dist-info/METADATA,sha256=vkwbG6_GDiGr3NTCK9PD8nxAT45wBTJiknjcveqK-AY,10519
|
|
437
|
+
vibego-0.2.39.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
438
|
+
vibego-0.2.39.dist-info/entry_points.txt,sha256=Lsy_zm-dlyxt8-9DL9blBReIwU2k22c8-kifr46ND1M,48
|
|
439
|
+
vibego-0.2.39.dist-info/top_level.txt,sha256=rWDj9KERtbJL6Lar9Xa0O6dthaFSY_jc1WNpQgUrXCM,87
|
|
440
|
+
vibego-0.2.39.dist-info/RECORD,,
|
vibego_cli/__init__.py
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|