fix: revert chart to embedded data - Kroki server-side rendering cannot fetch external URLs

This commit is contained in:
fujie
2026-02-11 13:23:05 +08:00
parent 0394be7d16
commit 2381c5080e
7 changed files with 18 additions and 51 deletions

View File

@@ -31,7 +31,7 @@ A collection of enhancements, plugins, and prompts for [OpenWebUI](https://githu
| 6⃣ | [Markdown Normalizer](https://openwebui.com/posts/markdown_normalizer_baaa8732) | ![v](https://img.shields.io/badge/v-1.2.4-blue?style=flat) | ![p6_dl](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_p6_dl.json&style=flat) | ![p6_vw](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_p6_vw.json&style=flat) | ![updated](https://img.shields.io/badge/2026--01--29-gray?style=flat) |
### 📈 Total Downloads Trend
![Activity](https://kroki.io/vegalite/svg/eNqNUj2T2jAQ_SuMkusCNtzYcLTJpEh9XSbF2lrbG2TJkdYYhuG_ZyUwQ65KY-ut3r63H7qoz6HusAe1X6iOeQj7LDtiC6uWuBurFbnsRkjRpSHG7Fisfgdn1ZeF0hhqTwOTQFF4dwxm8c1N1jjQYfHu0erIm0hzJ4xdngvqkNqOBW4SHEBrsq3gQlAF9aH1bpREUWQPNgwgOhx1amcbisyLOhJO6RDYuwN-JF-FDScKiaJdDxQrbMAElJvWk57hNVI1MCTq6M3zLFoKfJ_FGNCLP4v6qnZ99n1c_iDMdPWq34pyt823Bex2OTRls24q2Ja63L7VZeZhyuoOPC-jyW100bIHf0iWfB5S-VI4xCYNWUwXtTPOx5tPm6J8xSqlzcGLOq3lt5bQeT6cNnMkHvLUKGiK89jfdMFHh8BuiJP5eVGuaQLynf0wnDpZdLR7IqyfCY-KfqXxoa3dfYdSV_o2hCatULrGaDq3ydgPzoNRzxtqnO8hVfnSL1_Sm2FiExPsaEycClRovj78y7JUyfr8wW1-fM-Wf0awIgdMR_zH9n88rte_Foz4-Q==)
![Activity](https://kroki.io/vegalite/svg/eNqNlsFu2zAMhl8l8Nbb0liULdu9bo_Q27CDEiuxVsXybCVpEeTdR6lN0IU0sEsgSp9Iir8s5px9nTad2evsaZF1IQzT02p1NDv9uLOhO6wfrV-9A2l26Wwwq2P5-HvyffZtkbVm2ox2CBZN9PDsg3aLH_7UO6_bafE8mr6N3Mm2oUOiznO0OmN3XUATkjnotrX9Du0SrbXevOxGf8CN6DGMup8GjX5C9LPx_dZG8pwdrTmlwRRG_2Lu4QvS-tVOCWn9XtuY4Va7yeDKbrTt1bxEtNVBv7vV7mDirp_nOJn8Qg5qmYtlXqYzX4-HS1VR426GVPdkLXOerO7JRpQ8WROyAp5s7kmRC8WiIqdoXfGoIKio-QQEEBTKmQQkQWUhebQgaKH4qgqilChh5liKog2vqiBaCaVmUCKWqNRMBahatSxYFKhaDfASAFWrmTkWELUgn8kViFowdweAqAVQ8hIAUQvkXAWIWlDMfINA1IJSzqBELVDQ8ChRC6qav4SSqAV1xVdAErWgqbgEAOl7VObs24IoEVYK9r4iSoSVIBWPEmGlrAoeJcLKkr2vwLyYUinJo0RYWc0Viwgr62omASKsbBq-AvTRLIQUPCooim_Wr9hz9np8ST0nvA1pE3YuHXFne5MWNt75Ma58wedTmnXqatfJc_Yq4meNU2_XwStcZ-IgT51OtzY2xKd3v3qMEabgh48m57fbyYQP-hbw1GGnz9KRboD4DNwy-pX6p-k3_qOJY17pd2uNSz081QSZ6zGD2Q9-1C773KK3ftzrlOXDfvmQ_jQEG1zc0B-ci1XRa-O-3-IrpbIU-u0u2q3Wn0L-Oege3elgj-afsP8T43L5C23qg4U=)
*See full stats and charts in [Community Stats Report](./docs/community-stats.md)*
<!-- STATS_END -->

View File

@@ -28,7 +28,7 @@ OpenWebUI 增强功能集合。包含个人开发与收集的插件、提示词
| 6⃣ | [Markdown Normalizer](https://openwebui.com/posts/markdown_normalizer_baaa8732) | ![v](https://img.shields.io/badge/v-1.2.4-blue?style=flat) | ![p6_dl](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_p6_dl.json&style=flat) | ![p6_vw](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_p6_vw.json&style=flat) | ![updated](https://img.shields.io/badge/2026--01--29-gray?style=flat) |
### 📈 总下载量累计趋势
![Activity](https://kroki.io/vegalite/svg/eNqNksuy2jAMhl_lTNqzK-RCc4FtZ7roK5QulFhOXBw79YXAMLx7ZUOY9Ky6USzptz5Jzi35bLsBR0gOb8ng3GQPaXrGHra9cINvt0KnD0GMbqRwmJ7L7W-rVfLlLWFoOyMmJ8ilCkdfZbv26L9iRrbhNTv6fd7xo69ZQbZpISfLGsqWRctDiVkwN9DlJsvIG1D0gyO3iO4EjAnVk1-S10J36o32igWYM6DsBAaVC3U6rbgIyltyFjjHg3VGn_Cj-E5quAgbJUyPIELzHKRFyvRGsMW9BykDB1HqjVyvqRfWPdfkLRriO6q-7fSYfvebHwJT1u7YvqyaOqtLaJoMeMVz3kJdsared1VqYE67AYzbBMhjqwE5gjlFpLtOsX1qHMKQUiiMiU5LbULmU1FWO2zjtSV4Sy45fXIKXZfDpVgi4ZDFQYGJsI_Doy6YQLBOT2EzP2-J5tyie6pfwHmgfyDgVoJ8LXh19CuuD1Wnn29IfUXLBcr4hDQ1BugypsNx0gZksn4hrs0Iscv3cfPOol44GS4oL2XYCrQov734VVUlEX39QNOzkhqYXSP_eFBUDpw44z_Y_2Hc738BAXQA-g==)
![Activity](https://kroki.io/vegalite/svg/eNqNlsFy2yAQhl8loza3OoZFAinXPkadAxLIopGFKiE7GY_fvUBiT-pFM70wWvjYXfbHrM_Z97np9EFmzw9Z59w4P2-3R72XT3vjuqV-Mnb7AcTZTW-c3h6Lp9-zHbIfD5nSczOZ0Rlveg-7hRNW75ZcEz-WrVC7paJNu1uEAj-WtaR-VKVfLaBug4uTUa7zm0tCvNVps--cNyGao1TKDHtvF96qZfO6n-wyqBDMTXKYRznpwQU_jR1aE8hzdjT6FD9mN9lXfQ9fPC3fzBwRZQ_ShORb2c_ar-wno67mJaBKOvnhVvaLDrt-ncNk9AsE-IbQDSliOexp6K1UARJ56XcnSH5PloykSXFPVrRIkyUiBaTJ6p6khPIkSglGS5FGKUJpmU6AAkKhWEmAIZTlLI3mCM15uqoUKUULWDkWx2iVVpUirSjnKygSiwq-UgGsVsnyJApYrQrSEgBWq1o5FiC1gKzkCkgtWLsDgNQCKNISAFIL2FoFkFqQr_wGAakFBVtBkVrAoUqjSC0QZfoSMqQWlCJdAYbUgkqkEgBP36OMJN8WjyJhGU3eV48iYRkwnkaRsIyJPI0iYVmRvK-QeDEZ5yyNImGZWCsWEpaVYiUBJCyrqnQF8KOZU0bTKMWof7NeQs85yOk19hz3PsZNvnPJgPdm0HGhsb2dwso3_3wyXceudp08Z280_Kz91Pv14w2uM-GDxE4nlQkN8fnDr5xChNnZ8bPJ2badtfukbwFPnf8TkMUj3QD6Fbhl9BL7px4a-9nEfV5xbI3uYw-PNfHM9ZhOH0Y7yT772qJbOx1kzPLxsHlUkTeuDxuGpe9DVWSt-5-3-JzzLIZ-v4t2q_WXkH8WOXh30pmj_ifs_8S4XP4CD5SLdw==)
*完整统计与趋势图请查看 [社区统计报告](./docs/community-stats.zh.md)*
<!-- STATS_END -->

View File

@@ -1,7 +1,7 @@
{
"total_posts": 22,
"total_downloads": 4160,
"total_views": 45978,
"total_views": 45980,
"total_upvotes": 231,
"total_downvotes": 2,
"total_saves": 274,
@@ -71,7 +71,7 @@
"author": "Fu-Jie",
"description": "Reduces token consumption in long conversations while maintaining coherence through intelligent summarization and message compression.",
"downloads": 363,
"views": 3758,
"views": 3759,
"upvotes": 14,
"saves": 34,
"comments": 0,
@@ -183,7 +183,7 @@
"author": "Fu-Jie",
"description": "Integrate GitHub Copilot SDK. Supports dynamic models, multi-turn conversation, streaming, multimodal input, infinite sessions, and frontend debug logging.",
"downloads": 107,
"views": 2410,
"views": 2411,
"upvotes": 14,
"saves": 9,
"comments": 6,
@@ -311,7 +311,7 @@
"author": "",
"description": "",
"downloads": 0,
"views": 290,
"views": 292,
"upvotes": 5,
"saves": 0,
"comments": 0,

View File

@@ -3,7 +3,7 @@
> ![updated](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_updated.json&style=flat)
### 📈 Growth & Trends (Last 14 Days)
![Trend](https://kroki.io/mermaid/svg/eNpNjkFuxCAMRfc9Bcqiq0QCbMCs295gdqMsaAdNI2WINKFq5va1k1KVxef5Y769PT4-070O77mmJ8WnTnXOqnsr13TNt1yqelavy3eZl3RZ1emey6XbG7chbdOqzp02g41drwRANzA72EH_gW0ADbCBa-AbhAbUIP6C0Q1MN-6bPI5NutNS06xelq9S12PHeSpZnW0g3StLIbDGEHsFGtgB44nVgmeFgKzOWlbvgTXsnRTEiZF70IAR9Xr8lw6WSGL49UhAqRxpJxloxSQDkhgReSzq6NlEMEHiEJxUzjr-gN6jXERBBroYaPwB6wZaLg==)
![Trend](https://kroki.io/mermaid/svg/eNpNjkFuxCAMRfc9Bcqiq0QCbMCs295gdqMsaAdNI2WINKFq5va1k1KVxef5Y769PT4-070O77mmJ8WnTnXOqnsr13TNt1yqelavy3eZl3RZ1emey6XbG7chbdOqzp02g41drwRANzA72EH_gW0ADbCBa-AbhAbUIP6C0Q1MN-6bPI5NutNS06xelq9S12PHeSpZnW0g3StLIbDGEHsFGtgB44nVgmeFgKzOWlbvgTXsnRTEiZF70IAR9Xr8lw6WSGL49UhAqRxpJxloxSQDkhgReSzq6NlEMEHiEJxUzjr-gN6jXERBBrpIevwB6vlaJw==)
> *Blue: Downloads | Purple: Views (Real-time dynamic)*

View File

@@ -3,7 +3,7 @@
> ![updated_zh](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_updated_zh.json&style=flat)
### 📈 增长与趋势 (Last 14 Days)
![Trend](https://kroki.io/mermaid/svg/eNpNjkFuxCAMRfc9Bcqiq0QCbMCs295gdqMsaAdNI2WINKFq5va1k1KVxef5Y769PT4-070O77mmJ8WnTnXOqnsr13TNt1yqelavy3eZl3RZ1emey6XbG7chbdOqzp02g41drwRANzA72EH_gW0ADbCBa-AbhAbUIP6C0Q1MN-6bPI5NutNS06xelq9S12PHeSpZnW0g3StLIbDGEHsFGtgB44nVgmeFgKzOWlbvgTXsnRTEiZF70IAR9Xr8lw6WSGL49UhAqRxpJxloxSQDkhgReSzq6NlEMEHiEJxUzjr-gN6jXERBBroYaPwB6wZaLg==)
![Trend](https://kroki.io/mermaid/svg/eNpNjkFuxCAMRfc9Bcqiq0QCbMCs295gdqMsaAdNI2WINKFq5va1k1KVxef5Y769PT4-070O77mmJ8WnTnXOqnsr13TNt1yqelavy3eZl3RZ1emey6XbG7chbdOqzp02g41drwRANzA72EH_gW0ADbCBa-AbhAbUIP6C0Q1MN-6bPI5NutNS06xelq9S12PHeSpZnW0g3StLIbDGEHsFGtgB44nVgmeFgKzOWlbvgTXsnRTEiZF70IAR9Xr8lw6WSGL49UhAqRxpJxloxSQDkhgReSzq6NlEMEHiEJxUzjr-gN6jXERBBrpIevwB6vlaJw==)
> *蓝色: 总下载量 | 紫色: 总浏览量 (实时动态生成)*

View File

@@ -1084,7 +1084,7 @@
"date": "2026-02-11",
"total_posts": 22,
"total_downloads": 4160,
"total_views": 45978,
"total_views": 45980,
"total_upvotes": 231,
"total_saves": 274,
"followers": 220,

View File

@@ -1170,50 +1170,20 @@ class OpenWebUIStats:
f.write(content)
print(f"✅ 文档图表已更新: {doc_path}")
def upload_chart_data(self, stats: dict):
"""上传图表数据到 Gist (独立于徽章数据)"""
if not (self.gist_token and self.gist_id):
return
def generate_activity_chart(self, lang: str = "zh") -> str:
"""生成 Vega-Lite 趋势图 (内嵌数据Kroki 服务端渲染不支持外部 URL)"""
history = self.load_history()
if len(history) < 3:
return
# 准备图表数据点
chart_data = []
for item in history:
chart_data.append(
{"date": item["date"], "downloads": item["total_downloads"]}
)
try:
url = f"https://api.github.com/gists/{self.gist_id}"
headers = {"Authorization": f"token {self.gist_token}"}
payload = {
"files": {
"chart-data.json": {
"content": json.dumps(chart_data, ensure_ascii=False, indent=2)
}
}
}
resp = requests.patch(url, headers=headers, json=payload)
if resp.status_code == 200:
print(f"✅ 图表数据已同步至 Gist")
except Exception as e:
print(f"⚠️ 图表数据同步失败: {e}")
def generate_activity_chart(self, lang: str = "zh") -> str:
"""生成 Vega-Lite 趋势图 (使用外部数据源URL 固定)"""
if not (self.gist_token and self.gist_id):
return ""
# 准备数据点
values = []
for item in history:
values.append({"date": item["date"], "downloads": item["total_downloads"]})
title = "Total Downloads Trend" if lang == "en" else "总下载量累计趋势"
# 使用 Gist Raw URL 作为数据源
gist_user = "Fu-Jie" # Replace with your GitHub username
data_url = f"https://gist.githubusercontent.com/{gist_user}/{self.gist_id}/raw/chart-data.json"
# Vega-Lite Spec (数据从外部 URL 加载)
# Vega-Lite Spec (内嵌数据Kroki 服务端渲染必须内嵌)
vl_spec = {
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
"description": title,
@@ -1225,7 +1195,7 @@ class OpenWebUIStats:
"view": {"stroke": "transparent"},
"axis": {"domain": False, "grid": False},
},
"data": {"url": data_url}, # 外部数据源
"data": {"values": values},
"mark": {
"type": "area",
"line": {"color": "#2563eb"},
@@ -1334,9 +1304,6 @@ def main():
# 生成 Shields.io endpoint JSON (用于动态徽章)
badges_dir = script_dir / "docs" / "badges"
# 上传图表数据到 Gist (独立存储)
stats_client.upload_chart_data(stats)
# 生成徽章
stats_client.generate_shields_endpoints(stats, str(badges_dir))