[{"content":"关于 TechLog TechLog 技术日志 — 一个 IT 运维与技术情报的公开日志站。\n记录什么 内核与系统更新:Kylin / Debian / PVE 等发行版的内核版本与安全公告追踪 软件动态:Caddy、ddns-go 等常用软件的安全更新与版本变化 AI 与价格:DeepSeek 等 AI 服务的定价变动 硬件调研:低功耗小主机、NAS、迷你 PC 的选型与功耗数据 为什么做这个 日常技术运维中积累了大量的版本追踪、更新核对、选型调研工作。与其散落在聊天记录里,不如整理成按日期更新的公开日志——既方便自己回溯,也能给有同样需求的人参考。\n内容原则 所有数据来自公开来源(官方仓库、官方公告、公开评测),可自行核实 按日期更新,记录真实查证过程 内容公开,欢迎交流 技术栈 Hugo + PaperMod 主题 部署于 GitHub Pages,自动构建 联系 仓库: https://github.com/Icestab/TechLog 有问题或建议欢迎在仓库提 Issue ","permalink":"https://techlog.122113.xyz/about/","summary":"\u003ch1 id=\"关于-techlog\"\u003e关于 TechLog\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eTechLog 技术日志\u003c/strong\u003e — 一个 IT 运维与技术情报的公开日志站。\u003c/p\u003e\n\u003ch2 id=\"记录什么\"\u003e记录什么\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e内核与系统更新\u003c/strong\u003e:Kylin / Debian / PVE 等发行版的内核版本与安全公告追踪\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e软件动态\u003c/strong\u003e:Caddy、ddns-go 等常用软件的安全更新与版本变化\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAI 与价格\u003c/strong\u003e:DeepSeek 等 AI 服务的定价变动\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e硬件调研\u003c/strong\u003e:低功耗小主机、NAS、迷你 PC 的选型与功耗数据\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"为什么做这个\"\u003e为什么做这个\u003c/h2\u003e\n\u003cp\u003e日常技术运维中积累了大量的版本追踪、更新核对、选型调研工作。与其散落在聊天记录里,不如整理成按日期更新的公开日志——既方便自己回溯,也能给有同样需求的人参考。\u003c/p\u003e\n\u003ch2 id=\"内容原则\"\u003e内容原则\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e所有数据来自公开来源(官方仓库、官方公告、公开评测),可自行核实\u003c/li\u003e\n\u003cli\u003e按日期更新,记录真实查证过程\u003c/li\u003e\n\u003cli\u003e内容公开,欢迎交流\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"技术栈\"\u003e技术栈\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://gohugo.io/\"\u003eHugo\u003c/a\u003e + \u003ca href=\"https://github.com/adityatelange/hugo-PaperMod\"\u003ePaperMod\u003c/a\u003e 主题\u003c/li\u003e\n\u003cli\u003e部署于 GitHub Pages,自动构建\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"联系\"\u003e联系\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e仓库: \u003ca href=\"https://github.com/Icestab/TechLog\"\u003ehttps://github.com/Icestab/TechLog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e有问题或建议欢迎在仓库提 Issue\u003c/li\u003e\n\u003c/ul\u003e","title":"关于"},{"content":" 本博客即本文的产物。记录完整搭建过程和踩过的坑,供以后重建参考。\n技术选型 Hugo v0.164.0(extended)— Go 单二进制,极快 PaperMod 主题 — 极简技术风,内置搜索/归档/标签 目标:按日期更新的技术日志流 搭建步骤 1. 安装 Hugo(容器内,免 root) # 下载官方 release 的 tar.gz 到用户目录(路径按实际环境替换) curl -L \u0026#34;https://github.com/gohugoio/hugo/releases/download/v0.164.0/hugo_extended_0.164.0_linux-amd64.tar.gz\u0026#34; -o /tmp/hugo.tar.gz mkdir -p ~/bin \u0026amp;\u0026amp; tar -xzf /tmp/hugo.tar.gz -C ~/bin hugo # 验证 ~/bin/hugo version 2. 建站点 + 装主题 cd ~ \u0026amp;\u0026amp; ~/bin/hugo new site techlog git clone --depth 1 https://github.com/adityatelange/hugo-PaperMod ~/techlog/themes/PaperMod 3. 配置 config.toml(中文) 关键配置点:\ntheme = \u0026quot;PaperMod\u0026quot; 菜单:归档 / 搜索 / 标签 输出:HTML + RSS + JSON(搜索需要) 4. 创建归档/搜索页面 \u0026lt;!-- content/archives.md --\u0026gt; --- title: \u0026#34;归档\u0026#34; layout: \u0026#34;archives\u0026#34; url: \u0026#34;/archives/\u0026#34; --- \u0026lt;!-- content/search.md --\u0026gt; --- title: \u0026#34;搜索\u0026#34; layout: \u0026#34;search\u0026#34; url: \u0026#34;/search/\u0026#34; --- 5. 构建 hugo --minify # 输出到 public/ 踩坑记录 坑 1:hugo.toml vs config.toml 并存 Hugo 0.164 的 hugo new site 默认生成 hugo.toml,如果又写了 config.toml,两个文件并存时 hugo 优先读 hugo.toml(还是默认内容),你的配置全部不生效。\n解决:删除 hugo.toml,只留 config.toml。\n坑 2:TOML 语法几个易错点 [params.homeInfoParams] 必须用等号 Title = \u0026quot;...\u0026quot;(不是冒号) [menu.main] 和 [[menu.main]] 不能共存——定义表后再当数组表用会报 \u0026ldquo;Cannot overwrite a value\u0026rdquo; 正确写法:直接 [[menu.main]] 数组表,每项一个 坑 3:日期显示英文 \u0026ldquo;August 6, 2026\u0026rdquo; PaperMod 默认英文日期。改 config.toml:\n[params] dateFormat = \u0026#34;2006-01-02\u0026#34; # 数字格式 坑 4:归档页月份也是英文 主题模板 layouts/archives.html 硬编码 GroupByDate \u0026quot;January\u0026quot;。\n正确改法(覆盖模板,升级不丢):复制主题模板到站点 layouts/ 下再改:\ncp themes/PaperMod/layouts/archives.html layouts/archives.html # 改 GroupByDate \u0026#34;January\u0026#34; → GroupByDate \u0026#34;1月\u0026#34;(中文月份) 站点 layouts/ 优先级高于主题,主题升级不会覆盖。\n坑 5:归档页想\u0026quot;年份 + 中文月份\u0026quot;两级 默认模板是\u0026quot;年份分组 → 月份分组\u0026quot;两级。月份显示成\u0026quot;8月\u0026quot;用 GroupByDate \u0026quot;1月\u0026quot;(Go layout 里 1 = 数字月份,加\u0026quot;月\u0026quot;字就是中文)。\n本地预览(容器场景注意) 容器内起 hugo server,容器外访问需要端口映射或复用已映射端口:\n# baseURL 必须用外部可访问的地址,否则生成的链接是 localhost 打不开 # \u0026lt;port\u0026gt; 用实际端口(如 8642),\u0026lt;宿主机IP\u0026gt; 用实际 IP,勿在文章中写死 hugo server --bind 0.0.0.0 --port \u0026lt;port\u0026gt; --baseURL http://\u0026lt;宿主机IP\u0026gt;:\u0026lt;port\u0026gt;/ 坑:baseURL 写成 localhost → 页面链接全是 localhost,容器外访问跳转失败。必须用宿主机 IP(具体 IP 按实际环境替换,勿在文章中暴露真实内网地址)。\n坑:hugo server 的 baseURL 用线上域名时,本地预览的链接会跳转到线上——本地预览必须用本地 baseURL,线上构建用线上 baseURL,两者分开。\n上线 GitHub Pages(自定义域名) 1. 推送流程 git init \u0026amp;\u0026amp; git add -A \u0026amp;\u0026amp; git commit -m \u0026#34;init\u0026#34; git remote add origin git@github.com:\u0026lt;用户\u0026gt;/\u0026lt;仓库\u0026gt;.git git push -u origin main 坑:git clone 拉的主题(PaperMod)会被当作 embedded git repository(子模块,160000 模式)——删除 themes/PaperMod/.git 后重新 add,主题才作为普通文件提交。\n2. 自动部署(GitHub Actions) .github/workflows/deploy.yml:\nactions/checkout@v4 + peaceiris/actions-hugo@v3(hugo-version 指定) hugo --minify --baseURL \u0026quot;\u0026lt;线上URL\u0026gt;\u0026quot; actions/upload-pages-artifact@v3 + actions/deploy-pages@v4 触发:push main 坑:首次运行前必须在 GitHub Settings → Pages → Source 选 GitHub Actions,否则 deploy 步骤报 Environment 不存在。\n3. 自定义域名 DNS 加 CNAME 记录:\u0026lt;子域\u0026gt; → \u0026lt;用户\u0026gt;.github.io. GitHub Pages 设置里填自定义域名 + 勾选 Enforce HTTPS(自动签发证书,首次等几分钟) ⚠️ 改域名必须同步改 baseURL(config.toml + Actions workflow 里两处),否则 CSS/JS 链接指向旧域名,页面只有文字没有样式 4. Deploy Key(推荐) SSH key 加到仓库 Settings → Deploy keys(不是个人 SSH keys)——只授权单仓库,更安全。必须勾选 Allow write access,否则 push 被拒。\n坑:容器内 hermes 用户的 SSH 家目录是 /opt/data/.ssh(passwd 定义),不是 $HOME——key 放错位置会 Permission denied。\n界面定制 中文界面 config.toml 加 defaultContentLanguage = \u0026quot;zh\u0026quot;(Hugo 0.158+ 废弃 languageCode,用这个才启用中文 i18n):\n界面文案(Home→主页、阅读时间等)自动中文化 自定义翻译加到 themes/PaperMod/i18n/zh.yaml(如 posts → 文章) 面包屑定制(覆盖模板) 站点 layouts/ 下建同名模板优先级高于主题,主题升级不丢:\nlayouts/_partials/breadcrumbs.html:自定义面包屑结构 layouts/single.html:控制单页是否显示面包屑(如 About 页排除) 坑:用 .Section 判断目录 + i18n 键,不要硬编码英文标题字符串(脆弱);判断页面用 .RelPermalink 而非 .Title。\n导航菜单 config.toml 的 [[menu.main]] 按 weight 排序(小在前),可加外部链接(如 GitHub 仓库)。\n结论 Hugo + PaperMod 搭建快(30 分钟内),坑集中在:配置文件冲突、TOML 语法、日期格式、容器端口、GitHub Pages 部署、模板定制。记录在案,下次 20 分钟搞定。\n","permalink":"https://techlog.122113.xyz/posts/2026-08-07-hugo-papermod-setup/","summary":"\u003cblockquote\u003e\n\u003cp\u003e本博客即本文的产物。记录完整搭建过程和踩过的坑,供以后重建参考。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2 id=\"技术选型\"\u003e技术选型\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eHugo\u003c/strong\u003e v0.164.0(extended)— Go 单二进制,极快\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePaperMod\u003c/strong\u003e 主题 — 极简技术风,内置搜索/归档/标签\u003c/li\u003e\n\u003cli\u003e目标:按日期更新的技术日志流\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"搭建步骤\"\u003e搭建步骤\u003c/h2\u003e\n\u003ch3 id=\"1-安装-hugo容器内免-root\"\u003e1. 安装 Hugo(容器内,免 root)\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 下载官方 release 的 tar.gz 到用户目录(路径按实际环境替换)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ecurl -L \u003cspan class=\"s2\"\u003e\u0026#34;https://github.com/gohugoio/hugo/releases/download/v0.164.0/hugo_extended_0.164.0_linux-amd64.tar.gz\u0026#34;\u003c/span\u003e -o /tmp/hugo.tar.gz\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003emkdir -p ~/bin \u003cspan class=\"o\"\u003e\u0026amp;\u0026amp;\u003c/span\u003e tar -xzf /tmp/hugo.tar.gz -C ~/bin hugo\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 验证\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e~/bin/hugo version\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch3 id=\"2-建站点--装主题\"\u003e2. 建站点 + 装主题\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nb\"\u003ecd\u003c/span\u003e ~ \u003cspan class=\"o\"\u003e\u0026amp;\u0026amp;\u003c/span\u003e ~/bin/hugo new site techlog\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003egit clone --depth \u003cspan class=\"m\"\u003e1\u003c/span\u003e https://github.com/adityatelange/hugo-PaperMod ~/techlog/themes/PaperMod\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch3 id=\"3-配置-configtoml中文\"\u003e3. 配置 config.toml(中文)\u003c/h3\u003e\n\u003cp\u003e关键配置点:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003etheme = \u0026quot;PaperMod\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e菜单:归档 / 搜索 / 标签\u003c/li\u003e\n\u003cli\u003e输出:HTML + RSS + JSON(搜索需要)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"4-创建归档搜索页面\"\u003e4. 创建归档/搜索页面\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-markdown\" data-lang=\"markdown\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"cm\"\u003e\u0026lt;!-- content/archives.md --\u0026gt;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e---\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003etitle: \u0026#34;归档\u0026#34;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003elayout: \u0026#34;archives\u0026#34;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eurl: \u0026#34;/archives/\u0026#34;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e---\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"cm\"\u003e\u0026lt;!-- content/search.md --\u0026gt;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e---\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003etitle: \u0026#34;搜索\u0026#34;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003elayout: \u0026#34;search\u0026#34;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eurl: \u0026#34;/search/\u0026#34;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e---\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch3 id=\"5-构建\"\u003e5. 构建\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ehugo --minify    \u003cspan class=\"c1\"\u003e# 输出到 public/\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch2 id=\"踩坑记录\"\u003e踩坑记录\u003c/h2\u003e\n\u003ch3 id=\"坑-1hugotoml-vs-configtoml-并存\"\u003e坑 1:hugo.toml vs config.toml 并存\u003c/h3\u003e\n\u003cp\u003eHugo 0.164 的 \u003ccode\u003ehugo new site\u003c/code\u003e 默认生成 \u003cstrong\u003ehugo.toml\u003c/strong\u003e,如果又写了 config.toml,\u003cstrong\u003e两个文件并存时 hugo 优先读 hugo.toml\u003c/strong\u003e(还是默认内容),你的配置全部不生效。\u003c/p\u003e","title":"Hugo + PaperMod 博客搭建记录(含踩坑)"},{"content":" 仪表盘显示 7 天消耗 4 亿 token,看似吓人——但拆开看,真实成本一个月才几十块。\n现象 hermes insights 显示:\n输入 477 万 + 输出 92 万 Total 4 亿(对不上?) 真相:Total = 输入 + 输出 + 缓存读 + 缓存写 + 推理 4 亿的真实构成:\n项目 数量 占比 缓存读取(cache read) 3.99 亿 98.6% 输入 447 万 1.1% 输出 76 万 0.2% 推理 33 万 0.08% \u0026ldquo;4 亿\u0026quot;几乎全是缓存读取——不是真的消耗了 4 亿新 token。\n为什么有这么多缓存读 长会话场景(如 QQ 单窗口聊天):每轮对话都要把整个会话历史重新发给模型。但历史大部分没变,被**上下文缓存(cache)**命中——服务端只收极低的缓存价,不重新计费。\n单轮实测:发一条消息,输入 2,421 token,但缓存读 23 万(整个历史)。\n成本换算 按 DeepSeek V4-Flash 价格(涨价前):\n项目 数量 单价 成本 缓存读 3.99 亿 0.02 元/百万 ~8 元 输入(未命中) 447 万 1 元/百万 ~4.5 元 输出 76 万 2 元/百万 ~1.5 元 周成本 ~14 元 结论 仪表盘的\u0026quot;Total token\u0026quot;极具误导性——缓存读占绝对大头,但单价极低 长会话 + 上下文重发型用量,恰好是缓存定价最友好的场景 即使 DeepSeek 涨价(2026-08 预告大幅上调),影响也有限——大头是本就便宜的缓存读 真省钱方向:控制会话长度(减少缓存读总量),但边际收益小 怎么看真实成本 关注 cache_read_tokens 的单价(0.02 元/百万),别被总量吓到 中转服务(如 opencode-go)可能不返回价格信息(cost_status: unknown),账单以中转后台为准 ","permalink":"https://techlog.122113.xyz/posts/2026-08-06-token-cost-truth/","summary":"\u003cblockquote\u003e\n\u003cp\u003e仪表盘显示 7 天消耗 4 亿 token,看似吓人——但拆开看,真实成本一个月才几十块。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2 id=\"现象\"\u003e现象\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003ehermes insights\u003c/code\u003e 显示:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e输入 477 万 + 输出 92 万\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTotal 4 亿\u003c/strong\u003e(对不上?)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"真相total--输入--输出--缓存读--缓存写--推理\"\u003e真相:Total = 输入 + 输出 + 缓存读 + 缓存写 + 推理\u003c/h2\u003e\n\u003cp\u003e4 亿的真实构成:\u003c/p\u003e\n\u003ctable\u003e\n\t\u003cthead\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003cth\u003e项目\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003e数量\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003e占比\u003c/th\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/thead\u003e\n\t\u003ctbody\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e\u003cstrong\u003e缓存读取(cache read)\u003c/strong\u003e\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e3.99 亿\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e\u003cstrong\u003e98.6%\u003c/strong\u003e\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e输入\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e447 万\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e1.1%\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e输出\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e76 万\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e0.2%\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e推理\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e33 万\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e0.08%\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e\u003cstrong\u003e\u0026ldquo;4 亿\u0026quot;几乎全是缓存读取\u003c/strong\u003e——不是真的消耗了 4 亿新 token。\u003c/p\u003e\n\u003ch2 id=\"为什么有这么多缓存读\"\u003e为什么有这么多缓存读\u003c/h2\u003e\n\u003cp\u003e长会话场景(如 QQ 单窗口聊天):每轮对话都要把\u003cstrong\u003e整个会话历史\u003c/strong\u003e重新发给模型。但历史大部分没变,被**上下文缓存(cache)**命中——服务端只收极低的缓存价,不重新计费。\u003c/p\u003e\n\u003cp\u003e单轮实测:发一条消息,输入 2,421 token,但\u003cstrong\u003e缓存读 23 万\u003c/strong\u003e(整个历史)。\u003c/p\u003e\n\u003ch2 id=\"成本换算\"\u003e成本换算\u003c/h2\u003e\n\u003cp\u003e按 DeepSeek V4-Flash 价格(涨价前):\u003c/p\u003e","title":"AI 用量成本真相:4 亿 token 里 98.6% 是便宜的缓存读"},{"content":" 一次 82 页 PDF 提取烧掉 84 credits(月度免费额度的 8.4%),血的教训。\n计费规则(官方确认) 操作 消耗 搜索 2 credits / 10 条结果(向上取整) HTML 提取 1 credit / 页 PDF 提取 按页计费(82 页 ≈ 84 credits) 搜索+自动抓正文 搜索 2 + 每结果 1 credit 免费额度:1000 credits/月。\n教训 PDF 绝对不要直接扔给 Firecrawl 提取——按页计费,一个几十页的 PDF 就能烧掉月度额度的百分之几到十几。\n正确做法 PDF → curl 下载到本地 → 本地解析(pymupdf/read_file) → 免费 HTML → Firecrawl(1 credit/页) 或 curl 搜索 → DeepSeek 服务端(不耗 Firecrawl 额度) 实测对比:\n82 页 PDF 扔 Firecrawl:84 credits 同 PDF curl + 本地解析:0 credits 为什么 Firecrawl 搜索也烧额度 Firecrawl 的搜索默认会抓每个结果的正文(\u0026ldquo;search + extraction in one call\u0026rdquo;)——一次搜索 10 条结果 = 2(搜索)+ 10(抓取)= 12 credits。所以搜索密集场景要小心,最好用纯搜索服务(如 DeepSeek web_search)。\n总结 PDF 永远走本地解析(curl + pymupdf),零成本 Firecrawl 只用于 HTML 提取(1 credit/页,1000 次/月用不完) 搜索交给模型服务端(不耗 Firecrawl 额度) ","permalink":"https://techlog.122113.xyz/posts/2026-08-06-firecrawl-pricing-pitfall/","summary":"\u003cblockquote\u003e\n\u003cp\u003e一次 82 页 PDF 提取烧掉 84 credits(月度免费额度的 8.4%),血的教训。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2 id=\"计费规则官方确认\"\u003e计费规则(官方确认)\u003c/h2\u003e\n\u003ctable\u003e\n\t\u003cthead\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003cth\u003e操作\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003e消耗\u003c/th\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/thead\u003e\n\t\u003ctbody\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e搜索\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e2 credits / 10 条结果(向上取整)\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003eHTML 提取\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e1 credit / 页\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e\u003cstrong\u003ePDF 提取\u003c/strong\u003e\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e\u003cstrong\u003e按页计费\u003c/strong\u003e(82 页 ≈ 84 credits)\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e搜索+自动抓正文\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e搜索 2 + 每结果 1 credit\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e免费额度:1000 credits/月。\u003c/p\u003e\n\u003ch2 id=\"教训\"\u003e教训\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ePDF 绝对不要直接扔给 Firecrawl 提取\u003c/strong\u003e——按页计费,一个几十页的 PDF 就能烧掉月度额度的百分之几到十几。\u003c/p\u003e\n\u003ch2 id=\"正确做法\"\u003e正确做法\u003c/h2\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003ePDF  → curl 下载到本地 → 本地解析(pymupdf/read_file) → 免费\nHTML → Firecrawl(1 credit/页) 或 curl\n搜索 → DeepSeek 服务端(不耗 Firecrawl 额度)\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e实测对比:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e82 页 PDF 扔 Firecrawl:84 credits\u003c/li\u003e\n\u003cli\u003e同 PDF curl + 本地解析:0 credits\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"为什么-firecrawl-搜索也烧额度\"\u003e为什么 Firecrawl 搜索也烧额度\u003c/h2\u003e\n\u003cp\u003eFirecrawl 的搜索\u003cstrong\u003e默认会抓每个结果的正文\u003c/strong\u003e(\u0026ldquo;search + extraction in one call\u0026rdquo;)——一次搜索 10 条结果 = 2(搜索)+ 10(抓取)= 12 credits。所以搜索密集场景要小心,最好用纯搜索服务(如 DeepSeek web_search)。\u003c/p\u003e","title":"Firecrawl 计费陷阱:PDF 提取按页计费"},{"content":" 2026-08-05 ~ 08-06 折腾两天,解决\u0026quot;搜索引擎全被反爬\u0026quot;的痛点的完整方案。\n背景 之前用 curl/浏览器直接抓搜索引擎(Google/Bing/DDG/Startpage/Yandex 等),结果全被反爬挡住(CAPTCHA/403/验证页)。需要一个稳定、免反爬、低成本的搜索方案。\n方案演进 阶段 1:发现 DeepSeek 支持服务端 web_search DeepSeek 官方 Responses API 支持 web_search 工具——搜索在 DeepSeek 服务器端执行,客户端拿到的就是结构化结果,完全绕开反爬。\n关键验证:\napi.deepseek.com/v1/responses 支持 tools: [{type: web_search}] 事件流有 web_search_call.in_progress / searching / completed 返回结果含 title/url/description 阶段 2:发现 opencode-go 中转也支持 意外收获:opencode-go 的 /zen/go/v1/responses 端点同样支持 web_search 工具——意味着可以用已有的 OPENCODE_GO_API_KEY(和主模型同一账户),不用额外注册 DeepSeek 官方 key。\n实测:\n{\u0026#34;tools\u0026#34;: [{\u0026#34;type\u0026#34;: \u0026#34;web_search\u0026#34;}]} → output 含 web_search_call(completed),返回真实搜索结果 阶段 3:Firecrawl 负责提取(分工) 社区共识:Firecrawl 擅长网页提取(extract),搜索是弱项(官方也承认\u0026quot;basic search endpoint, not true SERP\u0026quot;)。于是分工:\nweb.search_backend: deepseek ← 搜索(服务端,免反爬) web.extract_backend: firecrawl ← 提取(HTML 转 markdown) 最终架构 ┌─────────────────────────────────────────────┐ │ 搜索(web_search) → opencode-go /responses │ │ → DeepSeek 服务端执行 → 结构化结果 │ ├─────────────────────────────────────────────┤ │ 提取(web_extract) → Firecrawl API │ │ → 网页转 markdown(1 credit/页) │ ├─────────────────────────────────────────────┤ │ 兜底 → cn.bing / 搜狗 / curl 直抓 │ └─────────────────────────────────────────────┘ 关键点 搜索和提取解耦:搜索走模型服务商(不烧 Firecrawl 额度),提取走 Firecrawl(免费 1000 credits/月) 服务端搜索免反爬:反爬是客户端直抓的问题,服务端执行彻底绕开 成本极低:搜索按 token 计费(缓存命中 0.02 元/百万),提取 1 credit/页 附:Firecrawl 注册 2026 年 6 月起 Firecrawl 推出 Keyless 模式(免 key 每月 1000 credits),但 Hermes 插件仍需要 key——邮箱注册即可拿到 fc- 开头的 key,免费额度无需绑卡。\n参考 DeepSeek Responses API 文档:https://api-docs.deepseek.com/zh-cn/guides/responses_api Firecrawl Keyless 公告:https://www.firecrawl.dev/blog/firecrawl-keyless-launch ","permalink":"https://techlog.122113.xyz/posts/2026-08-06-search-stack-rebuild/","summary":"\u003cblockquote\u003e\n\u003cp\u003e2026-08-05 ~ 08-06 折腾两天,解决\u0026quot;搜索引擎全被反爬\u0026quot;的痛点的完整方案。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2 id=\"背景\"\u003e背景\u003c/h2\u003e\n\u003cp\u003e之前用 curl/浏览器直接抓搜索引擎(Google/Bing/DDG/Startpage/Yandex 等),结果\u003cstrong\u003e全被反爬挡住\u003c/strong\u003e(CAPTCHA/403/验证页)。需要一个稳定、免反爬、低成本的搜索方案。\u003c/p\u003e\n\u003ch2 id=\"方案演进\"\u003e方案演进\u003c/h2\u003e\n\u003ch3 id=\"阶段-1发现-deepseek-支持服务端-web_search\"\u003e阶段 1:发现 DeepSeek 支持服务端 web_search\u003c/h3\u003e\n\u003cp\u003eDeepSeek 官方 \u003cstrong\u003eResponses API\u003c/strong\u003e 支持 \u003ccode\u003eweb_search\u003c/code\u003e 工具——\u003cstrong\u003e搜索在 DeepSeek 服务器端执行\u003c/strong\u003e,客户端拿到的就是结构化结果,完全绕开反爬。\u003c/p\u003e\n\u003cp\u003e关键验证:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eapi.deepseek.com/v1/responses\u003c/code\u003e 支持 \u003ccode\u003etools: [{type: web_search}]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e事件流有 \u003ccode\u003eweb_search_call.in_progress / searching / completed\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e返回结果含 title/url/description\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"阶段-2发现-opencode-go-中转也支持\"\u003e阶段 2:发现 opencode-go 中转也支持\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003e意外收获\u003c/strong\u003e:opencode-go 的 \u003ccode\u003e/zen/go/v1/responses\u003c/code\u003e 端点\u003cstrong\u003e同样支持 web_search 工具\u003c/strong\u003e——意味着可以用\u003cstrong\u003e已有的 OPENCODE_GO_API_KEY\u003c/strong\u003e(和主模型同一账户),不用额外注册 DeepSeek 官方 key。\u003c/p\u003e\n\u003cp\u003e实测:\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-json\" data-lang=\"json\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003cspan class=\"nt\"\u003e\u0026#34;tools\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"p\"\u003e[{\u003c/span\u003e\u003cspan class=\"nt\"\u003e\u0026#34;type\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;web_search\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e}]}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"err\"\u003e→\u003c/span\u003e \u003cspan class=\"err\"\u003eoutput\u003c/span\u003e \u003cspan class=\"err\"\u003e含\u003c/span\u003e \u003cspan class=\"err\"\u003eweb_search_call(completed),返回真实搜索结果\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch3 id=\"阶段-3firecrawl-负责提取分工\"\u003e阶段 3:Firecrawl 负责提取(分工)\u003c/h3\u003e\n\u003cp\u003e社区共识:\u003cstrong\u003eFirecrawl 擅长网页提取(extract),搜索是弱项\u003c/strong\u003e(官方也承认\u0026quot;basic search endpoint, not true SERP\u0026quot;)。于是分工:\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eweb.search_backend:  deepseek   ← 搜索(服务端,免反爬)\nweb.extract_backend: firecrawl  ← 提取(HTML 转 markdown)\n\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"最终架构\"\u003e最终架构\u003c/h2\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e┌─────────────────────────────────────────────┐\n│ 搜索(web_search) → opencode-go /responses    │\n│   → DeepSeek 服务端执行 → 结构化结果           │\n├─────────────────────────────────────────────┤\n│ 提取(web_extract) → Firecrawl API           │\n│   → 网页转 markdown(1 credit/页)             │\n├─────────────────────────────────────────────┤\n│ 兜底 → cn.bing / 搜狗 / curl 直抓            │\n└─────────────────────────────────────────────┘\n\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"关键点\"\u003e关键点\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003e搜索和提取解耦\u003c/strong\u003e:搜索走模型服务商(不烧 Firecrawl 额度),提取走 Firecrawl(免费 1000 credits/月)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e服务端搜索免反爬\u003c/strong\u003e:反爬是客户端直抓的问题,服务端执行彻底绕开\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e成本极低\u003c/strong\u003e:搜索按 token 计费(缓存命中 0.02 元/百万),提取 1 credit/页\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"附firecrawl-注册\"\u003e附:Firecrawl 注册\u003c/h2\u003e\n\u003cp\u003e2026 年 6 月起 Firecrawl 推出 \u003cstrong\u003eKeyless 模式\u003c/strong\u003e(免 key 每月 1000 credits),但 Hermes 插件仍需要 key——邮箱注册即可拿到 \u003ccode\u003efc-\u003c/code\u003e 开头的 key,免费额度无需绑卡。\u003c/p\u003e","title":"搜索体系重建:DeepSeek 服务端搜索 + Firecrawl 提取"},{"content":" 2026-08-06,DeepSeek 在开发者后台发布涨价提示,多家媒体(东方财富/新浪财经/界面等)同日报道。\n核心信息 DeepSeek 官方宣布:近期将整体上调 API 服务定价,预计涨幅较大,并引入峰谷定价机制。\n当前 V4-Flash 价格(涨价前) 单位:元/百万 tokens\n计费项 平峰 高峰(工作日 9-12点/14-18点,翻倍) 缓存命中输入 0.02 0.04 缓存未命中输入 1 2 输出 2 4 V4-Pro 当前价:缓存未命中输入 3 元、输出 6 元(高峰翻倍)。\n2026 年调价轨迹 时间 事件 4 月 限时折扣 5 月 优惠结束,正式定价调整为原价 1/4(大降价) 6 月底 预告 V4 上线涨价 + 引入峰谷定价 8 月 6 日 预告大幅整体上调 对重度用户的影响分析 以实际用量为例(7 天 4 亿 token,其中 98.6% 是缓存读取):\n缓存读 3.99 亿 × 0.02 元/百万 ≈ 8 元(平峰) 输出 76 万 × 2 元/百万 ≈ 1.5 元 输入 447 万 × 1 元/百万 ≈ 4.5 元 周成本约 14 元,月约 50-60 元 关键结论:长会话 + 上下文重发型用量(缓存命中占比极高)恰好是 DeepSeek 定价最友好的场景——即使涨价翻倍,真实成本上升也有限,因为大头是本就便宜的缓存读取。\n参考 东方财富:https://finance.eastmoney.com/a/202608063833706043.html 界面新闻:https://www.jiemian.com/article/14884234.html 黑马:https://www.iheima.com/article-400391.html ","permalink":"https://techlog.122113.xyz/posts/2026-08-06-deepseek-pricing/","summary":"\u003cblockquote\u003e\n\u003cp\u003e2026-08-06,DeepSeek 在开发者后台发布涨价提示,多家媒体(东方财富/新浪财经/界面等)同日报道。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2 id=\"核心信息\"\u003e核心信息\u003c/h2\u003e\n\u003cp\u003eDeepSeek 官方宣布:\u003cstrong\u003e近期将整体上调 API 服务定价,预计涨幅较大\u003c/strong\u003e,并引入\u003cstrong\u003e峰谷定价\u003c/strong\u003e机制。\u003c/p\u003e\n\u003ch2 id=\"当前-v4-flash-价格涨价前\"\u003e当前 V4-Flash 价格(涨价前)\u003c/h2\u003e\n\u003cp\u003e单位:元/百万 tokens\u003c/p\u003e\n\u003ctable\u003e\n\t\u003cthead\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003cth\u003e计费项\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003e平峰\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003e高峰(工作日 9-12点/14-18点,翻倍)\u003c/th\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/thead\u003e\n\t\u003ctbody\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e缓存命中输入\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e0.02\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e0.04\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e缓存未命中输入\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e1\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e2\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e输出\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e2\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e4\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003eV4-Pro 当前价:缓存未命中输入 3 元、输出 6 元(高峰翻倍)。\u003c/p\u003e\n\u003ch2 id=\"2026-年调价轨迹\"\u003e2026 年调价轨迹\u003c/h2\u003e\n\u003ctable\u003e\n\t\u003cthead\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003cth\u003e时间\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003e事件\u003c/th\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/thead\u003e\n\t\u003ctbody\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e4 月\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e限时折扣\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e5 月\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e优惠结束,正式定价调整为原价 1/4(大降价)\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e6 月底\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e预告 V4 上线涨价 + 引入峰谷定价\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e8 月 6 日\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e预告大幅整体上调\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2 id=\"对重度用户的影响分析\"\u003e对重度用户的影响分析\u003c/h2\u003e\n\u003cp\u003e以实际用量为例(7 天 4 亿 token,其中 \u003cstrong\u003e98.6% 是缓存读取\u003c/strong\u003e):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e缓存读 3.99 亿 × 0.02 元/百万 ≈ 8 元(平峰)\u003c/li\u003e\n\u003cli\u003e输出 76 万 × 2 元/百万 ≈ 1.5 元\u003c/li\u003e\n\u003cli\u003e输入 447 万 × 1 元/百万 ≈ 4.5 元\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e周成本约 14 元,月约 50-60 元\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e关键结论\u003c/strong\u003e:长会话 + 上下文重发型用量(缓存命中占比极高)恰好是 DeepSeek 定价最友好的场景——即使涨价翻倍,真实成本上升也有限,因为大头是本就便宜的缓存读取。\u003c/p\u003e","title":"DeepSeek API 大幅涨价预告与峰谷定价"},{"content":"Kylin V10SP1 内核 23.74 版本: kernel-core 4.19.90-23.74.v2101.ky10 公告: KYBA-202607-3631 类型: Bugfix(缺陷修复),非安全更新,0 个 CVE 发布时间: 2026-07-28 Caddy 2.11.4 2026-06-02 发布 含安全修复: 路径匹配器加固、占位符处理、header 冲突防护 2.11.3 修复高危 CVE-2026-45692(admin API 认证绕过) ","permalink":"https://techlog.122113.xyz/posts/2026-08-06-kylin-caddy-updates/","summary":"\u003ch2 id=\"kylin-v10sp1-内核-2374\"\u003eKylin V10SP1 内核 23.74\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e版本: kernel-core 4.19.90-23.74.v2101.ky10\u003c/li\u003e\n\u003cli\u003e公告: KYBA-202607-3631\u003c/li\u003e\n\u003cli\u003e类型: Bugfix(缺陷修复),非安全更新,0 个 CVE\u003c/li\u003e\n\u003cli\u003e发布时间: 2026-07-28\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"caddy-2114\"\u003eCaddy 2.11.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e2026-06-02 发布\u003c/li\u003e\n\u003cli\u003e含安全修复: 路径匹配器加固、占位符处理、header 冲突防护\u003c/li\u003e\n\u003cli\u003e2.11.3 修复高危 CVE-2026-45692(admin API 认证绕过)\u003c/li\u003e\n\u003c/ul\u003e","title":"Kylin 内核更新 23.74 与 Caddy 2.11.4"},{"content":" 解决 AI Agent 记忆\u0026quot;不够用、存不下、查不到\u0026quot;三难问题的实践方案。\n问题背景 AI Agent(如 Hermes)的持久记忆面临矛盾:\n常驻记忆有容量上限(默认 2000 字符,可扩容)— 存不了多少事实 全部塞进上下文太贵——每轮对话都要重新发送,按 token 计费 低频信息不能丢——设备配置、排障细节、API 用法,几周后可能还要用 分层方案 ┌─────────────────────────────────────────────┐ │ 第一层:常驻记忆(memory) │ │ · 高频事实:IP/端口/凭据位置/用户偏好/关键配置 │ │ · 默认2000字符可扩容,每轮注入上下文 │ │ · 只放精简核心 │ ├─────────────────────────────────────────────┤ │ 第二层:外部知识库(fact_store) │ │ · 低频背景:设备配置/排障细节/软件特性/API用法 │ │ · 大容量、不衰减、不删除、不占 token │ │ · 结构化存储,支持实体关联/组合查询 │ ├─────────────────────────────────────────────┤ │ 第三层:会话历史(session db) │ │ · 完整对话记录,可全文检索 │ │ · 用于回溯\u0026#34;当时怎么做的\u0026#34; │ └─────────────────────────────────────────────┘ 核心机制 1. 自动分层存储 先扩容常驻记忆(默认 2000 → 8000 字符),容纳更多高频事实 扩容后仍放不下的低频信息 → 外部库 Agent 判断信息频度:高频 → 常驻 memory,低频 → 外部库 存储时自动打标签(tags),支持实体关联 2. 索引锚点(关键设计) 外部库内容不注入上下文(不占 token),但需要\u0026quot;知道有这回事\u0026quot;才能去查:\n常驻 memory 里留一行: \u0026#34;低频索引: 画图环境→外部库条目; dash改密码→外部库条目; uv缓存→外部库条目; ...\u0026#34; → 每轮注入的是索引(几十字符),真正内容在外部库,需要时按编号查\n3. 容量自动管理 常驻记忆写满时,自动评估最不常用条目 → 迁移到外部库 → 留索引 → 腾出空间 避免\u0026quot;记忆满了写不进新东西\u0026quot; 4. 中文搜索的坑 外部库默认全文搜索(FTS5)对中文不友好(整句被当 1 个 token,搜不到)——用 ASCII 锚点(如 memory-anchor:画图环境)作为标签解决,中文关键词也能定位。\n效果 指标 结果 常驻记忆 精简高效,只放高频核心 低频信息 不丢失,按索引可查 token 成本 只花索引的几十字符,外部库 0 成本 查询 支持实体探针(probe)/组合推理(reason) 适用场景 AI Agent / 聊天机器人需要长期记忆 大量低频配置信息不想占上下文 多会话、跨天使用的场景 参考 Hermes Agent 记忆机制:https://hermes-agent.nousresearch.com/docs SQLite FTS5 中文检索限制:https://sqlite.org/fts5.html ","permalink":"https://techlog.122113.xyz/posts/2026-08-05-memory-tiered-architecture/","summary":"\u003cblockquote\u003e\n\u003cp\u003e解决 AI Agent 记忆\u0026quot;不够用、存不下、查不到\u0026quot;三难问题的实践方案。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2 id=\"问题背景\"\u003e问题背景\u003c/h2\u003e\n\u003cp\u003eAI Agent(如 Hermes)的持久记忆面临矛盾:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003e常驻记忆有容量上限\u003c/strong\u003e(默认 2000 字符,可扩容)— 存不了多少事实\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e全部塞进上下文太贵\u003c/strong\u003e——每轮对话都要重新发送,按 token 计费\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e低频信息不能丢\u003c/strong\u003e——设备配置、排障细节、API 用法,几周后可能还要用\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"分层方案\"\u003e分层方案\u003c/h2\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e┌─────────────────────────────────────────────┐\n│  第一层:常驻记忆(memory)                     │\n│  · 高频事实:IP/端口/凭据位置/用户偏好/关键配置 │\n│  · 默认2000字符可扩容,每轮注入上下文          │\n│  · 只放精简核心                               │\n├─────────────────────────────────────────────┤\n│  第二层:外部知识库(fact_store)               │\n│  · 低频背景:设备配置/排障细节/软件特性/API用法 │\n│  · 大容量、不衰减、不删除、不占 token          │\n│  · 结构化存储,支持实体关联/组合查询            │\n├─────────────────────────────────────────────┤\n│  第三层:会话历史(session db)                 │\n│  · 完整对话记录,可全文检索                    │\n│  · 用于回溯\u0026#34;当时怎么做的\u0026#34;                     │\n└─────────────────────────────────────────────┘\n\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"核心机制\"\u003e核心机制\u003c/h2\u003e\n\u003ch3 id=\"1-自动分层存储\"\u003e1. 自动分层存储\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e先扩容常驻记忆\u003c/strong\u003e(默认 2000 → 8000 字符),容纳更多高频事实\u003c/li\u003e\n\u003cli\u003e扩容后仍放不下的低频信息 → 外部库\u003c/li\u003e\n\u003cli\u003eAgent 判断信息频度:\u003cstrong\u003e高频 → 常驻 memory,低频 → 外部库\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e存储时自动打标签(tags),支持实体关联\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"2-索引锚点关键设计\"\u003e2. 索引锚点(关键设计)\u003c/h3\u003e\n\u003cp\u003e外部库内容\u003cstrong\u003e不注入上下文\u003c/strong\u003e(不占 token),但需要\u0026quot;知道有这回事\u0026quot;才能去查:\u003c/p\u003e","title":"AI Agent 记忆分层架构:常驻内存 + 外部知识库"},{"content":" 记录于 2026-07-26。数据来源:麒麟官方 updateinfo.xml(update.cs2c.com.cn),所有 CVE 均可通过麒麟安全中心核实。\n背景 Kylin V10 SP1 基于 Linux 4.19 内核,版本格式 4.19.90-XX.XX.v2101.ky10。服务器当时部署 23.67,需要确认升级路径上的安全修复情况。\n各版本修复的 CVE 数量 内核版本 修复 CVE 数 严重程度 说明 23.68 1 个 🟡 CVE-2026-46243 23.69 49 个 🔴 大量 KYSA-202606-1308,Important 级别,跨越 2021-2026 五年漏洞 23.70 1 个 🟡 CVE-2026-46331 23.71 2 个 🟡 CVE-2026-43456, CVE-2026-43503 23.72 2 个 🟡 CVE-2026-43499, CVE-2026-53359 重点:23.69 是大版本安全更新(49 个 CVE) 公告编号 KYSA-202606-1308,类型 security,严重级别 Important。\nCVE 时间分布:\n年份 CVE 数 代表 CVE 2021 1 CVE-2021-47209 2022 5 CVE-2022-50073, 50616, 50630, 50735 2023 8 CVE-2023-52935, 53305, 53596, 53616, 53622, 53668, 53676 2024 1 CVE-2024-58240 2025 ~14 CVE-2025-38624, 38697, 38702, 38708, 39883, 39891, 39945 等 2026 ~20+ CVE-2026-23054, 23073, 23074, 23076, 23083, 23089, 23191, 23204, 23216, 23234, 23235, 23253, 23274, 23462, 31408, 31532, 31788, 43211, 43494 结论 从 23.67 升级到 23.72,累计修复 55+ 个 CVE(其中 23.69 一次堵上 49 个)。对于 7×24 服务器,建议直接升级到最新版。\n核实方式 所有数据来自麒麟官方安全仓库,可自行核实:\ncurl -sL \u0026#34;https://update.cs2c.com.cn/NS/UpdateInfo/V10SP1/x86_64/repodata/updateinfo.xml.gz\u0026#34; | gunzip | grep -A5 \u0026#34;KYSA-202606-1308\u0026#34; 或访问麒麟安全中心: https://support.kylinos.cn/#/security/cveDetail?allTitle=CVE-2026-43211\n","permalink":"https://techlog.122113.xyz/posts/2026-07-26-kylin-kernel-cve/","summary":"\u003cblockquote\u003e\n\u003cp\u003e记录于 2026-07-26。数据来源:麒麟官方 updateinfo.xml(update.cs2c.com.cn),所有 CVE 均可通过麒麟安全中心核实。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2 id=\"背景\"\u003e背景\u003c/h2\u003e\n\u003cp\u003eKylin V10 SP1 基于 Linux 4.19 内核,版本格式 \u003ccode\u003e4.19.90-XX.XX.v2101.ky10\u003c/code\u003e。服务器当时部署 23.67,需要确认升级路径上的安全修复情况。\u003c/p\u003e\n\u003ch2 id=\"各版本修复的-cve-数量\"\u003e各版本修复的 CVE 数量\u003c/h2\u003e\n\u003ctable\u003e\n\t\u003cthead\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003cth\u003e内核版本\u003c/th\u003e\n\t\t\t\t\t\u003cth style=\"text-align: center\"\u003e修复 CVE 数\u003c/th\u003e\n\t\t\t\t\t\u003cth style=\"text-align: center\"\u003e严重程度\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003e说明\u003c/th\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/thead\u003e\n\t\u003ctbody\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e23.68\u003c/td\u003e\n\t\t\t\t\t\u003ctd style=\"text-align: center\"\u003e1 个\u003c/td\u003e\n\t\t\t\t\t\u003ctd style=\"text-align: center\"\u003e🟡\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003eCVE-2026-46243\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e\u003cstrong\u003e23.69\u003c/strong\u003e\u003c/td\u003e\n\t\t\t\t\t\u003ctd style=\"text-align: center\"\u003e\u003cstrong\u003e49 个\u003c/strong\u003e\u003c/td\u003e\n\t\t\t\t\t\u003ctd style=\"text-align: center\"\u003e🔴 \u003cstrong\u003e大量\u003c/strong\u003e\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e\u003cstrong\u003eKYSA-202606-1308,Important 级别,跨越 2021-2026 五年漏洞\u003c/strong\u003e\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e23.70\u003c/td\u003e\n\t\t\t\t\t\u003ctd style=\"text-align: center\"\u003e1 个\u003c/td\u003e\n\t\t\t\t\t\u003ctd style=\"text-align: center\"\u003e🟡\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003eCVE-2026-46331\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e23.71\u003c/td\u003e\n\t\t\t\t\t\u003ctd style=\"text-align: center\"\u003e2 个\u003c/td\u003e\n\t\t\t\t\t\u003ctd style=\"text-align: center\"\u003e🟡\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003eCVE-2026-43456, CVE-2026-43503\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e23.72\u003c/td\u003e\n\t\t\t\t\t\u003ctd style=\"text-align: center\"\u003e2 个\u003c/td\u003e\n\t\t\t\t\t\u003ctd style=\"text-align: center\"\u003e🟡\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003eCVE-2026-43499, CVE-2026-53359\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2 id=\"重点2369-是大版本安全更新49-个-cve\"\u003e重点:23.69 是大版本安全更新(49 个 CVE)\u003c/h2\u003e\n\u003cp\u003e公告编号 \u003cstrong\u003eKYSA-202606-1308\u003c/strong\u003e,类型 security,严重级别 \u003cstrong\u003eImportant\u003c/strong\u003e。\u003c/p\u003e\n\u003cp\u003eCVE 时间分布:\u003c/p\u003e\n\u003ctable\u003e\n\t\u003cthead\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003cth\u003e年份\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003eCVE 数\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003e代表 CVE\u003c/th\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/thead\u003e\n\t\u003ctbody\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e2021\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e1\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003eCVE-2021-47209\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e2022\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e5\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003eCVE-2022-50073, 50616, 50630, 50735\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e2023\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e8\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003eCVE-2023-52935, 53305, 53596, 53616, 53622, 53668, 53676\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e2024\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e1\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003eCVE-2024-58240\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e2025\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e~14\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003eCVE-2025-38624, 38697, 38702, 38708, 39883, 39891, 39945 等\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e2026\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e~20+\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003eCVE-2026-23054, 23073, 23074, 23076, 23083, 23089, 23191, 23204, 23216, 23234, 23235, 23253, 23274, 23462, 31408, 31532, 31788, 43211, 43494\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2 id=\"结论\"\u003e结论\u003c/h2\u003e\n\u003cp\u003e从 23.67 升级到 23.72,累计修复 \u003cstrong\u003e55+ 个 CVE\u003c/strong\u003e(其中 23.69 一次堵上 49 个)。对于 7×24 服务器,建议直接升级到最新版。\u003c/p\u003e","title":"Kylin V10SP1 内核 23.67→23.72 漏洞修复追踪"}]