From 0d8c4e048e0c95bff4c6cddc6cee6ac3f2e4ec5e Mon Sep 17 00:00:00 2001 From: fujie Date: Mon, 19 Jan 2026 20:11:55 +0800 Subject: [PATCH] release: async-context-compression v1.2.0 and markdown-normalizer v1.2.4 --- .../filters/async-context-compression.md | 17 +- .../filters/async-context-compression.zh.md | 17 +- docs/plugins/filters/index.md | 2 +- docs/plugins/filters/index.zh.md | 2 +- docs/plugins/filters/markdown_normalizer.md | 4 + .../plugins/filters/markdown_normalizer.zh.md | 4 + plugins/actions/infographic/infographic.png | Bin 165550 -> 239694 bytes .../async-context-compression/README.md | 17 +- .../async-context-compression/README_CN.md | 31 +- .../async_context_compression.py | 644 +++++++++++++++++- .../async_context_compression_cn.py | 637 ++++++++++++++++- plugins/filters/markdown_normalizer/README.md | 8 +- .../filters/markdown_normalizer/README_CN.md | 6 +- .../markdown_normalizer.py | 15 +- .../markdown_normalizer_cn.py | 54 +- 15 files changed, 1370 insertions(+), 88 deletions(-) diff --git a/docs/plugins/filters/async-context-compression.md b/docs/plugins/filters/async-context-compression.md index 0447d91..0d88977 100644 --- a/docs/plugins/filters/async-context-compression.md +++ b/docs/plugins/filters/async-context-compression.md @@ -1,7 +1,7 @@ # Async Context Compression Filter -v1.1.3 +v1.2.0 Reduces token consumption in long conversations through intelligent summarization while maintaining conversational coherence. @@ -34,6 +34,10 @@ This is especially useful for: - :material-check-all: **Open WebUI v0.7.x Compatibility**: Dynamic DB session handling - :material-account-convert: **Improved Compatibility**: Summary role changed to `assistant` - :material-shield-check: **Enhanced Stability**: Resolved race conditions in state management +- :material-ruler: **Preflight Context Check**: Validates context fit before sending +- :material-format-align-justify: **Structure-Aware Trimming**: Preserves document structure +- :material-content-cut: **Native Tool Output Trimming**: Trims verbose tool outputs (Note: Non-native tool outputs are not fully injected into context) +- :material-chart-bar: **Detailed Token Logging**: Granular token breakdown --- @@ -64,10 +68,13 @@ graph TD | Option | Type | Default | Description | |--------|------|---------|-------------| -| `token_threshold` | integer | `4000` | Trigger compression above this token count | -| `preserve_recent` | integer | `5` | Number of recent messages to keep uncompressed | -| `summary_model` | string | `"auto"` | Model to use for summarization | -| `compression_ratio` | float | `0.3` | Target compression ratio | +| `compression_threshold_tokens` | integer | `64000` | Trigger compression above this token count | +| `max_context_tokens` | integer | `128000` | Hard limit for context | +| `keep_first` | integer | `1` | Always keep the first N messages | +| `keep_last` | integer | `6` | Always keep the last N messages | +| `summary_model` | string | `None` | Model to use for summarization | +| `max_summary_tokens` | integer | `16384` | Maximum tokens for the summary | +| `enable_tool_output_trimming` | boolean | `false` | Enable trimming of large tool outputs | --- diff --git a/docs/plugins/filters/async-context-compression.zh.md b/docs/plugins/filters/async-context-compression.zh.md index d7b7fe4..3ce5dd2 100644 --- a/docs/plugins/filters/async-context-compression.zh.md +++ b/docs/plugins/filters/async-context-compression.zh.md @@ -1,7 +1,7 @@ # Async Context Compression(异步上下文压缩) Filter -v1.1.3 +v1.2.0 通过智能摘要减少长对话的 token 消耗,同时保持对话连贯。 @@ -34,6 +34,10 @@ Async Context Compression 过滤器通过以下方式帮助管理长对话的 to - :material-check-all: **Open WebUI v0.7.x 兼容性**:动态数据库会话处理 - :material-account-convert: **兼容性提升**:摘要角色改为 `assistant` - :material-shield-check: **稳定性增强**:解决状态管理竞态条件 +- :material-ruler: **预检上下文检查**:发送前验证上下文是否超限 +- :material-format-align-justify: **结构感知裁剪**:保留文档结构的智能裁剪 +- :material-content-cut: **原生工具输出裁剪**:自动裁剪冗长的工具输出(注意:非原生工具调用输出不会完整注入上下文) +- :material-chart-bar: **详细 Token 日志**:提供细粒度的 Token 统计 --- @@ -64,10 +68,13 @@ graph TD | 选项 | 类型 | 默认值 | 说明 | |--------|------|---------|-------------| -| `token_threshold` | integer | `4000` | 超过该 token 数触发压缩 | -| `preserve_recent` | integer | `5` | 保留不压缩的最近消息数量 | -| `summary_model` | string | `"auto"` | 用于摘要的模型 | -| `compression_ratio` | float | `0.3` | 目标压缩比例 | +| `compression_threshold_tokens` | integer | `64000` | 超过该 token 数触发压缩 | +| `max_context_tokens` | integer | `128000` | 上下文硬性上限 | +| `keep_first` | integer | `1` | 始终保留的前 N 条消息 | +| `keep_last` | integer | `6` | 始终保留的后 N 条消息 | +| `summary_model` | string | `None` | 用于摘要的模型 | +| `max_summary_tokens` | integer | `16384` | 摘要的最大 token 数 | +| `enable_tool_output_trimming` | boolean | `false` | 启用长工具输出裁剪 | --- diff --git a/docs/plugins/filters/index.md b/docs/plugins/filters/index.md index a538ffc..1733803 100644 --- a/docs/plugins/filters/index.md +++ b/docs/plugins/filters/index.md @@ -44,7 +44,7 @@ Filters act as middleware in the message pipeline: Fixes common Markdown formatting issues in LLM outputs, including Mermaid syntax, code blocks, and LaTeX formulas. - **Version:** 1.2.3 + **Version:** 1.2.4 [:octicons-arrow-right-24: Documentation](markdown_normalizer.md) diff --git a/docs/plugins/filters/index.zh.md b/docs/plugins/filters/index.zh.md index b52e167..9df022e 100644 --- a/docs/plugins/filters/index.zh.md +++ b/docs/plugins/filters/index.zh.md @@ -44,7 +44,7 @@ Filter 充当消息管线中的中间件: 修复 LLM 输出中常见的 Markdown 格式问题,包括 Mermaid 语法、代码块和 LaTeX 公式。 - **版本:** 1.2.3 + **版本:** 1.2.4 [:octicons-arrow-right-24: 查看文档](markdown_normalizer.zh.md) diff --git a/docs/plugins/filters/markdown_normalizer.md b/docs/plugins/filters/markdown_normalizer.md index f2ba281..8f6c0cb 100644 --- a/docs/plugins/filters/markdown_normalizer.md +++ b/docs/plugins/filters/markdown_normalizer.md @@ -51,6 +51,10 @@ A content normalizer filter for Open WebUI that fixes common Markdown formatting ## Changelog +### v1.2.4 + +* **Documentation Updates**: Synchronized version numbers across all documentation and code files. + ### v1.2.3 * **List Marker Protection Enhancement**: Fixed a bug where list markers (`*`) followed by plain text and emphasis were having their spaces incorrectly stripped (e.g., `* U16 forward` became `*U16 forward`). diff --git a/docs/plugins/filters/markdown_normalizer.zh.md b/docs/plugins/filters/markdown_normalizer.zh.md index 51c913d..e8ff256 100644 --- a/docs/plugins/filters/markdown_normalizer.zh.md +++ b/docs/plugins/filters/markdown_normalizer.zh.md @@ -51,6 +51,10 @@ ## 更新日志 +### v1.2.4 + +* **文档更新**: 同步了所有文档和代码文件的版本号。 + ### v1.2.3 * **列表标记保护增强**: 修复了列表标记 (`*`) 后跟普通文本和强调标记时,空格被错误剥离的问题(例如 `* U16 前锋` 变成 `*U16 前锋`)。 diff --git a/plugins/actions/infographic/infographic.png b/plugins/actions/infographic/infographic.png index 3fa64f1776b7cde1a123e3ad6e9614592f98364b..84e3c19d5e644b4e9219f7d889cc3c7a5df6e25d 100644 GIT binary patch literal 239694 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

4+fyXT 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

d8{g^|D&j)D-{2mV@G!4 zH~ttVLA-bz0uKFl&v^Mx3Fx5wvnYN;!$83TLm&8O@W)Z_7?7Y*w@aa1DeR`zhx~p% zqrl673U{`^q*A1`WG6lJvyDC|z>)4fv--&(R*a&8YJcqXbgpmh7vS8?5K0c|udDhi z7YU=mA(T;B)~Uq3<(e>t4<`-cBlYdF%LsiOVR7zrP1K79Wv+gB}vjzyIt%?ceg@M1c#5+Hd;)yO;hLfE`%YggpM)%l=O8 z!2W*#M7EWMAmabgi2pJA|7bH00{+M7|JDIf|1tW%k0t*^`oE7o|3vz~Pq_a?`oB-0 z|G=BSP5J-8oBxEe{(SErO#gSV@*jBf_rV7GA9(ZkSqknSc=O-j4XSA^+MD;#(Y!uP zshOi{N_eu021R)&uhpS4{dxYvjKdKyl3tHn_#UqiJ%0DWi(%#Q@jEZMHUel)wA^YH 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 gL7@%TIHo@r$|TfW#Xq9wQB^0AiUbJQc6~ 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 literal 165550 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. +- ✅ Detailed token logging for precise debugging and optimization. --- @@ -64,6 +78,7 @@ It is recommended to keep this filter early in the chain so it runs before filte | `max_summary_tokens` | `4000` | Maximum tokens for the generated summary. | | `summary_temperature` | `0.3` | Randomness for summary generation. Lower is more deterministic. | | `model_thresholds` | `{}` | Per-model overrides for `compression_threshold_tokens` and `max_context_tokens` (useful for mixed models). | +| `enable_tool_output_trimming` | `false` | When enabled and `function_calling: "native"` is active, trims verbose tool outputs to extract only the final answer. | | `debug_mode` | `true` | Log verbose debug info. Set to `false` in production. | | `show_debug_log` | `false` | Print debug logs to browser console (F12). Useful for frontend debugging. | diff --git a/plugins/filters/async-context-compression/README_CN.md b/plugins/filters/async-context-compression/README_CN.md index ea7dbfa..7c47d83 100644 --- a/plugins/filters/async-context-compression/README_CN.md +++ b/plugins/filters/async-context-compression/README_CN.md @@ -1,11 +1,21 @@ # 异步上下文压缩过滤器 -**作者:** [Fu-Jie](https://github.com/Fu-Jie/awesome-openwebui) | **版本:** 1.1.3 | **项目:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) | **许可证:** MIT +**作者:** [Fu-Jie](https://github.com/Fu-Jie/awesome-openwebui) | **版本:** 1.2.0 | **项目:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) | **许可证:** MIT > **重要提示**:为了确保所有过滤器的可维护性和易用性,每个过滤器都应附带清晰、完整的文档,以确保其功能、配置和使用方法得到充分说明。 本过滤器通过智能摘要和消息压缩技术,在保持对话连贯性的同时,显著降低长对话的 Token 消耗。 +## 1.2.0 版本更新 + +- **预检上下文检查 (Preflight Context Check)**: 在发送给模型之前,验证总 Token 是否符合上下文窗口。如果超出,自动裁剪或丢弃最旧的消息。 +- **结构感知助手裁剪 (Structure-Aware Assistant Trimming)**: 当上下文超出限制时,智能折叠过长的 AI 回复,同时保留其结构(标题 H1-H6、首行、尾行)。 +- **原生工具输出裁剪 (Native Tool Output Trimming)**: 检测并裁剪原生工具输出 (`function_calling: "native"`),仅提取最终答案。通过 `enable_tool_output_trimming` 启用。**注意**:非原生工具调用输出不会完整注入上下文。 +- **统一状态通知**: 统一了“上下文使用情况”和“上下文摘要更新”的通知,并附加警告(例如 `| ⚠️ 高负载`),反馈更清晰。 +- **上下文使用警告**: 当上下文使用率超过 90% 时发出警告通知。 +- **增强的标题检测**: 优化了正则表达式 (`^#{1,6}\s+`) 以避免误判(如 `#hashtag`)。 +- **详细 Token 日志**: 日志现在显示 System、Head、Summary 和 Tail 部分的 Token 细分及总计。 + ## 1.1.3 版本更新 - **兼容性提升**: 将摘要注入角色从 `user` 改为 `assistant`,以提高在不同 LLM 之间的兼容性。 - **稳定性增强**: 修复了状态管理中的竞态条件,解决了高并发场景下可能出现的“无法获取 inlet 状态”警告。 @@ -33,6 +43,10 @@ - ✅ **持久化存储**: 复用 Open WebUI 共享数据库连接,自动支持 PostgreSQL/SQLite 等。 - ✅ **灵活保留策略**: 可配置保留对话头部和尾部消息,确保关键信息连贯。 - ✅ **智能注入**: 将历史摘要智能注入到新上下文中。 +- ✅ **结构感知裁剪**: 智能折叠过长消息,保留文档骨架(标题、首尾)。 +- ✅ **原生工具输出裁剪**: 支持裁剪冗长的工具调用输出。 +- ✅ **实时监控**: 实时监控上下文使用情况,超过 90% 发出警告。 +- ✅ **详细日志**: 提供精确的 Token 统计日志,便于调试。 详细的工作原理和流程请参考 [工作流程指南](WORKFLOW_GUIDE_CN.md)。 @@ -100,15 +114,12 @@ } ``` -#### `debug_mode` - -- **默认值**: `true` -- **描述**: 是否在 Open WebUI 的控制台日志中打印详细的调试信息(如 Token 计数、压缩进度、数据库操作等)。生产环境建议设为 `false`。 - -#### `show_debug_log` - -- **默认值**: `false` -- **描述**: 是否在浏览器控制台 (F12) 打印调试日志。便于前端调试。 +| 参数 | 默认值 | 描述 | +| :----------------------------- | :------- | :-------------------------------------------------------------------------------------------------------------------------------------- | +| `enable_tool_output_trimming` | `false` | 启用时,若 `function_calling: "native"` 激活,将裁剪冗长的工具输出以仅提取最终答案。 | +| `debug_mode` | `true` | 是否在 Open WebUI 的控制台日志中打印详细的调试信息(如 Token 计数、压缩进度、数据库操作等)。生产环境建议设为 `false`。 | +| `show_debug_log` | `false` | 是否在浏览器控制台 (F12) 打印调试日志。便于前端调试。 | +| `show_token_usage_status` | `true` | 是否在对话结束时显示 Token 使用情况的状态通知。 | --- diff --git a/plugins/filters/async-context-compression/async_context_compression.py b/plugins/filters/async-context-compression/async_context_compression.py index a3e83a1..2adef58 100644 --- a/plugins/filters/async-context-compression/async_context_compression.py +++ b/plugins/filters/async-context-compression/async_context_compression.py @@ -5,10 +5,20 @@ author: Fu-Jie author_url: https://github.com/Fu-Jie/awesome-openwebui funding_url: https://github.com/open-webui description: Reduces token consumption in long conversations while maintaining coherence through intelligent summarization and message compression. -version: 1.1.3 +version: 1.2.0 openwebui_id: b1655bc8-6de9-4cad-8cb5-a6f7829a02ce license: MIT +═══════════════════════════════════════════════════════════════════════════════ +📌 What's new in 1.2.0 +═══════════════════════════════════════════════════════════════════════════════ + + ✅ Preflight Context Check: Validates context fit before sending to model. + ✅ Structure-Aware Trimming: Collapses long AI responses while keeping H1-H6, intro, and conclusion. + ✅ Native Tool Output Trimming: Cleaner context when using function calling. (Note: Non-native tool outputs are not fully injected into context) + ✅ Context Usage Warning: Notification when usage exceeds 90%. + ✅ Detailed Token Logging: Granular breakdown of System, Head, Summary, and Tail tokens. + ═══════════════════════════════════════════════════════════════════════════════ 📌 Overview ═══════════════════════════════════════════════════════════════════════════════ @@ -21,6 +31,8 @@ Core Features: ✅ Persistent storage with database support (PostgreSQL and SQLite) ✅ Flexible retention policy (configurable to keep first and last N messages) ✅ Smart summary injection to maintain context + ✅ Structure-aware trimming to preserve document skeleton + ✅ Native tool output trimming for function calling support ═══════════════════════════════════════════════════════════════════════════════ 🔄 Workflow @@ -110,6 +122,10 @@ model_thresholds Description: Threshold override configuration for specific models. Example: {"gpt-4": {"compression_threshold_tokens": 8000, "max_context_tokens": 32000}} +enable_tool_output_trimming + Default: false + Description: When enabled and `function_calling: "native"` is active, trims verbose tool outputs to extract only the final answer. + keep_first Default: 1 Description: Always keep the first N messages of the conversation. Set to 0 to disable. The first message often contains important system prompts. @@ -245,6 +261,7 @@ Solution: from pydantic import BaseModel, Field, model_validator from typing import Optional, Dict, Any, List, Union, Callable, Awaitable +import re import asyncio import json import hashlib @@ -254,6 +271,7 @@ import contextlib # Open WebUI built-in imports from open_webui.utils.chat import generate_chat_completion from open_webui.models.users import Users +from open_webui.models.models import Models from fastapi.requests import Request from open_webui.main import app as webui_app @@ -370,10 +388,6 @@ class Filter: self.valves = self.Valves() self._owui_db = owui_db self._db_engine = owui_engine - self._db_engine = owui_engine - self._fallback_session_factory = ( - sessionmaker(bind=self._db_engine) if self._db_engine else None - ) self._fallback_session_factory = ( sessionmaker(bind=self._db_engine) if self._db_engine else None ) @@ -494,7 +508,14 @@ class Filter: default=True, description="Enable detailed logging for debugging." ) show_debug_log: bool = Field( - default=False, description="Print debug logs to browser console (F12)" + default=False, description="Show debug logs in the frontend console" + ) + show_token_usage_status: bool = Field( + default=True, description="Show token usage status notification" + ) + enable_tool_output_trimming: bool = Field( + default=False, + description="Enable trimming of large tool outputs (only works with native function calling).", ) def _save_summary(self, chat_id: str, summary: str, compressed_count: int): @@ -758,6 +779,8 @@ class Filter: body: dict, __user__: Optional[dict] = None, __metadata__: dict = None, + __request__: Request = None, + __model__: dict = None, __event_emitter__: Callable[[Any], Awaitable[None]] = None, __event_call__: Callable[[Any], Awaitable[None]] = None, ) -> dict: @@ -765,10 +788,211 @@ class Filter: Executed before sending to the LLM. Compression Strategy: Only responsible for injecting existing summaries, no Token calculation. """ + messages = body.get("messages", []) + + # --- Native Tool Output Trimming (Opt-in, only for native function calling) --- + metadata = body.get("metadata", {}) + is_native_func_calling = metadata.get("function_calling") == "native" + + if self.valves.enable_tool_output_trimming and is_native_func_calling: + trimmed_count = 0 + + for msg in messages: + content = msg.get("content", "") + if not isinstance(content, str): + continue + + role = msg.get("role") + + # Only process assistant messages with native tool outputs + if role == "assistant": + # Detect tool output markers in assistant content + if "tool_call_id:" in content or ( + content.startswith('"') and "\\"" in content + ): + # Always trim tool outputs when enabled + + if self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] 🔍 Native tool output detected in assistant message.", + event_call=__event_call__, + ) + + # Extract the final answer (after last tool call metadata) + # Pattern: Matches escaped JSON strings like """...""" followed by newlines + # We look for the last occurrence of such a pattern and take everything after it + + # 1. Try matching the specific OpenWebUI tool output format: """...""" + # This regex finds the last end-quote of a tool output block + tool_output_pattern = r'""".*?"""\s*' + + # Find all matches + matches = list( + re.finditer(tool_output_pattern, content, re.DOTALL) + ) + + if matches: + # Get the end position of the last match + last_match_end = matches[-1].end() + + # Everything after the last tool output is the final answer + final_answer = content[last_match_end:].strip() + + if final_answer: + msg["content"] = ( + f"... [Tool outputs trimmed]\n{final_answer}" + ) + trimmed_count += 1 + else: + # Fallback: Try splitting on "Arguments:" if the new format isn't found + # (Preserving backward compatibility or different model behaviors) + parts = re.split(r"(?:Arguments:\s*\{[^}]+\})\n+", content) + if len(parts) > 1: + final_answer = parts[-1].strip() + if final_answer: + msg["content"] = ( + f"... [Tool outputs trimmed]\n{final_answer}" + ) + trimmed_count += 1 + + if trimmed_count > 0 and self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] ✂️ Trimmed {trimmed_count} tool output message(s).", + event_call=__event_call__, + ) + chat_ctx = self._get_chat_context(body, __metadata__) chat_id = chat_ctx["chat_id"] + # Extract system prompt for accurate token calculation + # 1. For custom models: check DB (Models.get_model_by_id) + # 2. For base models: check messages for role='system' + system_prompt_content = None + + # Try to get from DB (custom model) + try: + model_id = body.get("model") + if model_id: + if self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] 🔍 Attempting DB lookup for model: {model_id}", + event_call=__event_call__, + ) + + # Clean model ID if needed (though get_model_by_id usually expects the full ID) + model_obj = Models.get_model_by_id(model_id) + + if model_obj: + if self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] ✅ Model found in DB: {model_obj.name} (ID: {model_obj.id})", + event_call=__event_call__, + ) + + if model_obj.params: + try: + params = model_obj.params + # Handle case where params is a JSON string + if isinstance(params, str): + params = json.loads(params) + + # Handle dict or Pydantic object + if isinstance(params, dict): + system_prompt_content = params.get("system") + else: + # Assume Pydantic model or object + system_prompt_content = getattr(params, "system", None) + + if system_prompt_content: + if self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] 📝 System prompt found in DB params ({len(system_prompt_content)} chars)", + event_call=__event_call__, + ) + else: + if self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] ⚠️ 'system' key missing in model params", + event_call=__event_call__, + ) + except Exception as e: + if self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] ❌ Failed to parse model params: {e}", + type="error", + event_call=__event_call__, + ) + + else: + if self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] ⚠️ Model params are empty", + event_call=__event_call__, + ) + else: + if self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] ❌ Model NOT found in DB", + type="warning", + event_call=__event_call__, + ) + + except Exception as e: + if self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] ❌ Error fetching system prompt from DB: {e}", + type="error", + event_call=__event_call__, + ) + if self.valves.debug_mode: + print(f"[Inlet] Error fetching system prompt from DB: {e}") + + # Fall back to checking messages (base model or already included) + if not system_prompt_content: + for msg in messages: + if msg.get("role") == "system": + system_prompt_content = msg.get("content", "") + break + + # Build system_prompt_msg for token calculation + system_prompt_msg = None + if system_prompt_content: + system_prompt_msg = {"role": "system", "content": system_prompt_content} + if self.valves.debug_mode: + print( + f"[Inlet] Found system prompt ({len(system_prompt_content)} chars). Including in budget." + ) + + # Log message statistics (Moved here to include extracted system prompt) + if self.valves.show_debug_log and __event_call__: + try: + msg_stats = { + "user": 0, + "assistant": 0, + "system": 0, + "total": len(messages), + } + for msg in messages: + role = msg.get("role", "unknown") + if role in msg_stats: + msg_stats[role] += 1 + + # If system prompt was extracted from DB/Model but not in messages, count it + if system_prompt_content: + # Check if it's already counted (i.e., was in messages) + is_in_messages = any(m.get("role") == "system" for m in messages) + if not is_in_messages: + msg_stats["system"] += 1 + msg_stats["total"] += 1 + + stats_str = f"Total: {msg_stats['total']} | User: {msg_stats['user']} | Assistant: {msg_stats['assistant']} | System: {msg_stats['system']}" + await self._log( + f"[Inlet] Message Stats: {stats_str}", event_call=__event_call__ + ) + except Exception as e: + print(f"[Inlet] Error logging message stats: {e}") + if not chat_id: await self._log( "[Inlet] ❌ Missing chat_id in metadata, skipping compression", @@ -787,10 +1011,6 @@ class Filter: # Target is to compress up to the (total - keep_last) message target_compressed_count = max(0, len(messages) - self.valves.keep_last) - # Record the target compression progress for the original messages, for use in outlet - # Target is to compress up to the (total - keep_last) message - target_compressed_count = max(0, len(messages) - self.valves.keep_last) - await self._log( f"[Inlet] Recorded target compression progress: {target_compressed_count}", event_call=__event_call__, @@ -799,6 +1019,14 @@ class Filter: # Load summary record summary_record = await asyncio.to_thread(self._load_summary_record, chat_id) + # Calculate effective_keep_first to ensure all system messages are protected + last_system_index = -1 + for i, msg in enumerate(messages): + if msg.get("role") == "system": + last_system_index = i + + effective_keep_first = max(self.valves.keep_first, last_system_index + 1) + final_messages = [] if summary_record: @@ -812,8 +1040,8 @@ class Filter: # 1. Head messages (Keep First) head_messages = [] - if self.valves.keep_first > 0: - head_messages = messages[: self.valves.keep_first] + if effective_keep_first > 0: + head_messages = messages[:effective_keep_first] # 2. Summary message (Inserted as User message) summary_content = ( @@ -826,29 +1054,215 @@ class Filter: # 3. Tail messages (Tail) - All messages starting from the last compression point # Note: Must ensure head messages are not duplicated - start_index = max(compressed_count, self.valves.keep_first) + start_index = max(compressed_count, effective_keep_first) tail_messages = messages[start_index:] - final_messages = head_messages + [summary_msg] + tail_messages + if self.valves.show_debug_log and __event_call__: + tail_preview = [ + f"{i + start_index}: [{m.get('role')}] {m.get('content', '')[:30]}..." + for i, m in enumerate(tail_messages) + ] + await self._log( + f"[Inlet] 📜 Tail Messages (Start Index: {start_index}): {tail_preview}", + event_call=__event_call__, + ) + + # --- Preflight Check & Budgeting (Simplified) --- + + # Assemble candidate messages (for output) + candidate_messages = head_messages + [summary_msg] + tail_messages + + # Prepare messages for token calculation (include system prompt if missing) + calc_messages = candidate_messages + if system_prompt_msg: + # Check if system prompt is already in head_messages + is_in_head = any(m.get("role") == "system" for m in head_messages) + if not is_in_head: + calc_messages = [system_prompt_msg] + candidate_messages + + # Get max context limit + model = self._clean_model_id(body.get("model")) + thresholds = self._get_model_thresholds(model) + max_context_tokens = thresholds.get( + "max_context_tokens", self.valves.max_context_tokens + ) + + # Calculate total tokens + total_tokens = await asyncio.to_thread( + self._calculate_messages_tokens, calc_messages + ) + + # Preflight Check Log + await self._log( + f"[Inlet] 🔎 Preflight Check: {total_tokens}t / {max_context_tokens}t ({(total_tokens/max_context_tokens*100):.1f}%)", + event_call=__event_call__, + ) + + # If over budget, reduce history (Keep Last) + if total_tokens > max_context_tokens: + await self._log( + f"[Inlet] ⚠️ Candidate prompt ({total_tokens} Tokens) exceeds limit ({max_context_tokens}). Reducing history...", + type="warning", + event_call=__event_call__, + ) + + # Dynamically remove messages from the start of tail_messages + # Always try to keep at least the last message (usually user input) + while total_tokens > max_context_tokens and len(tail_messages) > 1: + # Strategy 1: Structure-Aware Assistant Trimming + # Retain: Headers (#), First Line, Last Line. Collapse the rest. + target_msg = None + target_idx = -1 + + # Find the oldest assistant message that is long and not yet trimmed + for i, msg in enumerate(tail_messages): + # Skip the last message (usually user input, protect it) + if i == len(tail_messages) - 1: + break + + if msg.get("role") == "assistant": + content = str(msg.get("content", "")) + is_trimmed = msg.get("metadata", {}).get( + "is_trimmed", False + ) + # Only target messages that are reasonably long (> 200 chars) + if len(content) > 200 and not is_trimmed: + target_msg = msg + target_idx = i + break + + # If found a suitable assistant message, apply structure-aware trimming + if target_msg: + content = str(target_msg.get("content", "")) + lines = content.split("\n") + kept_lines = [] + + # Logic: Keep headers, first non-empty line, last non-empty line + first_line_found = False + last_line_idx = -1 + + # Find last non-empty line index + for idx in range(len(lines) - 1, -1, -1): + if lines[idx].strip(): + last_line_idx = idx + break + + for idx, line in enumerate(lines): + stripped = line.strip() + if not stripped: + continue + + # Keep headers (H1-H6, requires space after #) + if re.match(r"^#{1,6}\s+", stripped): + kept_lines.append(line) + continue + + # Keep first non-empty line + if not first_line_found: + kept_lines.append(line) + first_line_found = True + # Add placeholder if there's more content coming + if idx < last_line_idx: + kept_lines.append("\n... [Content collapsed] ...\n") + continue + + # Keep last non-empty line + if idx == last_line_idx: + kept_lines.append(line) + continue + + # Update message content + new_content = "\n".join(kept_lines) + + # Safety check: If trimming didn't save much (e.g. mostly headers), force drop + if len(new_content) > len(content) * 0.8: + # Fallback to drop if structure preservation is too verbose + pass + else: + target_msg["content"] = new_content + if "metadata" not in target_msg: + target_msg["metadata"] = {} + target_msg["metadata"]["is_trimmed"] = True + + # Calculate token reduction + old_tokens = self._count_tokens(content) + new_tokens = self._count_tokens(target_msg["content"]) + diff = old_tokens - new_tokens + total_tokens -= diff + + if self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] 📉 Structure-trimmed Assistant message. Saved: {diff} tokens.", + event_call=__event_call__, + ) + continue + + # Strategy 2: Fallback - Drop Oldest Message Entirely (FIFO) + # (User requested to remove progressive trimming for other cases) + dropped = tail_messages.pop(0) + dropped_tokens = self._count_tokens(str(dropped.get("content", ""))) + total_tokens -= dropped_tokens + + if self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] 🗑️ Dropped message from history to fit context. Role: {dropped.get('role')}, Tokens: {dropped_tokens}", + event_call=__event_call__, + ) + + # Re-assemble + candidate_messages = head_messages + [summary_msg] + tail_messages + + await self._log( + f"[Inlet] ✂️ History reduced. New total: {total_tokens} Tokens (Tail size: {len(tail_messages)})", + event_call=__event_call__, + ) + + final_messages = candidate_messages + + # Calculate detailed token stats for logging + system_tokens = ( + self._count_tokens(system_prompt_msg.get("content", "")) + if system_prompt_msg + else 0 + ) + head_tokens = self._calculate_messages_tokens(head_messages) + summary_tokens = self._count_tokens(summary_content) + tail_tokens = self._calculate_messages_tokens(tail_messages) + + system_info = ( + f"System({system_tokens}t)" if system_prompt_msg else "System(0t)" + ) + + total_section_tokens = ( + system_tokens + head_tokens + summary_tokens + tail_tokens + ) + + await self._log( + f"[Inlet] Applied summary: {system_info} + Head({len(head_messages)} msg, {head_tokens}t) + Summary({summary_tokens}t) + Tail({len(tail_messages)} msg, {tail_tokens}t) = Total({total_section_tokens}t)", + type="success", + event_call=__event_call__, + ) + + # Prepare status message (Context Usage format) + if max_context_tokens > 0: + usage_ratio = total_section_tokens / max_context_tokens + status_msg = f"Context Usage (Estimated): {total_section_tokens} / {max_context_tokens} Tokens ({usage_ratio*100:.1f}%)" + if usage_ratio > 0.9: + status_msg += " | ⚠️ High Usage" + else: + status_msg = f"Loaded historical summary (Hidden {compressed_count} historical messages)" - # Send status notification if __event_emitter__: await __event_emitter__( { "type": "status", "data": { - "description": f"Loaded historical summary (Hidden {compressed_count} historical messages)", + "description": status_msg, "done": True, }, } ) - await self._log( - f"[Inlet] Applied summary: Head({len(head_messages)}) + Summary + Tail({len(tail_messages)})", - type="success", - event_call=__event_call__, - ) - # Emit debug log to frontend (Keep the structured log as well) await self._emit_debug_log( __event_call__, @@ -861,8 +1275,71 @@ class Filter: ) else: # No summary, use original messages + # But still need to check budget! final_messages = messages + # Include system prompt in calculation + calc_messages = final_messages + if system_prompt_msg: + is_in_messages = any(m.get("role") == "system" for m in final_messages) + if not is_in_messages: + calc_messages = [system_prompt_msg] + final_messages + + # Get max context limit + model = self._clean_model_id(body.get("model")) + thresholds = self._get_model_thresholds(model) + max_context_tokens = thresholds.get( + "max_context_tokens", self.valves.max_context_tokens + ) + + total_tokens = await asyncio.to_thread( + self._calculate_messages_tokens, calc_messages + ) + + if total_tokens > max_context_tokens: + await self._log( + f"[Inlet] ⚠️ Original messages ({total_tokens} Tokens) exceed limit ({max_context_tokens}). Reducing history...", + type="warning", + event_call=__event_call__, + ) + + # Dynamically remove messages from the start + # We'll respect effective_keep_first to protect system prompts + + start_trim_index = effective_keep_first + + while ( + total_tokens > max_context_tokens + and len(final_messages) + > start_trim_index + 1 # Keep at least 1 message after keep_first + ): + dropped = final_messages.pop(start_trim_index) + total_tokens -= self._count_tokens(str(dropped.get("content", ""))) + + await self._log( + f"[Inlet] ✂️ Messages reduced. New total: {total_tokens} Tokens", + event_call=__event_call__, + ) + + # Send status notification (Context Usage format) + if __event_emitter__: + status_msg = f"Context Usage (Estimated): {total_tokens} / {max_context_tokens} Tokens" + if max_context_tokens > 0: + usage_ratio = total_tokens / max_context_tokens + status_msg += f" ({usage_ratio*100:.1f}%)" + if usage_ratio > 0.9: + status_msg += " | ⚠️ High Usage" + + await __event_emitter__( + { + "type": "status", + "data": { + "description": status_msg, + "done": True, + }, + } + ) + body["messages"] = final_messages await self._log( @@ -1048,11 +1525,23 @@ class Filter: return middle_messages = messages[start_index:end_index] + tail_preview_msgs = messages[end_index:] - await self._log( - f"[🤖 Async Summary Task] Middle messages to process: {len(middle_messages)}", - event_call=__event_call__, - ) + if self.valves.show_debug_log and __event_call__: + middle_preview = [ + f"{i + start_index}: [{m.get('role')}] {m.get('content', '')[:20]}..." + for i, m in enumerate(middle_messages[:3]) + ] + tail_preview = [ + f"{i + end_index}: [{m.get('role')}] {m.get('content', '')[:20]}..." + for i, m in enumerate(tail_preview_msgs) + ] + await self._log( + f"[🤖 Async Summary Task] 📊 Boundary Check:\n" + f" - Middle (Compressing): {len(middle_messages)} msgs (Indices {start_index}-{end_index-1}) -> Preview: {middle_preview}\n" + f" - Tail (Keeping): {len(tail_preview_msgs)} msgs (Indices {end_index}-End) -> Preview: {tail_preview}", + event_call=__event_call__, + ) # 3. Check Token limit and truncate (Max Context Truncation) # [Optimization] Use the summary model's (if any) threshold to decide how many middle messages can be processed @@ -1186,6 +1675,109 @@ class Filter: event_call=__event_call__, ) + # --- Token Usage Status Notification --- + if self.valves.show_token_usage_status and __event_emitter__: + try: + # 1. Fetch System Prompt (DB fallback) + system_prompt_msg = None + model_id = body.get("model") + if model_id: + try: + model_obj = Models.get_model_by_id(model_id) + if model_obj and model_obj.params: + params = model_obj.params + if isinstance(params, str): + params = json.loads(params) + if isinstance(params, dict): + sys_content = params.get("system") + else: + sys_content = getattr(params, "system", None) + + if sys_content: + system_prompt_msg = { + "role": "system", + "content": sys_content, + } + except Exception: + pass # Ignore DB errors here, best effort + + # 2. Calculate Effective Keep First + last_system_index = -1 + for i, msg in enumerate(messages): + if msg.get("role") == "system": + last_system_index = i + effective_keep_first = max( + self.valves.keep_first, last_system_index + 1 + ) + + # 3. Construct Next Context + # Head + head_msgs = ( + messages[:effective_keep_first] + if effective_keep_first > 0 + else [] + ) + + # Summary + summary_content = ( + f"【System Prompt: The following is a summary of the historical conversation, provided for context only. Do not reply to the summary content itself; answer the subsequent latest questions directly.】\n\n" + f"{new_summary}\n\n" + f"---\n" + f"Below is the recent conversation:" + ) + summary_msg = {"role": "assistant", "content": summary_content} + + # Tail (using target_compressed_count which is what we just compressed up to) + # Note: target_compressed_count is the index *after* the last compressed message? + # In _generate_summary_async, target_compressed_count is passed in. + # It represents the number of messages to be covered by summary (excluding keep_last). + # So tail starts at max(target_compressed_count, effective_keep_first). + start_index = max(target_compressed_count, effective_keep_first) + tail_msgs = messages[start_index:] + + # Assemble + next_context = head_msgs + [summary_msg] + tail_msgs + + # Inject system prompt if needed + if system_prompt_msg: + is_in_head = any(m.get("role") == "system" for m in head_msgs) + if not is_in_head: + next_context = [system_prompt_msg] + next_context + + # 4. Calculate Tokens + token_count = self._calculate_messages_tokens(next_context) + + # 5. Get Thresholds & Calculate Ratio + model = self._clean_model_id(body.get("model")) + thresholds = self._get_model_thresholds(model) + max_context_tokens = thresholds.get( + "max_context_tokens", self.valves.max_context_tokens + ) + + # 6. Emit Status + status_msg = f"Context Summary Updated: {token_count} / {max_context_tokens} Tokens" + if max_context_tokens > 0: + ratio = (token_count / max_context_tokens) * 100 + status_msg += f" ({ratio:.1f}%)" + if ratio > 90.0: + status_msg += " | ⚠️ High Usage" + + await __event_emitter__( + { + "type": "status", + "data": { + "description": status_msg, + "done": True, + }, + } + ) + except Exception as e: + await self._log( + f"[Status] Error calculating tokens: {e}", + type="error", + event_call=__event_call__, + ) + except Exception as e: await self._log( f"[🤖 Async Summary Task] ❌ Error: {str(e)}", diff --git a/plugins/filters/async-context-compression/async_context_compression_cn.py b/plugins/filters/async-context-compression/async_context_compression_cn.py index 5cfea97..74748be 100644 --- a/plugins/filters/async-context-compression/async_context_compression_cn.py +++ b/plugins/filters/async-context-compression/async_context_compression_cn.py @@ -5,10 +5,20 @@ author: Fu-Jie author_url: https://github.com/Fu-Jie/awesome-openwebui funding_url: https://github.com/open-webui description: 通过智能摘要和消息压缩,降低长对话的 token 消耗,同时保持对话连贯性。 -version: 1.1.3 +version: 1.2.0 openwebui_id: 5c0617cb-a9e4-4bd6-a440-d276534ebd18 license: MIT +═══════════════════════════════════════════════════════════════════════════════ +📌 1.2.0 版本更新 +═══════════════════════════════════════════════════════════════════════════════ + + ✅ 预检上下文检查:发送给模型前验证上下文是否适配。 + ✅ 结构感知裁剪:折叠过长的 AI 响应,同时保留标题 (H1-H6)、开头和结尾。 + ✅ 原生工具输出裁剪:使用函数调用时清理上下文,去除冗余输出。(注意:非原生工具调用输出不会完整注入上下文) + ✅ 上下文使用警告:当使用量超过 90% 时发出通知。 + ✅ 详细 Token 日志:细粒度记录 System、Head、Summary 和 Tail 的 Token 消耗。 + ═══════════════════════════════════════════════════════════════════════════════ 📌 功能概述 ═══════════════════════════════════════════════════════════════════════════════ @@ -248,9 +258,11 @@ import asyncio import json import hashlib import time +import re # Open WebUI 内置导入 from open_webui.utils.chat import generate_chat_completion +from open_webui.models.models import Models from open_webui.models.users import Users from fastapi.requests import Request from open_webui.main import app as webui_app @@ -353,6 +365,13 @@ class Filter: show_debug_log: bool = Field( default=False, description="在浏览器控制台打印调试日志 (F12)" ) + show_token_usage_status: bool = Field( + default=True, description="在对话结束时显示 Token 使用情况的状态通知" + ) + enable_tool_output_trimming: bool = Field( + default=False, + description="启用原生工具输出裁剪 (仅适用于 native function calling),裁剪过长的工具输出以节省 Token。", + ) def _save_summary(self, chat_id: str, summary: str, compressed_count: int): """保存摘要到数据库""" @@ -614,12 +633,217 @@ class Filter: ) -> dict: """ 在发送到 LLM 之前执行 - 压缩策略:只负责注入已有的摘要,不进行 Token 计算 + 压缩策略: + 1. 注入已有摘要 + 2. 预检 Token 预算 + 3. 如果超限,执行结构化裁剪(Structure-Aware Trimming)或丢弃旧消息 """ messages = body.get("messages", []) + + # --- 原生工具输出裁剪 (Native Tool Output Trimming) --- + # 即使未启用压缩,也始终检查并裁剪过长的工具输出,以节省 Token + if self.valves.enable_tool_output_trimming: + trimmed_count = 0 + for msg in messages: + content = msg.get("content", "") + if not isinstance(content, str): + continue + + role = msg.get("role") + + # 仅处理带有原生工具输出的助手消息 + if role == "assistant": + # 检测助手内容中的工具输出标记 + if "tool_call_id:" in content or ( + content.startswith('"') and "\\"" in content + ): + if self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] 🔍 检测到助手消息中的原生工具输出。", + event_call=__event_call__, + ) + + # 提取最终答案(在最后一个工具调用元数据之后) + # 模式:匹配转义的 JSON 字符串,如 """...""" 后跟换行符 + # 我们寻找该模式的最后一次出现,并获取其后的所有内容 + + # 1. 尝试匹配特定的 OpenWebUI 工具输出格式:"""...""" + tool_output_pattern = r'""".*?"""\s*' + + # 查找所有匹配项 + matches = list( + re.finditer(tool_output_pattern, content, re.DOTALL) + ) + + if matches: + # 获取最后一个匹配项的结束位置 + last_match_end = matches[-1].end() + + # 最后一个工具输出之后的所有内容即为最终答案 + final_answer = content[last_match_end:].strip() + + if final_answer: + msg["content"] = ( + f"... [Tool outputs trimmed]\n{final_answer}" + ) + trimmed_count += 1 + else: + # 回退:如果找不到新格式,尝试按 "Arguments:" 分割 + # (保留向后兼容性或适应不同模型行为) + parts = re.split(r"(?:Arguments:\s*\{[^}]+\})\n+", content) + if len(parts) > 1: + final_answer = parts[-1].strip() + if final_answer: + msg["content"] = ( + f"... [Tool outputs trimmed]\n{final_answer}" + ) + trimmed_count += 1 + + if trimmed_count > 0 and self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] ✂️ 已裁剪 {trimmed_count} 条工具输出消息。", + event_call=__event_call__, + ) + chat_ctx = self._get_chat_context(body, __metadata__) chat_id = chat_ctx["chat_id"] + # 提取系统提示词以进行准确的 Token 计算 + # 1. 对于自定义模型:检查数据库 (Models.get_model_by_id) + # 2. 对于基础模型:检查消息中的 role='system' + system_prompt_content = None + + # 尝试从数据库获取 (自定义模型) + try: + model_id = body.get("model") + if model_id: + if self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] 🔍 尝试从数据库查找模型: {model_id}", + event_call=__event_call__, + ) + + # 清理模型 ID + model_obj = Models.get_model_by_id(model_id) + + if model_obj: + if self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] ✅ 数据库中找到模型: {model_obj.name} (ID: {model_obj.id})", + event_call=__event_call__, + ) + + if model_obj.params: + try: + params = model_obj.params + # 处理 params 是 JSON 字符串的情况 + if isinstance(params, str): + params = json.loads(params) + + # 处理字典或 Pydantic 对象 + if isinstance(params, dict): + system_prompt_content = params.get("system") + else: + # 假设是 Pydantic 模型或对象 + system_prompt_content = getattr(params, "system", None) + + if system_prompt_content: + if self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] 📝 在数据库参数中找到系统提示词 ({len(system_prompt_content)} 字符)", + event_call=__event_call__, + ) + else: + if self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] ⚠️ 模型参数中缺少 'system' 键", + event_call=__event_call__, + ) + except Exception as e: + if self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] ❌ 解析模型参数失败: {e}", + type="error", + event_call=__event_call__, + ) + + else: + if self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] ⚠️ 模型参数为空", + event_call=__event_call__, + ) + else: + if self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] ❌ 数据库中未找到模型", + type="warning", + event_call=__event_call__, + ) + + except Exception as e: + if self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] ❌ 从数据库获取系统提示词错误: {e}", + type="error", + event_call=__event_call__, + ) + if self.valves.debug_mode: + print(f"[Inlet] 从数据库获取系统提示词错误: {e}") + + # 回退:检查消息列表 (基础模型或已包含) + if not system_prompt_content: + for msg in messages: + if msg.get("role") == "system": + system_prompt_content = msg.get("content", "") + break + + # 构建 system_prompt_msg 用于 Token 计算 + system_prompt_msg = None + if system_prompt_content: + system_prompt_msg = {"role": "system", "content": system_prompt_content} + if self.valves.debug_mode: + print( + f"[Inlet] 找到系统提示词 ({len(system_prompt_content)} 字符)。计入预算。" + ) + + # 记录消息统计信息 (移至此处以包含提取的系统提示词) + if self.valves.show_debug_log and __event_call__: + try: + msg_stats = { + "user": 0, + "assistant": 0, + "system": 0, + "total": len(messages), + } + for msg in messages: + role = msg.get("role", "unknown") + if role in msg_stats: + msg_stats[role] += 1 + + # 如果系统提示词是从 DB/Model 提取的但不在消息中,则计数 + if system_prompt_content: + # 检查是否已计数 (即是否在消息中) + is_in_messages = any(m.get("role") == "system" for m in messages) + if not is_in_messages: + msg_stats["system"] += 1 + msg_stats["total"] += 1 + + stats_str = f"Total: {msg_stats['total']} | User: {msg_stats['user']} | Assistant: {msg_stats['assistant']} | System: {msg_stats['system']}" + await self._log( + f"[Inlet] 消息统计: {stats_str}", event_call=__event_call__ + ) + except Exception as e: + print(f"[Inlet] 记录消息统计错误: {e}") + + if not chat_id: + await self._log( + "[Inlet] ❌ metadata 中缺少 chat_id,跳过压缩", + type="error", + event_call=__event_call__, + ) + return body + if self.valves.debug_mode or self.valves.show_debug_log: await self._log( f"\n{'='*60}\n[Inlet] Chat ID: {chat_id}\n[Inlet] 收到 {len(messages)} 条消息", @@ -630,10 +854,6 @@ class Filter: # 目标是压缩到倒数第 keep_last 条之前 target_compressed_count = max(0, len(messages) - self.valves.keep_last) - # 记录原始消息的目标压缩进度,供 outlet 使用 - # 目标是压缩到倒数第 keep_last 条之前 - target_compressed_count = max(0, len(messages) - self.valves.keep_last) - await self._log( f"[Inlet] 记录目标压缩进度: {target_compressed_count}", event_call=__event_call__, @@ -642,6 +862,14 @@ class Filter: # 加载摘要记录 summary_record = await asyncio.to_thread(self._load_summary_record, chat_id) + # 计算 effective_keep_first 以确保所有系统消息都被保护 + last_system_index = -1 + for i, msg in enumerate(messages): + if msg.get("role") == "system": + last_system_index = i + + effective_keep_first = max(self.valves.keep_first, last_system_index + 1) + final_messages = [] if summary_record: @@ -655,8 +883,8 @@ class Filter: # 1. 头部消息 (Keep First) head_messages = [] - if self.valves.keep_first > 0: - head_messages = messages[: self.valves.keep_first] + if effective_keep_first > 0: + head_messages = messages[:effective_keep_first] # 2. 摘要消息 (作为 User 消息插入) summary_content = ( @@ -669,29 +897,214 @@ class Filter: # 3. 尾部消息 (Tail) - 从上次压缩点开始的所有消息 # 注意:这里必须确保不重复包含头部消息 - start_index = max(compressed_count, self.valves.keep_first) + start_index = max(compressed_count, effective_keep_first) tail_messages = messages[start_index:] - final_messages = head_messages + [summary_msg] + tail_messages + if self.valves.show_debug_log and __event_call__: + tail_preview = [ + f"{i + start_index}: [{m.get('role')}] {m.get('content', '')[:30]}..." + for i, m in enumerate(tail_messages) + ] + await self._log( + f"[Inlet] 📜 尾部消息 (起始索引: {start_index}): {tail_preview}", + event_call=__event_call__, + ) + + # --- 预检检查与预算 (Preflight Check & Budgeting) --- + + # 组装候选消息 (用于输出) + candidate_messages = head_messages + [summary_msg] + tail_messages + + # 准备用于 Token 计算的消息 (如果缺少则包含系统提示词) + calc_messages = candidate_messages + if system_prompt_msg: + # 检查系统提示词是否已在 head_messages 中 + is_in_head = any(m.get("role") == "system" for m in head_messages) + if not is_in_head: + calc_messages = [system_prompt_msg] + candidate_messages + + # 获取最大上下文限制 + model = self._clean_model_id(body.get("model")) + thresholds = self._get_model_thresholds(model) + max_context_tokens = thresholds.get( + "max_context_tokens", self.valves.max_context_tokens + ) + + # 计算总 Token + total_tokens = await asyncio.to_thread( + self._calculate_messages_tokens, calc_messages + ) + + # 预检检查日志 + await self._log( + f"[Inlet] 🔎 预检检查: {total_tokens}t / {max_context_tokens}t ({(total_tokens/max_context_tokens*100):.1f}%)", + event_call=__event_call__, + ) + + # 如果超出预算,缩减历史记录 (Keep Last) + if total_tokens > max_context_tokens: + await self._log( + f"[Inlet] ⚠️ 候选提示词 ({total_tokens} Tokens) 超过上限 ({max_context_tokens})。正在缩减历史记录...", + type="warning", + event_call=__event_call__, + ) + + # 动态从 tail_messages 的开头移除消息 + # 始终尝试保留至少最后一条消息 (通常是用户输入) + while total_tokens > max_context_tokens and len(tail_messages) > 1: + # 策略 1: 结构化助手消息裁剪 (Structure-Aware Assistant Trimming) + # 保留: 标题 (#), 第一行, 最后一行。折叠其余部分。 + target_msg = None + target_idx = -1 + + # 查找最旧的、较长且尚未裁剪的助手消息 + for i, msg in enumerate(tail_messages): + # 跳过最后一条消息 (通常是用户输入,保护它) + if i == len(tail_messages) - 1: + break + + if msg.get("role") == "assistant": + content = str(msg.get("content", "")) + is_trimmed = msg.get("metadata", {}).get( + "is_trimmed", False + ) + # 仅针对相当长 (> 200 字符) 的消息 + if len(content) > 200 and not is_trimmed: + target_msg = msg + target_idx = i + break + + # 如果找到合适的助手消息,应用结构化裁剪 + if target_msg: + content = str(target_msg.get("content", "")) + lines = content.split("\n") + kept_lines = [] + + # 逻辑: 保留标题, 第一行非空行, 最后一行非空行 + first_line_found = False + last_line_idx = -1 + + # 查找最后一行非空行的索引 + for idx in range(len(lines) - 1, -1, -1): + if lines[idx].strip(): + last_line_idx = idx + break + + for idx, line in enumerate(lines): + stripped = line.strip() + if not stripped: + continue + + # 保留标题 (H1-H6, 需要 # 后有空格) + if re.match(r"^#{1,6}\s+", stripped): + kept_lines.append(line) + continue + + # 保留第一行非空行 + if not first_line_found: + kept_lines.append(line) + first_line_found = True + # 如果后面还有内容,添加占位符 + if idx < last_line_idx: + kept_lines.append("\n... [Content collapsed] ...\n") + continue + + # 保留最后一行非空行 + if idx == last_line_idx: + kept_lines.append(line) + continue + + # 更新消息内容 + new_content = "\n".join(kept_lines) + + # 安全检查: 如果裁剪没有节省太多 (例如主要是标题),则强制丢弃 + if len(new_content) > len(content) * 0.8: + # 如果结构保留过于冗长,回退到丢弃 + pass + else: + target_msg["content"] = new_content + if "metadata" not in target_msg: + target_msg["metadata"] = {} + target_msg["metadata"]["is_trimmed"] = True + + # 计算 Token 减少量 + old_tokens = self._count_tokens(content) + new_tokens = self._count_tokens(target_msg["content"]) + diff = old_tokens - new_tokens + total_tokens -= diff + + if self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] 📉 结构化裁剪助手消息。节省: {diff} tokens。", + event_call=__event_call__, + ) + continue + + # 策略 2: 回退 - 完全丢弃最旧的消息 (FIFO) + dropped = tail_messages.pop(0) + dropped_tokens = self._count_tokens(str(dropped.get("content", ""))) + total_tokens -= dropped_tokens + + if self.valves.show_debug_log and __event_call__: + await self._log( + f"[Inlet] 🗑️ 从历史记录中丢弃消息以适应上下文。角色: {dropped.get('role')}, Tokens: {dropped_tokens}", + event_call=__event_call__, + ) + + # 重新组装 + candidate_messages = head_messages + [summary_msg] + tail_messages + + await self._log( + f"[Inlet] ✂️ 历史记录已缩减。新总数: {total_tokens} Tokens (尾部大小: {len(tail_messages)})", + event_call=__event_call__, + ) + + final_messages = candidate_messages + + # 计算详细 Token 统计以用于日志 + system_tokens = ( + self._count_tokens(system_prompt_msg.get("content", "")) + if system_prompt_msg + else 0 + ) + head_tokens = self._calculate_messages_tokens(head_messages) + summary_tokens = self._count_tokens(summary_content) + tail_tokens = self._calculate_messages_tokens(tail_messages) + + system_info = ( + f"System({system_tokens}t)" if system_prompt_msg else "System(0t)" + ) + + total_section_tokens = ( + system_tokens + head_tokens + summary_tokens + tail_tokens + ) + + await self._log( + f"[Inlet] 应用摘要: {system_info} + Head({len(head_messages)} 条, {head_tokens}t) + Summary({summary_tokens}t) + Tail({len(tail_messages)} 条, {tail_tokens}t) = Total({total_section_tokens}t)", + type="success", + event_call=__event_call__, + ) + + # 准备状态消息 (上下文使用量格式) + if max_context_tokens > 0: + usage_ratio = total_section_tokens / max_context_tokens + status_msg = f"上下文使用量 (预估): {total_section_tokens} / {max_context_tokens} Tokens ({usage_ratio*100:.1f}%)" + if usage_ratio > 0.9: + status_msg += " | ⚠️ 高负载" + else: + status_msg = f"已加载历史摘要 (隐藏 {compressed_count} 条历史消息)" - # 发送状态通知 if __event_emitter__: await __event_emitter__( { "type": "status", "data": { - "description": f"已加载历史摘要 (隐藏 {compressed_count} 条历史消息)", + "description": status_msg, "done": True, }, } ) - await self._log( - f"[Inlet] 应用摘要: Head({len(head_messages)}) + Summary + Tail({len(tail_messages)})", - type="success", - event_call=__event_call__, - ) - # Emit debug log to frontend (Keep the structured log as well) await self._emit_debug_log( __event_call__, @@ -704,8 +1117,73 @@ class Filter: ) else: # 没有摘要,使用原始消息 + # 但仍然需要检查预算! final_messages = messages + # 包含系统提示词进行计算 + calc_messages = final_messages + if system_prompt_msg: + is_in_messages = any(m.get("role") == "system" for m in final_messages) + if not is_in_messages: + calc_messages = [system_prompt_msg] + final_messages + + # 获取最大上下文限制 + model = self._clean_model_id(body.get("model")) + thresholds = self._get_model_thresholds(model) + max_context_tokens = thresholds.get( + "max_context_tokens", self.valves.max_context_tokens + ) + + total_tokens = await asyncio.to_thread( + self._calculate_messages_tokens, calc_messages + ) + + if total_tokens > max_context_tokens: + await self._log( + f"[Inlet] ⚠️ 原始消息 ({total_tokens} Tokens) 超过上限 ({max_context_tokens})。正在缩减历史记录...", + type="warning", + event_call=__event_call__, + ) + + # 动态从开头移除消息 + # 我们将遵守 effective_keep_first 以保护系统提示词 + + start_trim_index = effective_keep_first + + while ( + total_tokens > max_context_tokens + and len(final_messages) + > start_trim_index + 1 # 保留 keep_first 之后至少 1 条消息 + ): + dropped = final_messages.pop(start_trim_index) + total_tokens -= self._count_tokens(str(dropped.get("content", ""))) + + await self._log( + f"[Inlet] ✂️ 消息已缩减。新总数: {total_tokens} Tokens", + event_call=__event_call__, + ) + + # 发送状态通知 (上下文使用量格式) + if __event_emitter__: + status_msg = ( + f"上下文使用量 (预估): {total_tokens} / {max_context_tokens} Tokens" + ) + if max_context_tokens > 0: + usage_ratio = total_tokens / max_context_tokens + status_msg += f" ({usage_ratio*100:.1f}%)" + if usage_ratio > 0.9: + status_msg += " | ⚠️ 高负载" + + await __event_emitter__( + { + "type": "status", + "data": { + "description": status_msg, + "done": True, + }, + } + ) + body["messages"] = final_messages await self._log( @@ -882,11 +1360,23 @@ class Filter: return middle_messages = messages[start_index:end_index] + tail_preview_msgs = messages[end_index:] - await self._log( - f"[🤖 异步摘要任务] 待处理中间消息: {len(middle_messages)} 条", - event_call=__event_call__, - ) + if self.valves.show_debug_log and __event_call__: + middle_preview = [ + f"{i + start_index}: [{m.get('role')}] {m.get('content', '')[:20]}..." + for i, m in enumerate(middle_messages[:3]) + ] + tail_preview = [ + f"{i + end_index}: [{m.get('role')}] {m.get('content', '')[:20]}..." + for i, m in enumerate(tail_preview_msgs) + ] + await self._log( + f"[🤖 异步摘要任务] 📊 边界检查:\n" + f" - 中间 (压缩): {len(middle_messages)} 条 (索引 {start_index}-{end_index-1}) -> 预览: {middle_preview}\n" + f" - 尾部 (保留): {len(tail_preview_msgs)} 条 (索引 {end_index}-End) -> 预览: {tail_preview}", + event_call=__event_call__, + ) # 3. 检查 Token 上限并截断 (Max Context Truncation) # [优化] 使用摘要模型(如果有)的阈值来决定能处理多少中间消息 @@ -1020,6 +1510,109 @@ class Filter: event_call=__event_call__, ) + # --- Token 使用情况状态通知 --- + if self.valves.show_token_usage_status and __event_emitter__: + try: + # 1. 获取系统提示词 (DB 回退) + system_prompt_msg = None + model_id = body.get("model") + if model_id: + try: + model_obj = Models.get_model_by_id(model_id) + if model_obj and model_obj.params: + params = model_obj.params + if isinstance(params, str): + params = json.loads(params) + if isinstance(params, dict): + sys_content = params.get("system") + else: + sys_content = getattr(params, "system", None) + + if sys_content: + system_prompt_msg = { + "role": "system", + "content": sys_content, + } + except Exception: + pass # 忽略 DB 错误,尽力而为 + + # 2. 计算 Effective Keep First + last_system_index = -1 + for i, msg in enumerate(messages): + if msg.get("role") == "system": + last_system_index = i + effective_keep_first = max( + self.valves.keep_first, last_system_index + 1 + ) + + # 3. 构建下一个上下文 (Next Context) + # Head + head_msgs = ( + messages[:effective_keep_first] + if effective_keep_first > 0 + else [] + ) + + # Summary + summary_content = ( + f"【系统提示:以下是历史对话的摘要,仅供参考上下文,请勿对摘要内容进行回复,直接回答后续的最新问题】\n\n" + f"{new_summary}\n\n" + f"---\n" + f"以下是最近的对话:" + ) + summary_msg = {"role": "assistant", "content": summary_content} + + # Tail (使用 target_compressed_count,这是我们刚刚压缩到的位置) + # 注意:target_compressed_count 是要被摘要覆盖的消息数(不包括 keep_last) + # 所以 tail 从 max(target_compressed_count, effective_keep_first) 开始 + start_index = max(target_compressed_count, effective_keep_first) + tail_msgs = messages[start_index:] + + # 组装 + next_context = head_msgs + [summary_msg] + tail_msgs + + # 如果需要,注入系统提示词 + if system_prompt_msg: + is_in_head = any(m.get("role") == "system" for m in head_msgs) + if not is_in_head: + next_context = [system_prompt_msg] + next_context + + # 4. 计算 Token + token_count = self._calculate_messages_tokens(next_context) + + # 5. 获取阈值并计算比例 + model = self._clean_model_id(body.get("model")) + thresholds = self._get_model_thresholds(model) + max_context_tokens = thresholds.get( + "max_context_tokens", self.valves.max_context_tokens + ) + + # 6. 发送状态 + status_msg = ( + f"上下文摘要已更新: {token_count} / {max_context_tokens} Tokens" + ) + if max_context_tokens > 0: + ratio = (token_count / max_context_tokens) * 100 + status_msg += f" ({ratio:.1f}%)" + if ratio > 90.0: + status_msg += " | ⚠️ 高负载" + + await __event_emitter__( + { + "type": "status", + "data": { + "description": status_msg, + "done": True, + }, + } + ) + except Exception as e: + await self._log( + f"[Status] 计算 Token 错误: {e}", + type="error", + event_call=__event_call__, + ) + except Exception as e: await self._log( f"[🤖 异步摘要任务] ❌ 错误: {str(e)}", diff --git a/plugins/filters/markdown_normalizer/README.md b/plugins/filters/markdown_normalizer/README.md index 273bcb6..79813af 100644 --- a/plugins/filters/markdown_normalizer/README.md +++ b/plugins/filters/markdown_normalizer/README.md @@ -1,6 +1,6 @@ # Markdown Normalizer Filter -**Author:** [Fu-Jie](https://github.com/Fu-Jie/awesome-openwebui) | **Version:** 1.2.2 | **Project:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) | **License:** MIT +**Author:** [Fu-Jie](https://github.com/Fu-Jie/awesome-openwebui) | **Version:** 1.2.4 | **Project:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) | **License:** MIT A content normalizer filter for Open WebUI that fixes common Markdown formatting issues in LLM outputs. It ensures that code blocks, LaTeX formulas, Mermaid diagrams, and other Markdown elements are rendered correctly. @@ -43,7 +43,7 @@ A content normalizer filter for Open WebUI that fixes common Markdown formatting * `enable_heading_fix`: Fix missing space in headings. * `enable_table_fix`: Fix missing closing pipe in tables. * `enable_xml_tag_cleanup`: Cleanup leftover XML tags. -* `enable_emphasis_spacing_fix`: Fix extra spaces in emphasis (default: True). +* `enable_emphasis_spacing_fix`: Fix extra spaces in emphasis (default: False). * `show_status`: Show status notification when fixes are applied. * `show_debug_log`: Print debug logs to browser console. @@ -53,6 +53,10 @@ A content normalizer filter for Open WebUI that fixes common Markdown formatting ## Changelog +### v1.2.4 + +* **Documentation Updates**: Synchronized version numbers across all documentation and code files. + ### v1.2.3 * **List Marker Protection Enhancement**: Fixed a bug where list markers (`*`) followed by plain text and emphasis were having their spaces incorrectly stripped (e.g., `* U16 forward` became `*U16 forward`). diff --git a/plugins/filters/markdown_normalizer/README_CN.md b/plugins/filters/markdown_normalizer/README_CN.md index ae2dd50..6b4fea7 100644 --- a/plugins/filters/markdown_normalizer/README_CN.md +++ b/plugins/filters/markdown_normalizer/README_CN.md @@ -1,6 +1,6 @@ # Markdown 格式化过滤器 (Markdown Normalizer) -**作者:** [Fu-Jie](https://github.com/Fu-Jie/awesome-openwebui) | **版本:** 1.2.2 | **项目:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) | **许可证:** MIT +**作者:** [Fu-Jie](https://github.com/Fu-Jie/awesome-openwebui) | **版本:** 1.2.4 | **项目:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) | **许可证:** MIT 这是一个用于 Open WebUI 的内容格式化过滤器,旨在修复 LLM 输出中常见的 Markdown 格式问题。它能确保代码块、LaTeX 公式、Mermaid 图表和其他 Markdown 元素被正确渲染。 @@ -53,6 +53,10 @@ ## 更新日志 +### v1.2.4 + +* **文档更新**: 同步了所有文档和代码文件的版本号。 + ### v1.2.3 * **列表标记保护增强**: 修复了列表标记 (`*`) 后跟普通文本和强调标记时,空格被错误剥离的问题(例如 `* U16 前锋` 变成 `*U16 前锋`)。 diff --git a/plugins/filters/markdown_normalizer/markdown_normalizer.py b/plugins/filters/markdown_normalizer/markdown_normalizer.py index d80a597..bd61930 100644 --- a/plugins/filters/markdown_normalizer/markdown_normalizer.py +++ b/plugins/filters/markdown_normalizer/markdown_normalizer.py @@ -3,7 +3,7 @@ title: Markdown Normalizer author: Fu-Jie author_url: https://github.com/Fu-Jie/awesome-openwebui funding_url: https://github.com/open-webui -version: 1.2.3 +version: 1.2.4 openwebui_id: baaa8732-9348-40b7-8359-7e009660e23c description: A content normalizer filter that fixes common Markdown formatting issues in LLM outputs, such as broken code blocks, LaTeX formulas, and list formatting. """ @@ -43,7 +43,7 @@ class NormalizerConfig: ) enable_table_fix: bool = True # Fix missing closing pipe in tables enable_xml_tag_cleanup: bool = True # Cleanup leftover XML tags - enable_emphasis_spacing_fix: bool = True # Fix spaces inside **emphasis** + enable_emphasis_spacing_fix: bool = False # Fix spaces inside **emphasis** # Custom cleaner functions (for advanced extension) custom_cleaners: List[Callable[[str], str]] = field(default_factory=list) @@ -564,7 +564,7 @@ class Filter: default=True, description="Cleanup leftover XML tags" ) enable_emphasis_spacing_fix: bool = Field( - default=True, + default=False, description="Fix spaces inside **emphasis** (e.g. ** text ** -> **text**)", ) show_status: bool = Field( @@ -695,6 +695,15 @@ class Filter: if self._contains_html(content): return body + # Skip if content contains tool output markers (native function calling) + # Pattern: """...""" or tool_call_id or

+ if ( + '"""' in content + or "tool_call_id" in content + or '
标签(类似思维链标签) enable_code_block_fix: bool = True # 修复代码块格式 @@ -35,7 +38,7 @@ class NormalizerConfig: enable_heading_fix: bool = True # 修复标题中缺失的空格 (#Header -> # Header) enable_table_fix: bool = True # 修复表格中缺失的闭合管道符 enable_xml_tag_cleanup: bool = True # 清理残留的 XML 标签 - enable_emphasis_spacing_fix: bool = True # 修复 **强调内容** 中的多余空格 + enable_emphasis_spacing_fix: bool = False # 修复 **强调内容** 中的多余空格 # 自定义清理函数 (用于高级扩展) custom_cleaners: List[Callable[[str], str]] = field(default_factory=list) @@ -239,12 +242,27 @@ class ContentNormalizer: return content def _fix_escape_characters(self, content: str) -> str: - """Fix excessive escape characters""" - content = content.replace("\\r\\n", "\n") - content = content.replace("\\n", "\n") - content = content.replace("\\t", "\t") - content = content.replace("\\\\", "\\") - return content + """修复过度的转义字符 + + 如果 enable_escape_fix_in_code_blocks 为 False (默认),此方法将仅修复代码块外部的转义字符, + 以避免破坏有效的代码示例 (例如,带有 \\n 的 JSON 字符串、正则表达式模式等)。 + """ + if self.config.enable_escape_fix_in_code_blocks: + # 全局应用 (原始行为) + content = content.replace("\\r\\n", "\n") + content = content.replace("\\n", "\n") + content = content.replace("\\t", "\t") + content = content.replace("\\\\", "\\") + return content + else: + # 仅在代码块外部应用 (安全模式) + parts = content.split("```") + for i in range(0, len(parts), 2): # 偶数索引是 Markdown 文本 (非代码) + parts[i] = parts[i].replace("\\r\\n", "\n") + parts[i] = parts[i].replace("\\n", "\n") + parts[i] = parts[i].replace("\\t", "\t") + parts[i] = parts[i].replace("\\\\", "\\") + return "```".join(parts) def _fix_thought_tags(self, content: str) -> str: """Normalize thought tags: unify naming and fix spacing""" @@ -501,6 +519,10 @@ class Filter: enable_escape_fix: bool = Field( default=True, description="修复过度的转义字符 (\\n, \\t 等)" ) + enable_escape_fix_in_code_blocks: bool = Field( + default=False, + description="在代码块内部应用转义修复 (⚠️ 警告:可能会破坏有效的代码,如 JSON 字符串或正则模式。默认:关闭,以确保安全)", + ) enable_thought_tag_fix: bool = Field( default=True, description="规范化思维链标签 ( -> )" ) @@ -539,7 +561,7 @@ class Filter: default=True, description="清理残留的 XML 标签" ) enable_emphasis_spacing_fix: bool = Field( - default=True, + default=False, description="修复强调语法中的多余空格 (例如 ** 文本 ** -> **文本**)", ) show_status: bool = Field(default=True, description="应用修复时显示状态通知") @@ -682,13 +704,23 @@ class Filter: content = last.get("content", "") or "" if last.get("role") == "assistant" and isinstance(content, str): - # Skip if content looks like HTML to avoid breaking it + # 如果内容看起来像 HTML,则跳过以避免破坏它 if self._contains_html(content): return body - # Configure normalizer based on valves + # 如果内容包含工具输出标记 (原生函数调用),则跳过 + # 模式:"""...""" 或 tool_call_id 或
+ if ( + '"""' in content + or "tool_call_id" in content + or '