Work Summary
本周期(1月9日-12日)共分析 303 条开发记录,涉及 13 个项目。主要工作集中在三个方向:
1. AI 信息源监控系统 (info2feishu) 构建了一个自动化监控系统,抓取 RSS/网页/API 数据源并同步到飞书多维表格。解决了飞书 API 认证(tenant_access_token vs user_access_token)、数据源解析(Playwright 替代 BeautifulSoup)、时区处理等问题。最终实现了 cron 定时同步,支持多分类数据源聚合。
2. 试卷排版系统 (exam-system-analysis) 探索了试卷解析和排版的技术方案。尝试了 AI 结构化解析非结构化题目数据、Word 模板生成、前端预览等功能。遇到了 JSON 解析失败(引入 jsonrepair)、Word 排版不规整、前端 PDF 转 Word 的技术限制等挑战。
3. 前端工具链整合 (static-project) 整理了 tools 目录下的多个前端项目,包括 PDF 工具、语音识别(SenseVoice/sherpa-onnx)、md2pdf 等。解决了 Chrome 内存泄漏问题、模型文件压缩、EdgeOne 部署等问题。
Improvement Areas
1. 飞书 API 认证流程理解不足
现象:在 info2feishu 项目中,反复尝试 user_access_token 和 tenant_access_token,多次询问"我怎么获取 uid"、"user_access_token 我从哪里获取"。
根因:对飞书开放平台的认证体系(应用身份 vs 用户身份)缺乏系统理解,导致在权限配置上走了弯路。
行动项:
- 阅读飞书开放平台官方文档的认证章节
- 整理一份飞书 API 认证最佳实践笔记
- 在项目 README 中记录最终采用的认证方案
2. 前端 PDF/Word 处理技术选型盲区
现象:多次询问"前端怎么用 pdf2docx"、"前端不能运行 python 吗"、"pdf 转 word 怎么实现",对浏览器端文档处理的技术边界不清晰。
根因:后端工程师对前端 WASM 生态、浏览器 API 限制了解不足。pdf2docx 依赖 PyMuPDF,无法直接在浏览器运行。
行动项:
- 调研 pdf-lib、docx-handlebars 等纯前端文档处理库
- 了解 WASM 在文档处理场景的应用(如 PDFClear 的实现)
- 明确哪些操作必须后端处理,哪些可以前端完成
3. AI 输出结构化数据的稳定性问题
现象:试卷解析项目中多次遇到"JSON 解析失败"、"未能识别出题目",需要引入 jsonrepair 库修复。
根因:LLM 输出长 JSON 时容易截断或格式错误,单次请求处理大量数据不稳定。
行动项:
- 采用分步解析策略:先识别题目边界,再逐题结构化
- 设置合理的 max_tokens,避免输出截断
- 增加 JSON Schema 验证和自动修复机制
4. 项目目录组织混乱
现象:tools 目录下存在孤立脚本、screenshot_*.jpg、命名不一致的项目,需要执行 P0-P2 清理任务。
根因:快速原型开发时缺乏规范,临时文件未及时清理。
行动项:
- 执行目录清理:删除临时文件,统一 kebab-case 命名
- 为 tools 目录建立 CLAUDE.md 项目索引
- 新项目创建时遵循 /infra 生成的标准结构
Strengths
- 快速原型能力:3 天内完成 info2feishu 从设计到部署的完整流程
- 问题定位效率:Chrome 内存泄漏、时区问题等能快速定位根因
- 工具链熟练度:熟练使用 make、playwright、cron 等工具链
- AI 辅助开发:善用 /plan、/build、/debug 等 skill 提升效率
Action Items
- P0 - 整理飞书 API 认证笔记 → 发布到个人知识库
- P0 - 完成 tools 目录 P0 清理任务 → 删除临时文件
- P1 - 调研前端文档处理技术栈 → 输出技术选型文档
- P1 - 优化试卷解析的分步策略 → 提升解析成功率
- P2 - 为 exam-system-analysis 添加 E2E 测试 → 覆盖核心流程
Tech Trends
今日 HackerNews 热门技术话题精选。
1. CLI agents like Claude Code make self-hosting on a home server easier and fun
Points: 260 | Comments: 185
作者分享了使用 Claude Code 在家庭服务器上自托管服务的经验。核心观点是 CLI Agent 改变了自托管的体验——不再需要拼凑博客教程和记忆 Docker 命令,直接用自然语言描述需求即可。
文章展示了在 $379 的 Beelink Mini N150 上运行 13 个服务(Vaultwarden、Plex、Immich、Uptime Kuma 等),仅使用 4GB 内存和 6% CPU。推荐了 Lazydocker 和 Glances 作为监控工具。
Key Takeaways:
- Claude Code 可以直接安装在服务器上,通过 SSH 远程使用
- Tailscale + Caddy 是自托管网络的最佳组合
- Immich 已经是 Google Photos 的可用替代品
2. Don't fall into the anti-AI hype
Points: 589 | Comments: 773
Redis 作者 antirez 的深度思考。他分享了过去一周用 AI 完成的四个任务:为 linenoise 库添加 UTF-8 支持、修复 Redis 测试中的时序问题、创建纯 C 的 BERT 推理库(700 行代码,5 分钟完成)、重现 Redis Streams 的设计文档实现。
核心观点:写代码本身不再是必需的,理解"做什么"和"怎么做"才是关键。AI 是编程民主化的延续,就像 90 年代的开源运动。但他也担忧 AI 的中心化风险和对就业的影响。
Key Takeaways:
- 系统编程(文本可表示、隔离性强)特别适合 AI 辅助
- 不要用 5 分钟测试来强化偏见,要花几周认真尝试
- 开源模型(尤其是中国的)在追赶闭源模型
3. Anthropic: Developing a Claude Code competitor using Claude Code is banned
Points: 234 | Comments: 138
Anthropic 在 Claude Code 使用条款中明确禁止使用 Claude Code 开发竞品。这引发了社区关于 AI 工具使用边界的讨论。
Key Takeaways:
- 使用 AI 工具时需注意服务条款的限制
- 这可能成为 AI 工具领域的常见做法
Learning Resources
飞书/Lark API 集成
- MuseBot - Multi-platform chatbot supporting Lark - Go 实现的多平台聊天机器人,支持飞书集成
文档生成与模板
- Docx-Handlebars - Rust/WASM 实现的 DOCX 模板处理库,支持浏览器端运行
- TemplateDocs - 基于 easy-template-x 的文档生成 SaaS
浏览器端 PDF 处理
- PDFClear - 纯浏览器端 PDF 工具,使用 WASM + Transformers.js 实现本地 AI
- pdfgrep-wasm - 浏览器端 PDF 搜索工具