Rename to hkt.sh

This commit is contained in:
mango
2026-03-21 01:10:53 +08:00
parent 76a263d0f9
commit 8f1171fe99
6676 changed files with 1724268 additions and 0 deletions

58
tmp/2026-03-20-review.svg Normal file
View File

@@ -0,0 +1,58 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1280" height="1700" viewBox="0 0 1280 1700">
<rect width="1280" height="1700" fill="#f5f7fa"/>
<rect x="40" y="40" width="1200" height="1620" rx="36" fill="#ffffff" stroke="#e6eaf0" stroke-width="2"/>
<style>
.title{font-size:64px;font-weight:700;fill:#181c24}
.sub{font-size:22px;fill:#6e7682}
.h{font-size:36px;font-weight:700;fill:#202735}
.b{font-size:28px;fill:#434a59}
.w{font-size:28px;fill:#ffffff}
</style>
<text x="70" y="120" class="title">3月20日 复盘</text>
<text x="70" y="170" class="sub">顶尖 · 今日关键进展</text>
<g transform="translate(70,240)">
<rect width="1140" height="220" rx="28" fill="#f9fafc" stroke="#eceff4" stroke-width="2"/>
<text x="28" y="54" class="h">1. OpenClaw / 记忆体系</text>
<text x="34" y="110" class="b">- 强化了助手定位:个人数字助理 + 基础设施管家 + 自动化执行员</text>
<text x="34" y="150" class="b">- 补强了 SOUL.md / USER.md / HEARTBEAT.md</text>
<text x="34" y="190" class="b">- 新固定偏好:少废话、先查记忆、晚上复盘默认发图</text>
</g>
<g transform="translate(70,485)">
<rect width="1140" height="180" rx="28" fill="#f9fafc" stroke="#eceff4" stroke-width="2"/>
<text x="28" y="54" class="h">2. 技能与文档</text>
<text x="34" y="110" class="b">- 通读 26 个已激活技能 SKILL.md</text>
<text x="34" y="150" class="b">- 通读 OpenClaw 核心文档memory / session / cron / subagents 等)</text>
</g>
<g transform="translate(70,690)">
<rect width="1140" height="220" rx="28" fill="#f9fafc" stroke="#eceff4" stroke-width="2"/>
<text x="28" y="54" class="h">3. YT.NET 补货 Bot</text>
<text x="34" y="110" class="b">- 已做过 API 版补货 Bot支持分类监控 / 自动下单 / TG 控制</text>
<text x="34" y="150" class="b">- 已确认账号余额为 ¥0命中补货也会因余额不足失败</text>
<text x="34" y="190" class="b">- 晚些时候按你的判断,整套 Bot 已完整下线</text>
</g>
<g transform="translate(70,935)">
<rect width="1140" height="220" rx="28" fill="#f9fafc" stroke="#eceff4" stroke-width="2"/>
<text x="28" y="54" class="h">4. Emby《动物神探队》</text>
<text x="34" y="110" class="b">- 已确认问题核心在元数据 / 图片层,不是视频文件串剧</text>
<text x="34" y="150" class="b">- 先后试过:本地截帧封面、再切回 TMDB 全量重刷</text>
<text x="34" y="190" class="b">- 当前状态Emby 已重新生成一套新的 episode 图</text>
</g>
<g transform="translate(70,1180)">
<rect width="1140" height="260" rx="28" fill="#f9fafc" stroke="#eceff4" stroke-width="2"/>
<text x="28" y="54" class="h">5. 账号 / 记忆复盘</text>
<text x="34" y="110" class="b">- TMDB 记忆里保存过一组账号,但今晚实测登录失败</text>
<text x="34" y="150" class="b">- 这次暴露出的问题已记入今日日志:任务跑偏、过程播报过多、记忆调用不够稳</text>
<text x="34" y="190" class="b">- 后续规则:锁定目标 → 先查记忆 → 静默执行 → 只回结果</text>
<text x="34" y="230" class="b">- 晚上复盘默认发图,这条已记入今天记忆</text>
</g>
<g transform="translate(70,1475)">
<rect width="1140" height="110" rx="24" fill="#202735"/>
<text x="28" y="66" class="w">结论:今天核心不是新功能,而是把方向、记忆和交付方式重新收紧。</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -0,0 +1,99 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>A股复盘 红白高清版</title>
<style>
:root{
--bg:#f6f7fb; --card:#ffffff; --text:#111827; --muted:#667085; --line:#e7eaf0;
--red:#d92d20; --soft:#fff3f2;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",Arial,sans-serif;color:var(--text)}
.wrap{width:900px;min-height:1600px;margin:0 auto;padding:28px}
.hero{background:#fff;border:2px solid #ffd8d3;border-radius:28px;padding:30px;margin-bottom:18px}
.title{font-size:56px;font-weight:900;line-height:1.08;color:#b42318;margin:0 0 8px}
.sub{font-size:24px;color:var(--muted)}
.card{background:var(--card);border:2px solid var(--line);border-radius:24px;padding:24px 26px;margin-bottom:18px}
.label{display:inline-block;background:var(--soft);color:var(--red);padding:8px 14px;border-radius:999px;font-size:20px;font-weight:900;margin-bottom:12px}
.big{font-size:42px;font-weight:900;line-height:1.22;margin:4px 0 12px}
.text{font-size:27px;line-height:1.55}
.muted{font-size:24px;line-height:1.55;color:var(--muted)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.stock-main{font-size:46px;font-weight:900;line-height:1.2}
.red{color:var(--red)}
ul{margin:0;padding-left:1.1em}
li{font-size:26px;line-height:1.55;margin:8px 0}
.focus-item{border:2px solid #f0d4d1;border-radius:18px;padding:16px 16px;margin-top:12px;background:#fff}
.focus-title{font-size:21px;color:var(--muted);font-weight:900;margin-bottom:6px}
.focus-stocks{font-size:31px;font-weight:900;line-height:1.4}
.conclusion{border-left:8px solid var(--red)}
.footer{text-align:center;color:#98a2b3;font-size:20px;margin-top:6px}
</style>
</head>
<body>
<div class="wrap">
<div class="hero">
<div class="title">A股晚间复盘</div>
<div class="sub">2026-03-19 · 红白财经风 · 高清版</div>
</div>
<div class="card">
<div class="label">今日最强主线</div>
<div class="big">AI 硬件 / 光模块 / 算力链</div>
<div class="text">主线还在但内部已明显分化。强资金继续抱核心同时向服务器链、PCB、IDC 等分支扩散。</div>
</div>
<div class="row">
<div class="card">
<div class="label">核心龙头</div>
<div class="stock-main">新易盛 <span class="red">+2.20%</span></div>
<div class="muted">成交额全市场第一,还能收涨,说明大资金仍在 AI 核心资产里反复做。</div>
</div>
<div class="card">
<div class="label">资金风格</div>
<ul>
<li><b>抱核心,做轮动</b></li>
<li>强者继续强,弱者被兑现</li>
<li>高位边缘科技股承压</li>
<li>资源股整体偏弱</li>
</ul>
</div>
</div>
<div class="card">
<div class="label">重点关注个股</div>
<div class="focus-item">
<div class="focus-title">光模块 / CPO</div>
<div class="focus-stocks">新易盛 / 中际旭创 / 天孚通信 / 华工科技</div>
</div>
<div class="focus-item">
<div class="focus-title">AI 扩散 / 服务器链</div>
<div class="focus-stocks">东山精密 / 润泽科技 / 胜宏科技</div>
</div>
<div class="focus-item">
<div class="focus-title">AI 应用弹性</div>
<div class="focus-stocks">昆仑万维</div>
</div>
</div>
<div class="card">
<div class="label">明日观察</div>
<ul>
<li>看新易盛、中际旭创能不能继续带队</li>
<li>看华工科技、东山精密是否继续扩散接力</li>
<li>看昆仑万维这类弹性票会不会冲高分歧</li>
<li>看资源股和新能源会不会继续被抽血</li>
</ul>
</div>
<div class="card conclusion">
<div class="label">一句话结论</div>
<div class="text">今天最强还是 AI 算力链,核心票是新易盛;盘面特征是主线未死、内部轮动、高位分化,资源股偏弱。</div>
</div>
<div class="footer">OpenClaw × 顶尖专属复盘卡片</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,99 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>A股复盘 红白财经风</title>
<style>
:root{
--bg:#f7f8fa; --card:#ffffff; --text:#1f2937; --muted:#6b7280; --line:#eceff3;
--red:#d92d20; --red2:#fff1f1; --blue:#475467;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",Arial,sans-serif;color:var(--text)}
.wrap{width:1080px;min-height:1750px;margin:0 auto;padding:34px}
.hero{background:linear-gradient(135deg,#fff,#fff5f5);border:1px solid #ffd6d6;border-radius:30px;padding:34px 36px;margin-bottom:22px}
.title{font-size:64px;font-weight:900;color:#b42318;line-height:1.08;margin:0 0 10px}
.sub{font-size:28px;color:var(--muted)}
.card{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:28px 30px;margin-bottom:20px;box-shadow:0 8px 24px rgba(16,24,40,.06)}
.label{display:inline-block;background:var(--red2);color:var(--red);padding:8px 14px;border-radius:999px;font-size:22px;font-weight:800;margin-bottom:14px}
.big{font-size:50px;font-weight:900;line-height:1.2;margin-top:4px;margin-bottom:12px}
.text{font-size:31px;line-height:1.55}
.muted{font-size:27px;line-height:1.55;color:var(--muted)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.stock-main{font-size:56px;font-weight:900;line-height:1.2}
.red{color:var(--red)}
ul{margin:0;padding-left:1.15em}
li{font-size:30px;line-height:1.55;margin:10px 0}
.focus-item{border:1.5px solid #f2d6d6;background:#fff;border-radius:22px;padding:18px 18px;margin-top:14px}
.focus-title{font-size:24px;color:var(--muted);font-weight:800;margin-bottom:8px}
.focus-stocks{font-size:38px;font-weight:900;line-height:1.35}
.conclusion{border-left:8px solid var(--red)}
.footer{text-align:center;color:#98a2b3;font-size:22px;margin-top:8px}
</style>
</head>
<body>
<div class="wrap">
<div class="hero">
<div class="title">A股晚间复盘</div>
<div class="sub">2026-03-19 · 红白财经风样张</div>
</div>
<div class="card">
<div class="label">今日最强主线</div>
<div class="big">AI 硬件 / 光模块 / 算力链</div>
<div class="text">主线还在但内部已明显分化。强资金继续抱核心同时向服务器链、PCB、IDC 等分支扩散。</div>
</div>
<div class="row">
<div class="card">
<div class="label">核心龙头</div>
<div class="stock-main">新易盛 <span class="red">+2.20%</span></div>
<div class="muted">成交额全市场第一,还能收涨,说明大资金仍在 AI 核心资产里反复做。</div>
</div>
<div class="card">
<div class="label">资金风格</div>
<ul>
<li><b>抱核心,做轮动</b></li>
<li>强者继续强,弱者被兑现</li>
<li>高位边缘科技股承压</li>
<li>资源股整体偏弱</li>
</ul>
</div>
</div>
<div class="card">
<div class="label">重点关注个股</div>
<div class="focus-item">
<div class="focus-title">光模块 / CPO</div>
<div class="focus-stocks">新易盛 / 中际旭创 / 天孚通信 / 华工科技</div>
</div>
<div class="focus-item">
<div class="focus-title">AI 扩散 / 服务器链</div>
<div class="focus-stocks">东山精密 / 润泽科技 / 胜宏科技</div>
</div>
<div class="focus-item">
<div class="focus-title">AI 应用弹性</div>
<div class="focus-stocks">昆仑万维</div>
</div>
</div>
<div class="card">
<div class="label">明日观察</div>
<ul>
<li>看新易盛、中际旭创能不能继续带队</li>
<li>看华工科技、东山精密是否继续扩散接力</li>
<li>看昆仑万维这类弹性票会不会冲高分歧</li>
<li>看资源股和新能源会不会继续被抽血</li>
</ul>
</div>
<div class="card conclusion">
<div class="label">一句话结论</div>
<div class="text">今天最强还是 AI 算力链,核心票是新易盛;盘面特征是主线未死、内部轮动、高位分化,资源股偏弱。</div>
</div>
<div class="footer">OpenClaw × 顶尖专属复盘卡片</div>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

121
tmp/a-share-recap-rich.html Normal file
View File

@@ -0,0 +1,121 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>A股复盘丰富版样张</title>
<style>
:root {
--bg1:#0b1220; --bg2:#111827; --card:#ffffff; --text:#0f172a; --muted:#475569;
--red:#e11d48; --green:#059669; --blue:#2563eb; --orange:#ea580c; --line:#e2e8f0;
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",Arial,sans-serif;background:linear-gradient(180deg,var(--bg2),var(--bg1));}
.wrap{width:1600px;min-height:3000px;margin:0 auto;padding:42px;}
.top{color:#fff;margin-bottom:28px}
.title{font-size:86px;font-weight:900;line-height:1.1;margin:0 0 14px}
.sub{font-size:38px;opacity:.9}
.card{background:var(--card);border-radius:36px;padding:38px 42px;margin-bottom:28px;box-shadow:0 18px 40px rgba(0,0,0,.22)}
.label{font-size:34px;font-weight:800;color:var(--blue);margin-bottom:16px;letter-spacing:.5px}
.big{font-size:68px;font-weight:900;color:var(--text);line-height:1.22;margin-bottom:12px}
.text{font-size:42px;line-height:1.58;color:var(--text)}
.muted{font-size:36px;line-height:1.58;color:var(--muted)}
.stock-main{font-size:76px;font-weight:900;line-height:1.2;color:var(--text)}
.red{color:var(--red)}
.green{color:var(--green)}
.orange{color:var(--orange)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:28px}
ul{margin:0;padding-left:1.1em}
li{font-size:40px;line-height:1.58;margin:14px 0;color:var(--text)}
.focus{display:grid;grid-template-columns:1fr;gap:18px}
.focus-item{border:2px solid var(--line);border-radius:28px;padding:24px 26px}
.focus-title{font-size:34px;font-weight:800;color:var(--muted);margin-bottom:10px}
.focus-stocks{font-size:48px;font-weight:900;line-height:1.4;color:var(--text)}
.hint{font-size:32px;color:var(--muted);margin-top:10px;line-height:1.55}
.footer{color:#cbd5e1;text-align:center;font-size:32px;margin-top:14px}
</style>
</head>
<body>
<div class="wrap">
<div class="top">
<div class="title">A股晚间复盘</div>
<div class="sub">丰富版样张 · 板块更全 / 股票更多 / 更适合手机看</div>
</div>
<div class="card">
<div class="label">今日最强主线</div>
<div class="big">AI 硬件 / 光模块 / 算力链 仍是核心主攻</div>
<div class="text">市场主线没变但内部已经出现明显分化最强资金继续抱团光模块与核心算力票扩散方向主要落在服务器链、IDC、PCB高位边缘品种开始被兑现。</div>
</div>
<div class="row">
<div class="card">
<div class="label">核心龙头</div>
<div class="stock-main">新易盛 <span class="red">+2.20%</span></div>
<div class="muted">成交额全市场第一,还能收红,说明资金对 AI 核心主线仍然认可。</div>
<div class="hint">定位:主线总龙头 / 情绪锚 / 资金风向标</div>
</div>
<div class="card">
<div class="label">弹性最强</div>
<div class="stock-main">昆仑万维 <span class="red">弹性活跃</span></div>
<div class="muted">偏进攻属性,适合观察情绪扩散;如果继续走强,说明资金风险偏好还在。</div>
<div class="hint">定位:高弹性 AI 方向观察票</div>
</div>
</div>
<div class="card">
<div class="label">重点关注个股</div>
<div class="focus">
<div class="focus-item">
<div class="focus-title">光模块 / CPO 核心</div>
<div class="focus-stocks">新易盛 / 中际旭创 / 天孚通信 / 华工科技</div>
</div>
<div class="focus-item">
<div class="focus-title">算力链 / 服务器链 / PCB 扩散</div>
<div class="focus-stocks">东山精密 / 润泽科技 / 胜宏科技 / 沪电股份</div>
</div>
<div class="focus-item">
<div class="focus-title">AI 应用 / 情绪弹性</div>
<div class="focus-stocks">昆仑万维</div>
</div>
<div class="focus-item">
<div class="focus-title">存储 / 半导体分化观察</div>
<div class="focus-stocks">佰维存储 / 德明利</div>
</div>
</div>
</div>
<div class="row">
<div class="card">
<div class="label">明显偏弱方向</div>
<ul>
<li><b class="green">资源股</b>:紫金矿业 / 洛阳钼业 —— 日内偏弱,资金回流不足</li>
<li><b class="green">新能源</b>:宁德时代 / 阳光电源 / 金风科技 —— 只有轮动,没有主攻气质</li>
<li><b class="green">存储后排</b>:高位分歧加大,追高性价比下降</li>
</ul>
</div>
<div class="card">
<div class="label">资金风格</div>
<ul>
<li><b class="red">抱核心</b>:最强票继续吸金</li>
<li><b class="orange">做扩散</b>:服务器链 / PCB / IDC 跟随加强</li>
<li><b class="green">弃边缘</b>:资源与部分非主线方向被抽血</li>
<li><b>整体节奏</b>:强者恒强,后排分化</li>
</ul>
</div>
</div>
<div class="card">
<div class="label">明日观察</div>
<ul>
<li><b>新易盛 / 中际旭创 / 天孚通信</b> 能不能继续维持主线强度</li>
<li><b>华工科技 / 东山精密 / 润泽科技</b> 是否继续承接扩散</li>
<li><b>昆仑万维</b> 这类高弹性票会不会冲高后出现大分歧</li>
<li><b>紫金矿业 / 洛阳钼业</b> 代表的资源线能否止跌修复</li>
</ul>
</div>
<div class="footer">OpenClaw × 顶尖专属复盘卡片</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,96 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>A股复盘样张2</title>
<style>
:root {
--bg1:#0f172a; --bg2:#172554; --card:#ffffff; --text:#0f172a; --muted:#475569;
--red:#e11d48; --green:#059669; --blue:#2563eb; --line:#e2e8f0;
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",Arial,sans-serif;background:linear-gradient(180deg,var(--bg2),var(--bg1));}
.wrap{width:1080px;min-height:1800px;margin:0 auto;padding:36px;}
.top{color:#fff;margin-bottom:24px}
.title{font-size:64px;font-weight:900;line-height:1.1;margin:0 0 10px}
.sub{font-size:28px;opacity:.9}
.card{background:var(--card);border-radius:30px;padding:30px 34px;margin-bottom:22px;box-shadow:0 18px 40px rgba(0,0,0,.22)}
.label{font-size:24px;font-weight:800;color:var(--blue);margin-bottom:14px;letter-spacing:.5px}
.big{font-size:50px;font-weight:900;color:var(--text);line-height:1.18;margin-bottom:12px}
.text{font-size:32px;line-height:1.5;color:var(--text)}
.muted{font-size:28px;line-height:1.55;color:var(--muted)}
.stock-main{font-size:54px;font-weight:900;line-height:1.2;color:var(--text)}
.red{color:var(--red)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
ul{margin:0;padding-left:1.15em}
li{font-size:31px;line-height:1.55;margin:10px 0;color:var(--text)}
.focus{display:grid;grid-template-columns:1fr;gap:16px}
.focus-item{border:2px solid var(--line);border-radius:22px;padding:18px 20px}
.focus-title{font-size:26px;font-weight:800;color:var(--muted);margin-bottom:8px}
.focus-stocks{font-size:38px;font-weight:900;line-height:1.35;color:var(--text)}
.footer{color:#cbd5e1;text-align:center;font-size:24px;margin-top:12px}
</style>
</head>
<body>
<div class="wrap">
<div class="top">
<div class="title">A股晚间复盘</div>
<div class="sub">2026-03-19 · 手机大字版样张</div>
</div>
<div class="card">
<div class="label">今日最强主线</div>
<div class="big">AI 硬件 / 光模块 / 算力链</div>
<div class="text">主线还在但内部已分化。强资金继续抱核心扩散到服务器链、PCB、IDC。</div>
</div>
<div class="row">
<div class="card">
<div class="label">核心龙头</div>
<div class="stock-main">新易盛 <span class="red">+2.20%</span></div>
<div class="muted">成交额全市场第一,还能收涨,说明大资金仍在 AI 核心里。</div>
</div>
<div class="card">
<div class="label">资金风格</div>
<ul>
<li><b>抱核心,做轮动</b></li>
<li>强者继续强</li>
<li>高位边缘票被兑现</li>
<li>资源股整体偏弱</li>
</ul>
</div>
</div>
<div class="card">
<div class="label">重点关注个股</div>
<div class="focus">
<div class="focus-item">
<div class="focus-title">光模块 / CPO</div>
<div class="focus-stocks">新易盛 / 中际旭创 / 天孚通信 / 华工科技</div>
</div>
<div class="focus-item">
<div class="focus-title">AI 扩散 / 服务器链</div>
<div class="focus-stocks">东山精密 / 润泽科技 / 胜宏科技</div>
</div>
<div class="focus-item">
<div class="focus-title">AI 应用弹性</div>
<div class="focus-stocks">昆仑万维</div>
</div>
</div>
</div>
<div class="card">
<div class="label">明日观察</div>
<ul>
<li>看新易盛、中际旭创能不能继续带队</li>
<li>看华工科技、东山精密是否继续扩散接力</li>
<li>看昆仑万维这类弹性票会不会冲高分歧</li>
<li>看资源股和新能源会不会继续被抽血</li>
</ul>
</div>
<div class="footer">OpenClaw × 顶尖专属复盘卡片</div>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 KiB

BIN
tmp/creaturecases-e01.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

BIN
tmp/emby-eps/25-new.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

BIN
tmp/emby-eps/25.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
tmp/emby-eps/55-new.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

BIN
tmp/emby-eps/55.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
tmp/emby-eps/58-new.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 KiB

BIN
tmp/emby-eps/58.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

16
tmp/fix-nezha-clean.py Normal file
View File

@@ -0,0 +1,16 @@
import yaml
lines = []
with open("/tmp/nezha-config-raw.yaml") as f:
for line in f:
if not line.startswith("custom_code"):
lines.append(line)
config = yaml.safe_load("".join(lines))
# 不加 custom_code恢复默认
with open("/tmp/nezha-config-fixed.yaml", "w") as f:
yaml.dump(config, f, allow_unicode=True, default_flow_style=False)
print("done")

View File

@@ -0,0 +1,34 @@
import yaml
lines = []
with open("/tmp/nezha-config-raw.yaml") as f:
for line in f:
if not line.startswith("custom_code"):
lines.append(line)
config = yaml.safe_load("".join(lines))
config["custom_code"] = (
"<style>"
"body{background:url(/static/bg.jpg) no-repeat center center fixed!important;background-size:cover!important}"
"#root,.loaded,.bg-background,.flex.min-h-screen{background:transparent!important}"
"main{background:transparent!important}"
"[class*=bg-card],button[class*=rounded-full]{background-color:rgba(255,255,255,0.01)!important;"
"backdrop-filter:blur(5px) saturate(100%)!important;"
"-webkit-backdrop-filter:blur(5px) saturate(100%)!important;"
"border-radius:16px!important;"
"border:1px solid rgba(255,255,255,0.2)!important;"
"transition:all 0.3s ease!important;"
"position:relative!important;overflow:hidden!important}"
"header,nav,footer{background:transparent!important}"
".text-stone-400,.text-stone-500,.opacity-50,.text-muted-foreground,p.text-xs,span.text-xs{color:rgba(40,40,40,0.8)!important;opacity:1!important;font-weight:500!important}"
"[class*=bg-card] p,[class*=bg-card] span,.font-medium,.font-semibold{color:#2a2a2a!important}"
".text-sm.font-medium{color:#2a2a2a!important;opacity:1!important}"
"div[role=tablist]{background:rgba(0,0,0,0.05)!important;border:1px solid rgba(0,0,0,0.08)!important;backdrop-filter:blur(15px)!important}"
"</style>"
)
with open("/tmp/nezha-config-fixed.yaml", "w") as f:
yaml.dump(config, f, allow_unicode=True, default_flow_style=False)
print("done")

31
tmp/fix-nezha-css.py Normal file
View File

@@ -0,0 +1,31 @@
import re
with open("/tmp/nezha-config-raw.yaml") as f:
content = f.read()
content = re.sub(r"custom_code:.*\n?", "", content)
css = (
'<style>'
'body{background:url(/static/bg.jpg) no-repeat center center fixed!important;background-size:cover!important}'
'#root,.loaded,.bg-background{background:transparent!important}'
'main{background:transparent!important}'
'main>div>div{background:rgba(255,255,255,0.15)!important;'
'backdrop-filter:blur(16px) saturate(180%)!important;'
'-webkit-backdrop-filter:blur(16px) saturate(180%)!important;'
'border:1px solid rgba(255,255,255,0.18)!important;'
'border-radius:16px!important;'
'box-shadow:0 8px 32px rgba(0,0,0,0.1)!important}'
'header,nav{background:rgba(255,255,255,0.1)!important;'
'backdrop-filter:blur(12px)!important;'
'-webkit-backdrop-filter:blur(12px)!important}'
'footer{background:transparent!important}'
'</style>'
)
content = content.rstrip() + '\ncustom_code: "' + css + '"\n'
with open("/tmp/nezha-config-fixed.yaml", "w") as f:
f.write(content)
print("done")

27
tmp/fix-nezha-css2.py Normal file
View File

@@ -0,0 +1,27 @@
import re
with open("/tmp/nezha-config-raw.yaml") as f:
content = f.read()
content = re.sub(r"custom_code:.*\n?", "", content)
css = (
'<style>'
'body{background:url(/static/bg.jpg) no-repeat center center fixed!important;background-size:cover!important}'
'#root,.loaded,.bg-background{background:transparent!important}'
'main{background:transparent!important}'
'.flex.min-h-screen{background:transparent!important}'
'main>div>div,section,.card,.rounded-lg,.rounded-xl,.border{background:rgba(255,255,255,0.05)!important;border:1px solid rgba(255,255,255,0.15)!important;box-shadow:none!important}'
'header,nav,footer{background:transparent!important}'
'.bg-card,.bg-muted,.bg-accent,.bg-popover{background:rgba(255,255,255,0.05)!important}'
'.text-muted-foreground{color:rgba(255,255,255,0.7)!important}'
'.text-card-foreground,.text-foreground,p,span,h1,h2,h3{color:rgba(255,255,255,0.9)!important}'
'</style>'
)
content = content.rstrip() + '\ncustom_code: "' + css + '"\n'
with open("/tmp/nezha-config-fixed.yaml", "w") as f:
f.write(content)
print("done")

31
tmp/fix-nezha-css3.py Normal file
View File

@@ -0,0 +1,31 @@
import re
with open("/tmp/nezha-config-raw.yaml") as f:
content = f.read()
content = re.sub(r"custom_code:.*\n?", "", content)
css = (
'<style>'
'body{background:url(/static/bg.jpg) no-repeat center center fixed!important;background-size:cover!important}'
'#root,.loaded,.bg-background,.flex.min-h-screen{background:transparent!important}'
'main{background:transparent!important}'
'main>div>div,section.flex{background:rgba(0,0,0,0.35)!important;'
'backdrop-filter:blur(8px)!important;'
'-webkit-backdrop-filter:blur(8px)!important;'
'border:1px solid rgba(255,255,255,0.1)!important;'
'border-radius:16px!important;'
'box-shadow:0 4px 24px rgba(0,0,0,0.2)!important}'
'header,nav,footer{background:transparent!important}'
'.bg-card,.bg-muted,.bg-accent,.bg-popover{background:rgba(0,0,0,0.25)!important}'
'p,span,h1,h2,h3,h4,a,button,label,.text-muted-foreground,.text-card-foreground,.text-foreground{color:rgba(255,255,255,0.9)!important}'
'.text-muted-foreground{color:rgba(255,255,255,0.6)!important}'
'</style>'
)
content = content.rstrip() + '\ncustom_code: "' + css + '"\n'
with open("/tmp/nezha-config-fixed.yaml", "w") as f:
f.write(content)
print("done")

30
tmp/fix-nezha-css4.py Normal file
View File

@@ -0,0 +1,30 @@
import re
with open("/tmp/nezha-config-raw.yaml") as f:
content = f.read()
content = re.sub(r"custom_code:.*\n?", "", content)
css = (
'<style>'
'body{background:url(/static/bg.jpg) no-repeat center center fixed!important;background-size:cover!important}'
'#root,.loaded,.bg-background,.flex.min-h-screen{background:transparent!important}'
'main{background:transparent!important}'
'main>div>div,section.flex{background:rgba(0,0,0,0.55)!important;'
'backdrop-filter:blur(6px)!important;'
'-webkit-backdrop-filter:blur(6px)!important;'
'border:1px solid rgba(255,255,255,0.12)!important;'
'border-radius:16px!important}'
'header,nav,footer{background:transparent!important}'
'.bg-card,.bg-muted,.bg-accent{background:rgba(0,0,0,0.45)!important}'
'p,span,h1,h2,h3,h4,a,button,label,.text-card-foreground,.text-foreground{color:rgba(255,255,255,0.9)!important}'
'.text-muted-foreground{color:rgba(255,255,255,0.6)!important}'
'</style>'
)
content = content.rstrip() + '\ncustom_code: "' + css + '"\n'
with open("/tmp/nezha-config-fixed.yaml", "w") as f:
f.write(content)
print("done")

28
tmp/fix-nezha-css5.py Normal file
View File

@@ -0,0 +1,28 @@
import re
with open("/tmp/nezha-config-raw.yaml") as f:
content = f.read()
content = re.sub(r"custom_code:.*\n?", "", content)
css = (
'<style>'
'body{background:url(/static/bg.jpg) no-repeat center center fixed!important;background-size:cover!important}'
'#root,.loaded,.bg-background,.flex.min-h-screen{background:transparent!important}'
'main{background:transparent!important}'
'main>div>div,section.flex{background:rgba(255,255,255,0.55)!important;'
'backdrop-filter:blur(6px)!important;'
'-webkit-backdrop-filter:blur(6px)!important;'
'border:1px solid rgba(255,255,255,0.3)!important;'
'border-radius:16px!important}'
'header,nav,footer{background:transparent!important}'
'.bg-card,.bg-muted,.bg-accent{background:rgba(255,255,255,0.45)!important}'
'</style>'
)
content = content.rstrip() + '\ncustom_code: "' + css + '"\n'
with open("/tmp/nezha-config-fixed.yaml", "w") as f:
f.write(content)
print("done")

26
tmp/fix-nezha-css6.py Normal file
View File

@@ -0,0 +1,26 @@
import re
with open("/tmp/nezha-config-raw.yaml") as f:
content = f.read()
content = re.sub(r"custom_code:.*\n?", "", content)
css = (
'<style>'
'body{background:url(/static/bg.jpg) no-repeat center center fixed!important;background-size:cover!important}'
'#root,.loaded,.bg-background,.flex.min-h-screen{background:transparent!important}'
'main{background:transparent!important}'
'.rounded-lg.border.bg-card{background:rgba(255,255,255,0.5)!important;'
'backdrop-filter:blur(8px)!important;'
'-webkit-backdrop-filter:blur(8px)!important;'
'border:1px solid rgba(255,255,255,0.3)!important}'
'header,nav,footer{background:transparent!important}'
'</style>'
)
content = content.rstrip() + '\ncustom_code: "' + css + '"\n'
with open("/tmp/nezha-config-fixed.yaml", "w") as f:
f.write(content)
print("done")

39
tmp/fix-nezha-css7.py Normal file
View File

@@ -0,0 +1,39 @@
import re
with open("/tmp/nezha-config-raw.yaml") as f:
content = f.read()
content = re.sub(r"custom_code:.*\n?", "", content)
css = (
'<style>'
# 背景图
'body{background:url(/static/bg.jpg) no-repeat center center fixed!important;background-size:cover!important}'
# 透明层
'#root,.loaded,.bg-background,.flex.min-h-screen{background:transparent!important}'
'main{background:transparent!important}'
# iOS玻璃卡片
'[class*="bg-card"],button[class*="rounded-full"]{background-color:rgba(255,255,255,0.01)!important;'
'backdrop-filter:blur(5px) saturate(100%)!important;'
'-webkit-backdrop-filter:blur(5px) saturate(100%)!important;'
'border-radius:16px!important;'
'border:1px solid rgba(255,255,255,0.2)!important;'
'transition:all 0.3s ease!important;'
'position:relative!important;overflow:hidden!important}'
# header/footer透明
'header,nav,footer{background:transparent!important}'
# 文字颜色
'.text-stone-400,.text-stone-500,.opacity-50,.text-muted-foreground,p.text-xs,span.text-xs{color:rgba(40,40,40,0.8)!important;opacity:1!important;font-weight:500!important}'
'[class*="bg-card"] p,[class*="bg-card"] span,.font-medium,.font-semibold{color:#2a2a2a!important}'
'.text-sm.font-medium{color:#2a2a2a!important;opacity:1!important}'
# tablist
'div[role="tablist"]{background:rgba(0,0,0,0.05)!important;border:1px solid rgba(0,0,0,0.08)!important;backdrop-filter:blur(15px)!important}'
'</style>'
)
content = content.rstrip() + '\ncustom_code: "' + css + '"\n'
with open("/tmp/nezha-config-fixed.yaml", "w") as f:
f.write(content)
print("done")

33
tmp/fix-nezha-css8.py Normal file
View File

@@ -0,0 +1,33 @@
import re
with open("/tmp/nezha-config-raw.yaml") as f:
content = f.read()
content = re.sub(r"custom_code:.*\n?", "", content)
css = (
'<style>'
'body{background:url(/static/bg.jpg) no-repeat center center fixed!important;background-size:cover!important}'
'#root,.loaded,.bg-background,.flex.min-h-screen{background:transparent!important}'
'main{background:transparent!important}'
'[class*="bg-card"],button[class*="rounded-full"]{background-color:rgba(255,255,255,0.01)!important;'
'backdrop-filter:blur(2px) saturate(100%)!important;'
'-webkit-backdrop-filter:blur(2px) saturate(100%)!important;'
'border-radius:16px!important;'
'border:1px solid rgba(255,255,255,0.2)!important;'
'transition:all 0.3s ease!important;'
'position:relative!important;overflow:hidden!important}'
'header,nav,footer{background:transparent!important}'
'.text-stone-400,.text-stone-500,.opacity-50,.text-muted-foreground,p.text-xs,span.text-xs{color:rgba(40,40,40,0.8)!important;opacity:1!important;font-weight:500!important}'
'[class*="bg-card"] p,[class*="bg-card"] span,.font-medium,.font-semibold{color:#2a2a2a!important}'
'.text-sm.font-medium{color:#2a2a2a!important;opacity:1!important}'
'div[role="tablist"]{background:rgba(0,0,0,0.05)!important;border:1px solid rgba(0,0,0,0.08)!important;backdrop-filter:blur(2px)!important}'
'</style>'
)
content = content.rstrip() + '\ncustom_code: "' + css + '"\n'
with open("/tmp/nezha-config-fixed.yaml", "w") as f:
f.write(content)
print("done")

34
tmp/fix-nezha-css9.py Normal file
View File

@@ -0,0 +1,34 @@
import yaml
lines = []
with open("/tmp/nezha-config-raw.yaml") as f:
for line in f:
if not line.startswith("custom_code"):
lines.append(line)
config = yaml.safe_load("".join(lines))
config["custom_code"] = (
"<style>"
"body{background:url(/static/bg.jpg) no-repeat center center fixed!important;background-size:cover!important}"
"#root,.loaded,.bg-background,.flex.min-h-screen{background:transparent!important}"
"main{background:transparent!important}"
"[class*=bg-card],button[class*=rounded-full]{background-color:rgba(255,255,255,0.01)!important;"
"backdrop-filter:blur(2px) saturate(100%)!important;"
"-webkit-backdrop-filter:blur(2px) saturate(100%)!important;"
"border-radius:16px!important;"
"border:1px solid rgba(255,255,255,0.2)!important;"
"transition:all 0.3s ease!important;"
"position:relative!important;overflow:hidden!important}"
"header,nav,footer{background:transparent!important}"
".text-stone-400,.text-stone-500,.opacity-50,.text-muted-foreground,p.text-xs,span.text-xs{color:rgba(40,40,40,0.8)!important;opacity:1!important;font-weight:500!important}"
"[class*=bg-card] p,[class*=bg-card] span,.font-medium,.font-semibold{color:#2a2a2a!important}"
".text-sm.font-medium{color:#2a2a2a!important;opacity:1!important}"
"div[role=tablist]{background:rgba(0,0,0,0.05)!important;border:1px solid rgba(0,0,0,0.08)!important;backdrop-filter:blur(2px)!important}"
"</style>"
)
with open("/tmp/nezha-config-fixed.yaml", "w") as f:
yaml.dump(config, f, allow_unicode=True, default_flow_style=False)
print("done")

24
tmp/fix-nezha-final.py Normal file
View File

@@ -0,0 +1,24 @@
import re
with open("/opt/nezha/dashboard/data/config.yaml") as f:
content = f.read()
# 1. 换背景图URL
content = content.replace(
"https://cdn.nodeimage.com/i/kuGNwxfnYgxe5dxdCa8abjjQr7XMOKEy.webp",
"https://i.111666.best/image/sCIbJNyiOUJSXhKexulIpr.jpeg"
)
# 2. 替换跑马灯:找到 bm-item span 的内容,替换为新文字
# 原文: "Driven by leading AI models" + 图片链接 + "由领先 AI 模型技术驱动!"
content = re.sub(
r'Driven by leading AI models.*?由领先 AI 模型技术驱动!',
'✨ 永远顶尖,永远在路上 ✨',
content,
flags=re.DOTALL
)
with open("/opt/nezha/dashboard/data/config.yaml", "w") as f:
f.write(content)
print("done")

27
tmp/fix-nezha-marquee.py Normal file
View File

@@ -0,0 +1,27 @@
import re
with open("/opt/nezha/dashboard/data/config.yaml") as f:
content = f.read()
# 1. 清空 CustomLinks删掉 PeekaboCDN
content = re.sub(
r"window\.CustomLinks = '[^']*'",
"window.CustomLinks = '[]'",
content
)
# 2. 替换跑马灯内容
# 把 bm-item 里的所有内容替换
old_marquee = re.compile(
r'(<span class=\\"bm-item\\">)\s*Driven by leading AI models.*?由领先 AI 模型技术驱动!\s*(</span>)',
re.DOTALL
)
content = old_marquee.sub(
r'\1\n ✨ 永远顶尖,永远在路上\n \2',
content
)
with open("/opt/nezha/dashboard/data/config.yaml", "w") as f:
f.write(content)
print("done")

27
tmp/fix-nezha-white.py Normal file
View File

@@ -0,0 +1,27 @@
import yaml
lines = []
with open("/tmp/nezha-config-raw.yaml") as f:
for line in f:
if not line.startswith("custom_code"):
lines.append(line)
config = yaml.safe_load("".join(lines))
config["custom_code"] = (
"<style>"
"body{background:url(/static/bg.jpg) no-repeat center center fixed!important;background-size:cover!important}"
"#root,.loaded,.bg-background,.flex.min-h-screen{background:transparent!important}"
"main{background:transparent!important}"
".rounded-lg.border.bg-card{background:rgba(255,255,255,0.5)!important;"
"backdrop-filter:blur(8px)!important;"
"-webkit-backdrop-filter:blur(8px)!important;"
"border:1px solid rgba(255,255,255,0.3)!important}"
"header,nav,footer{background:transparent!important}"
"</style>"
)
with open("/tmp/nezha-config-fixed.yaml", "w") as f:
yaml.dump(config, f, allow_unicode=True, default_flow_style=False)
print("done")

View File

@@ -0,0 +1,60 @@
{
"agents": {
"defaults": {
"workspace": "/root/.openclaw/workspace",
"model": "gpt-5.4",
"imageModel": "gemini-2.5-flash"
}
},
"channels": {
"telegram": {
"bots": [
{
"token": "8782003171:AAGlJK1Icrcwm8QR8bScLlUVp1jHoWC8t5c",
"allowFrom": [165067365, 8293510438]
}
]
}
},
"providers": {
"cliproxy": {
"baseUrl": "http://195.128.100.201:8317",
"apiKey": "sk-cliproxy-default-key-2026",
"api": "openai-completions",
"models": [
"gpt-5.4",
"gpt-5.1-codex",
"gpt-5.2-codex",
"gpt-5.3-codex-spark",
"claude-sonnet-4-6",
"claude-opus-4-6",
"gemini-2.5-pro",
"gemini-2.5-flash"
]
}
},
"audio": {
"transcription": {
"provider": "openai-whisper",
"model": "whisper-1"
}
},
"commands": {
"native": "auto",
"nativeSkills": "auto",
"restart": true,
"ownerDisplay": "raw"
},
"gateway": {
"bind": "0.0.0.0",
"port": 18790
},
"browser": {
"enabled": true,
"port": 18792
},
"meta": {
"lastTouchedVersion": "2026.3.7",
"lastTouchedAt": "2026-03-08T11:13:00.000Z"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 KiB

BIN
tmp/timemachine.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

BIN
tmp/timemachine2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

BIN
tmp/tm11.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

BIN
tmp/tm12.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

BIN
tmp/tm3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

BIN
tmp/tm5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

BIN
tmp/tm6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

BIN
tmp/tm7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

BIN
tmp/tm8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

BIN
tmp/tm9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

BIN
tmp/tm_annotated.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB