Update Async Context Compression docs to v1.1.1 and improve plugin update logic to detect README changes
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# Async Context Compression Filter
|
# Async Context Compression Filter
|
||||||
|
|
||||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie) | **Version:** 1.1.0 | **License:** MIT
|
**Author:** [Fu-Jie](https://github.com/Fu-Jie) | **Version:** 1.1.1 | **License:** MIT
|
||||||
|
|
||||||
This filter reduces token consumption in long conversations through intelligent summarization and message compression while keeping conversations coherent.
|
This filter reduces token consumption in long conversations through intelligent summarization and message compression while keeping conversations coherent.
|
||||||
|
|
||||||
@@ -54,6 +54,7 @@ It is recommended to keep this filter early in the chain so it runs before filte
|
|||||||
| `summary_temperature` | `0.3` | Randomness for summary generation. Lower is more deterministic. |
|
| `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). |
|
| `model_thresholds` | `{}` | Per-model overrides for `compression_threshold_tokens` and `max_context_tokens` (useful for mixed models). |
|
||||||
| `debug_mode` | `true` | Log verbose debug info. Set to `false` in production. |
|
| `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. |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# 异步上下文压缩过滤器
|
# 异步上下文压缩过滤器
|
||||||
|
|
||||||
**作者:** [Fu-Jie](https://github.com/Fu-Jie) | **版本:** 1.2.0 | **许可证:** MIT
|
**作者:** [Fu-Jie](https://github.com/Fu-Jie) | **版本:** 1.1.1 | **许可证:** MIT
|
||||||
|
|
||||||
> **重要提示**:为了确保所有过滤器的可维护性和易用性,每个过滤器都应附带清晰、完整的文档,以确保其功能、配置和使用方法得到充分说明。
|
> **重要提示**:为了确保所有过滤器的可维护性和易用性,每个过滤器都应附带清晰、完整的文档,以确保其功能、配置和使用方法得到充分说明。
|
||||||
|
|
||||||
@@ -94,6 +94,11 @@
|
|||||||
- **默认值**: `true`
|
- **默认值**: `true`
|
||||||
- **描述**: 是否在 Open WebUI 的控制台日志中打印详细的调试信息(如 Token 计数、压缩进度、数据库操作等)。生产环境建议设为 `false`。
|
- **描述**: 是否在 Open WebUI 的控制台日志中打印详细的调试信息(如 Token 计数、压缩进度、数据库操作等)。生产环境建议设为 `false`。
|
||||||
|
|
||||||
|
#### `show_debug_log`
|
||||||
|
|
||||||
|
- **默认值**: `false`
|
||||||
|
- **描述**: 是否在浏览器控制台 (F12) 打印调试日志。便于前端调试。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 故障排除
|
## 故障排除
|
||||||
|
|||||||
@@ -469,10 +469,42 @@ class OpenWebUICommunityClient:
|
|||||||
return True, f"Created new post (ID: {new_post_id})"
|
return True, f"Created new post (ID: {new_post_id})"
|
||||||
return False, "Failed to create new post"
|
return False, "Failed to create new post"
|
||||||
|
|
||||||
|
# 获取远程帖子信息(只需获取一次)
|
||||||
|
remote_post = None
|
||||||
|
if post_id:
|
||||||
|
remote_post = self.get_post(post_id)
|
||||||
|
|
||||||
# 版本检查(仅对更新有效)
|
# 版本检查(仅对更新有效)
|
||||||
if not force and local_version:
|
if not force and local_version and remote_post:
|
||||||
if not self.version_needs_update(post_id, local_version):
|
remote_version = (
|
||||||
return True, f"Skipped: version {local_version} matches remote"
|
remote_post.get("data", {})
|
||||||
|
.get("function", {})
|
||||||
|
.get("meta", {})
|
||||||
|
.get("manifest", {})
|
||||||
|
.get("version")
|
||||||
|
)
|
||||||
|
|
||||||
|
version_changed = local_version != remote_version
|
||||||
|
|
||||||
|
# 检查 README 是否变化
|
||||||
|
readme_changed = False
|
||||||
|
remote_content = remote_post.get("content", "")
|
||||||
|
local_content = readme_content or metadata.get("description", "")
|
||||||
|
|
||||||
|
# 简单的内容比较 (去除首尾空白)
|
||||||
|
if (local_content or "").strip() != (remote_content or "").strip():
|
||||||
|
readme_changed = True
|
||||||
|
|
||||||
|
if not version_changed and not readme_changed:
|
||||||
|
return (
|
||||||
|
True,
|
||||||
|
f"Skipped: version {local_version} matches remote and no README changes",
|
||||||
|
)
|
||||||
|
|
||||||
|
if readme_changed and not version_changed:
|
||||||
|
print(
|
||||||
|
f" ℹ️ Version match ({local_version}) but README changed. Updating..."
|
||||||
|
)
|
||||||
|
|
||||||
# 更新
|
# 更新
|
||||||
success = self.update_plugin(
|
success = self.update_plugin(
|
||||||
@@ -484,7 +516,9 @@ class OpenWebUICommunityClient:
|
|||||||
)
|
)
|
||||||
|
|
||||||
if success:
|
if success:
|
||||||
return True, f"Updated to version {local_version}"
|
if local_version:
|
||||||
|
return True, f"Updated to version {local_version}"
|
||||||
|
return True, "Updated plugin"
|
||||||
return False, "Update failed"
|
return False, "Update failed"
|
||||||
|
|
||||||
def _parse_frontmatter(self, content: str) -> Dict[str, str]:
|
def _parse_frontmatter(self, content: str) -> Dict[str, str]:
|
||||||
|
|||||||
Reference in New Issue
Block a user