吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 535|回复: 1
上一主题 下一主题
收起左侧

[会员申请] 申请会员ID: 躺平run一下

  [复制链接]
跳转到指定楼层
楼主
吾爱游客  发表于 2026-3-19 20:50 回帖奖励 |自己
申请会员ID: 躺平run一下
申请 ID:   躺平run一下
个人邮箱:   fj1945@live.cn
仓库地址:   openwebui-extension


原创技术文章:

我在 OpenWebUI 项目里做的插件集

先说背景

我做的项目叫 openwebui-extensions,核心思路是把 OpenWebUI 从一个聊天界面,逐步扩展成一套能承载真实任务的工作系统。目前已收获 122 颗星星,官方插件市场下载累计突然 1w。


功能一:把长文本变成可交互思维导图

对应插件:Smart Mind Map

解决什么问题

大模型总结长内容的能力很强,但输出通常还是"一大段文字"。用户看完知道"说了什么",但很难一眼抓住结构。

怎么做的

整个流程分三层:

  1. LLM 分析层:把用户输入(支持最近 1-5 条消息)送入大模型,用专门设计的提示词让模型提取层级结构——根节点、分支、子分支。
  2. 格式转换层:模型输出标准 Markdown 列表格式(# 根节点\n- 分支\n  - 子分支),这是 Markmap.js 的原生输入。
  3. 渲染层:前端用 Markmap.js 把 Markdown 转成可交互的 SVG 思维导图——支持缩放、拖拽、节点展开/折叠。

关键技术决策:

  • 多语言自适应:4 级语言检测回退(JS 注入读 localStorage → HTTP Accept-Language → 用户配置 → 默认 en-US),确保中英文内容都能正确生成对应语言的导图。
  • 响应式布局:自动检测横竖屏,动态调整节点宽度(140-220px)和间距,手机上也能用。
  • 高质量导出:PNG 导出使用 9 倍缩放因子,打印清晰;同时支持 SVG 矢量格式和 Markdown 源码。

带来什么价值

把 AI 的理解能力转化为可视化结构。输入一篇技术文章,能看到章节关系;输入需求文档,能看到模块拆分;输入学习笔记,能更高效地复习和记忆。

一句话:不是让输出更好看,而是让内容更适合人脑理解。


功能二:把文字信息变成直观的信息图

对应插件:Smart Infographic

解决什么问题

大模型很会写文字,但很多场景下文字不是最优形态。做汇报、写报告、把结论发给同事——纯文字的阅读门槛很高。

怎么做的

这是一个 AI 驱动的可视化管线:

  1. 内容分析:LLM 分析输入文本(最少 100 字),提取关键数据点和逻辑结构。
  2. 模板匹配:从 70+ 专业模板中选择最合适的类型——时间轴、对比图、层级图、数据图表等。模板库基于 AntV Infographic 语法,这是一种类似 Mermaid 的声明式图表语言。
  3. 语法生成:模型输出 AntV Infographic 语法代码,插件会自动清洗和修正(比如去掉多余冒号、修复前缀)。
  4. 渲染输出:前端加载 AntV JS 库,将语法代码渲染为 SVG。支持导出 SVG、PNG 和独立 HTML。

技术亮点:

  • 双模式渲染:默认生成可交互的 HTML(缩放、hover 提示);也可选择嵌入静态图片模式。
  • 智能回退:模板映射有完整的向后兼容层,即使模型生成了旧版语法也能正确渲染。
  • 容器感知:自动检测聊天窗口宽度,动态调整图表尺寸,不会溢出。

带来什么价值

把 AI 结果从"聊天答案"推进成"演示材料"。用户拿到的不是一段等待二次排版的草稿,而是可以直接展示的视觉化内容。

一句话:缩短 AI 输出到"可用成品"之间的距离。


功能三:把聊天结果导出为 Word 和 Excel

对应插件:Export to Word Enhanced、Export to Excel

解决什么问题

这是最现实的问题:AI 生成内容很方便,但很难"带出去"。你需要交付的是 Word 文档、Excel 表格,而不是聊天记录。没有导出能力时,用户只能手动复制粘贴、重新排版,遇到代码块、表格、公式更是麻烦。

怎么做的

Word 导出解决了格式保真问题:

  • 代码高亮:用 Pygments 支持 500+ 编程语言的语法高亮,导出到 Word 后代码块带颜色,不是灰扑扑的纯文本。
  • 数学公式:LaTeX 公式($$...$$)通过 latex2mathmlmathml2omml 转成 Word 原生公式,导出后还能在 Word 里编辑。
  • 图片处理:支持 data URL、OpenWebUI 文件 API(兼容 S3/本地存储)、以及 Mermaid 图表——先在浏览器端渲染成 SVG/PNG,再嵌入文档。
  • 表格美化:自动设置列宽、表头颜色、斑马纹,不是丑陋的默认样式。

Excel 导出解决了数据结构化问题:

  • 智能类型检测:自动识别数字、日期、序列类型,右对齐数字、居中日期,不用手动调。
  • 表格提取:从聊天记录中自动识别 Markdown 表格,支持单条消息多表格、跨消息导出。
  • AI 命名:可以用模型自动生成文件名,也可以用聊天标题或 Markdown 标题。

两者都遵循同一套工程规范:单文件 i18n(内置多语言)、Valves 配置、事件状态推送、健壮的错误处理。

带来什么价值

把 AI 结果从"对话内容"转成"办公文档"。这是很多 AI 产品的盲区——功能做得炫,但结果无法进入真实工作流。

一句话:让 AI 产物真正能交付。


功能四:把 GitHub Copilot SDK 接入 OpenWebUI,让它变成代理工作台

对应插件:GitHub Copilot SDK Pipe — 活跃开发中

解决什么问题

普通聊天只适合问答,不适合复杂任务。当你想让 AI 做的事情不是"回答一个问题",而是"完成一套动作"时,聊天界面就捉襟见肘了。比如:读代码仓库并给出修改方案、自动跑测试并定位失败原因、生成可下载的报告文件。

怎么做的

这个插件的核心是把 OpenWebUI 从"模型前端"升级为"代理工作台"。技术架构分三层:

第一层:SDK 集成

通过 GitHub Copilot SDK 实现多模型支持(GPT-4o、Claude 3.5、o1 等),支持多轮对话、流式输出、无限会话。关键是——不需要 GitHub Copilot 订阅,支持 BYOK(自带 API Key)模式。

第二层:能力注入

自动复用 OpenWebUI 生态中的已有能力:

  • Tools:用户已安装的工具自动注入给 Agent
  • MCP:接入 Model Context Protocol 服务器
  • OpenAPI Servers:对接已配置的 API 服务
  • Skills:支持 SKILL 目录和 OpenWebUI Workspace Skills 双向桥接

这意味着 Agent 不是孤立的,而是站在你已有配置的肩膀上工作。

第三层:任务编排

Agent 具备自主决策能力:

  • 意图识别:理解用户要做什么,自动规划步骤
  • Web 搜索:需要外部信息时主动搜索
  • 上下文压缩:长任务中自动压缩历史,保持专注
  • 文件交付:生成文件后调用 publish_file_from_workspace 自动上传到 OpenWebUI 存储,跳过 RAG 处理

技术细节亮点:

  • 思维链渲染:用原生 <think> 标签包裹推理过程,前端自动显示折叠框
  • 工具调用卡片:输出标准 <details type="tool_calls"> 格式,前端原生渲染折叠面板
  • 会话持久化:SQLite 存储会话状态,重启不丢失
  • 实时 TODO 追踪:紧凑的任务进度组件,同步到 session.db

带来什么价值

OpenWebUI 从"模型前端"升级为"代理工作台"。系统不仅能回答,还能调用工具、做长任务规划、在工作区生成文件和结果页面。

一句话:让 AI 不仅能想,还能做。


功能五:让长对话能真正持续下去

对应插件:Async Context Compression

解决什么问题

只要真实使用大模型一段时间,就会遇到:

  • 对话越来越长,上下文成本飙升;
  • 模型开始遗忘之前的约束和关键信息;
  • 连续做复杂任务时,后半段质量明显下降。

怎么做的

这是一个 Filter 插件,在对话的输入/输出管道中透明工作。核心是混合压缩算法:

压缩策略:保留两端,摘要中间

  • 保留前 N 条消息(系统提示词、核心约束)
  • 保留后 N 条消息(最近的对话上下文)
  • 中间的消息用 LLM 生成摘要,作为一条 assistant 角色的消息插入

异步架构:不阻塞用户

  • inlet(入口):同步执行——压缩并注入已有摘要,速度快
  • outlet(出口):异步执行——在后台生成新的摘要,用 asyncio.create_task 启动,不等用户响应

这意味着用户不会感知到压缩过程的延迟。

智能处理:不只是简单截断

  • Token 估算:多语言启发式算法(中文约 1.5 token/字,英文约 0.25 token/词),快速判断是否需要压缩
  • 工具输出折叠:超过 600 字的工具调用结果自动折叠,保留调用链但精简内容
  • 外部引用:跨对话引用时,小对话直接注入,大对话生成摘要
  • 进度追踪:压缩后重新计算历史坐标,确保前端显示正确

性能数据:长对话中可实现 65%+ 的 token 压缩率。

带来什么价值

把"一次性聊天"变成"可持续的长任务会话"。连续改代码、连续整理文档、长时间调试问题——这类场景需要系统能"续航",而不是聊着聊着就"忘了前面"。

一句话:给整个系统提供持续工作的能力。


这 5 个功能形成的链路

单独看每个功能,都是解决一个局部问题。但串在一起,形成了一条完整的使用链路:

  1. 输入 → 各种文本、文件、代码
  2. 处理 → 上下文压缩(功能五)保障长对话续航,格式规范化确保内容质量
  3. 执行 → GitHub Copilot SDK(功能四)调用工具、完成复杂任务
  4. 呈现 → 思维导图(功能一)、信息图(功能二)等可视化形式
  5. 交付 → 导出为 Word / Excel(功能三)等办公文档

这不再是"几个插件的集合",而是一套把 AI 从"能回答"推进到"能交付"的工作系统。


总结

如果要用一句话概括这个项目在做什么:

围绕 OpenWebUI 做了一组互相配合的能力,让它既能看、能想、能执行,也能把结果真正交付出去。


发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
Hmily 发表于 2026-3-20 16:32
抱歉,未能达到申请要求,申请不通过,可以关注论坛官方微信(吾爱破解论坛),等待开放注册通知。

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-5-16 23:02

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表