chore(工作区): 全量入库 + 补齐 .gitignore(以工作区为准)

- 变更规模:新增 514 / 修改 62 / 重命名 155 / 删除 4(归档重组与文档轮次)
- .gitignore 修:`归档/**/db-cwd归一-备份-*/` —— 原规则写绝对层级(归档/db-cwd归一-…),
  目录搬进 归档/配置与备份/ 后**静默失效**,43 MB 的 DB 备份又变成未跟踪
- .gitignore 补:嵌套 git 内部数据(归档/内嵌git-20261008/、归档/skills-git-旧线-20261007/dotgit-原样移出/)
- .gitignore 补:运行态与部署副本(.workbuddy/collab/、.workbuddy/tools/、.workbuddy/.load-pending、.workbuddy/tmp-*)
- .gitignore 补:备份件(*.bak-*)
- 未跟踪文件从 2190 降到 890(其余为 归档/ 归档件与 .workbuddy/memory/ 知识文件,按口径入库)
This commit is contained in:
admin committed 2026-10-10 23:13:22 +08:00
1 parent 30b46dbd0c
commit c1b5e4d966
735 files changed
+153192 -2415

No files matched your search

@@ -0,0 +1,190 @@
<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover">
<title>注意这个问题立省 50% token</title>
<style>
*{box-sizing:border-box}
html,body{overflow-x:hidden}
body{margin:0;padding:26px 14px 34px;background:#f4f5f7;color:#0b1220;
font-family:system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif;
-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}
.wrap{max-width:920px;margin:0 auto}
.card{background:#fff;border:1px solid #e6e9ee;border-radius:18px;padding:24px 26px;margin-bottom:14px;
box-shadow:0 1px 2px rgba(11,18,32,.04),0 10px 28px -14px rgba(11,18,32,.13)}
h1{font-size:33px;line-height:1.25;margin:0;letter-spacing:-.9px;font-weight:800;word-break:break-word}
h1 em{font-style:normal;color:#c02626}
/* ── 流程图示(纯 HTML,随屏宽自动重排) ───────────────── */
.flow{width:100%}
.frow{display:flex;gap:12px;align-items:stretch}
.fbox{flex:1 1 0;min-width:0;background:#f8fafc;border:1.5px solid #dbe1e8;border-radius:14px;padding:14px 16px}
.fbox.hl{background:#fff9f9;border-color:#fecaca}
.far{flex:0 0 auto;display:flex;align-items:center;font-size:24px;font-weight:800;color:#c02626}
.fcap{font-size:12.5px;font-weight:800;color:#6b7688;margin-bottom:7px}
.ftxt{font-size:16px;font-weight:800;line-height:1.5;color:#0b1220}
.ftxt b{color:#c02626;font-size:20px}
.fsub{font-size:12.5px;font-weight:700;color:#6b7688;margin-top:6px;line-height:1.5}
.fdown{text-align:center;font-size:26px;line-height:1;color:#c02626;font-weight:800;margin:11px 0}
.fcap2{font-size:14px;font-weight:800;color:#0b1220;margin:15px 0 9px;line-height:1.55}
.tank{height:52px;border-radius:13px;background:#f6f7f9;border:1.5px solid #e6e9ee;padding:2px}
.fill{height:100%;width:45%;border-radius:11px;background:linear-gradient(90deg,#e05a5a,#a81c1c)}
.big{font-size:32px;font-weight:800;color:#c02626;letter-spacing:-1.4px;margin-top:10px;line-height:1.2}
.big span{font-size:13px;color:#6b7688;letter-spacing:0;font-weight:700;margin-left:8px}
.comp{display:flex;height:30px;border-radius:8px;overflow:hidden}
.comp i{display:block;height:100%}
.concl{margin-top:16px;background:#fef2f2;border:1.5px solid #fecaca;border-radius:10px;
padding:12px 15px;font-size:14.5px;font-weight:800;color:#c02626;line-height:1.6}
.lg{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}
.lg span{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:#4b5563;
background:#f8fafc;border:1px solid #e8ecf1;border-radius:999px;padding:6px 13px}
.lg i{width:11px;height:11px;border-radius:3px;flex:0 0 auto}
/* ── 轮次条 ─────────────────────────────────────────── */
.row{display:flex;align-items:center;gap:14px;padding:11px 0;border-bottom:1px dashed #eef1f4}
.row:last-of-type{border-bottom:0}
.row.hot{background:#fffafa;border-radius:10px;margin:2px -8px;padding:13px 8px}
.lab{flex:0 0 118px;line-height:1.35}
.lab b{font-size:15.5px;font-weight:800;display:block}
.lab i{font-style:normal;font-size:12.5px;color:#6b7688;font-weight:700}
.bar{flex:1 1 auto;min-width:0;height:34px;border-radius:9px;overflow:hidden;display:flex;
background:#f6f7f9;border:1px solid #eef1f4}
.inh{background:linear-gradient(180deg,#d94f4f,#b91c1c);display:block}
.add{background:linear-gradient(180deg,#f5a95c,#e07a24);display:block}
.val{flex:0 0 62px;text-align:right;font-size:17px;font-weight:800;color:#b91c1c;font-variant-numeric:tabular-nums}
.note{flex:0 0 auto;font-size:12.5px;font-weight:800;color:#c02626;background:#fef2f2;
border:1px solid #fecaca;border-radius:999px;padding:4px 10px;white-space:nowrap}
.key{display:flex;gap:18px;flex-wrap:wrap;margin-top:16px;font-size:13.5px;color:#4b5563;font-weight:700}
.key i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.k1 i{background:#c02626}.k2 i{background:#e8892f}
.tot{margin-top:14px;padding:12px 16px;border-radius:12px;background:#ecfdf5;border-left:4px solid #0a7a4f;
font-size:15px;font-weight:800;color:#0a7a4f;line-height:1.65}
.tot s{text-decoration:none;color:#c02626}
/* ── 问题 / 方案卡 ──────────────────────────────────── */
.mp{background:#fef2f2;border:1.5px solid #fecaca;border-radius:14px;padding:18px 20px}
.mpt{font-size:12.5px;font-weight:800;color:#c02626;letter-spacing:1.2px;margin-bottom:9px}
.mpb{font-size:17px;font-weight:800;line-height:1.7;color:#0b1220}
.mpb b{color:#c02626}
.so{background:#ecfdf5;border:1.5px solid #bbf7d0;border-radius:14px;padding:18px 20px}
.sot{font-size:12.5px;font-weight:800;color:#0a7a4f;letter-spacing:1.2px;margin-bottom:9px}
.sob{font-size:20px;font-weight:800;line-height:1.5;color:#0b1220}
.sob b{color:#0a7a4f}
.sof{display:flex;align-items:center;gap:11px;margin-top:14px;flex-wrap:wrap}
.sof .n{background:#fff;border:1px solid #bbf7d0;border-radius:11px;padding:10px 15px;
font-size:15px;font-weight:800;color:#0a7a4f}
.sof .n s{text-decoration:none;color:#c02626}
.sof .ar{font-size:20px;font-weight:800;color:#0a7a4f}
.sos{font-size:13.5px;font-weight:700;color:#4b5563;margin-top:12px;line-height:1.65}
/* ── 手机端:全部改为竖排,禁止横向撑破 ───────────────── */
@media (max-width:600px){
body{padding:16px 10px 26px}
.card{padding:17px 15px;border-radius:14px}
h1{font-size:23px;letter-spacing:-.4px}
.frow{flex-direction:column;gap:0}
.fbox{flex:0 0 auto}
.far{transform:rotate(90deg);justify-content:center;margin:8px 0;line-height:1}
.ftxt{font-size:15px}
.ftxt b{font-size:18px}
.fcap2{margin:13px 0 8px;font-size:13.5px}
.tank{height:44px}
.big{font-size:26px}
.big span{display:block;margin:5px 0 0}
.comp{height:24px}
.concl{font-size:13.5px;padding:11px 13px}
.lg{gap:7px}
.lg span{font-size:12px;padding:5px 10px}
.row{flex-wrap:wrap;gap:6px 10px;padding:9px 0}
.lab{flex:1 1 100%}
.lab b{display:inline;font-size:14.5px}
.lab i{margin-left:8px}
.bar{flex:1 1 62%;order:2;height:26px}
.val{flex:0 0 auto;order:3;text-align:left;font-size:15px}
.note{order:4;font-size:11.5px;padding:3px 9px}
.key{gap:10px;font-size:12.5px}
.tot{font-size:13.5px;padding:11px 13px}
.mpb{font-size:15.5px}
.sob{font-size:17px}
.sof .n{font-size:13.5px;padding:8px 12px}
.sos{font-size:13px}
}
</style></head><body><div class="wrap">
<div class="card">
<h1>注意这个问题立省 <em>50% token</em></h1>
</div>
<div class="card">
<div class="flow">
<div class="frow">
<div class="fbox">
<div class="fcap">第 1 轮 · 我问了什么</div>
<div class="ftxt">「代码注释里还有 96 处遗留备注,全清掉」</div>
</div>
<div class="far">→</div>
<div class="fbox hl">
<div class="fcap">模型干了什么</div>
<div class="ftxt">展开了 <b>101</b> 次工具调用</div>
<div class="fsub">142 次文件编辑 · 179 次命令</div>
</div>
</div>
<div class="fdown">↓</div>
<div class="fcap2">上下文 = 101 次调用的「入参 + 输出」原文</div>
<div class="tank"><div class="fill"></div></div>
<div class="big">27 万 <span>token(占最终 59 万的 45%)</span></div>
<div class="fcap2">这 27 万里面装的是什么</div>
<div class="comp">
<i style="width:75.3%;background:#a81c1c"></i>
<i style="width:19.0%;background:#d97706"></i>
<i style="width:4.5%;background:#2563eb"></i>
<i style="width:1.3%;background:#0a7a4f"></i>
</div>
<div class="lg">
<span><i style="background:#a81c1c"></i>工具输出(命令回显 / 文件内容 / 搜索结果)75%</span>
<span><i style="background:#d97706"></i>工具入参 19%</span>
<span><i style="background:#2563eb"></i>我的提问(含系统注入)4.5%</span>
<span><i style="background:#0a7a4f"></i>AI 回复 1.3%</span>
</div>
<div class="concl">从此永久留在历史里 —— 之后每一轮、每一次请求,都要把它整份重发一遍</div>
</div>
</div>
<div class="card">
<div class="row"><div class="lab"><b>第 1 轮</b><i>101 次调用</i></div><div class="bar"><span class="inh" style="width:0.0%"></span><span class="add" style="width:65.4%"></span></div><div class="val">27 万</div></div>
<div class="row"><div class="lab"><b>第 2 轮</b><i>26 次调用</i></div><div class="bar"><span class="inh" style="width:65.4%"></span><span class="add" style="width:22.3%"></span></div><div class="val">36 万</div></div>
<div class="row"><div class="lab"><b>第 3 轮</b><i>24 次调用</i></div><div class="bar"><span class="inh" style="width:87.6%"></span><span class="add" style="width:6.6%"></span></div><div class="val">39 万</div></div>
<div class="row hot"><div class="lab"><b>第 4 轮</b><i>10 次调用</i></div><div class="bar"><span class="inh" style="width:94.2%"></span><span class="add" style="width:5.8%"></span></div><div class="val">41 万</div><div class="note">AI 只回 620 字</div></div>
<div class="key"><span class="k1"><i></i>从前面继承的(每轮全量重发)</span>
<span class="k2"><i></i>本轮新增</span></div>
<div class="tot">共 29 轮 → 末尾 59 万 | 累计输入 1.93 亿 | 其中工具痕迹 93%<br>
<span style="display:block;margin-top:6px;font-size:.94em">但最贵的<b>不是</b>第 1 轮(它只占 <s>5.6%</s>)—— 是<span style="color:#c02626">水位已经很高、还跑了 50+ 次请求</span>的那两轮,合计 <s>40%</s></span></div>
</div>
<div class="card">
<div class="mp">
<div class="mpt">主 要 问 题</div>
<div class="mpb">一句话,被展开成<b>上百次工具调用</b>;<br>
而这些调用背后的<b>每一次模型请求</b>,都要把全部历史原文重发一遍。<br>
⇒ 成本 = 请求次数 × 当时的上下文体积,<b>越往后越贵</b>。</div>
</div>
</div>
<div class="card">
<div class="so">
<div class="sot">解 决 方 案</div>
<div class="sob">让 AI <b>写脚本</b>处理</div>
<div class="sof">
<span class="n"><s>101 次工具调用</s></span>
<span class="ar">➜</span>
<span class="n">1 个脚本,一次跑完</span>
</div>
<div class="sos">96 处同类改动合成一个脚本 —— 少一次调用,就少背一遍全部历史。</div>
</div>
</div>
</div></body></html>