文章目录
- [开发日志 2026-08-12(周三)](#开发日志 2026-08-12(周三))
-
- 今日概览
- 一、桌面客户端:批量任务失败重试与生产空白页修复(客户项目A)
- 二、国产化报告下载前端化(客户项目A)
- [三、LLM 分类提示词升级 + 分类 ID 层级校验(客户项目A)](#三、LLM 分类提示词升级 + 分类 ID 层级校验(客户项目A))
- [四、LLM 用量数据 vs 上下文切分线校准(客户项目A)](#四、LLM 用量数据 vs 上下文切分线校准(客户项目A))
- [五、skill 仓库更新(工作区:skill)](#五、skill 仓库更新(工作区:skill))
- [六、crawlab AGENTS.md](#六、crawlab AGENTS.md)
- [七、release-arm64 Drone 构建监控(客户项目A)](#七、release-arm64 Drone 构建监控(客户项目A))
- [八、llm-token-server 模型映射与滚动更新](#八、llm-token-server 模型映射与滚动更新)
- 九、子代理协作与已知问题
- 复盘与后续
开发日志 2026-08-12(周三)
今日概览
今天共产生 15 个 Codex 会话,主要工作:
- 桌面客户端批量任务失败重试 + 生产空白页修复 + 0.1.4 / 0.1.5 安装包打包
- 国产化报告下载前端化(后端 Pandoc 转换服务下线)
- LLM 分类提示词升级与分类 ID 层级校验
- LLM 用量数据与上下文切分线校准分析
- skill 仓库更新(release 输出配置修改内容、md-export 表格线框 / 仿宋、新增 dev-doc)
- crawlab AGENTS.md 贡献指南
- release-arm64 分支 Drone 构建监控(一次失败后重跑成功)
- llm-token-server 模型映射与滚动更新确认
- 子代理协作(spawn / wait)与 DeepSeek 消息信封已知问题
一、桌面客户端:批量任务失败重试与生产空白页修复(客户项目A)
背景
用户反馈:批量开始任务无法处理,只能一个个点击;生产环境安装包打开后是空白页。
排查过程(假设-验证)
- 拉取生产数据库分析「失败任务」逻辑:上一批批处理程序崩溃退出后,未运行到的任务没有 agent session,批量开始按钮无法处理它们;
- 确认规则:批量任务中没有 session ID 的(即上一批还没处理到的)可以直接处理,不需要兜底 / 保留策略;
- 空白页根因:安装包默认配置指向本地环境,生产机连不上自然白屏。
修复与产出
- config.yaml 默认改为 production(提交
fa24860,推送 origin/main); - Parallels Windows 虚拟机拉取代码后用 bun 构建,产出 NSIS x64 安装包 0.1.4(约 211MB,记录 SHA256);
- 生产机处理:覆盖安装(沿用安装路径、保留数据目录),或先设 profile 环境变量指向 production 立即恢复;
- 后续把「第 0 步:打包前先升版本号」写进 AGENTS.md 的 Windows 打包流程,并打出 0.1.5 安装包(与 VM 产物逐字节核对一致,未触发多余重建)。
附带
- 答疑:worktrees 的使用场景;
- 盘点项目里旧数据的迁移代码。
二、国产化报告下载前端化(客户项目A)
背景
国产化报告 PDF 导出沿用后端 Pandoc 转换服务,目标与 8/10 已完成的业务模块报告一致:改由前端下载,后端服务下线。
做法
- 对照 8/10 已合入的前端 PDF 实现(pdf.tsx)确认能力已具备,避免重复造轮子;
- 确认对应前端页面后接前端下载,后端 Pandoc 转换服务下线删除;
- 相关修复一并入库:结构化数据状态筛选兼容 NULL 历史记录、列表增加创建时间筛选等。
产出
后端仓库A / 前端仓库A 提交推送完成,工作区干净。
三、LLM 分类提示词升级 + 分类 ID 层级校验(客户项目A)
背景
提交 80d7a4c 的提示词升级没有同步到配置数据库。
旧提示词暴露的问题
- 容易按「应用场景」分类(用途 ≠ 器件类型);
- 层级规则不清晰,模型被迫编造三级分类 ID;
- 分类 ID 可能被编造或「串枝」(合法但挂在错误父级下);
- 型号识别过严或过松,模型编造型号;
- 返回格式示例硬编码了真实答案,模型会直接照抄。
修复
- 3 个分类模板 v1 → v3:明确「分类依据是器件本身是什么,不是用在哪里」,强信号优先级为标题/产品名 → 摘要/Features → 核心参数;某级无证据填 0;ID/名称必须来自给定分类树、一一对应、禁止编造;型号允许空数组;示例改用占位符;
normalizeCategoryIDs改为级联校验:一级必须是根分类、二级的父必须是一级、三级同理,违规路径逐级清 0,并加 WARN 日志;- 新增 529 行测试覆盖提示词渲染与 ID 规整场景。
思路
分类 ID 只校验「存在且未软删」不够------「合法但串枝」的 ID 会让下游 schema 生成失败或套错参数模板,所以必须校验层级链路。
产出
数据库提示词已更新并验证。
四、LLM 用量数据 vs 上下文切分线校准(客户项目A)
输入
LLM 用量记录 CSV 共 31.8 万条(分类 1,283 / 提取 4,265 / 审核 1,988),与 LLM 网关配置 中 智能路由 的上下文切分线对比。
分析结论
- 设备硬上限:单请求输入+输出 ≤ 200k tokens;
- 任务级切分预算:提取有效线 ≈ 77k(实际最大 77,065 恰好顶线,切分逻辑精确生效);审核 ≈ 102k;分类无自身切分线;
- 分类业务离 200k 线极远(最大 38.5k,占线 19.3%),无需切分;提取是唯一「贴线走」的业务,参数设置合理。
五、skill 仓库更新(工作区:skill)
- release skill:发版输出新增「配置修改内容」------发版分支落后主分支,若主分支新增/修改了配置的使用方式(不是参数值),发版完成后需告知;
- md-export skill:导出的 Word 表格需内外部完整线框,默认字体改为仿宋_GB2312;
- 新增 dev-doc skill;移除旧的 feature-test 系列;补充 AGENTS.md 与规则文档;
- 推送 5 个提交到 main;Windows 侧只拉取(不能 push)。
六、crawlab AGENTS.md
合并贡献者指南约 50 行:项目结构、构建 / 测试命令、编码风格、测试要求、提交 / PR 约定、agent 相关说明,原有 memory-rules 保留。
七、release-arm64 Drone 构建监控(客户项目A)
使用 drone-ci skill 只读监控三个仓库的 release-arm64 构建:
- 后端仓库A #87:失败(镜像构建 / 推送步骤失败),按用户要求未做修复重跑;
- 前端仓库A #177:成功(约 194 秒);
- 后端仓库A #88:成功(约 377 秒,镜像按 release-arm64-88 约定产出)。
监控全程只读,未触发或改动任何构建。
八、llm-token-server 模型映射与滚动更新
- 确认新增目标模型及与网关模型名的映射方式;
- 检查 12-llm-token-server.yaml 是否启用滚动更新;
- 解决「改完模型总忘记同步 tokenizer 估算服务」:在 AGENTS.md 固化提醒规则(修改 LLM 网关配置 模型后同步 tokenizer 服务);
- 顺带排查 LLM 用量记录入库失败(json 类型语法错误)。
九、子代理协作与已知问题
- 多会话并行分派(spawn_agent / followup_task / wait_agent)完成打包监听、构建监控等任务;
- 遇到 DeepSeek provider 下消息信封无法送达的已知 bug:子代理收空任务,打包检查改由主链路直接完成;
- 清理遗留的监听代理,释放线程槽位。
复盘与后续
可复用经验:
- 生产环境空白页优先查「默认配置指向」;
- 提示词模板升级要点:占位符示例(防照抄)、禁止编造 ID/型号、层级级联校验;
- 用量数据贴线分析能验证切分参数是否精确生效。
待办:
- 后端仓库A release-arm64 #87 失败原因跟进(#88 已重跑成功,需确认镜像产物);
- 0.1.5 安装包部署到生产机;
- tokenizer 模型同步流程固化到 AGENTS.md 后的落地执行。