feat(github-copilot-sdk): release v0.12.0 with adaptive console, stream deduplication and TTFT profiling
This commit is contained in:
30
.agent/learnings/richui-theme-source-separation.md
Normal file
30
.agent/learnings/richui-theme-source-separation.md
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# RichUI Theme Source Separation
|
||||||
|
|
||||||
|
> Discovered: 2026-03-20
|
||||||
|
|
||||||
|
## Context
|
||||||
|
Applies to the RichUI bridge in `plugins/pipes/github-copilot-sdk/github_copilot_sdk.py` when syncing iframe or standalone HTML theme with OpenWebUI.
|
||||||
|
|
||||||
|
## Finding
|
||||||
|
Theme detection must not read back bridge-applied local theme markers as if they were the upstream source of truth.
|
||||||
|
|
||||||
|
If the bridge writes `html[data-theme]` or `html.dark` in standalone/current-document mode and then also reads those same markers during detection, the theme can self-latch and stop following real source changes such as `meta[name="theme-color"]` updates or `prefers-color-scheme` changes.
|
||||||
|
|
||||||
|
## Solution / Pattern
|
||||||
|
Keep theme **detection** and theme **application** separate.
|
||||||
|
|
||||||
|
When embedded in OpenWebUI, follow the same stable detection order used by `smart-mind-map`:
|
||||||
|
|
||||||
|
1. `parent document` `meta[name="theme-color"]`
|
||||||
|
2. `parent document` `html/body` class or `html[data-theme]`
|
||||||
|
3. `prefers-color-scheme`
|
||||||
|
|
||||||
|
Only if there is no accessible parent document should the bridge fall back to the current document's `meta[name="theme-color"]` and `html/body` theme signals.
|
||||||
|
|
||||||
|
- Always write the resolved theme to a dedicated bridge marker such as `data-openwebui-applied-theme`.
|
||||||
|
- Only mirror generic `html[data-theme]` / `html.dark` markers when a real parent document exists, so standalone fallback does not pollute its own detection source.
|
||||||
|
- If internal widget CSS needs dark-mode styling in standalone mode, target the dedicated marker too (for example `html[data-openwebui-applied-theme="dark"]`).
|
||||||
|
|
||||||
|
## Gotchas
|
||||||
|
- Watching `style` mutations is unnecessary once detection no longer reads computed style or inline color-scheme.
|
||||||
|
- If standalone mode needs to honor page-owned `html.dark` or `html[data-theme]`, do not overwrite those markers just to style the bridge itself; use the dedicated bridge marker instead.
|
||||||
@@ -38,14 +38,14 @@ A collection of enhancements, plugins, and prompts for [open-webui](https://gith
|
|||||||
|
|
||||||
## 🌟 Star Features
|
## 🌟 Star Features
|
||||||
|
|
||||||
### 1. [GitHub Copilot Official SDK Pipe](https://openwebui.com/posts/github_copilot_official_sdk_pipe_ce96f7b4)    
|
### 1. [GitHub Copilot Official SDK Pipe](https://openwebui.com/posts/github_copilot_official_sdk_pipe_ce96f7b4)    
|
||||||
|
|
||||||
**The ultimate autonomous Agent integration for OpenWebUI.** Deeply bridging GitHub Copilot SDK with your OpenWebUI ecosystem. It enables the Agent to autonomously perform **intent recognition**, **web search**, and **context compaction** while reusing your existing tools, skills, and configurations for a professional, full-featured experience.
|
**The ultimate autonomous Agent integration for OpenWebUI.** Deeply bridging GitHub Copilot SDK with your OpenWebUI ecosystem. It enables the Agent to autonomously perform **intent recognition**, **web search**, and **context compaction** while reusing your existing tools, skills, and configurations for a professional, full-featured experience.
|
||||||
|
|
||||||
> [!TIP]
|
> [!TIP]
|
||||||
> **No GitHub Copilot subscription required!** Supports **BYOK (Bring Your Own Key)** mode using your own OpenAI/Anthropic API keys.
|
> **No GitHub Copilot subscription required!** Supports **BYOK (Bring Your Own Key)** mode using your own OpenAI/Anthropic API keys.
|
||||||
|
|
||||||
#### 🚀 Key Leap (v0.11.0)
|
#### 🚀 Key Leap (v0.12.0)
|
||||||
|
|
||||||
- **🚀 High-Performance Shared Pool**: Eliminated 1-2s process startup latency between turns via a persistent client pool.
|
- **🚀 High-Performance Shared Pool**: Eliminated 1-2s process startup latency between turns via a persistent client pool.
|
||||||
- **🔑 Pure BYOK Mode**: Now supports full operation without a `GH_TOKEN`, relying solely on custom API keys.
|
- **🔑 Pure BYOK Mode**: Now supports full operation without a `GH_TOKEN`, relying solely on custom API keys.
|
||||||
@@ -133,7 +133,7 @@ Located in the `plugins/` directory, containing Python-based enhancements:
|
|||||||
|
|
||||||
### Pipes
|
### Pipes
|
||||||
|
|
||||||
- **GitHub Copilot SDK** (`github-copilot-sdk`): Official GitHub Copilot SDK integration (v0.11.0). Supports dynamic models (GPT-4o, Claude 3.7, o1), multi-turn conversation, and high-performance process pooling.
|
- **GitHub Copilot SDK** (`github-copilot-sdk`): Official GitHub Copilot SDK integration (v0.12.0). Supports dynamic models (GPT-4o, Claude 3.7, o1), multi-turn conversation, and high-performance process pooling.
|
||||||
|
|
||||||
### Pipelines
|
### Pipelines
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ OpenWebUI 增强功能集合。包含个人开发与收集的插件、提示词
|
|||||||
> [!TIP]
|
> [!TIP]
|
||||||
> **无需 GitHub Copilot 订阅!** 支持 **BYOK (Bring Your Own Key)** 模式,使用你自己的 OpenAI/Anthropic API Key。
|
> **无需 GitHub Copilot 订阅!** 支持 **BYOK (Bring Your Own Key)** 模式,使用你自己的 OpenAI/Anthropic API Key。
|
||||||
|
|
||||||
#### 🚀 核心进化 (v0.11.0)
|
#### 🚀 核心进化 (v0.12.0)
|
||||||
|
|
||||||
- **🚀 高性能共享池**:通过单例进程池消除了对话间 1-2 秒的进程冷启动延迟,响应更迅速。
|
- **🚀 高性能共享池**:通过单例进程池消除了对话间 1-2 秒的进程冷启动延迟,响应更迅速。
|
||||||
- **🔑 纯 BYOK 模式支持**:解除对 `GH_TOKEN` 的强制依赖,仅凭自定义 API Key 即可完整运行。
|
- **🔑 纯 BYOK 模式支持**:解除对 `GH_TOKEN` 的强制依赖,仅凭自定义 API Key 即可完整运行。
|
||||||
@@ -128,7 +128,7 @@ OpenWebUI 增强功能集合。包含个人开发与收集的插件、提示词
|
|||||||
|
|
||||||
### Pipes (模型管道)
|
### Pipes (模型管道)
|
||||||
|
|
||||||
- **GitHub Copilot SDK** (`github-copilot-sdk`): 深度集成 GitHub Copilot SDK 的强大 Agent (v0.11.0)。支持高性能进程池优化、纯 BYOK 模式、智能意图识别、自主网页搜索与上下文压缩。
|
- **GitHub Copilot SDK** (`github-copilot-sdk`): 深度集成 GitHub Copilot SDK 的强大 Agent (v0.12.0)。支持高性能进程池优化、纯 BYOK 模式、智能意图识别、自主网页搜索与上下文压缩。
|
||||||
|
|
||||||
### Pipelines (工作流管道)
|
### Pipelines (工作流管道)
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# GitHub Copilot SDK Pipe for OpenWebUI
|
# GitHub Copilot SDK Pipe for OpenWebUI
|
||||||
|
|
||||||
| By [Fu-Jie](https://github.com/Fu-Jie) · v0.11.0 | [⭐ Star this repo](https://github.com/Fu-Jie/openwebui-extensions) |
|
| By [Fu-Jie](https://github.com/Fu-Jie) · v0.12.0 | [⭐ Star this repo](https://github.com/Fu-Jie/openwebui-extensions) |
|
||||||
| :--- | ---: |
|
| :--- | ---: |
|
||||||
|
|
||||||
|  |  |  |  |  |  |  |
|
|  |  |  |  |  |  |  |
|
||||||
@@ -39,14 +39,12 @@ When the selection dialog opens, search for this plugin, check it, and continue.
|
|||||||
> [!IMPORTANT]
|
> [!IMPORTANT]
|
||||||
> If the official OpenWebUI Community version is already installed, remove it first. After that, Batch Install Plugins can keep this plugin updated in future runs.
|
> If the official OpenWebUI Community version is already installed, remove it first. After that, Batch Install Plugins can keep this plugin updated in future runs.
|
||||||
|
|
||||||
## ✨ v0.11.0: High-Speed Pool Fix, BYOK-only Mode & Stable RichUI
|
## ✨ v0.12.0: Adaptive Actions Console, Stream Deduplication & Full TTFT Profiling
|
||||||
|
|
||||||
- **🚀 Shared Client Pool Fix**: Resolved a critical bug where the shared singleton pool was incorrectly stopped, restoring instant response speeds for subsequent turns.
|
- **📊 Predictive Adaptive Console**: Automatically models continuous decision layouts using `interactive_controls` state tables on the per-session workspace database so visual panels don't go stale.
|
||||||
- **🔑 BYOK-only Mode**: You can now use the plugin with only BYOK settings (OpenAI/Anthropic keys) without requiring a `GH_TOKEN`.
|
- **🛡️ Stream Overlap Deduplication**: Mitigated overlay dual delivery bugs on `assistant.message_delta` frames using conservative overlap trimming rules during turn resumptions.
|
||||||
- **🛡️ Environment Isolation**: Improved security by isolating user-specific environment variables, preventing token pollution in concurrent requests.
|
- **⏱️ Segmented Profiling Loadtimes**: Fine-grained timers identifying local startup overhead and pure cloud network turnaround time tracking calibration.
|
||||||
- **📏 RichUI Height Stability**: Fixed the infinite sizing loop bug in embedded components, ensuring precise auto-height calculation.
|
- **🧹 Eliminate Redundancies**: Reduced redundant secondary heavy `_parse_mcp_servers()` loops inside session resumes for faster handshake callbacks.
|
||||||
- **🩺 Smart Stall Detection**: Integrated `client.ping()` to rescue slow but alive processes from being prematurely aborted during heavy tasks.
|
|
||||||
- **🧹 Smart TODO Visibility**: Automatically hides the TODO widget in subsequent chats once all tasks are completed to keep the interface clean.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# GitHub Copilot Official SDK Pipe
|
# GitHub Copilot Official SDK Pipe
|
||||||
|
|
||||||
| 作者:[Fu-Jie](https://github.com/Fu-Jie) · v0.11.0 | [⭐ 点个 Star 支持项目](https://github.com/Fu-Jie/openwebui-extensions) |
|
| 作者:[Fu-Jie](https://github.com/Fu-Jie) · v0.12.0 | [⭐ 点个 Star 支持项目](https://github.com/Fu-Jie/openwebui-extensions) |
|
||||||
| :--- | ---: |
|
| :--- | ---: |
|
||||||
|
|
||||||
|  |  |  |  |  |  |  |
|
|  |  |  |  |  |  |  |
|
||||||
@@ -40,14 +40,12 @@
|
|||||||
> [!IMPORTANT]
|
> [!IMPORTANT]
|
||||||
> 如果你已经安装了 OpenWebUI 官方社区里的同名版本,请先删除旧版本,否则重新安装时可能报错。删除后,Batch Install Plugins 后续就可以继续负责更新这个插件。
|
> 如果你已经安装了 OpenWebUI 官方社区里的同名版本,请先删除旧版本,否则重新安装时可能报错。删除后,Batch Install Plugins 后续就可以继续负责更新这个插件。
|
||||||
|
|
||||||
## ✨ v0.11.0:单例进程池修复、纯 BYOK 模式与 RichUI 高度稳定性
|
## ✨ v0.12.0:自适应动作面板、流排重拦截与全链路 TTFT 测定
|
||||||
|
|
||||||
- **🚀 共享进程池修复**:修复了 `stream_response` 误停止单例客户端的重大 Bug,显著提升多轮对话响应速度。
|
- **📊 连续自适应看板 (Adaptive Actions Console)**:自动在 `interactive_controls` 辅助常驻状态表中追踪动作,引导 LLM 有选择性地在最新输出中展示最可能用到的点击控制面板,实现不翻页连续持久化点击操作。
|
||||||
- **🔑 支持纯 BYOK 模式**:现在支持仅配置自带密钥(BYOK)而不提供 `GH_TOKEN` 的运行模式。
|
- **🛡️ 叠加流排重拦截 (Deduplicate Stream overlap)**:对接 `_dedupe_stream_chunk` 保守重叠裁剪,彻底消除二轮对话流重叠叠加异常。
|
||||||
- **🛡️ 并发环境隔离**:重构环境变量注入逻辑,实现用户级 Token 隔离,杜绝高并发下的信息污染。
|
- **⏱️ 分段 ⏱️ Profiling 埋点**:拆装本地预热阻断与云端网络 Trip 数据时间,直观测算 Time-to-First-Byte。
|
||||||
- **📏 RichUI 稳定性增强**:彻底解决了嵌入式组件高度计算循环导致的页面无限变高问题。
|
- **🧹 消除冗余解析**:剔除 Resume 过程对 MCP 的二次昂贵循环,提效握手微观时延。
|
||||||
- **🩺 智能防挂死检测**:引入 `client.ping()` 探测机制,有效减少复杂任务(如长时间运行的脚本)被误杀的概率。
|
|
||||||
- **🧹 智能 TODO 显隐**:当 TODO 任务全部完成后,下一次对话将自动隐藏 UI,保持界面整洁。
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ Pipes allow you to:
|
|||||||
|
|
||||||
## Available Pipe Plugins
|
## Available Pipe Plugins
|
||||||
|
|
||||||
- [GitHub Copilot SDK](github-copilot-sdk.md) (v0.11.0) - Official GitHub Copilot SDK integration. Features **Workspace Isolation**, **Zero-config OpenWebUI Tool Bridge**, **BYOK** support, and **dynamic MCP discovery**. **NEW in v0.11.0: Shared Client Pool fix (High Performance), Pure BYOK-only Mode, and Stable RichUI auto-sizing**. [View Deep Dive](github-copilot-sdk-deep-dive.md) | [**View Advanced Tutorial**](github-copilot-sdk-tutorial.md) | [**View Detailed Usage Guide**](github-copilot-sdk-usage-guide.md).
|
- [GitHub Copilot SDK](github-copilot-sdk.md) (v0.12.0) - Official GitHub Copilot SDK integration. Features **Workspace Isolation**, **Zero-config OpenWebUI Tool Bridge**, **BYOK** support, and **dynamic MCP discovery**. **NEW in v0.12.0: Shared Client Pool fix (High Performance), Pure BYOK-only Mode, and Stable RichUI auto-sizing**. [View Deep Dive](github-copilot-sdk-deep-dive.md) | [**View Advanced Tutorial**](github-copilot-sdk-tutorial.md) | [**View Detailed Usage Guide**](github-copilot-sdk-usage-guide.md).
|
||||||
- **[Case Study: GitHub 100 Star Growth Analysis](star-prediction-example.md)** - Learn how to use the GitHub Copilot SDK Pipe with Minimax 2.1 to automatically analyze CSV data and generate project growth reports.
|
- **[Case Study: GitHub 100 Star Growth Analysis](star-prediction-example.md)** - Learn how to use the GitHub Copilot SDK Pipe with Minimax 2.1 to automatically analyze CSV data and generate project growth reports.
|
||||||
- **[Case Study: High-Quality Video to GIF Conversion](video-processing-example.md)** - See how the model uses system-level FFmpeg to accelerate, scale, and optimize colors for screen recordings.
|
- **[Case Study: High-Quality Video to GIF Conversion](video-processing-example.md)** - See how the model uses system-level FFmpeg to accelerate, scale, and optimize colors for screen recordings.
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ Pipes 可以用于:
|
|||||||
|
|
||||||
## 可用的 Pipe 插件
|
## 可用的 Pipe 插件
|
||||||
|
|
||||||
- [GitHub Copilot SDK](github-copilot-sdk.zh.md) (v0.11.0) - GitHub Copilot SDK 官方集成。具备**工作区安全隔离**、**零配置工具桥接**与**BYOK (自带 Key) 支持**。**v0.11.0 更新:单例进程池 Bug 修复 (极速响应)、纯 BYOK 模式支持与 RichUI 自动高度稳定性增强**。[查看深度架构解析](github-copilot-sdk-deep-dive.zh.md) | [**查看进阶 实战教程**](github-copilot-sdk-tutorial.zh.md) | [**查看详细使用手册**](github-copilot-sdk-usage-guide.zh.md)。
|
- [GitHub Copilot SDK](github-copilot-sdk.zh.md) (v0.12.0) - GitHub Copilot SDK 官方集成。具备**工作区安全隔离**、**零配置工具桥接**与**BYOK (自带 Key) 支持**。**v0.12.0 更新:单例进程池 Bug 修复 (极速响应)、纯 BYOK 模式支持与 RichUI 自动高度稳定性增强**。[查看深度架构解析](github-copilot-sdk-deep-dive.zh.md) | [**查看进阶 实战教程**](github-copilot-sdk-tutorial.zh.md) | [**查看详细使用手册**](github-copilot-sdk-usage-guide.zh.md)。
|
||||||
- **[实战案例:GitHub 100 Star 增长预测](star-prediction-example.zh.md)** - 展示如何使用 GitHub Copilot SDK Pipe 结合 Minimax 2.1 模型,自动编写脚本分析 CSV 数据并生成详细的项目增长报告。
|
- **[实战案例:GitHub 100 Star 增长预测](star-prediction-example.zh.md)** - 展示如何使用 GitHub Copilot SDK Pipe 结合 Minimax 2.1 模型,自动编写脚本分析 CSV 数据并生成详细的项目增长报告。
|
||||||
- **[实战案例:视频高质量 GIF 转换与加速](video-processing-example.zh.md)** - 演示模型如何通过底层 FFmpeg 工具对录屏进行加速、缩放及双阶段色彩优化处理。
|
- **[实战案例:视频高质量 GIF 转换与加速](video-processing-example.zh.md)** - 演示模型如何通过底层 FFmpeg 工具对录屏进行加速、缩放及双阶段色彩优化处理。
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# GitHub Copilot SDK Pipe for OpenWebUI
|
# GitHub Copilot SDK Pipe for OpenWebUI
|
||||||
|
|
||||||
| By [Fu-Jie](https://github.com/Fu-Jie) · v0.11.0 | [⭐ Star this repo](https://github.com/Fu-Jie/openwebui-extensions) |
|
| By [Fu-Jie](https://github.com/Fu-Jie) · v0.12.0 | [⭐ Star this repo](https://github.com/Fu-Jie/openwebui-extensions) |
|
||||||
| :--- | ---: |
|
| :--- | ---: |
|
||||||
|
|
||||||
|  |  |  |  |  |  |  |
|
|  |  |  |  |  |  |  |
|
||||||
@@ -39,14 +39,12 @@ When the selection dialog opens, search for this plugin, check it, and continue.
|
|||||||
> [!IMPORTANT]
|
> [!IMPORTANT]
|
||||||
> If the official OpenWebUI Community version is already installed, remove it first. After that, Batch Install Plugins can keep this plugin updated in future runs.
|
> If the official OpenWebUI Community version is already installed, remove it first. After that, Batch Install Plugins can keep this plugin updated in future runs.
|
||||||
|
|
||||||
## ✨ v0.11.0: High-Speed Pool Fix, BYOK-only Mode & Stable RichUI
|
## ✨ v0.12.0: Adaptive Actions Console, Stream Deduplication & Full TTFT Profiling
|
||||||
|
|
||||||
- **🚀 Shared Client Pool Fix**: Resolved a critical bug where the shared singleton pool was incorrectly stopped, restoring instant response speeds for subsequent turns.
|
- **📊 Predictive Adaptive Console**: Automatically models continuous decision layouts using `interactive_controls` state tables on the per-session workspace database so visual panels don't go stale.
|
||||||
- **🔑 BYOK-only Mode**: You can now use the plugin with only BYOK settings (OpenAI/Anthropic keys) without requiring a `GH_TOKEN`.
|
- **🛡️ Stream Overlap Deduplication**: Mitigated overlay dual delivery bugs on `assistant.message_delta` frames using conservative overlap trimming rules during turn resumptions.
|
||||||
- **🛡️ Environment Isolation**: Improved security by isolating user-specific environment variables, preventing token pollution in concurrent requests.
|
- **⏱️ Segmented Profiling Loadtimes**: Fine-grained timers identifying local startup overhead and pure cloud network turnaround time tracking calibration.
|
||||||
- **📏 RichUI Height Stability**: Fixed the infinite sizing loop bug in embedded components, ensuring precise auto-height calculation.
|
- **🧹 Eliminate Redundancies**: Reduced redundant secondary heavy `_parse_mcp_servers()` loops inside session resumes for faster handshake callbacks.
|
||||||
- **🩺 Smart Stall Detection**: Integrated `client.ping()` to rescue slow but alive processes from being prematurely aborted during heavy tasks.
|
|
||||||
- **🧹 Smart TODO Visibility**: Automatically hides the TODO widget in subsequent chats once all tasks are completed to keep the interface clean.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# GitHub Copilot Official SDK Pipe
|
# GitHub Copilot Official SDK Pipe
|
||||||
|
|
||||||
| 作者:[Fu-Jie](https://github.com/Fu-Jie) · v0.11.0 | [⭐ 点个 Star 支持项目](https://github.com/Fu-Jie/openwebui-extensions) |
|
| 作者:[Fu-Jie](https://github.com/Fu-Jie) · v0.12.0 | [⭐ 点个 Star 支持项目](https://github.com/Fu-Jie/openwebui-extensions) |
|
||||||
| :--- | ---: |
|
| :--- | ---: |
|
||||||
|
|
||||||
|  |  |  |  |  |  |  |
|
|  |  |  |  |  |  |  |
|
||||||
@@ -40,14 +40,12 @@
|
|||||||
> [!IMPORTANT]
|
> [!IMPORTANT]
|
||||||
> 如果你已经安装了 OpenWebUI 官方社区里的同名版本,请先删除旧版本,否则重新安装时可能报错。删除后,Batch Install Plugins 后续就可以继续负责更新这个插件。
|
> 如果你已经安装了 OpenWebUI 官方社区里的同名版本,请先删除旧版本,否则重新安装时可能报错。删除后,Batch Install Plugins 后续就可以继续负责更新这个插件。
|
||||||
|
|
||||||
## ✨ v0.11.0:单例进程池修复、纯 BYOK 模式与 RichUI 高度稳定性
|
## ✨ v0.12.0:自适应动作面板、流排重拦截与全链路 TTFT 测定
|
||||||
|
|
||||||
- **🚀 共享进程池修复**:修复了 `stream_response` 误停止单例客户端的重大 Bug,显著提升多轮对话响应速度。
|
- **📊 连续自适应看板 (Adaptive Actions Console)**:自动在 `interactive_controls` 辅助常驻状态表中追踪动作,引导 LLM 有选择性地在最新输出中展示最可能用到的点击控制面板,实现不翻页连续持久化点击操作。
|
||||||
- **🔑 支持纯 BYOK 模式**:现在支持仅配置自带密钥(BYOK)而不提供 `GH_TOKEN` 的运行模式。
|
- **🛡️ 叠加流排重拦截 (Deduplicate Stream overlap)**:对接 `_dedupe_stream_chunk` 保守重叠裁剪,彻底消除二轮对话流重叠叠加异常。
|
||||||
- **🛡️ 并发环境隔离**:重构环境变量注入逻辑,实现用户级 Token 隔离,杜绝高并发下的信息污染。
|
- **⏱️ 分段 ⏱️ Profiling 埋点**:拆装本地预热阻断与云端网络 Trip 数据时间,直观测算 Time-to-First-Byte。
|
||||||
- **📏 RichUI 稳定性增强**:彻底解决了嵌入式组件高度计算循环导致的页面无限变高问题。
|
- **🧹 消除冗余解析**:剔除 Resume 过程对 MCP 的二次昂贵循环,提效握手微观时延。
|
||||||
- **🩺 智能防挂死检测**:引入 `client.ping()` 探测机制,有效减少复杂任务(如长时间运行的脚本)被误杀的概率。
|
|
||||||
- **🧹 智能 TODO 显隐**:当 TODO 任务全部完成后,下一次对话将自动隐藏 UI,保持界面整洁。
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ author_url: https://github.com/Fu-Jie/openwebui-extensions
|
|||||||
funding_url: https://github.com/open-webui
|
funding_url: https://github.com/open-webui
|
||||||
openwebui_id: ce96f7b4-12fc-4ac3-9a01-875713e69359
|
openwebui_id: ce96f7b4-12fc-4ac3-9a01-875713e69359
|
||||||
description: A powerful Agent SDK integration for OpenWebUI. It deeply bridges GitHub Copilot SDK with OpenWebUI's ecosystem, enabling the Agent to autonomously perform intent recognition, web search, and context compaction. It seamlessly reuses your existing Tools, MCP servers, OpenAPI servers, and Skills for a professional, full-featured experience.
|
description: A powerful Agent SDK integration for OpenWebUI. It deeply bridges GitHub Copilot SDK with OpenWebUI's ecosystem, enabling the Agent to autonomously perform intent recognition, web search, and context compaction. It seamlessly reuses your existing Tools, MCP servers, OpenAPI servers, and Skills for a professional, full-featured experience.
|
||||||
version: 0.11.0
|
version: 0.12.0
|
||||||
requirements: github-copilot-sdk==0.1.30
|
requirements: github-copilot-sdk==0.1.30
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|||||||
27
plugins/pipes/github-copilot-sdk/v0.12.0.md
Normal file
27
plugins/pipes/github-copilot-sdk/v0.12.0.md
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
# v0.12.0 Release Notes
|
||||||
|
|
||||||
|
This update (`v0.12.0`) delivers a structural reinforcement resolving stream duplication/overlays during prompt resumes, and introduces highly requested predictive control surface sustainability.
|
||||||
|
|
||||||
|
## 📊 New Features
|
||||||
|
|
||||||
|
### 1. Predictive Adaptive Actions Console
|
||||||
|
Injected a **Predictive Adaptive Controller** design directive into the system prompt context.
|
||||||
|
* **Continuity Architecture**: Micro-views (`<iframe>`, `<richui>`, or HTML embeds) are now recognized by the LLM as Dynamic Operational State machines, preventing the panel from going stale/unclicked between new conversational turns.
|
||||||
|
* **Physical Isolation & Persistence**: The Pipe now pre-emptively initializes an **`interactive_controls` state table** in the per-session `session.db` workspace database. The LLM can use its `sql` tool to track continuous actions reliably.
|
||||||
|
* **Selective Recall**: Evaluates next-turn likelihoods natively to include *only* relevant unclicked control bars into the latest response stream so you don't scroll back up to click.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🛠️ Bug Fixes
|
||||||
|
|
||||||
|
1. **Stream Overlap Deduplication**:
|
||||||
|
* Resolved concurrent string duplication overlay bugs on `assistant.message_delta` frames (e.g., repeating prefixes) by enforcing strict conservative overlap trimming rules during turn resumptions.
|
||||||
|
2. **TTFT Fine-grained Profiling**:
|
||||||
|
* Deployed micro-segment timers separating local subprocess setups (~1.6s) from cloud network intervals (~2.3s) for full accounting calibration data readout directly in browser consoles.
|
||||||
|
3. **Eliminate Redundancies**:
|
||||||
|
* Cut redundant secondary heavy `_parse_mcp_servers()` loops inside session resume packager for slight performance speed improvements.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📖 Docs Update
|
||||||
|
* Local and Mirror docs (`index.md`, `github-copilot-sdk.md`) version synchronization pushed up to `0.12.0`.
|
||||||
27
plugins/pipes/github-copilot-sdk/v0.12.0_CN.md
Normal file
27
plugins/pipes/github-copilot-sdk/v0.12.0_CN.md
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
# v0.12.0 版本发布说明 (Release Notes)
|
||||||
|
|
||||||
|
针对二轮对话(Resume Session)时输出流式重复叠加,以及看板控件不持久的痛点,本次 `v0.12.0` 带来了一次结构性的功能加固。
|
||||||
|
|
||||||
|
## 📊 新功能 (New Features)
|
||||||
|
|
||||||
|
### 1. 连续自适应看板 (Adaptive Actions Console)
|
||||||
|
在系统提示词层级注入了 **Predictive Adaptive Controller** 预测性控制面板指南。
|
||||||
|
* 大模型现在被引导去感知自己生成的 `<iframe>` 或富文本动作面板是一个“高度状态化的连续应用”,而非单次抛弃式气泡。
|
||||||
|
* **物理级隔离与持久化**:底层 `.pipe_impl` 现已透明为本次会话初始化了 `session.db` 空间中的 **`interactive_controls` 辅助常驻状态表**。大模型可以通过调用 `sql` 工具记录和跨 Turn 读取哪些动作目前依然活跃。
|
||||||
|
* **有选择性召回 (Selective Recall)**:结合本轮上下文,大模型只在输出末端带上“逻辑概率最高”的幸存按钮,保证不翻页就能持续点击、协同工作,不造成消息轰炸或错乱。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🛠️ 问题修复 (Bug Fixes)
|
||||||
|
|
||||||
|
1. **叠加重复输出剔除 (Deduplicate Stream overlap)**:
|
||||||
|
* 在 `assistant.message_delta` 时,严格对接 `_dedupe_stream_chunk` 保守重置算法,过滤掉了 CLI 多路通道在极速握手期间重播的上轮前缀,彻底解决 `🎉 删 🎉 删除成功` 这类叠加显示错误。
|
||||||
|
2. **耗时精密度测定 (Fine-grained TTFT Profiling)**:
|
||||||
|
* 针对 First-Byte Latency 增加了分步测速:把 Process 初始化 (1.6s) 与网络云端Trip (2.3s) 严格通过时间差算出。排除了计算漏电。
|
||||||
|
3. **消除冗余解析**:
|
||||||
|
* 移除了 `resume_params` 时不必要重复触发的高昂 MCP 解析迭代,降低微观响应时延。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📖 文档更新 (Docs)
|
||||||
|
* 本地与 docs 镜像页 (`index.zh.md`, `github-copilot-sdk.zh.md`) 版本同步推至 `0.12.0`。
|
||||||
75
scripts/bump_release.py
Normal file
75
scripts/bump_release.py
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
plugin_dir = Path("plugins/pipes/github-copilot-sdk")
|
||||||
|
docs_dir = Path("docs/plugins/pipes")
|
||||||
|
|
||||||
|
new_ver = "0.12.0"
|
||||||
|
old_ver = "0.11.0"
|
||||||
|
|
||||||
|
# Updates definition
|
||||||
|
whats_new_cn = f"""## ✨ v{new_ver}:自适应动作面板、流排重拦截与全链路 TTFT 测定
|
||||||
|
|
||||||
|
- **📊 连续自适应看板 (Adaptive Actions Console)**:在 `.pipe_impl` 挂载了 `interactive_controls` 状态表,引导大模型按逻辑概率有选择性召回旧面板,实现不翻页连续持久化点击操作。
|
||||||
|
- **🛡️ 叠加流排重拦截 (Deduplicate Stream overlap)**:对接 `_dedupe_stream_chunk` 保守重叠裁剪,彻底消除二轮对话流重叠叠加异常。
|
||||||
|
- **⏱️ 分段 Profiling 埋点**:拆装本地预热阻断与云端网络 Trip 数据时间,直观测算 Time-to-First-Byte。
|
||||||
|
- **🧹 消除冗余解析**:剔除 Resume 过程对 MCP 的二次昂贵循环,提效握手微观时延。
|
||||||
|
"""
|
||||||
|
|
||||||
|
whats_new_en = f"""## ✨ v{new_ver}: Adaptive Actions Console, Stream Deduplication & Full TTFT Profiling
|
||||||
|
|
||||||
|
- **📊 Predictive Adaptive Console**: Introduced the `interactive_controls` state table inside local config workspace for the LLM to model continuous decision layouts that do not go stale.
|
||||||
|
- **🛡️ Stream Overlap Deduplication**: Mitigated overlay double delivery issues on `assistant.message_delta` using conservative overlap trimming logic during turn resumptions.
|
||||||
|
- **⏱️ Segmented Profiling Loadtimes**: Fine-grained timers identifying local startup overhead and pure cloud network turnaround time displayed directly in dev consoles.
|
||||||
|
- **🧹 Eliminate Redundancies**: Reduced redundant secondary heavy `_parse_mcp_servers()` loops inside session resumes for faster handshake callbacks.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def update_whats_new(file_path, new_block, old_title_regex):
|
||||||
|
if not file_path.exists():
|
||||||
|
return
|
||||||
|
content = file_path.read_text(encoding="utf-8")
|
||||||
|
# Find the current What's New block.
|
||||||
|
# We look for a line starting with `## ✨ v0.11.0` until the next delimiter or `---`
|
||||||
|
pattern = rf"(## ✨ v?{re.escape(old_ver)}[\s\S]*?)(?=\n---|\n##)"
|
||||||
|
if re.search(pattern, content):
|
||||||
|
new_content = re.sub(pattern, new_block.strip() + "\n", content)
|
||||||
|
file_path.write_text(new_content, encoding="utf-8")
|
||||||
|
print(f"Updated What's New in {file_path}")
|
||||||
|
else:
|
||||||
|
print(f"Could not find What's new block in {file_path}")
|
||||||
|
|
||||||
|
def global_replace_version(file_path):
|
||||||
|
if not file_path.exists():
|
||||||
|
return
|
||||||
|
content = file_path.read_text(encoding="utf-8")
|
||||||
|
new_content = content.replace(old_ver, new_ver)
|
||||||
|
if content != new_content:
|
||||||
|
file_path.write_text(new_content, encoding="utf-8")
|
||||||
|
print(f"Bumped version string in {file_path}")
|
||||||
|
|
||||||
|
# 1. Update What's New
|
||||||
|
update_whats_new(plugin_dir / "README_CN.md", whats_new_cn, f"v{old_ver}")
|
||||||
|
update_whats_new(plugin_dir / "README.md", whats_new_en, f"v{old_ver}")
|
||||||
|
|
||||||
|
# 2. Update Docs What's New
|
||||||
|
update_whats_new(docs_dir / "github-copilot-sdk.zh.md", whats_new_cn, f"v{old_ver}")
|
||||||
|
update_whats_new(docs_dir / "github-copilot-sdk.md", whats_new_en, f"v{old_ver}")
|
||||||
|
|
||||||
|
# 3. Global update everything else
|
||||||
|
files_to_bump = [
|
||||||
|
plugin_dir / "README_CN.md",
|
||||||
|
plugin_dir / "README.md",
|
||||||
|
docs_dir / "github-copilot-sdk.zh.md",
|
||||||
|
docs_dir / "github-copilot-sdk.md",
|
||||||
|
docs_dir / "index.md",
|
||||||
|
docs_dir / "index.zh.md",
|
||||||
|
Path("README.md"),
|
||||||
|
Path("README_CN.md"),
|
||||||
|
]
|
||||||
|
|
||||||
|
for f in files_to_bump:
|
||||||
|
global_replace_version(f)
|
||||||
|
|
||||||
|
print("Updates complete! ✅")
|
||||||
Reference in New Issue
Block a user