让想法留下
清晰的轨迹。
开源 Agents - DeerFlow 源码解读
从 LangGraph、ReAct 与 Planning & Solving 出发,理解 DeerFlow 如何组织复杂 Agent 工作流。
开源 Agents - Open Manus 源码解读
Open Manus 是一个开源的多智能体系统,基于 ReAct 理念实现 "思考-行动" 循环。核心理念是让 AI 不仅能思考,还能通过执行动作来影响外部世界,实现更复杂的任务。详细解读其架构设计和实现细节。
基于 MCP 构建 AI 对话发送邮件
MCP(Model Context Protocol)是一种新兴的 AI 与外部系统交互的协议标准。详细介绍了如何构建 MCP 服务器,实现 AI 对话与邮件系统的集成,让 AI 能够直接发送邮件。包含服务器配置、工具定义、客户端集成的完整实践。
一个好的 Debugging:高效定位 Bug 的实用技巧
介绍使用 Git bisect 快速定位 bug 的方法,基于二分查找算法自动在提交历史中切换版本,帮助开发者高效缩小问题范围,最终找到导致问题的第一个错误提交。告别人肉排查,提升调试效率的必备技能。
什么是知识蒸馏(Knowledge Distillation)
知识蒸馏是将大模型(Teacher Model)的知识迁移到小模型(Student Model)的技术。与微调的区别在于:微调是直接在预训练模型上用特定数据训练,而蒸馏是通过学习大模型的输出分布来传递知识。通常用于将大型语言模型压缩为可在边缘设备运行的轻量级模型。
AI - 结构化提示词
结构化提示词模板,包含 Role(角色)、Profile(配置文件)、Rules(规则)、Workflow(工作流)、Initialization(初始化)等模块。通过定义清晰的指令结构和约束条件,让 AI 输出更符合预期。适用于 Kimi、Kimi API 等国产大模型。
ESLint + Prettierrc 代码质量检查与格式化
ESLint 用于代码质量检查和潜在错误检测,支持 TypeScript、React、Vue 等多种框架。ESLint v9+ 版本默认使用平面配置文件(eslint.config.js)取缔了传统的 .eslintrc 文件。Prettier 用于代码格式化,两者结合使用可以统一团队代码风格。
Node + Typescript 搭建项目基础框架
使用 Node.js 和 TypeScript 搭建项目基础框架的完整指南。包括初始化项目、配置 tsconfig.json 编译器选项、安装类型定义、设置项目目录结构、配置 ESLint 和 Prettier、编写第一个 TypeScript 模块。
记录一次前端输入框引发的抖动 Bug 修复
记录 Element-UI 输入框导致页面抖动的 Bug 修复过程。问题表现为连续输入时页面出现明显抖动,影响用户体验。通过分析 DOM 结构变化和 CSS 布局,找到了是由于 auto-size 导致的 content高度变化引起的连锁反应,并给出解决方案。
一个有趣实用的 macOS APP 的 debug 技巧
通过在 macOS 应用启动参数中添加 -_NS_4445425547 YES,可以开启应用内置的 Cocoa 调试菜单。这个隐藏菜单提供了视图层级检查、响应链查看、内存布局调试等实用功能,是 iOS/macOS 开发者的秘密武器。
一套独立开发者免费使用的套件
独立开发者免费工具套件推荐:Vercel(前端部署)、GitHub(代码托管)、TiDB/Supabase(免费数据库)、GitHub Action(CI/CD)、Cloudflare(DNS/CDN/SSL)、Docker/Vultr(容器服务)。帮助独立开发者零成本搭建完整的开发部署流程。
记录一次 Docker 部署目标服务器脚本
编写自动化部署脚本,实现 SSH 密钥认证免密登录、Docker 镜像版本自动管理、自动构建并推送到镜像仓库、Git tag 标记版本、打包上传部署文件到目标服务器的一整套流程。适用于团队内部使用和 CI/CD 集成。
记录一次 Docker 服务部署
详细记录 Docker 服务部署完整流程,包括正确编写 Dockerfile(多阶段构建优化镜像大小)、使用 docker-compose 管理多容器服务、配置 nginx 反向代理、设置容器自动重启、镜像推送和服务器拉取部署等关键步骤。
解析 MS Office Word 有序列表样式
解析 Word 有序列表的多种样式格式,包括中文数字(一二三)、中文大写(壹贰叁)、阿拉伯数字、罗马数字(I II III)、字母(A B C)等。通过 POI 库解析 Word 文档中的 numPr 元素,获取列表级别和编号格式信息。
2023 年终总结
2023 年读的 10 本书(覆盖专业知识、成长、文学小说、财经)、坚持运动骑行、下半年开始做 AI 相关应用。这一年最大的收获是开始养成读书的习惯,通过《置身事内》了解政府财政运作、《认知觉醒》学会突破自己。虽然不善于写字,但相信会写得更好。
网络:127.0.0.1 和 localhost 以及 0.0.0.0 的区别
127.0.0.1 是 IPv4 本地回环地址,整个 127.x.x.x 网段都是回环地址(127.0.0.0-127.255.255.255),IPv6 对应 ::1。localhost 是指向 127.0.0.1 的主机名。0.0.0.0 在服务器端表示绑定所有网络接口(监听所有 IP),在客户端表示默认路由。
非常实用的 26 个 Prompt 小技巧
源于论文《Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4》的 26 个实用 Prompt 技巧:无需客气直接切入正题、指明目标受众、将复杂任务分解、使用肯定指令、结合思维链、使用示例、明确格式要求等。
Python 使用 Selenium 抓取网页动态内容
Selenium 是用于自动化网页应用的工具集,支持 Chrome、Firefox、Edge 等多浏览器。可用于 Web 应用测试、动态内容爬取、模拟用户行为等。通过 WebDriver 协议与浏览器交互,支持等待策略、处理 iframe、执行 JavaScript 等高级操作。
搭配 Google Gemini 能力实现一个终端 AI CLI 助手
使用 Google Gemini API(目前免费)实现终端 AI CLI 助手的完整教程。包含申请 API Key、Python 实现命令行对话工具、支持多轮对话、集成翻译功能、配置环境变量等。Gemini 在翻译任务上效果媲美 GPT-4。
Git Submodules(Git 子模块)
Git Submodules 是管理项目依赖关系的机制,允许将外部仓库作为子目录包含在主项目中,同时保持与原始仓库的连接。通过 .gitmodules 文件记录子模块的远程 URL 和本地路径。克隆时需要额外初始化子模块。适用于项目依赖外部库或共享代码的场景。
Python 在多用户环境安装依赖
解决 Python 外部管理环境的报错问题(externally-managed-environment)。方案一:使用虚拟环境 venv/conda 隔离安装;方案二:使用 --user 选项安装到用户目录;方案三:创建虚拟环境。推荐使用 uv 工具管理 Python 包,更快更方便。
前端:FontFace 的使用
为 Web 添加自定义字体的两种方式:CSS @font-face 规则(定义 font-family 和 src)和 JavaScript FontFace API。src 支持 woff2/woff/ttf/otf 格式及 base64 编码。可加载远程服务器字体或本地字体文件。
字体:Font 和 Glyph 的关系
Font 是从 character(字符)到 glyph(字形)的桥梁,根据抽象输入提供具象输出。character 是抽象的字符概念,glyph 是具体的图形表示。Font 本质是存储了字符与字形映射关系(程序层面)和字形图形(设计层面)的数据库。