<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[小磊哥er @ 资深研发工程师]]></title><description><![CDATA[资深研发工程师，深入JavaScript和Python开发]]></description><link>https://blog.youkuaiyun.com/sunleiz</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sunleiz]]></copyright><item><title><![CDATA[Wonder Claude Code - 一个可运行的、教学级的 Claude Code 精简复刻]]></title><link>https://blog.youkuaiyun.com/sunleiz/article/details/164394752</link><guid>https://blog.youkuaiyun.com/sunleiz/article/details/164394752</guid><author>sunleiz</author><pubDate>Sat, 05 Sep 2026 08:29:48 +0800</pubDate><description><![CDATA[一个：在终端里运行的 AI 编程助手（CLI Agent）。用 TypeScript +编写，，直接用fetch调 HTTP / SSE。它对照 Claude Code 的分层结构，从零实现了一个 Agent 的核心骨架：流式对话循环、工具调用、权限闸门、上下文压缩、会话持久化、子助手、MCP 接入、容错重试。目标是让你读完代码就能理解"Claude Code 这类工具到底是怎么转起来的"。]]></description><category></category></item><item><title><![CDATA[深入解构Claude Code - 第 12 篇 · 整体串起来]]></title><link>https://blog.youkuaiyun.com/sunleiz/article/details/164340331</link><guid>https://blog.youkuaiyun.com/sunleiz/article/details/164340331</guid><author>sunleiz</author><pubDate>Thu, 03 Sep 2026 21:32:31 +0800</pubDate><description><![CDATA[回到第 1 篇那个比喻：它是一个"有钥匙的钟点工"。一个转圈的核心循环让"想"和"做"交替进行；一组工具把手脚的能力暴露出来，又用权限关卡管住危险动作；一套上下文工程决定每次给大脑看什么、怎么省钱、聊长了怎么划重点；一个终端界面层让原始的字符终端呈现出流畅的交互；一层边界翻译让它能换大脑、接外部服务、被编辑器和手机驱动；以及落盘、快照、记账、功能开关、代码分割这些不起眼但决定成败的基础设施。]]></description><category></category></item><item><title><![CDATA[深入解构Claude Code - 第 11 篇 · 工程上的讲究]]></title><link>https://blog.youkuaiyun.com/sunleiz/article/details/164340276</link><guid>https://blog.youkuaiyun.com/sunleiz/article/details/164340276</guid><author>sunleiz</author><pubDate>Thu, 03 Sep 2026 21:25:16 +0800</pubDate><description><![CDATA[一个五千万级别的大型程序，怎么管理"有的功能给用户、有的功能还在试验"？怎么打包才能又小又快又省内存？怎么让它跑得流畅？怎么测试一个会聊天、会改文件的程序？本篇讲这四件工程上的事。]]></description><category></category></item><item><title><![CDATA[深入解构Claude Code - 第 10 篇 · 高级能力]]></title><link>https://blog.youkuaiyun.com/sunleiz/article/details/164230375</link><guid>https://blog.youkuaiyun.com/sunleiz/article/details/164230375</guid><author>sunleiz</author><pubDate>Mon, 31 Aug 2026 22:30:24 +0800</pubDate><description><![CDATA[本篇讲四个超出"聊天改代码"基本盘的能力：关掉终端它还在后台干活、放手让它自己干、几种工作模式、语音和看屏幕控制电脑。]]></description><category></category></item><item><title><![CDATA[深入解构Claude Code - 第 9 篇 · 怎么给它加功能]]></title><link>https://blog.youkuaiyun.com/sunleiz/article/details/164229895</link><guid>https://blog.youkuaiyun.com/sunleiz/article/details/164229895</guid><author>sunleiz</author><pubDate>Mon, 31 Aug 2026 21:51:18 +0800</pubDate><description><![CDATA[这个助手的能力不是写死的。你可以用斜杠命令快速触发功能、用钩子在关键时刻插一脚、用插件装别人写的扩展、还能让它派"分身"并行干活。本篇讲这四种扩展方式。]]></description><category></category></item><item><title><![CDATA[深入解构Claude Code - 第 8 篇 · 数据放哪、钱怎么算]]></title><link>https://blog.youkuaiyun.com/sunleiz/article/details/164229398</link><guid>https://blog.youkuaiyun.com/sunleiz/article/details/164229398</guid><author>sunleiz</author><pubDate>Mon, 31 Aug 2026 21:07:27 +0800</pubDate><description><![CDATA[本篇回答四个问题：程序里变化的数据怎么管理？关掉程序对话怎么找回？AI 改坏了文件怎么退回？花了多少钱是怎么记的？]]></description><category></category></item><item><title><![CDATA[深入解构Claude Code - 第 7 篇 · 连接外面的世界 审核中]]></title><link>https://blog.youkuaiyun.com/sunleiz/article/details/164193299</link><guid>https://blog.youkuaiyun.com/sunleiz/article/details/164193299</guid><author>sunleiz</author><pubDate>Sun, 30 Aug 2026 21:31:17 +0800</pubDate><description><![CDATA[这个助手不是孤岛。它要对接不同公司的 AI 模型、要证明你的身份、要在网络出错时自救、要接外部工具和服务、要被编辑器指挥、还要被手机远程控制。本篇讲这六件事。]]></description><category></category></item><item><title><![CDATA[深入解构Claude Code - 第 6 篇 · 终端里的图形界面]]></title><link>https://blog.youkuaiyun.com/sunleiz/article/details/164193263</link><guid>https://blog.youkuaiyun.com/sunleiz/article/details/164193263</guid><author>sunleiz</author><pubDate>Sun, 30 Aug 2026 21:26:36 +0800</pubDate><description><![CDATA[黑底白字、只能打字的终端，是怎么显示出彩色代码、进度条、输入框、弹窗、转圈动画的？本篇讲：终端怎么"画图"、为什么用做网页的思路做终端界面、文字怎么自动排版、刷屏为什么不卡、键鼠操作怎么被感知。]]></description><category></category></item><item><title><![CDATA[深入解构Claude Code - 第 5 篇 · 每次提问都给 AI 塞了什么资料]]></title><link>https://blog.youkuaiyun.com/sunleiz/article/details/164189832</link><guid>https://blog.youkuaiyun.com/sunleiz/article/details/164189832</guid><author>sunleiz</author><pubDate>Sun, 30 Aug 2026 15:24:09 +0800</pubDate><description><![CDATA[模型其实很"笨"：它没有记忆，每次请求都是一次全新的开始——它不记得你是谁、在哪个项目里、刚才聊了什么。它之所以表现得像记得，是因为程序每次都把它需要知道的一切重新打包发给它。这份打包的资料里，除了你刚打的那句话，还有一大段固定内容叫系统提示（system prompt）——相当于每次开工前给 AI 的一本"工作手册"。这本手册由十几个段落拼成：
为什么要拆成这么多段，而不是写一大段？两个原因。第一是有的放矢：不同场景需要的段落不同。被程序调用的场景可能不需要"输出风格"，只读模式不需要"权限模式"，拆成段]]></description><category></category></item><item><title><![CDATA[深入解构Claude Code - 第 4 篇 · 工具：AI 的手]]></title><link>https://blog.youkuaiyun.com/sunleiz/article/details/164189761</link><guid>https://blog.youkuaiyun.com/sunleiz/article/details/164189761</guid><author>sunleiz</author><pubDate>Sun, 30 Aug 2026 15:19:08 +0800</pubDate><description><![CDATA[注意一个设计思想：这套工具是。]]></description><category></category></item><item><title><![CDATA[深入解构Claude Code - 第 3 篇 · 一问一答怎么转起来]]></title><link>https://blog.youkuaiyun.com/sunleiz/article/details/164188661</link><guid>https://blog.youkuaiyun.com/sunleiz/article/details/164188661</guid><author>sunleiz</author><pubDate>Sun, 30 Aug 2026 13:57:59 +0800</pubDate><description><![CDATA[上一章说了"流回来"，这一章讲讲这个"流"到底是怎么回事，以及为什么屏幕上能逐字显示。先说没有"流"会怎样网络请求传统上是"请求-响应"模式：你发一个请求过去，对方在服务器上把完整答案准备好，然后一次性把整个答案发回来。如果答案是一篇 3000 字的分析，你就得干等几十秒，期间屏幕一动不动。流式（streaming）是什么流式就像水管：服务器不是等水接满一桶再递给你，而是接好管子，水一边产生一边流过来。模型那边每生成几个字，就立刻通过网络推过来几个字，不等后面的。技术上这是通过一种叫。]]></description><category></category></item><item><title><![CDATA[深入解构Claude Code - 第 2 篇 · 启动的秘密]]></title><link>https://blog.youkuaiyun.com/sunleiz/article/details/164188436</link><guid>https://blog.youkuaiyun.com/sunleiz/article/details/164188436</guid><author>sunleiz</author><pubDate>Sun, 30 Aug 2026 13:32:18 +0800</pubDate><description><![CDATA[你在终端敲下启动命令、按下回车，到屏幕上出现对话界面，这中间大约 1 秒钟。这 1 秒里程序做了几十件事，但第一件事特别反直觉：它做的不是"准备对话"，而是"校准钟表"。一个必须最先做的小动作：性能垫片程序的第一行有效代码（注意，真的是第一行，在所有其他代码之前），是导入一个叫"性能垫片"的小东西。垫片（shim）这个词你可以理解成"补丁"或"适配层"——在原有东西上面垫一层，让它变得合用。这个垫片做的事很简单：统一"计时"功能。程序里到处都在掐表——这个网络请求花了多少毫秒、那段渲染用了多久、一次对话总共]]></description><category></category></item><item><title><![CDATA[深入解构Claude Code - 第 1 篇 · 先认识它]]></title><link>https://blog.youkuaiyun.com/sunleiz/article/details/164185400</link><guid>https://blog.youkuaiyun.com/sunleiz/article/details/164185400</guid><author>sunleiz</author><pubDate>Sun, 30 Aug 2026 10:19:53 +0800</pubDate><description><![CDATA[Bun 负责"跑得快、启动快"，TypeScript 负责"大项目不出错"，React 负责"复杂界面好维护"，自研翻译层负责"把网页界面搬进终端"。]]></description><category></category></item><item><title><![CDATA[【办公自动化】如何使用Python脚本自动化处理音频？]]></title><link>https://blog.youkuaiyun.com/sunleiz/article/details/151553835</link><guid>https://blog.youkuaiyun.com/sunleiz/article/details/151553835</guid><author>sunleiz</author><pubDate>Thu, 11 Sep 2025 08:36:35 +0800</pubDate><description><![CDATA[pydub：简单易用的高级音频处理库，适合大多数日常音频处理任务librosa：专为音乐分析设计的库，提供丰富的音频特征提取功能：用于语音识别的库，支持多种语音识别引擎PyAudio：用于录制和播放音频的库：ffmpeg命令行工具的Python封装，用于复杂的音视频处理。]]></description><category></category></item><item><title><![CDATA[【办公自动化】学习使用Python库让视频剪辑自动化]]></title><link>https://blog.youkuaiyun.com/sunleiz/article/details/150915536</link><guid>https://blog.youkuaiyun.com/sunleiz/article/details/150915536</guid><author>sunleiz</author><pubDate>Wed, 27 Aug 2025 08:35:52 +0800</pubDate><description><![CDATA[MoviePy：简单易用的高级视频处理库，适合大多数日常视频处理任务OpenCV：提供底层视频处理能力，支持复杂的图像处理操作PyAV：基于FFmpeg的底层绑定，提供高效的视频处理能力：FFmpeg命令行工具的Python封装，用于复杂的音视频处理。]]></description><category></category></item><item><title><![CDATA[【办公自动化】如何使用Python库高效自动化处理图像？]]></title><link>https://blog.youkuaiyun.com/sunleiz/article/details/150758194</link><guid>https://blog.youkuaiyun.com/sunleiz/article/details/150758194</guid><author>sunleiz</author><pubDate>Mon, 25 Aug 2025 08:41:23 +0800</pubDate><description><![CDATA[在日常办公中，我们经常需要处理大量图像，如产品照片、营销素材、文档扫描件等。手动处理这些图像不仅耗时，还容易出错。通过Python自动化图像处理，我们可以高效地完成批量缩放、裁剪、加水印、格式转换等任务，大大提高工作效率。本文将介绍两个强大的Python图像处理库：Pillow（PIL的fork版本）和OpenCV，并通过实例展示如何使用它们实现各种图像处理自动化任务。]]></description><category></category></item><item><title><![CDATA[【办公自动化】如何使用Python自动化处理PDF文档？]]></title><link>https://blog.youkuaiyun.com/sunleiz/article/details/150543536</link><guid>https://blog.youkuaiyun.com/sunleiz/article/details/150543536</guid><author>sunleiz</author><pubDate>Wed, 20 Aug 2025 08:36:16 +0800</pubDate><description><![CDATA[PDF（Portable Document Format，便携式文档格式）是一种广泛使用的文档格式，具有跨平台、稳定性好、安全性高等特点。在办公自动化中，PDF文档处理是一项常见需求。本文将介绍如何使用Python实现PDF文档的自动化处理，包括读写、合并拆分、提取内容、添加水印等操作。]]></description><category></category></item><item><title><![CDATA[【办公自动化】如何使用Python操作PPT和自动化生成PPT？]]></title><link>https://blog.youkuaiyun.com/sunleiz/article/details/150379296</link><guid>https://blog.youkuaiyun.com/sunleiz/article/details/150379296</guid><author>sunleiz</author><pubDate>Thu, 14 Aug 2025 08:30:25 +0800</pubDate><description><![CDATA[在现代商业和教育环境中，PowerPoint演示文稿是信息传递的重要工具。通过Python自动化PPT创建和编辑过程，可以大幅提高工作效率，特别是在需要批量生成或更新演示文稿的场景下。本文将介绍如何使用python-pptx库实现PPT自动化，并提供实用的代码示例和应用场景。
基础概念
在Python中，可以使用python-pptx库实现PPT文件的自动化操作。需要注意的是，python-pptx只支持*.pptx文件格式的PPT文件（Office 2007及以上版本）。一个PPT文件通常由多个幻灯片组成]]></description><category></category></item><item><title><![CDATA[【办公自动化】如何使用Python让Word文档处理自动化？]]></title><link>https://blog.youkuaiyun.com/sunleiz/article/details/150335480</link><guid>https://blog.youkuaiyun.com/sunleiz/article/details/150335480</guid><author>sunleiz</author><pubDate>Wed, 13 Aug 2025 08:36:02 +0800</pubDate><description><![CDATA[在日常办公中，Word文档是最常用的文本处理工具之一。通过Python自动化Word文档操作，可以大幅提高工作效率，减少重复劳动，特别适合批量生成报告、合同、简历等标准化文档。本文将介绍几种常用的Python操作Word文档的方法，并提供实用的代码示例和应用场景。]]></description><category></category></item><item><title><![CDATA[【办公自动化】使用Python来自动化处理Excel表格有哪些方法？]]></title><link>https://blog.youkuaiyun.com/sunleiz/article/details/149999738</link><guid>https://blog.youkuaiyun.com/sunleiz/article/details/149999738</guid><author>sunleiz</author><pubDate>Thu, 07 Aug 2025 08:36:12 +0800</pubDate><description><![CDATA[在日常办公中，Excel是最常用的数据处理工具之一。通过Python自动化Excel操作，可以大幅提高工作效率，减少重复劳动，降低人为错误。本文将介绍几种常用的Python操作Excel的方法，并提供实用的代码示例和应用场景。]]></description><category></category></item></channel></rss>