KnowledgeWiki 操作日志

本文件为 Append-only 时间线。最新记录在最上方,更早的记录在下方。每次 Ingest / Query / Lint 后在此追加一条记录。


[2026-10-27] infra | 三入口首页 + 学/设/查落地页发布

  • 类型:infra
  • 构建:Quartz 4.5.2,595 个 Markdown → 4480 个文件;产物在本地 quartz/public。
  • 发布:/var/www/releases/20261027T102044Z,原子切换 /var/www/html;旧 release /var/www/releases/2026-10-22T06-26-42-147Z 保留可回滚。
  • 首页:三入口 学/做/查(kw-door),门牌指向 ./learn/、./design/、./reference/;doorCss=true。
  • 落地页:/learn/、/design/、/reference/ 均 200;/learn 301;/wiki/learn/ 等 canonical 200;nginx alias 已存在。
  • 设计落地页新增 Canvas 入口 /canvas/;Canvas 原理图 行含 A–G 与可编辑 W/L/I/C。
  • 工具链接 /static/tools/opamp、/static/tools/opamp-sim(无扩展)与带 .html 均 200;Canvas /canvas/ 200;/editor/ 302 未受影响。
  • 源文件:quartz/content/index.md、wiki/learn|design|reference、custom.scss 已改;本次提交纳入版本库(尚未推送)。

[2026-10-27] infra | Canvas 自托管 Phase 0(https://analogwiki.tech/canvas/)

  • 类型:infra / eval
  • 部署:VPS /opt/analog-canvas-public(Node24/pnpm11.16),PM2 canvas-public 监听 127.0.0.1:3010;nginx 新增 /canvas/ 与 /canvas/api/,配置备份 knowledgewiki.bak-canvas-20261027。
  • 前端:current main + public-simulation 补丁,Vite --base=/canvas/、VITE_ICM_SIMULATION_TRANSPORT=direct;注入 /api → /canvas/api fetch shim;隐藏 Gallery/Arena/Publish。
  • 验证:编辑器在 https://analogwiki.tech/canvas/ 渲染;/canvas/api/auth/me 返回 null、projects 空;主站 / 与 /editor/ 未受影响。
  • 仿真:Phase 1 发现内置 RC/RLC/共源/OTA starters 是 native VACASK(language=vacask、ground 0/analysis/postprocess(PYTHON)),ngspice 不能直接跑;VPS 已装 ngspice 42,缺 VACASK/sky130;/api/simulate 暂 501。
  • B2 验证:把 RC starter 的 experiment.json profile 改为 sky130-core-continuous-ngspice46-v1 后,执行体已变为 ngspice profile(无 language),但 preparedDeck 仍是 VACASK;下一步换 ngspice run.cir 并接 containers/ngspice/entrypoint.mjs。
  • B2 RC 闭环:ngspice run.cir + VPS canvas-sim(3011,public-level1-profile.json)+ /api/simulate 代理;Canvas 原生 Run 返回 completed,Explorer 生成 ac-0.csv/out.raw;新增 Plots tab(A/B AC,C/D TRAN,轴单位/格点)。
  • B2 全差分两级:fully-differential-two-stage-op-amp 改为 simulation starter(W/L、I、C 可改),01 AC / 02 TRAN / 03 CMRR / 04 PSRR / 05 Bias 均 completed;AC 出差分增益/相位,TRAN 出瞬态电压与 i(vload) 负载电流,CMRR/PSRR 出 E/F,Bias 出 G(VoutP/N=1.2628 V、电源电流 −40 µA、尾节点 0.409 V)。
  • 下一步:A 原生装 VACASK 跑内置 starters;B 保留 ngspice 自写 LEVEL=1 模板;已选 B2 并完成 RC + 全差分两级 A–G(01 AC、02 TRAN、03 CMRR、04 PSRR、05 Bias);PR #1877 已关闭(未合并)。

[2026-10-27] eval | Canvas 匿名仿真 D1 No-Go;仿真岛 P0(激励 + A–G 波形)

  • 类型:eval / infra
  • 结论:线上 Canvas 的模拟工作区已启用,OTA starter 匿名可开、可跑;但 /api/simulate 返回 200 后,结果 artifact 读取 /api/simulation/runs 返回 401,UI 统一报 SIMULATION_DETAILS_INVALID,AC/DC/OP 三个实验均复现。
  • 根因:匿名会话只在 POST /api/simulation/runs 创建;旧 /api/simulate 路径没有建立 principal,结果读取被拒。不是 viewer 缺格点/单位。
  • 决策:D1 判 No-Go,不硬上 Canvas;按预案转仿真岛 P0。Canvas 解阻补丁已就绪:基于 main d8bfd68 的 feat/public-simulation(bf31f285),direct /api/simulate + PUBLIC_SIMULATION + 每 IP 限流;patch 见 reports/0001-feat-simulation-allow-opt-in-anonymous-runs-via-dire.patch;已上传 fork Harroyaan/analog-canvas 的 feat/public-simulation(f580dbd6,ahead 1 / 6 files);PR #1877 已开(open/mergeable,CI 未启动,首贡献者待上游审批);2026-10-27 09:51 UTC 已关闭(closed / merged=false),未加评论,fork 分支保留,可重开;尚未部署上游,自托管已完成。
  • 权限复核:SSH deploy key 仅 Harroyaan/Qoder(Hi Harroyaan/Qoder!);上游 push 分别 denied to deploy key / Harroyaan;PR #1877 为上限,现已关闭(未合并)。
  • P0 交付:opamp-sim.html 增加瞬态激励(阶跃/脉冲/正弦 + 负载阶跃)、轴标题+单位、SI 刻度、格点、光标读数、AC 对数/dB/相位双轴、TRAN 自动缩放、PNG/CSV 导出;超电源轨提示。
  • 验证:AC 90.9 dB / 101.0 MHz / PM 45.9°;TRAN 10 µV 阶跃 353.2 mV、50,014 点;脉冲/正弦/负载阶跃均可跑。证据:reports/island-ac-plot-2026-10-27.png、reports/island-tran-plot-2026-10-27.png、reports/island-tran-cursor-2026-10-27.png;审计:reports/canvas-sandbox-audit-2026-10-27.md。
  • 触及页面:设计工具台、两级Miller运放。

[2026-10-26] infra | 三入口首页 + 学习/工具/参考落地页 + Sansen Ch.6 设计卡 + 引擎自托管

  • 类型:infra / ingest
  • 设计决策:首页只留「学/做/查」三入口;参考库冻结扩建;设计卡必须挂 claims/ 账本;仿真引擎自托管并加 immutable 缓存。
  • 新增:quartz/content/index.md(三入口首页)、wiki/learn/index.md、wiki/design/index.md、wiki/reference/index.md、wiki/concepts/两级Miller运放设计卡.md、claims/sansen-ch6/(17 条断言 + 提取文本)、scripts/sync-engine.mjs。
  • 工具链:npm run engine:sync;deploy.ps1 打包前同步 public/static/vendor;nginx 增加 /static/vendor/ 的 MIME+immutable 缓存与 /learn、/design、/reference 别名。
  • 验证:claims strict 0 error,Sansen 17/17 引用;npx quartz build 595 文件 / 4486 产物;本地 public 三入口 3 doors、仿真岛 AC 101.0 MHz / PM 45.9°;VPS 引擎 20,346,804 字节,Content-Type: application/javascript。
  • 触及页面:学习路径、设计工具台、参考库、两级Miller运放设计卡、两级Miller运放。

[2026-10-23] infra | 断言契约与断言级覆盖度上线(Claims Schema v1.0)

  • 类型:infra / ingest
  • 设计决策:
    • 先账本、后页面:知识先登记为可回指断言(claims/<book>/<chapter>.claims.json),页面只做装配;四类溯源 extracted / synthesized / derived / verified 严格分账。
    • 防编造:extracted 必须带原文 quote,claims.mjs 逐字比对原文;derived 必须有 ≥2 步推导与 derived_from;编号公式要么登记、要么在 skipped_equations 说明理由。
    • 覆盖度换指标:从“标题覆盖”改为“断言引用率 + 公式说明率”,避免靠抄章名刷覆盖率。
    • 权限不变:Agent 只写候选内容(agent: 提交),删除/发布/回滚归 Owner(AGENT_API.md §3.4)。
  • 新增:
    • schema/knowledge-org/claims.schema.json(权威契约)、claims.mjs(校验 / 统计 / 覆盖度)
    • schema/knowledge-org/prompts/extract-claims.md(T1 抽取模板)
    • claims/rincon-mora-vr/ch01-the-basics.claims.json(试点账本,24 条断言)
    • scripts/ingest-audit.mjs + scripts/archive/ingest-audit.{bat,sh,ps1}(digest→claims→coverage→归档)
    • scripts/verify-pilot.mjs(六项单页验收)
  • 更新:schema/AGENTS.md(§0 多 Agent 协作、§6 先账本后页面)、schema/workflows/ingest.md(Step 4 重写)、schema/knowledge-org/SPEC.md(§5.4 + 校验链)、spec.yaml(claims 段)、knowledge-wiki-admin/AGENT_API.md(§0.5)、README.md、coverage-report.mjs(断言级覆盖)、package.json(claims:* / ingest:audit / verify:pilot)
  • 试点:Rincon-Mora Voltage References Ch.1(Design Example 1.1 + App. A.1)
    • 24 条断言(18 extracted / 1 synthesized / 5 derived);35 个编号公式 13 登记 + 22 说明跳过 = 100%
    • 页面 二极管基准零温度系数条件:引用 20/24(83.3%),1093 汉字,strict 0 error
    • 推演结论:零 TC 需偏置指数 (不可实现)→ PTAT 配比 → 残差盒式 TC ppm/K
    • 发现并标记:原文表 1.1 CMOS 简单镜表达式疑为分子分母颠倒(status: disputed,不引用)
    • 续作 低电压共源共栅电流镜设计卡 补齐剩余 4 条断言(013/014/015/024)
  • 触及页面:二极管基准零温度系数条件(新建)、低电压共源共栅电流镜设计卡(新建)、覆盖度报告 — RinconMora_VR_Split(重生成)、KnowledgeWiki 内容索引(新增条目)
  • 验证:npm run claims:validate -- --strict 0/0;npm run verify:pilot 6/6 PASS;validate.mjs 0 error(148 条存量 warning);ingest:audit 归档至 reports/ingest-audit/
  • 演进路径:单章试点 → 补齐电流镜设计卡 → 按“入链数 × 访问量”扩到 ADC/LDO/基准 → 将 claims 校验接入发布门禁

[2026-10-21] ingest | Sansen Ch.1 MOST 与双极型晶体管模型对比(Chapter_01.pdf)

[2026-09-24] infra | 视觉重构+性能优化上线;发布引发 chat .env 双层故障修复

  • 类型:infra(frontend-design 全流程交付;提交 c3b0a567 + 09d51644,release 2026-09-24T07-24-22-909Z;chat 故障修复同日)
  • 摘要:视觉重构——analog-canvas 风格设计 token 双主题落地(暖灰纸感 暖黑 37352f、琥珀 b45309 主强调 + 亮琥珀 f59e0b 装饰、天蓝 2b6cb0 链接、紫 7c5cbf;quartz.config theme 9 键双主题 + theme.ts 注入 —kw-* 层:三级边框/三档圆角阴影/13px chrome/120ms 过渡/4px 间距);性能——contentIndex.json(5.8MB)改惰性加载(首页不再拉,搜索面板首次打开才 fetch,惰性 promise 全组件共享)、explorer/TagBar 改吃 graphIndex(386KB,首页图谱必拉故零新增请求)、Google Fonts 外链移除(系统字体栈)、/edit/ 登录页 KaTeX/marked CDN 改编辑器会话内动态注入(loadEditDeps 单例 promise);首页重排——新增 CircuitGallery 电路画廊(构建期 emitter 扫 assets/circuits/*.svg 产 circuit-gallery.json,卡片点击→/editor/?project=)+ SiteCatalog 分类目录卡(复用 graphIndex 按 concepts/sources/entities/analysis 分色计数 + 高引前 4);/edit/ style.css :root 换暖纸感 token;base.scss 补焦点环/选中色/正文行高 1.75。
  • 故障与修复(发布 pull 传播事故,双层):①上午 Q2-C 的 git rm --cached knowledge-wiki-chat/.env(d8b82dc)随本次发布 git pull 应用,物理删除 VPS 磁盘 chat/.env,chat 于 10:41 重启即 DEEPSEEK_API_KEY 未配置崩溃循环;本地工作区 .env 亦缺失。修复:git 历史 d8b82dcd~1 blob 恢复本地(Start-Process 原始字节重定向规避 PS 编码陷阱)→ scp 回 VPS + chmod 600。②修复后暴露第二层:pm2 进程记录残留上午旧事故的 PORT=3003(dotenv override:false 不覆盖已存在 env,代码默认 3002),EADDRINUSE 续崩 47 次。修复:pm2 delete + 显式 PORT=3002 NODE_ENV=production start + pm2 save 清除陈旧 dump。终态 health 200、重启计数归零、JWT/限速正常、chunks.json(33.5MB)无损。
  • 验收与回归(同日续):Browser 子代理 evaluate 实测——首屏传输 88.1KB/16 请求(500KB 目标的 18%)、contentIndex 确认未在首页加载、Google Fonts 确认移除、/edit/ 仅 2 资源 16.9KB 零 CDN、暗色 1f1e1c 精确命中,性能目标全达标;暴露三处回归即修(ae2ef19f,release 2026-09-24T08-27-13-289Z):①secondary/tertiary 配置错位——Quartz 链接色走 —secondary,交换后链接=蓝 2b6cb0、强调=琥珀 b45309 归位(焦点环显式用 —kw-accent 不随动);②正文行高 1.75 死规则——.article-content 选择器在 DOM 中不存在(实际为 article.popover-hint),改 article 选择器生效;③移动端 390px 横向溢出 ~33px——画廊行 min-content 416px 经 grid item 自动最小尺寸上传,.page-header/.circuit-gallery 补 min-width:0 消地板。截图目视项因浏览器窗口 0x0 受阻,待用户真机终验;遗留观察项:首页 KaTeX 仍走 jsdelivr CDN(Quartz 原生行为,量小不阻塞)。
  • 用户真机回归(同日二次,6959eb1,release 2026-09-24T10-32-07-997Z):①Explorer 目录树空白/点击无反应——数据源切 graphIndex 后其 value 无 slug 字段(slug 是键),FileTrieNode.add 调 entry.slug.split 抛 TypeError,建树入口崩溃致 toggle 监听器永不挂载;修复 = entries 映射为 [slug, {…v, slug}] 元组补 slug(首版误传对象数组又触发 fromEntries 解构 not iterable,同提交修正)。②**/edit/ 编辑台白屏**——loadEditDeps 注入的 await 落在非 async 的 renderMath 内,SyntaxError 致整个 app.mjs 拒绝解析、boot 永不执行(顶栏裸按钮 + layout 恒 hidden);修复 = renderMath 补 async。验收:explorer 树 8 节点/切换正常/SPA 保持/零 rejection;app.mjs 的 session 请求 + 动态登录框证明 boot 执行。教训:换数据源必须逐字段 diff 新旧 value 形态(继 hiddenSlugs 键形态后第二起形态失配);给既有函数插 await 前必须确认函数是 async(module 顶层语法错误不触发 window error,症状是 JS 全部静默,用动态 import() 复析取报错行列号定位)。观察项:0x0 隐藏窗口中搜索不渲染疑似窗口冻结假象(同款链路 node 复现正常),待真机确认。
  • 教训:①git rm --cached 对已 tracked 敏感文件的删除会随任何一次远端 pull 物理删除远端磁盘文件——停止跟踪前必须先在全部远端环境落盘备份;②pm2 restart --update-env 只合并当前 shell 存在的变量,不清除陈旧 env——改环境变量必须 delete + 显式 env + start + save;③env 文件需有 git 历史之外的权威副本预案(本次靠删除提交的父 blob 侥幸恢复)。红线沉淀至 AGENT.md §14。

[2026-10-10] infra | /edit/ 飞书风编辑器升级启动(Phase 0+1 交付)

  • 类型:infra(可行性报告获批后启动;owner 日常高频使用飞书文档,对标其编辑体验)
  • 摘要:路线决策——CM6 源码模式深度增强(保留 markdown 源码真理层),拒绝 WYSIWYG 替换(wikilink/电路块/frontmatter 的无损往返是硬风险);表格合并单元格因 GFM 不支持降级不做;实时协作光标(Yjs+ws)ROI 不足降级为远期观察。P0a——飞书快捷键冻结(官方帮助中心核对 + Owner 客户端面板截图三张;要点:待办 Ctrl+Alt+T 非 Shift+9、行内代码 Ctrl+Shift+C 非 Ctrl+E、引用 Ctrl+Shift+>、代码块 Ctrl+Alt+C、分隔线 Ctrl+Alt+5、块移动 Alt+Shift+↑↓、下划线 Ctrl+U 生成 因飞书 单波浪 与 GFM 删除线冲突)。P0b——esbuild 预打包 CM6 三包为同源 editor-vendor.js(1.7MB 含全语言语法,登录后编辑器初始化时才加载,登录页仍 16.9KB 零 CDN;CDN 链保留兜底;产物进 git 使 VPS 免装构建链)。P1——键位全量映射(行前缀 toggle 引擎:多行/再按移除/空行规则)+ 选中气泡工具栏(B/I/U/S/行内码/链接/双链 7 按钮)+ 斜杠命令面板(15 项/kw 过滤/↑↓Enter/Esc 导航/执行后清 / 前缀)。
  • 关键实现事实:①CM6 update() 阶段禁止读布局——coordsAtPos 抛错后被 logException 静默吞掉并禁用插件(症状=UI 永不出现、无 uncaught error),坐标必须走 requestMeasure({read,write});②codemirror 主包不 re-export keymap/Prec(keymap 在 @codemirror/view、Prec 在 @codemirror/state);③注入锚点勿撞注释文本(window.__loadCM 注入曾撞进注释致 entry 语法错误);④esbuild 产物进 git,VPS 免构建。
  • 验证:本地 mock 管理台(stub API)+ 子代理/无头交互验证——键位 B/U/Shift+X/Alt+1/Alt+T 全过;气泡出现/加粗生效/零崩溃;斜杠 15 项/过滤/Enter 插入/Esc 关闭;修复 update 读布局后零 “plugin crashed”;补 .slash-menu.show{display:block}(上轮菜单 DOM 正常但不可见 0x0)。
  • Phase 2 交付(同日续):公式幽灵渲染——块与 $ 行内在光标外渲染为 KaTeX 成品(WidgetType replace 装饰;光标进入还原源码、离开重渲染;错误公式红框回退显示源码)。扫描器安全区间:frontmatter(---..---)与 ``` 围栏(含电路/mermaid)全跳过、行内码 span 跳过、\$ 转义跳过、未闭合 保持字面;块级装饰修正到行边界。KaTeX 由 loadEditDeps 在 mountEditor 前 await 预加载(与预览管线同一实例,登录页仍零 CDN)。验证:无头 Edge 在本环境 launch 挂死(180s 超时,环境问题非站点)→ 改 node 单测扫描器(Text.of 构造 doc,9 断言:安全区间跨度/4 项识别/fence 内不识别/未闭合忽略/转义忽略)全过;单测抓出真 bug——frontmatter 关闭行后多跳一行致紧邻 $$ 块漏渲染,已修。DOM 层(katex.render/点击进源码)待 Owner 真机验收。
  • Phase 3 交付(表格工具包,2026-10-12 续):光标进入 GFM 管道表格即出现浮动工具条(+行/+列/-行/-列/对齐左中右/等宽格式化 8 按钮,requestMeasure 定位)+ Tab/Shift-Tab 单元格导航(全选格内容;尾格 Tab 自动加行并落入新行首格)+ Ctrl+Enter 插行。表格解析/行列 op/对齐渲染为纯函数(parseTableAt/cellSpans/tableChange/renderTableData export)——node 单测 16 断言全过(含 CJK 宽 2 对齐、\| 转义幂等、ragged 行补齐)。两处真 bug 由单测/集成验证抓出:①cellSpans 行尾管道后多切一格空列(尾列幻觉);②escapeCell 对已转义 \| 重复转义(format 幂等性破坏,改 lookbehind 只转义未转义管道)。集成层教训:纯函数单测通过≠集成可用——keymap/tableBar 调用点传 EditorState 而函数签名要 doc(EditorState 无 lineAt)→ TypeError 全家崩溃;修法=入口 .doc || docOrState 归一兼容两种形态。vendor hash 缓存破坏闭环验证:index.html __vendorV 每次构建自动更新。
  • 待办:Owner 真机验收表格手感;Phase 4([[ 与 @ 文件搜索补全)待启动。
  • Owner 真机两症状定位与交互语义修正(2026-10-13 续):①「行内公式 光标离开仍显示源码」——非渲染失败,是 Phase 2 修块级时引入的边界放宽副作用:非严格相交使光标在公式紧邻位置(含 widget 点击落点)仍被判”在公式内”而显示源码。修正=判定改回严格相交 + MathWidget mousedown 显式进入源码(光标落公式文本内部,块/行内统一,title「点击编辑公式」)——语义纯粹化:光标真正在公式文本内=源码,否则渲染。②「[[ 面板不出现」——同版本本地 mock 全回归 6/6(ESM 加载链 1+7 chunks 全 200、CM 挂载、块/行内幽灵、[[ 面板 3 项、零崩溃),未能复现;候选因素=输入法全角 [[、浏览器环境差异;待 Owner 复测(英文输入法)+ console 报错。线上取证方法沉淀:index.html 与 vendor 均为协商缓存(max-age=0)——Owner 拿到的必是最新文件,缓存假说排除;ESM splitting 线上实拉验证(entry 95KB ESM + chunks 200)。无头 Edge+puppeteer-core 在本环境 launch/page 会话反复挂死(profile 冲突已解、page session 仍崩)——机械验证收口。
  • 三项远期待办落地(2026-10-13):①首页 KaTeX 零 CDN——新增 KaTeXLocalAssets emitter(build 时从 quartz node_modules/katex 拷贝 css+60字体+copy-tex 到 static/katex/),latex.ts 两处 jsdelivr 引用改本地(build 验证首页 jsdelivr=0,公式浏览器端本就 build 时渲染、仅需样式资产)。②editor-vendor code-splitting 瘦身——esbuild iife→esm+splitting:主 bundle 1.7MB→95KB(-94%),124 个语言 grammar chunk(1.5MB)按需加载(文档出现对应语言代码块才拉取,零功能损失);loadEditorVendor 改 module script。发布时炸出 §14.2 同族事故:发布链第 6 步 pm2 restart --update-env 把污染 env(PORT=3003)注入 chat——chat 抢占 admin 的 3003、admin 崩溃循环 45 次(EADDRINUSE 3003 实锤于 /proc environ);按红线处置:chat delete+显式 PORT=3002 重启、admin restart 归位、发布链移除 —update-env(env 由 .env 提供不需要 shell 注入)。③WYSIWYG 无损往返基线 PoC(build/wysiwyg-poc.mjs,prosemirror-markdown stock 纯 node):核心语法 13/18 无损(27.8% 有损)——删除线被转义、todo-list 崩坏、多行 blockquote 折叠、管道表格全毁;库特性 3/7 全损——wikilink 转义、$$ 块折叠行内、frontmatter 被 setext 化为 H2(最危险:静默改写每个文件的元数据);亮点=代码围栏(含 circuit/mermaid)与中文完全保真。评估结论:无损往返可达成但需自定义 nodes/marks×3 处(schema+parser+serializer)逐项修,工程量与 Phase 0 预判一致(3-6 周);建议维持 CM6 源码模式主路线,WYSIWYG 作为独立只读预览模式试点更稳。
  • /edit/ 分屏滚动同步改为源码行锚点(2026-10-22):废弃“编辑器/预览整体比例”映射;通过 marked 块级扩展在每个顶层块前注入 <span class="pv-anchor" data-line="N">(frontmatter 行号偏移已补偿)。滚动时取编辑器可视区中心行,按相邻锚点插值定位预览;反向取预览中心 Y 插值回源码行,再用 EditorView.scrollIntoView 居中。rAF 合并、目标回声抑制 + 120ms 跟随面板短锁防同步环;异步电路/Mermaid/KaTeX/图片完成后在 renderPreview finally 与 ResizeObserver 中重算锚点并再同步;锚点位置缓存仅在渲染/尺寸变化时失效。验证:207 行文档/85 锚点/25 个 H2/表格/Mermaid;编辑器→预览 Section 05/20、公式块、末尾误差 0.01–0.02 行;预览→编辑器 Section 05/20/Mermaid 误差 0.01 行;无循环回弹(scrollTop delta 0);移动端 410px 双向误差 0.01 行、无横向溢出;validate.mjs 0 error。
  • /edit/ Live Preview 所见即所得(2026-10-22):在既有 mathGhost/imageGhost/circuitGhost 基础上补齐 Live Preview:① 基础 Markdown 直接渲染——标题自动编号与 H1-H3 样式、引用、项目符号/待办/分级序号、粗体/斜体/行内代码/删除线;标记仅在光标进入分隔符内部时显形(文档开头/文本中间不再裸露 #/**)。② 新增表格 StateField:GFM 管道表渲染为真实 <table>(表头/对齐/单元格内联格式),点击或光标进入切换源码,离开自动还原;缺分隔行的表格显示虚线修复框。③ 新增 Mermaid StateField:fence 懒加载渲染 SVG,点击画布/「源码」进入源码,离开还原;语法/CDN 失败显示虚线错误框。④ 公式/图片/电路沿用 StateField+replace,错误提示统一为虚线框并支持点击修复;图片错误追加「点击此处修复源码」。⑤ 移动端 ≤999px 块操作按钮 44px,表格横向滚动容器不撑破页面。验证:测试文档 7 标题/1 项目符号/1 待办/2 分级序号/4 类内联样式/3 列表格/1 Mermaid SVG/2 KaTeX;表格、Mermaid、公式块、坏图、坏电路均完成「预览→点击源码→移出还原」;移动端 410px 下表格 355px、无页面横向溢出、Mermaid/电路按钮 44px;validate.mjs 0 error。
  • /edit/ 图谱设置图标语义化(2026-10-22):右上角通用齿轮改为 5 节点网络图标(中心节点 + 四卫星节点,stroke-width=2 / currentColor),title/aria-label 改为「知识图谱设置」,并补 aria-haspopup="dialog";按钮 ID 与点击行为不变,仍打开 #gs-modal。验证:桌面 42×36、移动 38×36;两档均识别到 5 个 circle + 4 条 line、0 个 path;点击后 gs-modal.hidden=false;validate 0 error。
  • /edit/ 侧栏新建按钮图标化与分组(2026-10-22):移除 #btn-new 的「新建」文字,仅保留 file-plus SVG;#btn-new 与 #btn-new-folder 统一为 .side-btn 图标按钮,包进 .side-actions(role="group"、aria-label="文件操作"),桌面 gap:4px、≤420px 收窄为 2px;按钮尺寸桌面 34×34、≤999px 44×44 触控目标,hover 统一 #eef3f9 + 深边框,:focus-visible 用品牌色 outline;两个按钮均保留 title/aria-label,SVG 维持 stroke-width 2 / currentColor。验证:1416px 下按钮 34×34、gap=4、组右间距 10px、textContent 为空、hover 背景 rgb(238,243,249)、两按钮点击均触发 prompt;700px 下 44×44/gap=4;410px 下 44×44/gap=2,head scrollWidth=clientWidth=299、无横向溢出;validate 0 error。
  • /edit/ 文件树快捷键与操作布局修复(2026-10-22):根因是桌面端隐藏的 6 个操作按钮以 display:flex 仍占据整行宽度,文件名被压缩成 3–4 个字符。修复:文件名独占首行,操作区改为 hover/sel 时独占第二行右对齐;桌面(>900px)在操作区下方显示 Ctrl+N · ⇧N · Ctrl+C · Ctrl+V · F2 · Del · Enter 提示(10px / #888),移动端(≤900px)隐藏提示、快捷键折叠进按钮 tooltip。新增键位并接入现有 CRUD:Ctrl+N 新建文件、⇧Ctrl+N 新建文件夹、Ctrl+C/V 复制/粘贴、F2 行内重命名、Del 删除、Enter 打开/展开;仅在最近指针位于侧栏且焦点不在输入框/编辑器时生效,按钮补 aria-keyshortcuts。验证:1416px 下文件名 241px(hover 前后不变)、操作区 top 268 > 文件名 bottom 260、提示单行 10px/#888;移动端 410px 下操作按钮 44px、提示 ::after 为 none、tree scrollWidth=clientWidth=299、无横向溢出;F2/Enter/Ctrl+N 均触发;validate 0 error。
  • /edit/ 文件管理与图谱设置面板(2026-10-21):① 文件树升级——选中态 + hover 六操作(新建文件/文件夹、复制、粘贴、重命名、删除),双击/铅笔行内重命名(Enter 提交、Esc 取消,双击不再误打开文件);新增 POST /edit/api/mkdir、POST /edit/api/copy,DELETE 支持递归目录,rename 防覆盖/禁止移入自身;移动端操作按钮 44px 触控目标并独占一行自动换行;所有操作落盘并 saveCommit,刷新后保持选中。② 图谱设置仅 /edit/ 提供(站点不显示齿轮):齿轮面板含 12 色文件夹调色板 + 自定义 HEX、Shift 多选批量改色、全选/反选/清空、搜索过滤 + only 匹配、5 个力参数滑块(charge/link/center/damping/label)、恢复默认、导入/导出;配置写入 localStorage["kw-graph-config"] 并经 BroadcastChannel/storage 热更新,graph.inline.ts 仅更新纹理/visible/links/simulation,不整图重绘;?graph-preview=1 将全局图谱移入全屏 overlay 作为 iframe 实时预览。验证:mock 595 行树完成创建/复制/重命名/递归删除且零残留;面板 8 文件夹改色/滑块/重置持久化;线上 graphIndex 580 节点热更新 hidden 9→0、search-only hidden 573/580,配置 clamp 正常、无 console error;站点 .graph-ctrl 仅重置/标签,无设置入口。
  • catalog.md 乱码修复(2026-10-21):wiki/catalog.md 含 1310 个 U+FFFD(420 行),且首次提交(554d7ed2)即已损坏,git 历史无干净版本。从 origin/dsh/fix-p0-batch1 恢复 0 U+FFFD 的全量目录(623 行 / 579 个唯一链接,覆盖 Analog Canvas、CircuiTikZ 迁移评估等最新页面;0 个失效 wikilink),并去除 1 条完全重复的 Binkley 行。恢复后:622 行、146,855 B、U+FFFD=0、表格公式裸 |=0;validate.mjs 0 error(582 页 / 4 工程)。
  • 主站 KaTeX 公式修复(2026-10-20 续):问题不在加载时机——主站公式由 Quartz Latex(rehype-katex)在构建期渲染;ensureKatex()/eK() 仅服务聊天/评论/管理面板,主内容不调用 renderMathInElement。根因 1:KaTeX head 资源写成相对 static/katex/...,在 /concepts/... 被解析为 /concepts/static/... → CSS/字体/copy-tex 404,导致字体回退、.frac-line 0px、分式上下限不堆叠;改为根绝对 /static/katex/...。根因 2:首页/表格中 `$J_n(x)\propto M^{|n|}--- title: “KnowledgeWiki 操作日志” tags: [知识库, 日志] date: 2026-06-02 status: stable type: entity

KnowledgeWiki 操作日志

本文件为 Append-only 时间线。最新记录在最上方,更早的记录在下方。每次 Ingest / Query / Lint 后在此追加一条记录。


[2026-09-24] infra | 视觉重构+性能优化上线;发布引发 chat .env 双层故障修复

  • 类型:infra(frontend-design 全流程交付;提交 c3b0a567 + 09d51644,release 2026-09-24T07-24-22-909Z;chat 故障修复同日)
  • 摘要:视觉重构——analog-canvas 风格设计 token 双主题落地(暖灰纸感 暖黑 37352f、琥珀 b45309 主强调 + 亮琥珀 f59e0b 装饰、天蓝 2b6cb0 链接、紫 7c5cbf;quartz.config theme 9 键双主题 + theme.ts 注入 —kw-* 层:三级边框/三档圆角阴影/13px chrome/120ms 过渡/4px 间距);性能——contentIndex.json(5.8MB)改惰性加载(首页不再拉,搜索面板首次打开才 fetch,惰性 promise 全组件共享)、explorer/TagBar 改吃 graphIndex(386KB,首页图谱必拉故零新增请求)、Google Fonts 外链移除(系统字体栈)、/edit/ 登录页 KaTeX/marked CDN 改编辑器会话内动态注入(loadEditDeps 单例 promise);首页重排——新增 CircuitGallery 电路画廊(构建期 emitter 扫 assets/circuits/*.svg 产 circuit-gallery.json,卡片点击→/editor/?project=)+ SiteCatalog 分类目录卡(复用 graphIndex 按 concepts/sources/entities/analysis 分色计数 + 高引前 4);/edit/ style.css :root 换暖纸感 token;base.scss 补焦点环/选中色/正文行高 1.75。
  • 故障与修复(发布 pull 传播事故,双层):①上午 Q2-C 的 git rm --cached knowledge-wiki-chat/.env(d8b82dc)随本次发布 git pull 应用,物理删除 VPS 磁盘 chat/.env,chat 于 10:41 重启即 DEEPSEEK_API_KEY 未配置崩溃循环;本地工作区 .env 亦缺失。修复:git 历史 d8b82dcd~1 blob 恢复本地(Start-Process 原始字节重定向规避 PS 编码陷阱)→ scp 回 VPS + chmod 600。②修复后暴露第二层:pm2 进程记录残留上午旧事故的 PORT=3003(dotenv override:false 不覆盖已存在 env,代码默认 3002),EADDRINUSE 续崩 47 次。修复:pm2 delete + 显式 PORT=3002 NODE_ENV=production start + pm2 save 清除陈旧 dump。终态 health 200、重启计数归零、JWT/限速正常、chunks.json(33.5MB)无损。
  • 验收与回归(同日续):Browser 子代理 evaluate 实测——首屏传输 88.1KB/16 请求(500KB 目标的 18%)、contentIndex 确认未在首页加载、Google Fonts 确认移除、/edit/ 仅 2 资源 16.9KB 零 CDN、暗色 1f1e1c 精确命中,性能目标全达标;暴露三处回归即修(ae2ef19f,release 2026-09-24T08-27-13-289Z):①secondary/tertiary 配置错位——Quartz 链接色走 —secondary,交换后链接=蓝 2b6cb0、强调=琥珀 b45309 归位(焦点环显式用 —kw-accent 不随动);②正文行高 1.75 死规则——.article-content 选择器在 DOM 中不存在(实际为 article.popover-hint),改 article 选择器生效;③移动端 390px 横向溢出 ~33px——画廊行 min-content 416px 经 grid item 自动最小尺寸上传,.page-header/.circuit-gallery 补 min-width:0 消地板。截图目视项因浏览器窗口 0x0 受阻,待用户真机终验;遗留观察项:首页 KaTeX 仍走 jsdelivr CDN(Quartz 原生行为,量小不阻塞)。
  • 用户真机回归(同日二次,6959eb1,release 2026-09-24T10-32-07-997Z):①Explorer 目录树空白/点击无反应——数据源切 graphIndex 后其 value 无 slug 字段(slug 是键),FileTrieNode.add 调 entry.slug.split 抛 TypeError,建树入口崩溃致 toggle 监听器永不挂载;修复 = entries 映射为 [slug, {…v, slug}] 元组补 slug(首版误传对象数组又触发 fromEntries 解构 not iterable,同提交修正)。②**/edit/ 编辑台白屏**——loadEditDeps 注入的 await 落在非 async 的 renderMath 内,SyntaxError 致整个 app.mjs 拒绝解析、boot 永不执行(顶栏裸按钮 + layout 恒 hidden);修复 = renderMath 补 async。验收:explorer 树 8 节点/切换正常/SPA 保持/零 rejection;app.mjs 的 session 请求 + 动态登录框证明 boot 执行。教训:换数据源必须逐字段 diff 新旧 value 形态(继 hiddenSlugs 键形态后第二起形态失配);给既有函数插 await 前必须确认函数是 async(module 顶层语法错误不触发 window error,症状是 JS 全部静默,用动态 import() 复析取报错行列号定位)。观察项:0x0 隐藏窗口中搜索不渲染疑似窗口冻结假象(同款链路 node 复现正常),待真机确认。
  • 教训:①git rm --cached 对已 tracked 敏感文件的删除会随任何一次远端 pull 物理删除远端磁盘文件——停止跟踪前必须先在全部远端环境落盘备份;②pm2 restart --update-env 只合并当前 shell 存在的变量,不清除陈旧 env——改环境变量必须 delete + 显式 env + start + save;③env 文件需有 git 历史之外的权威副本预案(本次靠删除提交的父 blob 侥幸恢复)。红线沉淀至 AGENT.md §14。

[2026-10-10] infra | /edit/ 飞书风编辑器升级启动(Phase 0+1 交付)

  • 类型:infra(可行性报告获批后启动;owner 日常高频使用飞书文档,对标其编辑体验)
  • 摘要:路线决策——CM6 源码模式深度增强(保留 markdown 源码真理层),拒绝 WYSIWYG 替换(wikilink/电路块/frontmatter 的无损往返是硬风险);表格合并单元格因 GFM 不支持降级不做;实时协作光标(Yjs+ws)ROI 不足降级为远期观察。P0a——飞书快捷键冻结(官方帮助中心核对 + Owner 客户端面板截图三张;要点:待办 Ctrl+Alt+T 非 Shift+9、行内代码 Ctrl+Shift+C 非 Ctrl+E、引用 Ctrl+Shift+>、代码块 Ctrl+Alt+C、分隔线 Ctrl+Alt+5、块移动 Alt+Shift+↑↓、下划线 Ctrl+U 生成 因飞书 单波浪 与 GFM 删除线冲突)。P0b——esbuild 预打包 CM6 三包为同源 editor-vendor.js(1.7MB 含全语言语法,登录后编辑器初始化时才加载,登录页仍 16.9KB 零 CDN;CDN 链保留兜底;产物进 git 使 VPS 免装构建链)。P1——键位全量映射(行前缀 toggle 引擎:多行/再按移除/空行规则)+ 选中气泡工具栏(B/I/U/S/行内码/链接/双链 7 按钮)+ 斜杠命令面板(15 项/kw 过滤/↑↓Enter/Esc 导航/执行后清 / 前缀)。
  • 关键实现事实:①CM6 update() 阶段禁止读布局——coordsAtPos 抛错后被 logException 静默吞掉并禁用插件(症状=UI 永不出现、无 uncaught error),坐标必须走 requestMeasure({read,write});②codemirror 主包不 re-export keymap/Prec(keymap 在 @codemirror/view、Prec 在 @codemirror/state);③注入锚点勿撞注释文本(window.__loadCM 注入曾撞进注释致 entry 语法错误);④esbuild 产物进 git,VPS 免构建。
  • 验证:本地 mock 管理台(stub API)+ 子代理/无头交互验证——键位 B/U/Shift+X/Alt+1/Alt+T 全过;气泡出现/加粗生效/零崩溃;斜杠 15 项/过滤/Enter 插入/Esc 关闭;修复 update 读布局后零 “plugin crashed”;补 .slash-menu.show{display:block}(上轮菜单 DOM 正常但不可见 0x0)。
  • Phase 2 交付(同日续):公式幽灵渲染——块与 $ 行内在光标外渲染为 KaTeX 成品(WidgetType replace 装饰;光标进入还原源码、离开重渲染;错误公式红框回退显示源码)。扫描器安全区间:frontmatter(---..---)与 ``` 围栏(含电路/mermaid)全跳过、行内码 span 跳过、\$ 转义跳过、未闭合 保持字面;块级装饰修正到行边界。KaTeX 由 loadEditDeps 在 mountEditor 前 await 预加载(与预览管线同一实例,登录页仍零 CDN)。验证:无头 Edge 在本环境 launch 挂死(180s 超时,环境问题非站点)→ 改 node 单测扫描器(Text.of 构造 doc,9 断言:安全区间跨度/4 项识别/fence 内不识别/未闭合忽略/转义忽略)全过;单测抓出真 bug——frontmatter 关闭行后多跳一行致紧邻 $$ 块漏渲染,已修。DOM 层(katex.render/点击进源码)待 Owner 真机验收。
  • Phase 3 交付(表格工具包,2026-10-12 续):光标进入 GFM 管道表格即出现浮动工具条(+行/+列/-行/-列/对齐左中右/等宽格式化 8 按钮,requestMeasure 定位)+ Tab/Shift-Tab 单元格导航(全选格内容;尾格 Tab 自动加行并落入新行首格)+ Ctrl+Enter 插行。表格解析/行列 op/对齐渲染为纯函数(parseTableAt/cellSpans/tableChange/renderTableData export)——node 单测 16 断言全过(含 CJK 宽 2 对齐、\| 转义幂等、ragged 行补齐)。两处真 bug 由单测/集成验证抓出:①cellSpans 行尾管道后多切一格空列(尾列幻觉);②escapeCell 对已转义 \| 重复转义(format 幂等性破坏,改 lookbehind 只转义未转义管道)。集成层教训:纯函数单测通过≠集成可用——keymap/tableBar 调用点传 EditorState 而函数签名要 doc(EditorState 无 lineAt)→ TypeError 全家崩溃;修法=入口 .doc || docOrState 归一兼容两种形态。vendor hash 缓存破坏闭环验证:index.html __vendorV 每次构建自动更新。
  • 待办:Owner 真机验收表格手感;Phase 4([[ 与 @ 文件搜索补全)待启动。
  • Owner 真机两症状定位与交互语义修正(2026-10-13 续):①「行内公式 光标离开仍显示源码」——非渲染失败,是 Phase 2 修块级时引入的边界放宽副作用:非严格相交使光标在公式紧邻位置(含 widget 点击落点)仍被判”在公式内”而显示源码。修正=判定改回严格相交 + MathWidget mousedown 显式进入源码(光标落公式文本内部,块/行内统一,title「点击编辑公式」)——语义纯粹化:光标真正在公式文本内=源码,否则渲染。②「[[ 面板不出现」——同版本本地 mock 全回归 6/6(ESM 加载链 1+7 chunks 全 200、CM 挂载、块/行内幽灵、[[ 面板 3 项、零崩溃),未能复现;候选因素=输入法全角 [[、浏览器环境差异;待 Owner 复测(英文输入法)+ console 报错。线上取证方法沉淀:index.html 与 vendor 均为协商缓存(max-age=0)——Owner 拿到的必是最新文件,缓存假说排除;ESM splitting 线上实拉验证(entry 95KB ESM + chunks 200)。无头 Edge+puppeteer-core 在本环境 launch/page 会话反复挂死(profile 冲突已解、page session 仍崩)——机械验证收口。
  • 三项远期待办落地(2026-10-13):①首页 KaTeX 零 CDN——新增 KaTeXLocalAssets emitter(build 时从 quartz node_modules/katex 拷贝 css+60字体+copy-tex 到 static/katex/),latex.ts 两处 jsdelivr 引用改本地(build 验证首页 jsdelivr=0,公式浏览器端本就 build 时渲染、仅需样式资产)。②editor-vendor code-splitting 瘦身——esbuild iife→esm+splitting:主 bundle 1.7MB→95KB(-94%),124 个语言 grammar chunk(1.5MB)按需加载(文档出现对应语言代码块才拉取,零功能损失);loadEditorVendor 改 module script。发布时炸出 §14.2 同族事故:发布链第 6 步 pm2 restart --update-env 把污染 env(PORT=3003)注入 chat——chat 抢占 admin 的 3003、admin 崩溃循环 45 次(EADDRINUSE 3003 实锤于 /proc environ);按红线处置:chat delete+显式 PORT=3002 重启、admin restart 归位、发布链移除 —update-env(env 由 .env 提供不需要 shell 注入)。③WYSIWYG 无损往返基线 PoC(build/wysiwyg-poc.mjs,prosemirror-markdown stock 纯 node):核心语法 13/18 无损(27.8% 有损)——删除线被转义、todo-list 崩坏、多行 blockquote 折叠、管道表格全毁;库特性 3/7 全损——wikilink 转义、$$ 块折叠行内、frontmatter 被 setext 化为 H2(最危险:静默改写每个文件的元数据);亮点=代码围栏(含 circuit/mermaid)与中文完全保真。评估结论:无损往返可达成但需自定义 nodes/marks×3 处(schema+parser+serializer)逐项修,工程量与 Phase 0 预判一致(3-6 周);建议维持 CM6 源码模式主路线,WYSIWYG 作为独立只读预览模式试点更稳。 的裸 | 被 GFM 表格当列分隔符,公式被切成多个 <td>;全库表格行内公式裸 | → \vert(26 文件 43 处,保留 \|),validate.mjs 新增 TABLE_MATH_PIPE 防回归。验证:首页 .katex 58、概念页 354/740,0 katex-error、0 裸 `--- title: “KnowledgeWiki 操作日志” tags: [知识库, 日志] date: 2026-06-02 status: stable type: entity

KnowledgeWiki 操作日志

本文件为 Append-only 时间线。最新记录在最上方,更早的记录在下方。每次 Ingest / Query / Lint 后在此追加一条记录。


[2026-09-24] infra | 视觉重构+性能优化上线;发布引发 chat .env 双层故障修复

  • 类型:infra(frontend-design 全流程交付;提交 c3b0a567 + 09d51644,release 2026-09-24T07-24-22-909Z;chat 故障修复同日)
  • 摘要:视觉重构——analog-canvas 风格设计 token 双主题落地(暖灰纸感 暖黑 37352f、琥珀 b45309 主强调 + 亮琥珀 f59e0b 装饰、天蓝 2b6cb0 链接、紫 7c5cbf;quartz.config theme 9 键双主题 + theme.ts 注入 —kw-* 层:三级边框/三档圆角阴影/13px chrome/120ms 过渡/4px 间距);性能——contentIndex.json(5.8MB)改惰性加载(首页不再拉,搜索面板首次打开才 fetch,惰性 promise 全组件共享)、explorer/TagBar 改吃 graphIndex(386KB,首页图谱必拉故零新增请求)、Google Fonts 外链移除(系统字体栈)、/edit/ 登录页 KaTeX/marked CDN 改编辑器会话内动态注入(loadEditDeps 单例 promise);首页重排——新增 CircuitGallery 电路画廊(构建期 emitter 扫 assets/circuits/*.svg 产 circuit-gallery.json,卡片点击→/editor/?project=)+ SiteCatalog 分类目录卡(复用 graphIndex 按 concepts/sources/entities/analysis 分色计数 + 高引前 4);/edit/ style.css :root 换暖纸感 token;base.scss 补焦点环/选中色/正文行高 1.75。
  • 故障与修复(发布 pull 传播事故,双层):①上午 Q2-C 的 git rm --cached knowledge-wiki-chat/.env(d8b82dc)随本次发布 git pull 应用,物理删除 VPS 磁盘 chat/.env,chat 于 10:41 重启即 DEEPSEEK_API_KEY 未配置崩溃循环;本地工作区 .env 亦缺失。修复:git 历史 d8b82dcd~1 blob 恢复本地(Start-Process 原始字节重定向规避 PS 编码陷阱)→ scp 回 VPS + chmod 600。②修复后暴露第二层:pm2 进程记录残留上午旧事故的 PORT=3003(dotenv override:false 不覆盖已存在 env,代码默认 3002),EADDRINUSE 续崩 47 次。修复:pm2 delete + 显式 PORT=3002 NODE_ENV=production start + pm2 save 清除陈旧 dump。终态 health 200、重启计数归零、JWT/限速正常、chunks.json(33.5MB)无损。
  • 验收与回归(同日续):Browser 子代理 evaluate 实测——首屏传输 88.1KB/16 请求(500KB 目标的 18%)、contentIndex 确认未在首页加载、Google Fonts 确认移除、/edit/ 仅 2 资源 16.9KB 零 CDN、暗色 1f1e1c 精确命中,性能目标全达标;暴露三处回归即修(ae2ef19f,release 2026-09-24T08-27-13-289Z):①secondary/tertiary 配置错位——Quartz 链接色走 —secondary,交换后链接=蓝 2b6cb0、强调=琥珀 b45309 归位(焦点环显式用 —kw-accent 不随动);②正文行高 1.75 死规则——.article-content 选择器在 DOM 中不存在(实际为 article.popover-hint),改 article 选择器生效;③移动端 390px 横向溢出 ~33px——画廊行 min-content 416px 经 grid item 自动最小尺寸上传,.page-header/.circuit-gallery 补 min-width:0 消地板。截图目视项因浏览器窗口 0x0 受阻,待用户真机终验;遗留观察项:首页 KaTeX 仍走 jsdelivr CDN(Quartz 原生行为,量小不阻塞)。
  • 用户真机回归(同日二次,6959eb1,release 2026-09-24T10-32-07-997Z):①Explorer 目录树空白/点击无反应——数据源切 graphIndex 后其 value 无 slug 字段(slug 是键),FileTrieNode.add 调 entry.slug.split 抛 TypeError,建树入口崩溃致 toggle 监听器永不挂载;修复 = entries 映射为 [slug, {…v, slug}] 元组补 slug(首版误传对象数组又触发 fromEntries 解构 not iterable,同提交修正)。②**/edit/ 编辑台白屏**——loadEditDeps 注入的 await 落在非 async 的 renderMath 内,SyntaxError 致整个 app.mjs 拒绝解析、boot 永不执行(顶栏裸按钮 + layout 恒 hidden);修复 = renderMath 补 async。验收:explorer 树 8 节点/切换正常/SPA 保持/零 rejection;app.mjs 的 session 请求 + 动态登录框证明 boot 执行。教训:换数据源必须逐字段 diff 新旧 value 形态(继 hiddenSlugs 键形态后第二起形态失配);给既有函数插 await 前必须确认函数是 async(module 顶层语法错误不触发 window error,症状是 JS 全部静默,用动态 import() 复析取报错行列号定位)。观察项:0x0 隐藏窗口中搜索不渲染疑似窗口冻结假象(同款链路 node 复现正常),待真机确认。
  • 教训:①git rm --cached 对已 tracked 敏感文件的删除会随任何一次远端 pull 物理删除远端磁盘文件——停止跟踪前必须先在全部远端环境落盘备份;②pm2 restart --update-env 只合并当前 shell 存在的变量,不清除陈旧 env——改环境变量必须 delete + 显式 env + start + save;③env 文件需有 git 历史之外的权威副本预案(本次靠删除提交的父 blob 侥幸恢复)。红线沉淀至 AGENT.md §14。

[2026-10-10] infra | /edit/ 飞书风编辑器升级启动(Phase 0+1 交付)

  • 类型:infra(可行性报告获批后启动;owner 日常高频使用飞书文档,对标其编辑体验)
  • 摘要:路线决策——CM6 源码模式深度增强(保留 markdown 源码真理层),拒绝 WYSIWYG 替换(wikilink/电路块/frontmatter 的无损往返是硬风险);表格合并单元格因 GFM 不支持降级不做;实时协作光标(Yjs+ws)ROI 不足降级为远期观察。P0a——飞书快捷键冻结(官方帮助中心核对 + Owner 客户端面板截图三张;要点:待办 Ctrl+Alt+T 非 Shift+9、行内代码 Ctrl+Shift+C 非 Ctrl+E、引用 Ctrl+Shift+>、代码块 Ctrl+Alt+C、分隔线 Ctrl+Alt+5、块移动 Alt+Shift+↑↓、下划线 Ctrl+U 生成 因飞书 单波浪 与 GFM 删除线冲突)。P0b——esbuild 预打包 CM6 三包为同源 editor-vendor.js(1.7MB 含全语言语法,登录后编辑器初始化时才加载,登录页仍 16.9KB 零 CDN;CDN 链保留兜底;产物进 git 使 VPS 免装构建链)。P1——键位全量映射(行前缀 toggle 引擎:多行/再按移除/空行规则)+ 选中气泡工具栏(B/I/U/S/行内码/链接/双链 7 按钮)+ 斜杠命令面板(15 项/kw 过滤/↑↓Enter/Esc 导航/执行后清 / 前缀)。
  • 关键实现事实:①CM6 update() 阶段禁止读布局——coordsAtPos 抛错后被 logException 静默吞掉并禁用插件(症状=UI 永不出现、无 uncaught error),坐标必须走 requestMeasure({read,write});②codemirror 主包不 re-export keymap/Prec(keymap 在 @codemirror/view、Prec 在 @codemirror/state);③注入锚点勿撞注释文本(window.__loadCM 注入曾撞进注释致 entry 语法错误);④esbuild 产物进 git,VPS 免构建。
  • 验证:本地 mock 管理台(stub API)+ 子代理/无头交互验证——键位 B/U/Shift+X/Alt+1/Alt+T 全过;气泡出现/加粗生效/零崩溃;斜杠 15 项/过滤/Enter 插入/Esc 关闭;修复 update 读布局后零 “plugin crashed”;补 .slash-menu.show{display:block}(上轮菜单 DOM 正常但不可见 0x0)。
  • Phase 2 交付(同日续):公式幽灵渲染——块与 $ 行内在光标外渲染为 KaTeX 成品(WidgetType replace 装饰;光标进入还原源码、离开重渲染;错误公式红框回退显示源码)。扫描器安全区间:frontmatter(---..---)与 ``` 围栏(含电路/mermaid)全跳过、行内码 span 跳过、\$ 转义跳过、未闭合 保持字面;块级装饰修正到行边界。KaTeX 由 loadEditDeps 在 mountEditor 前 await 预加载(与预览管线同一实例,登录页仍零 CDN)。验证:无头 Edge 在本环境 launch 挂死(180s 超时,环境问题非站点)→ 改 node 单测扫描器(Text.of 构造 doc,9 断言:安全区间跨度/4 项识别/fence 内不识别/未闭合忽略/转义忽略)全过;单测抓出真 bug——frontmatter 关闭行后多跳一行致紧邻 $$ 块漏渲染,已修。DOM 层(katex.render/点击进源码)待 Owner 真机验收。
  • Phase 3 交付(表格工具包,2026-10-12 续):光标进入 GFM 管道表格即出现浮动工具条(+行/+列/-行/-列/对齐左中右/等宽格式化 8 按钮,requestMeasure 定位)+ Tab/Shift-Tab 单元格导航(全选格内容;尾格 Tab 自动加行并落入新行首格)+ Ctrl+Enter 插行。表格解析/行列 op/对齐渲染为纯函数(parseTableAt/cellSpans/tableChange/renderTableData export)——node 单测 16 断言全过(含 CJK 宽 2 对齐、\| 转义幂等、ragged 行补齐)。两处真 bug 由单测/集成验证抓出:①cellSpans 行尾管道后多切一格空列(尾列幻觉);②escapeCell 对已转义 \| 重复转义(format 幂等性破坏,改 lookbehind 只转义未转义管道)。集成层教训:纯函数单测通过≠集成可用——keymap/tableBar 调用点传 EditorState 而函数签名要 doc(EditorState 无 lineAt)→ TypeError 全家崩溃;修法=入口 .doc || docOrState 归一兼容两种形态。vendor hash 缓存破坏闭环验证:index.html __vendorV 每次构建自动更新。
  • 待办:Owner 真机验收表格手感;Phase 4([[ 与 @ 文件搜索补全)待启动。
  • Owner 真机两症状定位与交互语义修正(2026-10-13 续):①「行内公式 光标离开仍显示源码」——非渲染失败,是 Phase 2 修块级时引入的边界放宽副作用:非严格相交使光标在公式紧邻位置(含 widget 点击落点)仍被判”在公式内”而显示源码。修正=判定改回严格相交 + MathWidget mousedown 显式进入源码(光标落公式文本内部,块/行内统一,title「点击编辑公式」)——语义纯粹化:光标真正在公式文本内=源码,否则渲染。②「[[ 面板不出现」——同版本本地 mock 全回归 6/6(ESM 加载链 1+7 chunks 全 200、CM 挂载、块/行内幽灵、[[ 面板 3 项、零崩溃),未能复现;候选因素=输入法全角 [[、浏览器环境差异;待 Owner 复测(英文输入法)+ console 报错。线上取证方法沉淀:index.html 与 vendor 均为协商缓存(max-age=0)——Owner 拿到的必是最新文件,缓存假说排除;ESM splitting 线上实拉验证(entry 95KB ESM + chunks 200)。无头 Edge+puppeteer-core 在本环境 launch/page 会话反复挂死(profile 冲突已解、page session 仍崩)——机械验证收口。
  • 三项远期待办落地(2026-10-13):①首页 KaTeX 零 CDN——新增 KaTeXLocalAssets emitter(build 时从 quartz node_modules/katex 拷贝 css+60字体+copy-tex 到 static/katex/),latex.ts 两处 jsdelivr 引用改本地(build 验证首页 jsdelivr=0,公式浏览器端本就 build 时渲染、仅需样式资产)。②editor-vendor code-splitting 瘦身——esbuild iife→esm+splitting:主 bundle 1.7MB→95KB(-94%),124 个语言 grammar chunk(1.5MB)按需加载(文档出现对应语言代码块才拉取,零功能损失);loadEditorVendor 改 module script。发布时炸出 §14.2 同族事故:发布链第 6 步 pm2 restart --update-env 把污染 env(PORT=3003)注入 chat——chat 抢占 admin 的 3003、admin 崩溃循环 45 次(EADDRINUSE 3003 实锤于 /proc environ);按红线处置:chat delete+显式 PORT=3002 重启、admin restart 归位、发布链移除 —update-env(env 由 .env 提供不需要 shell 注入)。③WYSIWYG 无损往返基线 PoC(build/wysiwyg-poc.mjs,prosemirror-markdown stock 纯 node):核心语法 13/18 无损(27.8% 有损)——删除线被转义、todo-list 崩坏、多行 blockquote 折叠、管道表格全毁;库特性 3/7 全损——wikilink 转义、$$ 块折叠行内、frontmatter 被 setext 化为 H2(最危险:静默改写每个文件的元数据);亮点=代码围栏(含 circuit/mermaid)与中文完全保真。评估结论:无损往返可达成但需自定义 nodes/marks×3 处(schema+parser+serializer)逐项修,工程量与 Phase 0 预判一致(3-6 周);建议维持 CM6 源码模式主路线,WYSIWYG 作为独立只读预览模式试点更稳。 ;子页 CSS/copy-tex/字体全 200,6 个 KaTeX 字体 loaded,83/83 .frac-line=1px;暗/亮主题 color 6.0:1/9.7:1、bbox 0 偏移;validate 0 error。
  • /edit/ 行号错位修复(2026-10-20 续):点击 circuit-project ghost 进源码态后,gutter 与正文错位、块内 # 图 10.51… 被渲染成 H3。根因 1:liveInlinePlugin 的 md-h/HeadNumWidget、computeHeadingNumbers、computeOrderedLabels 未跳过 fenced code,把块内注释当标题(行高 23.8→32.66);根因 2:.circuit-ghost 的 margin:10px 0 不被 CM 高度图计入,widget 之后所有行固定 +20px。修复:三处 fence-aware(heading/quote/list 装饰与计数);ghost 外层新增 .circuit-ghost-wrap{padding:10px 0} 承担间距、card margin:0;math block 的 2px margin 同步并入 padding;lineNumbers 仍由 core.basicSetup 提供。验证(mock,vendor c716e856):源码态 48 行 max|delta|=0px(含 32.66px 标题行、47.59px 折行),首行 delta=0;围栏注释 14px/23.8px 无 md-h,标题编号恢复 1.8.2→1.8.3;无 console error/崩溃。文章块 CRLF=0、首行无空行。
  • c-fig1051-ctdsm 全面体检与拓扑修复(2026-10-20 续):按格点/布線/几何三套规范复核图 10.51——grid 55 个对象 0 违规;无 Routes/junctions(0 路由违规);8 个实体矩形无重叠、48 个对象无端点嵌入、文字两两 bbox 交集为 0、无箭头穿过标签。发现并修复一处几何歧义:tap1/tap2 的垂直进 DAC 线与 F(z)/F_c(z) 反饋線在 (150,370)/(630,370) 共点(4 段汇聚却无节点,视觉上像 T 接),已把 DAC 输入点内移至 x=170 / 610(反馈保持 x=150 / 630),共点 >2 归零,SVG 60,177B 重出;grid/routing 仍为 0,validate 0 error。
  • 正交布线与节点铁律(2026-10-20 续):所有 Routes 仅允许水平/垂直段,转向必须 bend;恰好 2 根线禁止 junction(合并为带 bend 的 Route),≥3 根线必须 junction。落地:新增 schema/knowledge-org/routing-policy.mjs(纯 JSON 校验正交段与 junction 度数);bridge 新增 validateProjectRouting(用上游 resolveDocumentRoutingGeometry 解析引脚端点,覆盖 A/B/C/D)与 normalizeProjectRouting(合并 2 度 junction);admin 在 persistProject、create/PUT、agent dry_run、import dry_run 与发布门禁全部接入(422 ROUTE_NOT_ORTHOGONAL/JUNCTION_DEGREE_TWO,不落盘);converter 对导线做 Manhattan 化(斜线插 bend)并在建网前合并 2 度节点;validate.mjs 增加「布线规范」统计(未解析引脚段交由门禁 bridge 复核)。存量:c-mue0izbp-a094e 的 j2/j4(各 2 度)合并为 bend,2 处违规 → 0,SVG 10.5KB 重出。验证:converter 斜线+T 样例 → 0 违规;bridge 对迁移前 c-mue 报 2×JUNCTION_DEGREE_TWO;迁移后 0;validate 582 页/4 工程/2 routes/0 正交违规/0 个 2 度节点、0 error。
  • 强制格点对齐铁律(2026-10-20 续):用户定规——所有 circuit-project 工程对象必须吸附 document.presentation.grid(默认 10)。落地:新增唯一真源 schema/knowledge-org/grid-policy.mjs(validateProjectGrid/snapProjectToGrid,覆盖实例、结点、连线折点、矩形、圆、椭圆、箭头、构造线、文本、注释);admin 全面接入——persistProject 统一守卫、POST /api/projects、PUT /api/projects/:id、POST /api/projects/:id/agent(新增 dry_run)、/edit/api/circuitikz/import(dry_run 同)均以 422 {errors:["COORD_NOT_ON_GRID"], details:[{path,value,nearest}]} 阻断;发布门禁 renderCheckAllProjects 逐工程 + 金样先校验格点再渲染;converter 补齐矩形宽高、圆半径、箭头端点、构造线 points、文本锚点的 snap10。存量迁移:图 10.48(95 处违规)/图 10.51(126 处)首轮吸附后 0 违规;随后收紧矩形规则为 2×grid 宽高(50/70 等半宽仍未落网)并加入连接感知对齐(端点在 6px 内吸到实体形状边界,排除背景/虚线装饰框),二次迁移 7/6 处 → 0;视觉验收又发现 k2 折线因 waypoints 未被校验而歪斜(318/145)、反饋線穿 DAC 文字、標籤跨框頂等問題——补齐 arrow waypoints[] 校验/吸附、端点落入实体形状时沿轴裁到边界、anchor 同步,并做排版修復(I 標籤抬到 y=290、Fast Path 移至 240×60@660,400、tap 改垂直進框、v1/v2 標籤移位、k2 折線正交);最終 0 違規、實體形狀 0 縫隙,SVG 40.6KB/60.2KB,doc revision+1。 最終拓撲修復:反饋總線在 DAC₂ 右緣斷開(移除重複段 f1-fb2),Fast Path 改 220×40@670,390 避開總線/Q/DAC₂,v1 標籤移至 x=170;SVG 40.5KB/60.2KB。验证:D dry_run +10 → 200 且不落盘;+5 → 422(details 指到 anchor.position.x=155→160);B PUT +5 → 422;A import dry_run → 200;validate.mjs 工程格点 4 个/0 不合规、页面 0 error。文档:SKILL §7、AGENT_API §5.8、上游 docs/agent/circuit-style-knowledge.md。
  • 电路工程幽灵渲染(circuit-project 源码↔预览,2026-10-20 续):/edit/ 既有 CircuitWidget 升级为工程卡片——工具条显示 slug + 编辑电路工程(新标签打开 /editor/?project=<slug>)+ 源码 + 重新渲染;画布内联服务端已渲染 SVG(/edit/api/project-svg/<slug>,cache:no-store + 会话内 Map 缓存),点击画布/「源码」落入围栏进入源码态,光标离开自动回到预览(与 mathGhost/imageGhost 同语义);坏链分级:非法 slug(不发请求)、工程不存在 404、加载失败均可点击源码修正,仅 有效 slug 才显示编辑/刷新入口。块体支持 # 注释行(transformer 改为取首个非注释行为 slug,其余非注释行仍保留旧行为;图库插入自动把工程名写为注释);新增 POST /edit/api/project-svg/:slug/refresh(从工程 JSON 预热公式→出图→仅在变化时写盘+提交);作用范围限 /edit/(需登录),公开站点不暴露编辑入口。验证(mock 真实 HTTP,vendor ee16f594):3 块分别为成功(36 paths)/404/非法 slug,注释显示、点击→源码→Ctrl+End 恢复且缓存命中不重载、刷新 toast「已重新渲染」、围栏内不渲染、零异常。
  • 图片幽灵渲染(源码↔预览切换,2026-10-20 续):/edit/ 编辑器新增 imageGhost(StateField + replace 装饰,与 mathGhost 同款语义)——Markdown 图片 ![alt](src "title") 与上传按钮产出的 Obsidian 嵌入 ![[assets/images/x.png|width]] 在光标外渲染为 <img>(整行图片为 block 居中、行内为 inline);点击图片进入源码态(widget mousedown 落光标、选区相交即还原 ![...]()/![[...]] 原文),光标离开自动回到预览;坏图渲染为虚线错误盒(「图片未找到:alt + src」);src 解析规则:assets/ 前缀补站点根 /,http(s)/data/file/绝对路径原样;frontmatter 与代码围栏、行内码内一律跳过(阴性对照验证);另将 widget 图改为 eager 加载(后台标签页 lazy 不触发 error,错误盒不确定)。验证(mock 真实 HTTP 通路,vendor 006cc3f2):4 ghost(1 block + 2 坏图错误盒 + 2 data URI 成功图 naturalWidth>0)、围栏内 0 ghost、点击→源码→Ctrl+End 恢复往返无损、零 unhandledrejection/plugin crash;顺带修复 mock mserve.cjs 的 Windows 路径分隔符判定 bug(startsWith 恒假导致所有文件 400)。
  • CT-ΔΣ 图公式文本异常修复(2026-10-20 续):用户截图反馈图 10.48/10.51 中 \Sigma、\frac{1}{s}、\mathrm{DAC}_1 等原样 LaTeX 外露。定位:受影响文件 = assets/circuits/c-fig1048-ctdsm.svg、c-fig1051-ctdsm.svg;根因 = render-svg 对 kind:"math" run 依赖公式产物缓存(cachedFormulaResult),命中失败时输出 <text data-role="formula-pending">latex</text> 占位;bridge(Node 侧)从未预热缓存,故全部公式以 pending 形态落盘(工程 JSON 中 math run 本身正确,无需改文本定义)。修复:bridge 新增 prepareProjectFormulas()(递归收集 math run → @icm/math-typesetting/cache 的 MathJax 4 prepareFormula 预热),admin 在 renderProjectPreview 与发布渲染门禁渲染前调用;随后重渲染两图(prepared 12/16,formula-pending 归零,内联 data-role="formula" 产物 14/19),SVG 40.7KB/60.3KB。教训:服务端渲染公式必须先预热缓存;脚本直连 bridge 渲染时同样要 await prepareProjectFormulas(text)。
  • CT-ΔΣ 图 1/2 重绘为工程(路径 D 实战,2026-10-20 续):对 concepts/16-bit音频CT-ΔΣ调制器设计实例.md 的两个框图执行迁移——用 POST /api/projects/blank 建空工程,再以 upsert_drafting_object 事务批量写入草稿图元(Fig 10.48:43 对象;Fig 10.51:55 对象;1cm=50px、y 翻转、字形全转路径),桥渲染入库(56/74KB SVG),文章前两块替换为 circuit-project(slug c-fig1048-ctdsm/c-fig1051-ctdsm);OTA 原理图(图 3)保留 LaTeX——器件锚点(.D/.S/.G)不在转换器能力内,硬转会失真。迁移后同页 circuit 块 3→1、circuit-project 0→2。过程坑:体积批量对象必须包成 {kind:"upsert_drafting_object", object}(首版直接塞对象 → edits 判别器报错)。 转义坑:circuit-project 块体必须是纯 slug(transformer 正则 ^[a-z0-9][a-z0-9-]{0,63}$),slug: 前缀会被判非法而降级为普通代码块——技能/API 文档示例已同步修正为纯 slug。
  • P4 迁移评估落地(2026-10-20):VPS 全库扫描 582 页,circuit 围栏块仅 1 页 3 图(concepts/16-bit音频CT-ΔΣ调制器设计实例.md),逐块跑转换器:0% 转换成功(62 errors / 50 warnings),唯一阻断类型为命名节点锚点坐标((SUM1.west)、(M1.D)、(INT1.east) 等,转换器仅支持数字坐标/相对坐标/普通节点名),unmapped 器件为 0。结论:长期共存,不做批量迁移(3 图手工重绘约 0.5–1 人时,可择机在 /editor/ 完成);重评估阈值 = 出现 ≥10 个含锚点块。报告 wiki/analysis/CircuiTikZ 迁移评估.md;技能失败模式表新增锚点错误条目;路线图 P4 标记已落地。
  • P3 渲染回归门禁落地(2026-10-20):发布链在规范校验之后新增「电路渲染回归门禁」——读取 projects-index,逐工程 parseProject + renderProjectSvg({background:"transparent"})(入库存档同参数,保证确定式比对),渲染失败/文件缺失阻断发布;与入库 SVG 的漂移仅记录(编辑器官升后可能出现,供解释而非误伤);另跑 CircuiTikZ 金样冒烟(R+C 两器件转换 + 渲染 + 报告 errors 检查)。VPS 实测:2 工程 0 错误、SVG 漂移 0(渲染确定性验证)、金样 ok。技能验收清单与路线图 P3 行同步更新。
  • 无人值守自由画布通道落地(2026-10-20):为绕开上游 MCP 的人工 claim code,自建 agent 事务通道——knowledge-wiki-bridge.mjs 直连 @icm/edit-engine(executeTransaction / executeProjectTransaction / proposeWireIntent,与编辑器同一写路径),支持 edits / wireIntent / structureEdits,自动补 transactionId/actor、expectedRevision 可省略(服务端串行);admin 新增 POST /api/projects/blank(空工程)与 POST /api/projects/:id/agent(事务执行 → 自动 commit agent: 前缀 → 重渲染 preview.svg)。解析坑:pnpm 不为根 node_modules 建 @icm/edit-engine 链接(仅依赖方),桥改为惰性解析并回退 apps/editor/node_modules;EditTransactionSchema 为 strictObject,transactionId/actor 必填。VPS 实测:空工程创建+渲染(6555B SVG)、move_instance +10→还原(坐标 80→90→80 精确匹配)、事务后文本转路径渲染(10639B)、空事务与过期 revision 正确拒绝。技能新增路径 D 与 AGENT_API §3.4 契约。
  • 基准源主题重排(规范落地首例,2026-10-20):按《知识组织规范 v1.0》把 659 行「大杂烩」页 偏置电路与电流基准 重组为 1 hub + 5 模块/系统页 + 2 分析页:新增 基准源知识地图(导航/决策表/学习路径)、PTAT与CTAT电流生成、带隙基准设计、低压与曲率补偿带隙、自偏置与启动电路、偏置网络系统设计、带隙基准误差预算、基准源多教材对比;原页保留全部入链与 aliases,重写为 65 行综述+导航(10 份「📘 教材补充」按多教材补充政策分流:综合结论进叶子页、单书细节归 sources/ 深度解析、多书差异进对比页、LDO 内容指向 LDO稳压器设计技术)。验证:node schema/knowledge-org/validate.mjs 0 error;新页均含 v1 元数据(domain/layer/difficulty)与前后关系;hub 入链闭环。
  • Local Graph 节点命中区域修复(2026-10-20):Owner 反馈文章页小图谱需精确点击节点正中心才能选中、有效点击区远小于视觉节点。根因:Sprite 化重构时 hitArea 坐标系语义失配——Pixi hitArea 在局部(未缩放纹理)坐标系判定,旧代码 Circle(0,0,isMobile?max(pr,12):pr) 直接填屏幕半径 pr,而视觉尺寸由 Sprite.scale = 2pr/SPHERE_TEX_SIZE 实现,实际屏幕命中半径被额外乘以 baseScale → pr²/32(普通节点 pr=2 时命中 0.125px、10px 节点仅 3.1px——与”必须点正中心”症状完全吻合)。修复:局部半径改填 SPHERE_TEX_SIZE/2(=32 纹理 px),经 scale 后屏幕命中半径 = pr 与视觉圆盘一致;移动端”≥12px 屏幕命中”保底换算为 max(32, 12/baseScale);baseScale 抽取复用(消除 push 处重复计算)。验证:esbuild 门 + 全量 build + 子代理 per-node 实测(70 节点图,稠密 1px 扫描命中簇 15×15px、实测命中半径 7.5px ≈ 理论视觉半径 2+√30=7.48px 完全一致;离中心 2px 点仍触发 hover 且角落标签更新为节点标题;零 unhandledrejection;本地静态服务未起,子代理以 file:// 同源构建产物等价验证)。教训沉淀:图形库把 hitArea/hitTest 放在局部坐标系时,任何 scale 变换都必须把”屏幕尺寸”除以 scale 换算回局部尺寸,否则命中区静默缩水(Graphics 无 scale 时代正确 ≠ Sprite 时代仍正确——重构渲染原语时坐标语义需逐个复核)。
  • 图谱纯色化 + 后台页泄漏修复 + 组结构力导向(2026-10-16 续):Owner 三项需求。①节点纯色填充——移除球面渐变(shadeHex/createRadialGradient 退役)与 hover 辉光(focusGlowTexture/glowGfx 全删),nodeTexture 改纯色圆盘(canvas AA 软边),分类色三值不变;脉冲环/悬停环/入场动画/控制条保留(非节点纹理)。②后台页泄漏修复——Owner 报图谱显示「完整目录/内容索引/操作日志」:node 复现实证 graphIndex 键形已漂移为全仓形态(wiki/log、wiki/catalog、wiki/index——与 2026-09-24 修复时记录的相对形态相反),hiddenSlugs 相对键永不匹配致三页泄漏为节点;修复 = hiddenSlugs 双形态全覆盖(相对 + wiki/ 前缀 + 兜底),注释改写为「键形态会漂移、双形态纪律」;验证 574→571(575 键 −4 hidden:内容索引以 index+wiki/index 双形态并存均滤除)、泄漏扫描 NONE。③组结构力导向——label propagation 社区检测(8 轮 O(E),<40 节点图跳过、<4 节点微型社区自由漂浮不加锚)+ forceX/forceY 社区锚(锚点圆周分布 R=0.62r,strength 0.05/0.07)+ charge 乘子 1.35 拉开群组间距 + 按度数径向力(forceRadial 半径 = f(度数):hub 近中心、叶子外缘 0.3r~1.05r)——「联系紧密的靠近、连接少的远离、呈现组的概念」;hub 中心化同时由链接力自然涌现。过程坑:C 脚本 FAIL 前未写盘 + 空串替换的 skip 判定缺陷叠加,产生「部分落地」中间态——probe 逐符号核对后 C2/C3 分治收口(presence 语义 repP)。验证:esbuild 门 + 本地 build 4366 文件 + 子代理复验全过(571 精确命中/双形态滤除/控制条循环/全局弹层 571/零异常;群组视觉形态待真机目验)。
  • 知识图谱深度美化(Obsidian 手感 + 本站身份,2026-10-16):grilling 五决策(B 风格融合 / 五项交互全做 / 最小控制条 / 双档入场 / 质量红线确认)获批后实施。渲染核心重构——节点从逐色 Graphics 分批改为统一预烘焙精灵纹理(sphere 渐变球面高光纹理按颜色缓存 + 白色辉光/环形纹理 runtime tint;Pixi 按纹理自动合批保持 draw-call 预算),逐节点/批量双模式共用一条渲染路径(drawNodeBatches/colorGroups/highlightGfx/@tweenjs 依赖全部退役,净简化 ~140 行)。五项交互:①入场组装动画(冷加载 800ms / SPA 导航 350ms 错峰 ease-out cubic + 连线淡入,graphFullRevealArmed 模块级一次性标记)②hover 焦点(dim 0.16 逐帧 lerp——原批量模式瞬时切换;hovered 节点按自身分类色 4.2x additive 辉光 sprite;邻接线增亮加粗保留)③当前页琥珀脉冲环(—tertiary tint 环形纹理 2.6x 半径 sin 呼吸,“您在这里”常驻标识)④拖拽释放弹性(非大图 alpha 补 0.12 温热回弹)⑤标签三档控制条(智能/常显 140 上限/隐藏,localStorage graph-labelmode 持久化 + 角标闪现反馈)。控制条(depth<0 图:主页大图 + 全局弹层)重置视图(zoomBehavior.transition 320ms 回 identity)+ 标签循环按钮;graph.scss 玻璃拟态条 + focus-visible 焦点环。prefers-reduced-motion 全链路直通(reveal=0/pulse 静态/lerp=1);window.__graphStats 轻量验证柄。验证:esbuild transform 门 + 本地 build 4366 文件 + Browser 子代理 6 组全过(574 节点 batch/webgpu、控制条两键、标签三档 localStorage 循环、双 canvas 独立初始化且第二张 revealMs=350 实证双档生效、3s 零 rejection/error;rAF 帧现象标注 hidden 窗口节流,待真机目验动画手感)。
  • 图库正则搜索 + 主页电路画廊下线(2026-10-16):①admin「插入电路工程图」弹窗新增双模式搜索(沿用 netlist_debug 惯例:/ 开头启用正则、尾 / 可省略,否则关键词子串匹配忽略大小写;name+slug 双字段命中任一即显示;input 实时过滤 + 「N / M 个工程」计数;非法正则红字提示并暂停过滤显示全部、补全后自动恢复;行内同时展示 slug 便于确认匹配对象;过滤只重绘列表行、不重拉 /api/projects)。②按 Owner 决策移除 Quartz 主页电路画廊——电路不在主页单独展示、只在相应文档内经 ```circuit-project 块渲染;CircuitGallery 组件与 CircuitGalleryIndex emitter 及全部注册(quartz.layout ConditionalRender、components/index、emitters/index、quartz.config)下线,static/circuit-gallery.json 停产;vault/assets/circuits 数据与 circuit.ts 双管线渲染不受影响。验证:本地 quartz build 通过、首页 gallery 引用=0、json 不再产出、KaTeX 本地资产无损;app.mjs node —check 过。过程记:SearchReplace 五连 “save failed unknown” 经 probe 实证全部为误报(内容已落盘)——降级链第一步永远是验证实际状态再决定通道。
  • 顶栏/工具栏静态按钮 SVG 化(12 处,2026-10-15 补齐):Owner 真机截图指出 /edit/ 顶栏工具栏仍是旧字符图标(☰/⋯/🔗/🖼/⚡/📐/📊/❝/👁)——根因是统一图标系统只覆盖了 editor-extensions.mjs 动态工具条(气泡/斜杠/表格),index.html 静态按钮漏改。补齐:menu/more/新建/code/quote/link/wikilink/image/circuit/gallery(layoutGrid)/mermaid(workflow)/预览(eye) 12 处内联 SVG(与 vendor ICONS 同 path 源),B/I/U/S/H2/H3 保留样式化文字(飞书同款),保存/发布保留文字。经验:静态 HTML 与动态渲染的按钮要同步盘点——动态侧改完 grep 静态侧 emoji/字符残留即可发现漏网。至此 /edit/ 全部图标位(动态 30 + 静态 12 = 42)统一为内联 SVG。
  • 统一 SVG 图标系统交付(2026-10-15 续):/edit/ 全部 30 个图标位(气泡 7/斜杠 15/表格 8)从 emoji/unicode 字符/纯文字统一为内联 SVG 图标(ICONS 字典 30 键,Lucide 风格 24 网格 stroke2 currentColor,16px/15px 渲染);B/I/U/S 保留样式化字母(飞书同款,cls: tx-b/i/u/s);表格工具条 8 键 title 全部中文化(插入行(Ctrl+Enter)/插入列/删除行/删除列/对齐左/对齐居中/对齐右/等宽格式化);按钮四态样式(hover surface-hover/active scale(.94)/disabled opacity.4/触控指针 40px)。过程坑三连(同族复发):①patch 脚本数组定义行尾误写 ].join(“\n”)(变量成字符串)×2;②patch-icons 中间态崩溃(t0 锚 MISS)未写盘导致 ICONS heading 键缺失——probe5 源码实锤后单行锚补齐;③editor-extensions.mjs 的 TABLE_BTNS label 为字面 \uff0b\u884c 转义序列(pa4 ASCII 通道产物)——锚必须同形态(probe3 plain/escaped 双探针定位)。发布 v=60a59f5c,mock 终验 30/30 SVG + title 全对 + 功能回归 + 零崩溃。
  • 待办:Owner 真机验收(图标观感/语义辨识/暗色对比度);顶栏/侧栏静态按钮(保存/发布/新建/预览)SVG 化为下一批可选。
  • P-A4/P-A6 交付(列表圆点/待办勾选/视觉打磨,2026-10-15):①无序列表 - 光标外渲染为琥珀圆点(—tertiary widget)+ md-li 行样式;②待办 - [ ] /- [x] 渲染为可勾选 checkbox(change 写回源码 [ ]/[x] 切换——首版写回区间 4 字符吞 ] 后空格致 checkbox 消失,改 3 字符标记保留尾空格修复);③代码围栏排除修复——liveInlinePlugin 此前对围栏内行也做行内装饰(- /** 误渲染),现 build 先建 fenceLines 集合排除 + scanInlineLine 加 inFence 参数(mock 阴性对照佐证:围栏内伪列表/伪加粗零装饰、源码原样);④P-A6 视觉——行高统一 1.7、md-h1/2/3 padding-top 分级(10/8/6px)。验证:四套单测 ALL PASS + mock 交互 T1-T5(圆点琥珀色 computedStyle 断言、checkbox 勾选/取消双向写回、围栏阴性对照、无损终检 9 源码片段 state.doc 全保留)。澄清:用户消息中「对比网推荐算法 getCmpNetRecommendations」为 netlist_debug 项目任务串入,与本编辑台 P-A4 无关(以路线图红框为准)。
  • 待办:Owner 真机验收(圆点/待办勾选/围栏/观感);Live Preview 路线图 P-A1~A6 全部完成。
  • Live Preview 路线获批并实施(2026-10-13):Owner 提出公式/电路块/标题/行内样式的编辑器内实时渲染需求(Obsidian Live Preview 形态)。可行性结论:不走 TipTap WYSIWYG(基线 PoC 已证 27.8% 核心有损 + frontmatter setext 化),改走 CM6 Live Preview 深化——全部渲染用装饰实现,文本层从不改变,无损往返 100% 天然成立。交付三件:①电路块幽灵(scanFences 解析全部 fence;circuit-project → /api/projects/:id/preview.svg img 同源 cookie 直取、circuitikz → POST render-circuit 异步渲染 + 会话缓存 Map + 加载中/错误态;StateField+from 同 mathGhost 模式;点击进源码/离开渲染)②标题行样式(line decoration md-h1/2/3 字号字重)③行内样式渲染(加粗/斜体/删除线/`行内码` 的 mark 装饰 + 定界符 replace 隐藏,光标进入显示源码;扫描跳过 $ 区间避免与 mathGhost 装饰重叠)。验证抓出真 bug:电路 fence body 切片未剥离闭合 ("c-xxx\\n” 致 PROJECT_ID_RE 必败、img 从未创建)——裁剪至闭合行起点后 img 创建/请求/404 错误态/点击还原全链路通过;标题 21.7px/700、行内加粗渲染/隐藏/光标进出、无损性(state.doc 源码零变更)均断言通过。
  • 待办:Owner 真机验收(电路块真实 project 的 preview 渲染、circuitikz 渲染 API 实测、标题/行内样式观感);后续可迭代=列表/引用前缀视觉化、# 符号光标外隐藏(v2)。
  • Phase 4 交付(双链补全,飞书化收官):编辑器内输入 [[ 或 @ 内联唤起文件搜索面板(复用 tree API → collectMdFiles slug 列表;12 项上限/子串过滤/文件名+全路径双列展示;↑↓Enter/Esc 键盘导航;Enter 删除触发前缀插入 [[slug]]——@ 提及映射为双链语义)。与斜杠菜单”双链”项衔接:斜杠插入 [[]] 后光标居中即自动触发本面板列出全库文件。集成 bug 一枚:constructor 漏 this.view = view(斜杠插件有此赋值)——首次 update 的 maybeClose 访问 this.view.state 即 TypeError,插件被 CM 静默停用(症状同前:面板永不出现+单条 plugin crashed);子代理定位并在一次性视图实证修复后 L1-L5 全流程通过。至此飞书化五阶段(P0 键位冻结+vendor 化 / P1 键位+气泡+斜杠 / P2 公式幽灵 / P3 表格 / P4 双链补全)全部落地;剩余远期项=WYSIWYG 试点评估与 vendor 语言子集瘦身。
  • Owner 真机反馈修复(预览渲染链零 CDN 化):/edit/ 预览显示「marked 未加载(CDN 不可达)」——P0b 只 vendor 了 CM6,marked/KaTeX 仍走 jsdelivr,Owner 环境 CDN 不可达致预览降级 + 公式幽灵渲染(依赖 window.katex)连带失效。修复:marked@12.0.2/katex@0.16.11(js+auto-render+css+60 字体)随 build:editor 拷入 public/vendor(产物进 git),loadEditDeps 改为同源 vendor 优先、jsdelivr 降为兜底(CSS link onerror 换源)。线上验收 5 文件全 200(marked 35KB/katex 275KB/auto-render/css/font),index.html 本地优先与兜底并存。教训补记:PS here-string + Set-Content -Encoding ASCII 写补丁脚本时中文锚必损坏为 ?(此前电路块补丁 MISS 的真正原因)——含中文锚的脚本必须走 Write 工具(UTF-8)或 .NET 直改。
  • 待办:Owner 真机验收(键位手感/气泡定位/斜杠流畅度);Phase 2 公式幽灵渲染待启动;探索项:vendor 1.7MB 后续可按需语言子集瘦身。

[2026-09-24] infra | 图谱 hiddenSlugs 键形态失配修复(目录页/操作日志节点泄漏)

  • 类型:infra(Owner 排查任务;commit 2ca5803a,release 2026-09-24T02-59-17-813Z)
  • 摘要:完整目录/操作日志节点仍显示——根因是 hiddenSlugs 沿用 P2 时代全仓形态(“wiki/log”),而 P3(3fb4bd0b)数据源切到 graphIndex.json 后键为相对 wiki/ 内容根形态(log/catalog/index,无前缀无后缀);“index” 经 simplifySlug(trimSuffix 整段去尾段)变 ”/” 被原有条目歪打正着隐藏,log/catalog 泄漏渲染。修复:hiddenSlugs 重写为真实键形态 Set([”/”,“index”,“log”,“log/”,“catalog”,“catalog/”]),节点隐藏但链接关系保留参与 BFS;验证三层=本地构建产物 Set 字面量 + 真实 graphIndex 模拟断言 leaked=NONE + VPS 发布后产物 grep。Agent 的 ae672d2 补 “wiki/index” 因形态错误无效;df8764d 配色修复使节点彩色化、让存量问题显形(新旧 release 键 diff 为空,非回归)。要点沉淀至 AGENT.md §13。
  • 关键实现事实:hiddenSlugs 必须无条件删除(禁当前页保护);排查三步=源码集合→产物 postscript.js 字面量→真实数据模拟;simplifySlug 实测 “index”→”/“(非记忆中的 “wiki/” 尾斜杠形态)。
  • 第二轮(同日续):修复发布后用户仍见节点——Browser 子代理 evaluate 实测主域代码/数据均已正确,真凶是 postscript.js 无版本参数 + nginx expires 1h:发布后 1h 内普通刷新仍用旧 js(旧集合形态错误→节点显示,与彩色新底图叠加即用户截图)。修复(f3d8de56):renderPage.tsx 引入构建级缓存破坏 BUILD_ID=Date.now().toString(36) 注入 postscript/prescript/index.css/graphIndex/contentIndex URL ?v=,发布即全局缓存失效无需强刷(release 2026-09-24T03-40-31-023Z,实测全部资源 URL 带 v=muezi1rr 且新 URL 内容含正确集合)。教训:无 hash 资源引用的静态站,改完代码 ≠ 用户看到效果,必须验证浏览器实际加载的资源版本;大灰节点另一常见身份是 analysis/ 等无前缀色枢纽页,未必是隐藏页泄漏。

[2026-09-24] infra | 服务端故障修复 + Qoder.md 问题清单处置(11 项全闭环)

  • 类型:infra(OpenClaw Agent 审计报告 Qoder.md 的 Owner 会话处置;提交 d8b82dc + ae672d2 + AGENT.md/归档 + 发布 2026-09-24T02-17-13-679Z)
  • 摘要:①chat 服务崩溃循环修复(根因:pm2 层环境变量 PORT=3003 覆盖 .env 的 3002 → 与 admin EADDRINUSE 冲突,61 次重启;处置:pm2 delete + PORT=3002 重建 + pm2 save 固化 dump,问答/评论/渲染全恢复)→ ②knowledge-wiki-chat/.env 停止跟踪(曾入历史并推 GitHub,仓库实测 private,Owner 决定不轮换密钥/不清历史,.gitignore 补条目)→ ③图谱双修复采纳并上线(Agent 提交的 pathColors 去前导斜杠配色修复 df8764d + hiddenSlugs 补 wiki/index 归一形态 ae672d2,走标准发布链六步:build→releases 原子切换→published-head→trim→重启 chat,产物 grep 验证 hiddenSlugs 集合与无斜杠前缀均已生效)→ ④AGENT.md 双环境修正(头部加 Windows/Linux 对照表 + pm2 三服务表 + Linux 发布链路;架构图补 admin:3003 与动态 chunk 描述;LOG.md→log.md;§12.5 回滚说明更新并指向 CircuiTikZ 新形态)→ ⑤根目录脚本归档(34 个一次性提取/调试脚本 git mv 至 scripts/archive/,根目录 57→23 只留正式工具链)
  • 关键实现事实:pm2 env 的 PORT 优先于 .env(dotenv 不覆盖已存在环境变量);VPS 与本地双端 push 冲突一律 stash→pull —rebase→push→stash pop;Qoder.md(VPS 未跟踪审计文件)以追加 §七 处置记录方式闭环,保留原审计快照

[2026-09-23] infra | 编辑平台 P4:Agent 接入层 + 改动审查 + CircuiTikZ 转换器

  • 类型:infra(在线编辑平台 P4;grilling Q1–Q12 决策收敛,提交 217d8ebd + ba5af270 + ad92c6b2)
  • 摘要:Agent 鉴权与禁单(AGENT_TOKEN env + x-agent-token 常量时间比对;写路由 requireSession→requireIdentity 双通道;Agent 提交自动带 agent: git 前缀;删除/重命名/发布/回滚/拉取对 Agent 403——Q1-B/Q10-B)→ 改动审查(基准 = published-head;GET /edit/api/review/diff 逐文件 unified diff 400 行截断 + 来源标注 🤖/👤;电路工程用元件增删/参数变化结构化摘要 + 新旧 preview.svg 并排;角标“未发布 · 待审 N(🤖M)”点击开弹层,diff 行级 +绿/−红 Qoder 式;对称覆盖 Agent 与人工改动,发布即基准前移自动清空——Q6-B/Q7-B/Q8-C/Q9-B)→ CircuiTikZ→工程转换器(scripts/circuitikz-to-project.mjs 部署上游 workspace 与桥同目录:核心器件白名单 R/C/L/D/V/I/开关/MOS/BJT/opamp/ground/vdd/port + to[]三端件路径端接 C-E/D-S、(—/++ 相对坐标、 标签走 LaTeX 公式 run、几何共点 union-find 聚类→nets(route 连通性入并查集)、未映射降级 drafting 文本 + 固定 schema 报告 errors/warnings(unmapped|dangling|bulk|style)/stats;serializeProject 自动补 componentDefinitions 合规 schema 60;POST /edit/api/circuitikz/import 一步入库 dry_run 可选——Q3-A/Q4-A/Q5-C)→ 双层指南(权威 AGENT_API.md + wiki/agents/OpenClaw调用指南 自举版 + skills/knowledge-wiki/SKILL.md OpenClaw 原生技能包——Q2-B/Q11-B)
  • 关键实现事实:1cm=50px(0.2cm 步进→10px 整倍数满足画布网格校验)+ 落盘前 snap10 规整;y 轴翻转(TikZ 上正→画布下正);单引脚符号(ground)引脚对齐放置;npn 引脚序 C,B,E→路径端 pins[0]/pins[2];pathSubjects 用 %x01%s 防 commit 主题歧义;review/diff 路径经 rev-parse 仓库根动态归一到 vault 坐标系(与 file/tree API 一致,可直接回用)
  • 端到端验收(VPS 真机):鉴权矩阵 401/401/200 ✓;Agent 写文件 commit 自动 agent: 前缀 ✓;publish/rename/delete 对 Agent 全 403 ✓;import dry_run 报告+正式导入 slug=c-mue0izbp-a094e(3 元件 4 连线 2 网络,saveCommit agent: circuitikz import …)✓;review/diff 14–16 待审文件 agent 标注准确、电路条目 circuit=true ✓;人工会话不受影响 ✓
  • 踩坑:①union-find find 少沿链步进(parent 指向根时死循环,t3 分段守卫定位)②serializeProject 拒绝 reference:null(无 ref 符号类须省略字段)③画布 10px 网格校验(SCALE 40→50 + snap10)④补线 pts 双重 toCanvas(canvas:true 标记)⑤ssh 单引号内嵌 $() 反引号必崩(脚本文件化 scp 执行)⑥两套路径坐标系(git 仓库相对 vs vault 相对)——测试传 wiki/ 前缀多一层落到 wiki/wiki/,已删并文档明确坐标系
  • 待办:用户真机验收(角标弹层/审查着色/导入工程在编辑器打开);OpenClaw 侧安装 SKILL.md + 注入 AGENT_TOKEN;chat 服务 visitor-stats 同模式迁移仍为可选

[2026-09-23] infra | 编辑平台 P3 打磨收官(回滚按钮/隐藏入口/缩略图/移动端)

  • 类型:infra(在线编辑平台 P3;提交 f905ad2e + 346d3c41)
  • 摘要:发布回滚按钮(/edit/api/releases 列表 + /edit/api/rollback 原子切换符号链接;回滚不写 published-head,角标自然转”未发布”,重发布即回最新;more-menu 新增”版本回滚”,VPS 实测切走→切回全链路)→ AdminPortal 隐藏入口加”在线编辑”(data-port=3003 适配本地端口差异,target=_blank,已随发布上线)→ 图库缩略图(弹层每行显示 /api/projects//preview.svg?v=rev,白底垫衬透明底预览)→ 移动端细化(safe-area 顶栏补偿变量 —tb-h 统一 layout/侧栏/预览偏移、dvh 弹层高度、工具栏按钮 38px 触控目标)
  • 修复:releases 目录混两种命名格式(P0 20260922-152629 与 ISO 格式)字符串排序把旧格式当最新 → listReleases 统一按目录 mtime 排序(列表与 trimReleases 同源)
  • 验收补丁(19044e80):①rollback 调用漏 content-type JSON 头致 express.json 不解析、服务端 400“非法版本号”(87edffab 补 header);②nginx try_files 兜底 /404.html 伪装 200,回滚后已下线页面访客不可察觉 → 改 error_page 404 /404.html + try_files =404,回滚可见性落地;③回滚弹层说明明确“只切换线上站点,不影响 /edit/ 源文件”语义;④澄清:回滚=发布回滚(撤回线上产物)而非内容回滚(git 源文件不动)
  • 评估结论(待拍板):① workers.dev 镜像下线可行——主站首页 0 处 workers.dev 引用、API 全同源相对路径,镜像内容陈旧且有 SEO 重复风险;② chat 服务迁移 git pull 模式——现状 PM2 跑独立目录 /opt/knowledge-wiki-chat(git pull 不覆盖),迁移=指向内容中枢副本 + 发布尾部自动 restart;③ 重命名联动 wikilink 与构建失败通知列为可选项未实施
  • 评估结论实施(977cc0b9 + VPS 迁移):① chat 服务迁移 git pull 模式完成——PM2 从独立目录 /opt/knowledge-wiki-chat(8-23 前副本,git pull 不覆盖)切至内容中枢副本(迁移前 diff 确认核心代码零漂移;.env 拷贝 + npm ci npmmirror;health 200/token 401 认证正常;旧目录保留回退),runPublish 尾部新增第 5 步“重启 chat 服务(随发布生效)” best-effort 不阻断;② workers.dev 镜像确认下线——用户 Dashboard 核实 Production/Preview 路由本就 Disabled,外部访问 404 验证不可达,wrangler.toml 补 workers_dev=false 防误部署重启用(54fb8dc3);③ visitor-stats 同为独立目录 /opt/visitor-stats(后续同模式迁移候选);④ 重命名联动 wikilink/构建通知仍为可选未实施

[2026-09-22] infra | 图编辑器自托管与桥服务端化上线(P2)

  • 类型:infra(在线编辑平台 P2;方案 §4.5/§4.6,pinned 上游 cascode-ai/analog-canvas v0.9.2 commit 49d0647)
  • 摘要:/api 兼容层(/api/projects CRUD + preview.svg 完整对齐上游契约:me 未登录也 200 user:null、PUT if-match→428/409、2MB→413、同源写校验 403、未知 /api 兜底 404 绝不 401;本地 25 项端到端冒烟全过)→ 编辑器自托管(git archive 4.1MB 快车 + Node24/pnpm 11.16 构建 90s、vite CLI —base=/editor/ 零 fork 注入、产物 7.7MB 落 .admin-data/editor-static)→ 服务端桥(工作区内 knowledge-wiki-bridge.mjs:parseProject → renderDocumentSvg → 文本转路径 DejaVu 度量基准 + ICM Round Period 句号混排,opentype.js 经 createRequire 从 admin 解析保持上游零改动)→ 插入链路(/edit/ 工具栏图库弹层选工程插入 ```circuit-project 块 → 预览经 project-svg 端点内联 → Quartz 构建期 transformer 读 assets/circuits/.svg 黑色系转 currentColor + 白底移除上屏)
  • 踩坑修复:opentype.js 新版 loadSync 废弃且返回 undefined(改 parse(Buffer));font.getPath 的 GSUB shaping 撞 DejaVu lookupType 6 抛错(改 charToGlyph().getPath() 直取轮廓 + advanceWidth 手动推进)——三 fixture 实测文本元素全部归零
  • 端到端验证:字体验证工程 c-mucnuirx-8ac7d 保存即生成 preview.svg(36.8KB 全 path)→ 测试页 电路工程图测试 发布构建 84s → 线上 text=0/path=45/currentColor=70/白底=0
  • 待办:P3 打磨(移动端细化、发布回滚 UI、重命名联动 wikilink、workers.dev 处置)

[2026-09-22] infra | md 在线编辑器上线(P1)

  • 类型:infra(在线编辑平台 P1)
  • 摘要:/edit/ 全功能 md 编辑:CodeMirror 6(jsdelivr +esm 动态加载,失败回退 textarea)+ 文件树(新建/重命名/删除,git 可恢复)+ 保存(CRLF→LF + BOM 剥离 + commit+push best-effort)+ 图片上传(白名单落 assets/images/)+ 实时预览(marked 12 + KaTeX 0.16.11 + mermaid 11.4.0 + 既有 circuit 块经 chat 服务代理渲染)+ 发布按钮(异步入队 + 3s 轮询)+ 状态角标(未发布提醒)
  • 真机验收四轮修复:登录按钮 id 遮蔽(go 函数名覆盖隐式全局)、/edit/ 重定向循环(express 非严格尾斜杠匹配自吞)、nginx .css/.js 正则抢占 /edit/ 静态资源(^~ 前缀修复)、弹窗挡屏(CSS display:flex 覆盖 hidden 属性,补 [hidden]{display:none!important} 全局规则)

[2026-09-22] infra | 服务端在线编辑平台 P0 上线

  • 类型:infra(在线编辑平台基建;方案见仓库 EDITOR_PLATFORM_PLAN.md,grilling Q1–Q23 全量决策)
  • 摘要:nginx 漂移回收(线上 443/TLS 配置回收至 deploy/nginx.conf,消除 deploy.ps1 覆盖断站风险)→ TLS 切 Let’s Encrypt 自动续期(webroot /var/www/acme + reload 钩子;原 TrustAsia 手动 90 天证书退役)→ 未推历史清洗(26 提交中 ~1.2GB 环境垃圾 .miktex/.tmp_edge/edge-cdp-profile/.bench_py/安装包经 filter-branch 移除,reflog 可恢复,.gitignore 防复发)→ 内容中枢 /opt/knowledge-wiki-content(出境拥塞改走 git bundle 国内快车 241MB@3.1MB/s)→ 首次服务器构建上线(571 文件 67s、4347 文件 197MB、contentIndex 就绪)→ **baseUrl 切至 www.analogwiki.tech**(修正 Quartz 无协议约定导致的 og:url 双前缀)→ 管理服务 knowledge-wiki-admin 上线(3003/PM2,scrypt 登录 + HMAC 会话 + 发布队列 + 编辑器兼容层存根;nginx /edit/、/editor/ 与精确 /api 分流)
  • 修复三连:setup-admin.ps1 的 UTF-8 无 BOM 中文破坏 PS 解析(改 ASCII)、CRLF 远端 bash 断链(发送前剥离 CR)、scrypt 盐 hex 字符串/buffer 不匹配(登录失败根因)
  • 现状:主站由服务器构建产物服务;/edit/ 可登录(密码已交付);chat/stats 未受影响;workers.dev 镜像保留;IP 访问 301 至域名
  • 待办:P1 md 在线编辑(CodeMirror6 + 文件管理 + 发布 UI);P2 图编辑器自托管 + /api/projects 云端工程库 + 桥服务端化;P3 打磨

[2026-08-06] ingest | Rincon-Mora Voltage References 全量 Ingest

  • 类型:ingest
  • 素材:Gabriel A. Rincón-Mora《Voltage References: From Diodes to Precision High-Order Bandgap Circuits》(IEEE Press/Wiley, 2002, 184 页, 5 章),MinerU VLM 提取 → 按章节切分至 raw/books/IngestAlready/HK/RinconMora_VR_Split/(7 文件,242 块级公式/849 内联公式/65 图)
  • 摘要:电压参考专题专著全量摄入。新建来源页(214 行,5 章结构化摘要 + 跨来源定位表)。新建 2 个概念页:精密基准误差分析与输出级设计(Ch.4:Table 4.1 六误差源闭式公式、Example 4.1 RSS ±25.2mV、输出级三模式、PSR/pseudo-supply)、基准Trim封装应力与表征(Ch.5:trim TC 匹配原则/位数公式/三技术、package shift ΔV_BG=−V_T ln γ(ε) 抛物线 TC、TC/PSR/噪声表征规程)。融合更新 2 个概念页:低压曲率校正带隙基准(新增专著 Ch.3 六种前沿技术完整对比表)、偏置电路与电流基准(新增 Ch.2 四类电流生成器 + startup 两分类 + 频率补偿)。更新实体页:Gabriel Rincon-Mora(补本专著);电流镜页补 regulated cascode 反链。
  • 核心独特贡献:package shift 定量模型(塑封应力→少子浓度→基准压降 3–5 mV + 0.044 mV/°C 正 TC,封装后定标)、trim 电压 TC 必须匹配误差 TC、单温度点修调消线性误差的 0 K 依据、六误差源 RSS 合成例(Early 与镜像失配主导)、regulated reference/regulator 电流判据(1 μA/100 μA)、表征方法学(soak time/热滞回/电源降扫/PSR 增益级法/噪声平方和分解)
  • 触及页面:
  • 验收(coverage-report.mjs):覆盖率 100.0%(173/173 小节),关联页面 6 个。过程:首跑 0% 系锚定失败(页面 title/aliases 含连字符 “Rincon-Mora” 无法匹配目录关键词 “rinconmora”),给 6 个承载页面 aliases 补 RinconMora_VR_Split 锚定后升至 73.6%;再清理 frontmatter 切分产物噪声(出版社/版权/图清单等非知识行转引用块/列表,内容保留)、SKIP_SEC 增补 notes/index(与 references 同类)、补真实缺口(Ch.4/Ch.5 章定位、Appendix A.4 六误差源小节、Appendix B.5 三推导小节、Zener Zap、Preface/Summary/书名全称节、Fig. 1.2 题注)后达标。报告:wiki/analysis/coverage-RinconMora_VR_Split.md

[2026-08-06] ingest | Gardner Phaselock Techniques 全量深度 Ingest

[2026-06-18] ingest | Meynard Multicell DCDC Converters 全量 Ingest

[2026-06-18] lint | 双向链接全面整理

  • 类型:lint + 补充
  • 触及页面:~40
  • 摘要:对 KnowledgeWiki 299 页知识库进行双向链接全面检查与整理。主要成果:
    • 缺失目标修复:缺失链接从 58→22(修复 ~63%),通过添加 aliases 到现有页面解决名称不匹配问题
    • 别名添加:为 15 个概念页添加 20+ 个别名(反馈放大器稳定性与补偿、电流镜与有源负载、全差分运算放大器、DAC设计基础、数据加权平均(DWA)技术等)
    • 来源页别名:Pavan ΔΣ 来源页添加 12 个章节别名,修复 ~94 个断裂引用;Gray 来源页中文名别名;Márkus 拼写变体别名
    • 新实体页:创建 Nagendra Krishnapura、Floyd M. Gardner 两个 stub 实体页
    • 实体页链接补充:为 15+ 个实体页补充概念页链接(每个至少 3 概念 + 1 来源)
    • 概念页链接补充:为 10 个最稀疏概念页补充交叉引用链接
    • 来源页链接补充:为 Rosa、Pavan 2010 等低链接来源页补充概念页链接
    • 扫描脚本修复:修复 CRLF 行尾解析和 BOM 字符处理问题
    • 剩余 22 个缺失目标:CT-ΔΣ电路设计实现(4 ref)、集成电路频率响应(4 ref) 为规划中页面,其余 20 个为 1-ref 的规划页面
  • 触及页面:
    • 别名修改:反馈放大器稳定性与频率补偿、全差分运放与共模反馈、反馈放大器基础、BiCMOS技术HBT与互连、电流镜基础与Cascode电流镜、单管放大级、SCΔΣ调制器的高层设计与开关电容积分器、LDO稳压器设计技术、Jitter与Phase Noise高级统计概念、CIFF与CRFF前馈环路滤波器拓扑、DAC架构与动态性能、DAC失配问题与旋转选择DWA原理、集成电路噪声分析、失配整形与多bit ΔΣ调制器、采样开关与跟踪保持电路、非理想CT-ΔΣ调制器、CT-ΔΣ时钟抖动缓解与FIR反馈DAC、Pavan ΔΣ 数据转换器 深度解析、Gray_Analysis and Design of Analog Integrated Circuits 深度解析、Márkus 2004 Incremental ΔΣ Converters Theory 深度解析、index
    • 新建页面:Nagendra Krishnapura、Floyd M. Gardner
    • 链接补充实体页:Alan V. Oppenheim、Alan S. Willsky、Ali Sheikholeslami、Igor M. Filanovsky、Mark Ferriss、Pavan Kumar Hanumolu、Seonghwan Cho、Woogeun Rhee、David A. Johns、Kenneth W. Martin、Tony Chan Carusone、胡寿松、姜斌、张绍杰、Nicola Da Dalt、Robert N. Buono、Shanthi Pavan、Richard Schreier、Gabor C. Temes
    • 链接补充概念页:MOD1非线性行为与空闲音、ΔΣ调制器中的抽取与插值滤波、反馈控制原理与系统组成、控制系统数学模型、控制系统校正与设计、离散控制系统、线性系统时域分析、非线性系统分析
    • 链接补充来源页:Rosa Sigma-Delta Converters Practical Design Guide 深度解析、Pavan 2010 CT-ΔΣ Design Centering 深度解析

[2026-06-17] lint | 周度体检

  • 类型:lint
  • 触及页面:295(全库扫描)
  • 摘要:发现 5 个孤立页(1.7%),0 个矛盾点,100% 页面在 90 天内更新。整体健康状况优秀。详见 lint/lint-report-2026-06-17.md

[2026-06-17] ingest | Class-D Audio Power Amplifier Design 全书 23 章 Ingest

[2026-06-10] ingest | CTSDM 论文 12 篇全量 Ingest

[2026-06-10] ingest | 胡寿松 自动控制原理 第八版

  • 类型:books(原始 PDF 文件位置:raw/books/)
  • 触及页面:
  • 摘要:对胡寿松、姜斌、张绍杰《自动控制原理(第八版)》(科学出版社,2023)进行全量深度 Ingest。创建来源页:全书 10 章结构化摘要(基本信息表/逐章核心内容/关键公式/初学者要点/vs 已有来源定位对比)。创建 10 个概念页:Ch.1 反馈控制原理/方框图、Ch.2 传递函数/结构图/Mason 公式、Ch.3 一阶二阶高阶时域响应/Routh 判据/稳态误差、Ch.4 根轨迹绘制法则/广义根轨迹、Ch.5 Bode 图/Nyquist 判据/稳定裕度、Ch.6 PID 校正/串联超前滞后校正、Ch.7 采样定理/z 变换/脉冲传递函数、Ch.8 相平面法/描述函数法、Ch.9 状态空间/可控可观测/Lyapunov/极点配置、Ch.10 变分法/极小值原理/LQR。创建 3 个实体页(胡寿松/姜斌/张绍杰)。全部关键公式使用 KaTeX 格式并核验。
  • 内容总量:1 来源页 + 10 概念页 + 3 实体页
  • 核心独特贡献:经典控制理论三域分析法完整体系(时域→复域→频域递进)、现代控制理论基础(状态空间/可控可观测/极点配置)、LQR 最优控制与 Riccati 方程、非线性系统相平面与描述函数、离散控制系统完整 z 域分析、中国控制理论教材经典范式

[2026-06-09] ingest | Oppenheim Signals and Systems 2e 全书 Ingest

  • 类型:books(原始 PDF 文件位置:raw/books/Basic/)
  • 触及页面:
  • 摘要:对 Oppenheim & Willsky《Signals and Systems》第 2 版(Prentice Hall, ~940 页, 11 章 + 附录)进行全量深度 Ingest。创建来源页:全书 11 章结构化摘要(基本信息表/逐章核心内容/关键公式/初学者要点/vs 已有来源定位对比表)。创建 9 个概念页:Ch.1 信号分类与系统性质、Ch.2 LTI 系统与卷积、Ch.3 傅里叶级数与 Gibbs 现象、Ch.4 CTFT 性质与对偶、Ch.5 DTFT 性质与对偶、Ch.6 Bode 图/群延迟/Butterworth、Ch.7 采样定理/ZOH/混叠/抽取插值、Ch.8 AM/FM/PAM/TDM/FDM 通信、Ch.9+10 Laplace/z 变换 ROC 与系统函数。创建 2 个实体页(Alan V. Oppenheim/Alan S. Willsky)。更新 4 个已有概念页:离散时间信号与系统(修复重复内容 + Ch.10 对偶性补充)、采样理论基础(ZOH 模型/CT→DT→CT 等价性对比表)、反馈放大器基础(root-locus 角度判据/Nyquist CT&DT/增益-相位裕度)、滤波器类型对比与选择(Butterworth 幅度平方函数/最大平坦性/极点分布)。30+ 关键公式全部核验(能量功率定义/卷积/傅里叶级数/CTFT-DTFT 性质/采样定理/Laplace-z ROC 规则/root-locus)。所有公式使用 KaTeX 格式。
  • 内容总量:1 来源页 + 9 新概念页 + 2 实体页 + 4 个已有概念页增量
  • 核心独特贡献:CT/DT 信号与系统完整理论框架(Martin/Gardner 仅覆盖片段)、傅里叶级数收敛性与 Gibbs 现象系统分析、CTFT-DTFT 对偶性统一视角、Bode 图与群延迟的系统讲解、采样定理三种视角(冲激串/ZOH/DT 采样)、通信系统全貌(AM/FM/PAM/TDM/FDM,IC 教材不涉及)、Laplace/z 变换 ROC 与极零点几何求值、Root-locus/Nyquist 经典反馈分析方法(区别于 IC 教材的 Return Ratio 方法)

[2026-06-08] ingest | Kok CMOS Voltage References 全书 Ingest

  • 类型:books(PDF 附件覆盖 TOC 8 章 + Ch.1 全文 + Ch.2 起始)
  • 触及页面:
  • 摘要:对 Kok/Tam《CMOS Voltage References: An Analytical and Practical Perspective》(Wiley, 2013, 289 页) 全书 8 章进行全量深度 Ingest。创建来源页(178 行):全书 8 章结构化摘要,含跨来源对比表(vs Gray §4.7/Sansen §16/Rincon-Mora/Martin §7.4/Pertijs Ch.3)。创建 2 个新概念页:CMOS 电压参考系统设计与误差分析(β-multiplier 带隙框架/6 类误差源/5 种 trimming/MOSFET 温度特性/器件匹配统计)、温度补偿与亚1V 基准设计技术(V_GS 补偿/亚1V 方案/高阶曲率校正/piecewise linear/multi-V_th/无电阻基准)。更新 1 个已有概念页:偏置电路(亚阈值 ΔV_GS/V_GS 双温度特性/器件匹配统计)。新建 2 个实体页(Chi-Wah Kok/Wing-Shan Tam)。所有公式使用 KaTeX 格式,Eq.1.1-1.46 全部核验。
  • 内容总量:新建来源页 178 行 + 2 实体页 67 行 + 2 新概念页 507 行 + 1 个已有概念页 ~28 行增量 + 元数据 ~5 行
  • 核心独特贡献:MOSFET 亚阈值 ΔV_GS,sub PTAT 源(ζ_n 因子修正)、V_GS 双温度特性(亚阈值 CTAT/饱和 PTAT/ZTC)、6 类误差源系统化分析、5 种 trimming 技术、纯 CMOS 亚1V 方案(weighted ΔV_GS/multi-V_th)、无电阻电压参考、器件匹配统计模型(串并联 + 梯度误差)

[2026-06-08] ingest | Hu CMOS High Efficiency On-chip Power Management 全书 Ingest

  • 类型:books(PDF 附件覆盖 TOC 5 章 + Preface + Ch.1 全文 + Ch.2 全文 + Ch.3 §3.1-3.2)
  • 触及页面:
  • 摘要:对 Hu/Ismail《CMOS High Efficiency On-chip Power Management》(Analog Circuits and Signal Processing, Springer, 2011, 119 页) 全书 5 章进行全量 ingest。创建来源页(155 行):5 章结构化摘要,含 vs Rincon-Mora/Ivanov/Gray/Allen/Kok 定位表、跨来源对比总表。创建 2 个新概念页:系统级电源管理与睡眠模式效率(绿色电子框架/DVFS/AVS/sleep mode 主导性/泄漏电流模型/power chain 分析/DC-DC 替代 LDO 省电量化)、电容无LDO与开关变换器轻载效率(LDO vs HDO 四维对比/capacitor-free LDO/input current-differencing/轻载效率 roll-off/long-sleep model)。更新 LDO稳压器设计技术:追加 Hu 补充(LDO vs HDO/capacitor-free/sleep-mode ready)。新建 2 个实体页(John Hu/Mohammed Ismail)。所有公式使用 KaTeX 格式,Eq.1.1-3.5 全部核验。
  • 内容总量:新建来源页 155 行 + 2 实体页 69 行 + 2 新概念页 404 行 + 1 个已有概念页 ~19 行增量 + 元数据 ~5 行
  • 核心独特贡献:Sleep mode 效率主导性论断(系统总功耗趋近 sleep mode)、DC-DC 替代 LDO 省电量化分析(60% DC-DC → 20-35% 电池电流节省)、LDO vs HDO 系统化四维对比、Capacitor-free LDO input current-differencing、Long-Sleep Model 轻载高效 DC-DC、电源管理八角图

[2026-06-08] ingest | Ivanov Any-Load Stable LDO Design 论文 Ingest

  • 类型:papers(Analog Circuit Design, Springer, 2009, 20 页)
  • 触及页面:
  • 摘要:对 Ivanov “Design Methodology and Circuit Techniques for Any-Load Stable LDOs” (Analog Circuit Design, Springer, 2009) 论文全量 ingest。创建来源页(166 行):8 节结构化摘要,含 3 款芯片实例规格表、vs Rincon-Mora/Hazucha/Martin 定位表、跨来源对比总表。创建 1 个新概念页:结构设计方法论与多环路 LDO(四步设计流程/信号流图/current-input amplifier/单极点无条件稳定/memory retention LDO/multiloop any-load stable 架构/噪声曲线塑形/step response boosting/class AB 变增益/dumping factor 稳定性验证)。更新 LDO稳压器设计技术:追加 Ivanov 补充(multiloop nested/stage nesting/5ns 瞬态)。所有公式使用 KaTeX 格式,FOM + 稳定性关系式全部核验。
  • 内容总量:新建来源页 166 行 + 1 新概念页 288 行 + 1 个已有概念页 ~25 行增量 + 实体页/元数据 ~6 行
  • 核心独特贡献:结构设计方法论四步流程、单极点环路无条件稳定原理、stage nesting 替代级联、step response boosting(5ns)、噪声曲线塑形、dumping factor 替代 phase margin、FOM=0.003

[2026-06-08] ingest | Rincon-Mora Current Efficient Low Voltage LDO Regulators 全书 Ingest

  • 类型:books(PDF 附件覆盖 TOC 8 章 + Foreword + Summary + Ch.1 全文 + Ch.2 全文 + Ch.3 至 §3.1)
  • 触及页面:
  • 摘要:对 Rincon-Mora《Current Efficient, Low Voltage, Low Drop-Out Regulators》(Georgia Tech PhD Thesis, 1996, Allen 指导, 175 页) 全书 8 章进行全量深度 Ingest。创建来源页(191 行):全书 8 章结构化摘要,含跨来源对比表(vs Martin §7.4/Sansen §16/Allen/Gray/Razavi)。创建 2 个新概念页:LDO 稳压器设计技术(三极点一零点频率模型/瞬态 slew-rate 分析/4 种拓扑/current efficient buffer/composite pass device/保护电路/MOSIS 2μm 验证)、低压曲率校正带隙基准(5 种曲率校正技术/V/I/IV-mode 输出/pre-regulated supply/trimming)。更新 1 个已有概念页:偏置电路(完整极零点模型/slew-rate 折衷/current efficient buffer)。新建 1 个实体页(Gabriel Rincon-Mora)并更新 1 个实体页。所有公式使用 KaTeX 格式,Eq.1.1-3.2 全部核验。
  • 内容总量:新建来源页 191 行 + 1 实体页 37 行 + 2 新概念页 438 行 + 1 个已有概念页 ~34 行增量 + 元数据 ~5 行
  • 核心独特贡献:LDO 三极点一零点完整频率模型(Martin 仅定性)、瞬态 slew-rate 显式公式(/ )、current efficient buffer(load-dependent biasing)、5 种曲率校正技术系统分类、IV-mode 输出结构、MOSIS 2μm CMOS 芯片验证

[2026-06-08] ingest | Pertijs Precision Temperature Sensors in CMOS Technology 全书 Ingest

  • 类型:books(PDF 附件覆盖 TOC 全部 8 章 + Ch.1 全文 + Ch.2 至 §2.8.1)
  • 触及页面:
  • 摘要:对 Pertijs/Huijsing《Precision Temperature Sensors in CMOS Technology》(Springer, 2006, 297 页) 全书 8 章进行全量深度 Ingest。创建来源页(164 行):全书 8 章结构化摘要,含跨来源对比表(vs Gray/Bakker/Meijer/Huijsing 失调消除/Pavan ΣΔ)。创建 2 个新概念页:CMOS 智能温度传感器原理(比率测温/曲率校正/CGDB/DEM/串联电阻补偿)、CMOS 温度传感器 ΣΔ ADC 与电路实现(charge balancing/动态误差滤波/CT vs SC/三种校准)。更新 2 个已有概念页:双极晶体管(substrate pnp vs lateral pnp/piezojunction 应力/串联电阻建模)、偏置电路(PTAT bias/比率曲率校正/DEM 电流密度比)。新建 1 个实体页(Michiel Pertijs)并更新 3 个实体页。所有公式使用 KaTeX 格式,Eq.2.1-2.64 全部核验。
  • 内容总量:新建来源页 164 行 + 1 实体页 37 行 + 2 新概念页 427 行 + 2 个已有概念页 ~156 行增量 + 元数据 ~6 行
  • 核心独特贡献:CMOS 寄生 substrate pnp 完整建模(应力/串联电阻/Early)、比率曲率校正(数字域校正 vs 模拟域复杂电路)、±0.1°C 原型芯片(当时 CMOS 最佳)、三种低成本校准技术(秒级完成)

[2026-06-08] ingest | Hybrid PLL Papers 10 篇全量 Ingest

[2026-06-05] ingest | Razavi Design of CMOS Phase-Locked Loops 全书 Ingest

  • 类型:books(PDF 附件覆盖 Ch.1 前 33 页 + 全书 15 章目录结构)
  • 触及页面:
  • 摘要:对 Razavi《Design of CMOS Phase-Locked Loops》(Cambridge, 2020) 全书 15 章进行全量深度 Ingest。创建来源页(364 行):全书 15 章结构化摘要,每章包含核心公式和跨来源对比,包含与 Gardner/DaDalt/Razavi Analog 的定位差异对比表。创建 4 个新概念页:数字 CMOS PLL 架构与 TDC-DCO 设计(TDC 量化噪声/DCO 矩阵架构/数字环路滤波器)、延迟锁定环 DLL 原理与设计(一阶系统/多相位生成/频率倍增/PI-based DLL)、时钟与数据恢复 CDR 原理(Bang-bang/Alexander/Hogge PD/半速率/无振荡器 CDR/jitter 特性)、频率分频器设计(静态/动态锁存器/双模预分频/Miller/注入锁定/分数分频)。更新 8 个已有概念页:振荡器设计(Barkhausen/环形/LC/ISF/VCO模型)、Jitter 与相位噪声关系(窄带 FM 局限性)、电路中 jitter(环形/LC 振荡器定量分析)、PLL 基本结构(PFD/CP 级联/二阶 Type2)、PLL 鉴相器(PFD 状态机/死区消除)、环路滤波器与 CP-PLL(CP 非理想效应/Ch.9 设计实例)、相位噪声对 PLL 影响(6 类噪声源分别整形)、PLL 频率合成器( 分数-N 电路级分析/DAC 前馈/DTC 噪声消除)。所有新增内容标注「📕 Razavi PLL 补充」并附跨来源差异对比(vs Gardner/DaDalt/Sansen/Baker)。
  • 内容总量:新建来源页 364 行 + 4 个新概念页 ~1004 行 + 8 个已有概念页 ~350 行增量
  • 核心独特贡献:CMOS 电路级 PLL 设计视角(区别于 Gardner 系统级理论)、TDC/DCO 量化噪声分析、DLL 多相位/频率倍增、CDR Bang-bang 统计线性化、 PLL 离散时间模型与噪声消除技术

[2026-06-05] ingest | Rosa Sigma-Delta Converters Practical Design Guide 全书 Ingest

  • 类型:books(PDF 附件覆盖 TOC 全部 10 章 + Ch.1 全文)
  • 触及页面:
  • 摘要:对 Rosa《Sigma-Delta Converters: Practical Design Guide》(Wiley, 2nd ed., 2018, 523 页) 全书 10 章进行全量深度 Ingest。创建来源页(292 行):全书 10 章结构化摘要,含跨来源对比表(vs Pavan/Schreier/Temes、vs Norsworthy、vs Ortmanns)。创建 4 个新概念页:行为建模与 SIMSIDES 仿真器、自动设计与 MOEA 优化、电气宏模型与子电路设计、芯片实现与三个设计案例。更新 27 个已有概念页,每页追加「📙 Rosa 补充」并附 vs Pavan 差异定位。所有公式使用 KaTeX 格式。
  • 内容总量:新建来源页 292 行 + 1 实体页 59 行 + 4 新概念页 799 行 + 27 个已有概念页 ~950 行增量
  • 核心独特贡献:SIMSIDES 行为仿真器(Ch.5,Pavan 无)、MOEA 多目标优化(Ch.6,Pavan 无)、完整宏模型库(Ch.7)、芯片实现案例与 Layout 方法论(Ch.9)、500+ IC 统计分析(Ch.10)

[2026-06-05] ingest | Ivanov Operational Amplifier Speed and Accuracy Improvement 全量 Ingest

  • 类型:books(原始 PDF 文件位置:raw/books/Analog/Ivanov_Operational Amplifier Speed and Accuracy Improvement.pdf)
  • 触及页面:
  • 内容总量:PDF ~168 页 → 73230 行提取文本 → 来源页 117 行 + 2 实体页 60 行 + 4 个概念页 ~100 行增量
  • 核心独特贡献:结构设计方法论与信号流图(Ch.2)、OpAmp 偏置电路系统分类(Ch.3)、增益结构与频率补偿统一框架(Ch.4)、特殊功能电路专题(Ch.8)

[2026-06-05] ingest | Martin Analog Integrated Circuit Design 2e 全量 Ingest 完成

  • 类型:books(原始 PDF 文件位置:raw/books/Analog/Martin_Analog integrated Circuit Design.pdf)
  • 触及页面:
  • 摘要:Martin 全书 Ingest 全部 4 个批次完成。批次3 增强 5 个已有概念页(~140 行增量),覆盖频率响应方法、LDO 稳压器、Gummel-Poon 建模、动态范围与非线性度量统一框架。批次4 增强 6 个已有概念页(~245 行增量),覆盖 MOSFET-C CT 滤波器、CDS/SC 增益电路、分段 DAC 设计方法、比较器再生锁存完整理论、Nyquist ADC 系统级设计(两步式/Flash/Pipeline/TI)。所有增量内容标注「📘 Martin 补充」并附跨来源差异定位对比表。
  • 内容总量:PDF 822 页 → 52691 行提取文本 → 来源页 206 行 + 3 实体页 104 行 + 2 新概念页 ~200 行 + 11 个概念页 ~490 行增量

[2026-06-05] ingest | Sansen 模拟集成电路设计精粹 全量 Ingest

[2026-06-05] ingest | Huijsing Operational Amplifiers Theory and Design 3e 全量 Ingest

[2026-06-05] ingest | Huijsing Precision Instrumentation Amplifiers 全量 Ingest

  • 类型:books(原始 PDF 文件位置:raw/books/Analog/Huijsing_Precision Instrumentation Amplifiers and Read-Out Integrated Circuits.pdf)
  • 触及页面:
  • 内容总量:PDF 198 页 → 10171 行提取文本 → 来源页 277 行 + 概念页 +120 行 + 实体页新建/更新
  • 核心独特贡献:ORL(无噪声折叠斩波纹波抑制)、GERL(无修调高增益精度)、CFIA+ΣΔ Read-Out IC 系统集成、输入级斩波+系统级斩波组合方案

[2026-06-05] ingest | Huijsing Dynamic Offset Compensated CMOS Amplifiers 全书补充 Ingest

  • 触发原因:首次 Ingest 使用的附件内容在 §3.3.3 被截断,从 PDF 文件做了完提取并补充 Ch.3(§3.3.4-3.5) + Ch.4-7 + Appendix A
  • 触及页面:
    • 失调消除技术(§3.3.4 纹波滤波器 A/B 两种实现含残余失调公式 + §3.3.5 Chopped+AZ 详细噪声 PSD + §3.4/§3.4.1 CHOSCH/迭代偏移稳定 13 级架构 + §3.5 Table 3-1 七种拓扑比较 + 扩展对比表补充 4 种新技术行)
    • 精密仪表放大器(§4.2.1 斩波 IA 含动态匹配增益误差公式 + §4.2.2 AZ IA 两种实现:辅助输入型/输入失调存储型 + §4.2.3-4.2.6 Ping-pong/Ping-pong-pang/偏移稳定 IA 3 种变体/CHOSCH IA + Ch.5-Ch.6 完整测量结果含偏移统计/CMRR/PSRR/对比表)
    • Huijsing Dynamic Offset Compensated CMOS Amplifiers 深度解析(Ch.5 两个运放实现含完整偏移统计表(5 种配置 19 样本)、设计细节含晶体管级跨导值/电流分布、§5.2/§5.3 功耗/噪声/GBW 完整对比 + Ch.6 两个 IA 实现含 Table 6-1 电流分布、Table 6-2 vs LTC6102 对比表 + Ch.7 结论-未来方向-热电势效应限制 + Appendix A 斩波器版图方案定量残余失调估计(=2 μV/fF)/同轴时钟屏蔽/版图实例)
  • 内容总量:PDF 178 页 → 8340 行文本 → 失调消除技术 +106 行(Ch.3)、精密仪表放大器 +95 行(Ch.4+Ch.6)、来源页 +116 行(Ch.5-7+App.A)

[2026-06-05] ingest | Huijsing Dynamic Offset Compensated CMOS Amplifiers 全书 Ingest

  • 类型:books(PDF 文件位置:附件 Huijsing_Dynamic Offset Compensated CMOS Amplifiers.pdf)
  • 触及页面:
    • 来源页:Huijsing Dynamic Offset Compensated CMOS Amplifiers 深度解析
    • 概念页合并标注:失调消除技术(Ch.1 折叠共源共栅失调表达式 + Ch.2 AZ 三种实现/噪声折叠全推导 + Ch.2 Chopping 电荷注入定量模型 -/反馈网络斩波纹波 + Ch.2 Chopped AZ + Ch.2 开关非理想性/Nested Chopping/Spike Filtering/Guard Band + Ch.3 Ping-pong/AZ Offset-stabilized/Chopper Offset-stabilized/频率补偿 + 扩展对比表含 7 种技术)、精密仪表放大器(Ch.4 间接电流反馈 IA + 7 种动态补偿 IA 架构对比 + Ch.6 低失调 ICF IA + 高压电流检测放大器实现)、差分放大器与失调分析(Ch.1 折叠共源共栅完整失调表达式 vs Gray 差分对公式差异)
    • 实体页新增:Kofi Makinwa、Johan F. Witte
    • 实体页更新:Johan Huijsing(新增合作者链接和来源页链接)
  • 摘要:对 Witte/Makinwa/Huijsing《Dynamic Offset Compensated CMOS Amplifiers》(Springer 2009)全书 7 章 + 附录进行全量深度 Ingest。创建来源页(158 行),按 7 章 + 附录逐章详解含跨来源对比表(vs Gray/Razavi/Sansen)。无新概念页创建,全部合并到 3 个已有概念页(失调消除技术、精密仪表放大器、差分放大器与失调分析),新增 2 个作者实体页(Kofi Makinwa、Johan F. Witte),更新 1 个实体页(Johan Huijsing)。所有新增内容均附跨来源差异标注,突出本书核心贡献:Chopper Offset-stabilized 运放(区别于商用”Chopper-stabilized” AZ offset-stabilized)、间接电流反馈 IA 系统覆盖(Gray/Razavi/Allen/Sansen 均未覆盖)、斩波电荷注入定量模型(- 交叉耦合)。

[2026-06-05] ingest | Baker CMOS 电路设计版图与仿真 3e 全量 Ingest

[2026-06-05] ingest | Allen 3e PDF 全量文本提取与概念页深度补充

  • 类型:books(PDF 全量文本提取)
  • 触及页面:
  • 摘要:对 Allen 3e PDF(783 页,9.7 MB)进行完整文本提取与章节拆分。基于提取文本系统检查各章内容,新增 5 个概念页的 Allen 3e 补充标注:Flash ADC 与比较器设计(两阶开环设计步骤/自动调零/高速再生锁存,含 EE247 vs Allen 对比)、反馈放大器基础(PSRR 正负电源抑制比系统分析 /、 对 PSRR 的高频退化效应)、反馈放大器稳定性与频率补偿(自补偿/Miller/前馈/Cascode 四类分类框架、“补偿优先”设计哲学)、CMOS 工艺与器件(深 N 阱隔离 DNW、STI/Salicide 流程、多栅氧技术、MOS 电容三种工作模式)、IC 制造基础工艺(CMP 全局平面化、正/负光刻胶选择、完整光刻流程)。所有新增内容均附跨来源对比(vs Gray/Razavi/EE247),标注各材料的差异定位。

[2026-06-05] ingest | Allen CMOS Analog Circuit Design 3e 全量 Ingest

[2026-06-05] ingest | Razavi Design of Analog CMOS ICs 第 2 版全量 Ingest

  • 类型:books(原始 PDF 文件位置:raw/books/Analog/Razavi_Design Analog CMOS ICs 2ed.pdf)
  • 触及页面:
  • 摘要:对 Razavi《Design of Analog CMOS Integrated Circuits》第 2 版(McGraw-Hill, 2016)全书 19 章进行全量深度 Ingest。来源页完整重写(460→935 行):修正为 19 章真实结构(第一版仅 16 章),增加第 11 章(纳米设计研究)、第 17 章(短沟道效应与器件模型)、第 18 章(CMOS 工艺技术)、第 19 章(版图与封装)的全新解析,每章包含核心公式、独特分析和跨来源对比(vs Gray/Pavan/Baker)。10 个已有概念页 新增 Razavi 补充标注,覆盖:Bode 分析法与 Middlebrook 方法(Razavi §8.6-8.7,第 2 版新增)、Nyquist 稳定判据系统讲解(§10.8,第 2 版新增)、Gain Boosting 技术(§9.4,Razavi 标志性贡献)、Scaling Theory/BSIM 模型/工艺角分析(§17.1-17.4,全新章节)、低电压带隙技术(§12.7,第 2 版新增)、28nm Telescopic 设计例题(§11.5,独有内容)、FinFET 附录(§2A)、非线性与线性化技术(§14.1)。无新概念页创建,全部合并到已有页面。

[2026-06-05] ingest | Barkely EE247 课程讲义全量深度 Ingest

[2026-06-05] ingest | Gray 模拟集成电路 Ch.12 全量 Ingest

[2026-06-05] ingest | Gray 模拟集成电路 Ch.11 全量 Ingest

[2026-06-05] ingest | Gray 模拟集成电路 Ch.10 全量 Ingest

[2026-06-05] ingest | Gray 模拟集成电路 Ch.9 全量 Ingest

[2026-06-05] ingest | Gray 模拟集成电路 Ch.8 全量 Ingest

  • 类型:ingest
  • 触及页面:Gray 模拟集成电路分析与设计 深度解析、反馈放大器基础、单管放大级、两级Miller运放设计、运算放大器设计
  • 摘要:对 Gray《Analysis and Design of Analog Integrated Circuits》第 5 版第 8 章(Feedback)进行全量深度 Ingest。创建 1 个概念笔记,覆盖:§8.2 反馈方程(A_f=A/(1+Aβ)/闭环增益精度/带宽扩展/失真降低)、§8.3 Return Ratio 与 Blackman 公式(Z_cl=Z_op·(1+RR_sc)/(1+RR_oc))、§8.4 四类反馈拓扑(串-并/并-并/串-串/并-串的增益类型/Z_in/Z_out 变化规律)、§8.5 加载效应(反馈网络对基本放大器输入端和输出端的加载)。与 Ch.3 单管放大级和 Ch.6 运放知识建立双向链接。

[2026-06-05] ingest | Gray 模拟集成电路 Ch.7 全量 Ingest

[2026-06-05] ingest | Gray 模拟集成电路 Ch.6 全量 Ingest

[2026-06-05] ingest | Gray 模拟集成电路 Ch.5 全量 Ingest

[2026-06-05] ingest | Gray 模拟集成电路 Ch.4 全量 Ingest

[2026-06-05] ingest | Gray 模拟集成电路 Ch.3 全量 Ingest

[2026-06-05] ingest | Gray 模拟集成电路 Ch.2 全量 Ingest

[2026-06-05] ingest | Gray 模拟集成电路 Ch.1 全量 Ingest

[2026-06-05] ingest | Gardner Phaselock Techniques 全书 Ingest

[2026-06-05] ingest | DaDalt Jitter and Phase Noise 全书 Ingest

[2026-06-02] ingest | Pavan ΔΣ 数据转换器 Ch.12 全量 Ingest

[2026-06-02] ingest | Pavan ΔΣ 数据转换器 Ch.10 全量 Ingest

[2026-06-02] ingest | Pavan ΔΣ 数据转换器 Ch.9 全量 Ingest

  • 类型:ingest
  • 触及页面:Pavan ΔΣ 数据转换器 Ch.9 深度解析、CT-ΔΣ过量延迟分析与补偿、CT-ΔΣ时间常数变化与时钟抖动、CT-ΔΣ时钟抖动缓解与FIR反馈DAC、CT-ΔΣ比较器亚稳态分析
  • 摘要:对 Pavan《Understanding Delta-Sigma Data Converters》第 2 版第 9 章进行全量深度 Ingest。创建 1 个素材摘要导航页、4 个概念页,覆盖 CT-ΔΣ 调制器的四大非理想因素——过量延迟(ELD,含 CT-MOD1/MOD2/高阶 Taylor 级数通用补偿方法 / 直接路径 / 四阶设计实例)、时间常数变化(Bode 灵敏度积分/RC 调谐环)、时钟抖动(DT vs CT 机制差异 / NRZ/RZ/单比特/相位噪声分析 / 1-bit vs 16-level 示例)、时钟抖动缓解(冲击 DAC / SC DAC / FIR 反馈 DAC 的矩方法系数修正与 NTF 恢复)、比较器亚稳态(StrongARM 再生模型 / 信号相关延迟 / 半周期延迟/多比特/FIR DAC 缓解策略)。与 Ch.8 深度解析、CT-ΔΣ 调制及 4 个 Ch.8 概念页建立双向链接。

[2026-06-02] ingest | Pavan ΔΣ 数据转换器 Ch.8 全量 Ingest

  • 类型:ingest
  • 触及页面:Pavan ΔΣ 数据转换器 Ch.8 深度解析、CT-ΔΣ调制基础与一阶CT-MOD1、高阶CT-ΔΣ调制与DAC脉冲形状效应、CT-ΔΣ环路滤波器拓扑与建模方法、CT-ΔΣ设计实例
  • 摘要:对 Pavan《Understanding Delta-Sigma Data Converters》第 2 版第 8 章进行全量深度 Ingest。创建 1 个素材摘要导航页、4 个概念页,覆盖 CT-ΔΣ 调制基础与一阶 CT-MOD1(脉冲不变变换/隐含反混叠/STF 零点/s=ln(z) 极点映射)、高阶 CT-ΔΣ 调制与 DAC 脉冲形状效应(CT-MOD2 系数求解/DAC 脉冲矩/Pavan 矩方法/N 阶推广)、CT-ΔΣ 环路滤波器拓扑与建模方法(CIFB/CIFF/CIFF-B/CRFB 拓扑对比/状态空间离散化/动态范围缩放)、CT-ΔΣ 设计实例(三阶 CIFF 从 NTF 综合→DT 环路滤波器→CT 系数→仿真验证→动态范围/频率缩放的完整 MATLAB 流程)。与 Ch.1/Ch.7 及 CIFB/CIFF/CT-ΔΣ 调制等 5 个已有页面建立双向链接。

[2026-06-02] ingest | Pavan ΔΣ 数据转换器 Ch.7 全量 Ingest

[2026-06-02] ingest | Pavan ΔΣ 数据转换器 Ch.6 全量 Ingest

  • 类型:ingest
  • 触及页面:Pavan ΔΣ 数据转换器 Ch.6 深度解析、DAC失配问题与旋转选择DWA原理、旋转实现与替代失配整形拓扑、高阶失配整形原理、三电平分段DAC与过渡误差整形
  • 摘要:对 Pavan《Understanding Delta-Sigma Data Converters》第 2 版第 6 章进行全量深度 Ingest。创建 1 个素材摘要导航页、4 个概念页,覆盖 DAC 失配问题与旋转选择 DWA 原理(数字校正 vs 盲整形/2 元素推理/M 元素旋转/MNP 公式/杂散良率分析)、旋转实现与替代失配整形拓扑(对数移位器/参考加扰/Butterfly Shuffler/A-DWA/Bi-DWA/树形 ESL/Welz-Galton 无 tone 证明)、高阶失配整形原理(向量基 VQ/MTF(z) 系统方程/稳定性约束/树形二阶/Signal-dependent MNP 对比)、三电平分段 DAC 与过渡误差整形(三电平 DEM/分段加扰/CT DAC 非线性建模/过渡误差一阶整形/组合 MS+TES)。与 Ch.1 及已有页面建立双向链接。

[2026-06-02] ingest | Pavan ΔΣ 数据转换器 Ch.5 全量 Ingest

[2026-06-02] ingest | Pavan ΔΣ 数据转换器 Ch.4 全量 Ingest

[2026-06-02] ingest | Pavan ΔΣ 数据转换器 Ch.3 全量 Ingest

[2026-06-02] ingest | Pavan ΔΣ 数据转换器 Ch.2 全量 Ingest

[2026-06-02] ingest | Pavan ΔΣ 数据转换器 Ch.1 全量 Ingest

[2026-06-02] query | Razavi 书籍深度解析

[2026-06-02] lint | 公式格式统一

[2026-06-02] ingest | Analog IC Design 经典教材

[2026-06-02] setup | 项目初始化

  • 类型:setup
  • 触及页面:KnowledgeWiki 内容索引
  • 摘要:KnowledgeWiki 项目 Phase 1 完成。创建完整目录结构(raw/wiki/schema)、编写 AGENTS.md 操作规则、命名约定、三个工作流文档(Ingest/Query/Lint),初始化内容索引和操作日志。