# penglei.dev > Peng Lei's personal website and blog. Essays and notes by Peng Lei on frontend engineering, products, tools, books, movies, and everyday life. The site includes Chinese and English writing on frontend engineering, AI coding agents, local language models, and personal projects, alongside personal essays and a professional profile. Some articles have versions in both languages; use the version matching the reader's language. Article dates and descriptions refer to the author's writing and experiences at the time of publication. ## Site overview - [Home](https://penglei.dev/): A personal homepage and publishing space built with Astro and Cloudflare. - [Writing](https://penglei.dev/blog/): Essays and notes by Peng Lei on frontend engineering, products, tools, books, movies, and everyday life. - [Projects](https://penglei.dev/projects/): Personal projects by Peng Lei, including PiX, cli-harness, and penglei.dev on Astro and Cloudflare Workers. - [Profile](https://penglei.dev/report/): Peng Lei's personal profile, frontend engineering background, and contact links. - [Experience](https://penglei.dev/work/): Peng Lei's frontend engineering experience at MAI, Alibaba, Meituan, and JIDU Auto. ## Blog posts - [dsh-superagent 接入 Slack 和 Linear:官方没有的 Source 怎么按 Cookbook 自己加(Socket Mode、app_mention、Linear GraphQL 与 Webhook 签名,附未测试代码骨架)](https://penglei.dev/blog/2026-11-03-dsh-superagent-slack-linear-setup/): DeepSeek dsh-superagent(DeepSeek Harness Super-agent 原型)官方只带 GitHub 和飞书/Lark 两个 Source,没有 Slack 和 Linear。本文按仓库 docs/008 Cookbook 的 Source 接口,整理自己接 Slack 和 Linear 要用到的官方 API:Slack App 的 Socket Mode、app_mention、chat.postMessage、conversations.replies 和 bot scopes;Linear 的 GraphQL、notifications 轮询、commentCreate、Agent(actor=app)与 Linear-Signature Webhook 校验。附未测试的 TypeScript 骨架、白名单(Slack user ID / Linear user)、提示词注入和凭据隔离建议。 - [dsh-superagent 接入 Lark(飞书国际版)教程:Developer Console、lark-cli --brand lark、长连接与白名单配置(附排错表)](https://penglei.dev/blog/2026-11-03-dsh-superagent-lark-setup/): DeepSeek dsh-superagent(DeepSeek Harness 的 Super-agent 原型)能不能接 Lark 国际版?能:源码从 lark-cli 的 auth status 读取 brand,API、长连接和消息链接都按 larksuite.com 走。本文按源码和官方文档整理 Lark 与飞书的差异:open.larksuite.com 创建 Custom App 和 Bot、im 权限、persistent connection 订阅 im.message.receive_v1、lark-cli config init --brand lark 与 strict-mode bot、拉机器人进群、启用 dsh-superagent-feishu Source、open_id 白名单,以及 brand 配错、机器人不在群里等报错排查。 - [dsh-superagent 接入飞书机器人教程:自建应用、权限、lark-cli 机器人身份配置,群里 @ 它开工单(附排错表)](https://penglei.dev/blog/2026-11-03-dsh-superagent-feishu-bot-setup/): DeepSeek dsh-superagent(DeepSeek Harness 的 Super-agent 原型)接入飞书的完整步骤:创建企业自建应用并开启机器人能力、开通 im 权限、用长连接订阅接收消息事件、给 lark-cli 单独一份 strict-mode bot 配置和 lark-bot 包装脚本、启用 dsh-superagent-feishu、配置接收的群和 Policy 白名单(open_id),以及 The bot lark-cli allows user identities、机器人不在群里等报错的排查表。 - [DeepSeek dsh-superagent 部署指南:在 GitHub 仓库里跑一个“@ 它就干活”的 coding agent(DSH 安装、agent 账号、Policy 与安全边界)](https://penglei.dev/blog/2026-11-02-deepseek-dsh-superagent-github-setup/): DeepSeek 开源的 dsh-superagent(Super-agent 原型)不是新模型,而是一个基于 DeepSeek Harness(DSH)的 bundle:监听 GitHub(可选飞书),被允许的人 @ 它就开 Ticket、在独立 Session 里干活并回 PR。本文按官方 README、SETUP.md 和部署文档整理:前置依赖、agent GitHub 账号与 gh 包装脚本、DSH profile 安装、Policy 白名单、prepare 命令、status 退出码排错,以及 danger-full-access 的隔离建议。 - [DeepSeek V4.1 Flash (1017) in Claude Code: Setup, Pricing, and the Model-Mapping Billing Gotcha](https://penglei.dev/blog/2026-10-26-deepseek-v41-flash-1017-claude-code-pricing-en/): How to run DeepSeek-V4.1-Flash-1017 as the backend for Claude Code: the documented environment variables, the deepseek-flash model name, peak/off-peak and cache-hit pricing in USD, Search/Fetch billing from 1 Nov 2026, why claude-opus requests bill at V4 Pro rates, and third-party benchmark data on cost per run. - [AGENTS.md 投毒自查:别在 Downloads 里开 Claude Code / Codex(config.toml、MCP、BASE_URL、沙箱 5 步)](https://penglei.dev/blog/2026-10-27-agents-md-poisoning-claude-code-codex-self-check/): 一个藏在 ~/Downloads 里的 AGENTS.md,能让 Codex 改写 ~/.codex/config.toml、装上恶意 npm 包 function-color;CLAUDE.md 则能诱导 Claude Code 写入 ANTHROPIC_BASE_URL、泄露登录 token。本文讲清原理,并给出 5 步可复制的自查命令:查陌生指令文件、审计 MCP 配置、查 BASE_URL 与代理、查 function-color,以及用 deny 规则、hooks 和沙箱加固。 - [DeepSeek V4.1 Flash 1017 接入 Claude Code:配置、价格与 4 个省钱设置(附 Codex / DSH / Pi 对比)](https://penglei.dev/blog/2026-10-26-deepseek-v41-flash-1017-claude-code-pricing/): DeepSeek-V4.1-Flash-1017 怎么接进 Claude Code?给出官方环境变量配置、deepseek-flash 模型名、高峰/空闲价格与缓存命中价、11 月 1 日起 Search/Fetch 收费、claude-opus 映射到 V4 Pro 的计费坑,以及 Claude Code、DeepSeek Harness、Pi、OpenCode、Codex 跑 1017 的第三方分数与单次成本对比。 - [Claude Code 权限配置指南:用 deny 规则挡住 .env、git push 和 curl(附沙箱与 Codex 对照)](https://penglei.dev/blog/2026-10-23-claude-code-permissions-deny-rules/): Claude Code 的 settings.json 权限怎么配?本文给出可直接复制的 deny / ask / allow 配置、规则匹配顺序、沙箱开启步骤和 6 个常见坑,并附 Codex 的 sandbox_mode 与 approval_policy 对照。 - [本地 coding agent 选型:Flint 40B vs Strata vs 千问 3.8(Mac / 4090 / 云端)](https://penglei.dev/blog/2026-10-23-flint-strata-qwen38-local-coding-agent/): Flint、Strata、千问 3.8 怎么选?先分清模型与运行时:对比参数、协议、硬件门槛与可验证速度数字,给出 Mac / RTX 4090 / 云端 API 三条可复制上手路径和场景化怎么选。 - [AI 让每个人都能开发软件,但这可能是独立开发者最糟糕的时代](https://penglei.dev/blog/2026-10-16-ai-independent-developers/): AI 解决了软件的供给问题,但没有解决软件的需求问题。 - [RTX 4090 上看到 117.3 tokens/s:Strata 原理与实测效果](https://penglei.dev/blog/2026-10-05-strata-local-moe/): 结合 RTX 4090 的 Strata 实测数据,介绍大型 MoE 模型的专家缓存、CPU/GPU 协作与推测解码,分析生成速度和整机资源占用。 - [我用 Jev 给 X 做了一副“透镜”:看清时间线里的 AI、灌水和软广](https://penglei.dev/blog/2026-09-21-x-lens-zh/): X Lens 是一个轻量 Chrome 插件,为当前推文和评论标记 AI、slop、广告、营销、软广或正常,把阅读判断留给你。 - [Meet X Lens: Jev-Powered Labels for AI Content, Slop, and Ads on X](https://penglei.dev/blog/2026-09-21-x-lens-en/): X Lens is a lightweight Chrome extension that labels AI content, slop, ads, marketing, soft ads, and normal posts or replies on X. - [DeepSeek V4.1 Flash 接进 OMP 和 DSH 后:慢了,但做需求更周到了](https://penglei.dev/blog/2026-09-11-deepseek-v41-flash-omp-dsh/): 把 DeepSeek V4.1 Flash 接进 OMP 与 DSH 后的真实体验:简单需求常要三十分钟以上,但它会更主动地理解关联文件、补齐边界并检查测试。附 OpenCode Go、OMP 与 DSH 接入方式。 - [PiX:Pi Agent 的桌面客户端](https://penglei.dev/blog/2026-09-07-pix-pi-agent-desktop-client-zh/): PiX 是围绕 Pi Agent SDK 构建的本地桌面客户端,提供可见的工作区、审批、Diff 与精确回滚。 - [PiX: A Desktop Client for Pi Agent](https://penglei.dev/blog/2026-09-07-pix-pi-agent-desktop-client/): PiX is a local desktop client for the Pi Agent SDK, built around visible workspaces, approvals, diffs, and rollback. - [Nice Resume:有意图地重写简历](https://penglei.dev/blog/2026-09-07-nice-resume-zh/): Nice Resume 是一个围绕职位描述调整简历要点、保留版本并认真投递的轻量工作区。 - [Nice Resume: Rewrite Your Resume With Intent](https://penglei.dev/blog/2026-09-07-nice-resume/): Nice Resume is a focused workspace for tailoring resume bullets to a job description while keeping useful versions close by. - [岩间:一款攀岩的番茄时钟](https://penglei.dev/blog/2026-09-07-codo-climbing-pomodoro-zh/): 岩间 · 专注攀登是一款攀岩主题的番茄时钟,让每一次专注都成为向上的一小步。 - [Codo: A Climbing Pomodoro Timer for Focused Work](https://penglei.dev/blog/2026-09-07-codo-climbing-pomodoro/): Codo is a climbing pomodoro timer that turns focused sessions into a small ascent, one step at a time. - [Capture Studio: The Smallest Mac Screenshot and Screen Recording Tool](https://penglei.dev/blog/2026-09-07-capture-studio-en/): Capture Studio is a privacy-first macOS tool for fast screenshots, lightweight annotation, and short screen recordings. - [Capture Studio:世界上最小的 Mac 截图录屏工具](https://penglei.dev/blog/2026-09-07-capture-studio/): Capture Studio 是一个为 macOS 设计的轻量截图与录屏工具:快速捕捉、轻量标注、默认本地处理。 - [2026 年 Mac 本地推理选购指南:四款机型分别能跑多大开源模型](https://penglei.dev/blog/2026-08-26-mac-local-llm-guide/): 2026 年 8 月 25 日苹果发布新一代 Mac mini(M6 / M5 Pro)与 Mac Studio(M5 Max / M5 Ultra)。本文不聊跑分,直接回答四个问题:每台机器有多少统一内存、多少带宽、能装什么规模的量化开源模型、生成速度大概多快。示例按 2026 年 8 月的开源主力:Qwen3.8-27B、DeepSeek-V4-Flash、GLM-4.7-Flash 与 GLM-5.2。附决策速查。 - [三种 LLM 接口:Chat Completions、Responses 与 Messages](https://penglei.dev/blog/2026-08-24-llm-api-formats/): 同一个模型对话,三种完全不同的接口形态。从请求结构、工具调用循环、流式协议、结构化输出、状态管理到计费细节,把 OpenAI Chat Completions、OpenAI Responses 和 Anthropic Messages 拆开对比,并给出 agent harness 的选型建议。 - [Day 14:Mini Harness Recap:14 天架构复盘](https://penglei.dev/blog/2026-07-12-mini-harness-recap/): Mini Coding Agent Harness 14 天系列第十四篇:复盘上下文、工具、安全与可观测性如何组成一个可检查的 Agent Harness。 - [Day 14: How to Build a Mini AI Coding Agent Harness in TypeScript](https://penglei.dev/blog/2026-07-12-mini-harness-recap-en/): Day 14: connect context, tools, safety, and observability into one small, inspectable coding-agent harness. - [Day 13:AGENTS.md:把项目规则注入 Agent 上下文](https://penglei.dev/blog/2026-07-12-project-rules/): Mini Coding Agent Harness 14 天系列第十三篇:发现并注入 AGENTS.md 项目规则,同时保留来源与大小边界。 - [Day 13: AGENTS.md for AI Coding Agents: Load Project Rules into LLM Context](https://penglei.dev/blog/2026-07-12-project-rules-en/): Day 13: discover project rules and add them to an agent context with bounded size and traceability. - [Day 12:Approval 与 Sandbox:写入审批和工作区边界](https://penglei.dev/blog/2026-07-12-approval-and-sandbox/): Mini Coding Agent Harness 14 天系列第十二篇:用显式审批与工作区沙箱保护 Agent 的副作用。 - [Day 12: AI Coding Agent Security: Approval Gates and Workspace Sandbox in TypeScript](https://penglei.dev/blog/2026-07-12-approval-and-sandbox-en/): Day 12: protect coding-agent side effects with explicit approval gates and a workspace sandbox. - [Day 11:Patch Editing:安全应用 Unified Diff](https://penglei.dev/blog/2026-07-12-patch-editing/): Mini Coding Agent Harness 14 天系列第十一篇:安全验证并应用多文件 Unified Diff,避免半完成写入。 - [Day 11: Patch Editing for AI Coding Agents: Apply Unified Diff Safely](https://penglei.dev/blog/2026-07-12-patch-editing-en/): Day 11: validate and apply multi-file unified diffs without partial writes. - [Day 10:Git 与 Diff Tools:状态、补丁解析与变更摘要](https://penglei.dev/blog/2026-07-12-git-and-diff-tools/): Mini Coding Agent Harness 14 天系列第十篇:以只读方式让 Agent 查看 Git 状态、解析补丁并总结变更。 - [Day 10: Git Diff Tools for AI Coding Agents: Status, Parsed Patches, and Change Summaries](https://penglei.dev/blog/2026-07-12-git-and-diff-tools-en/): Day 10: give an agent safe, read-only visibility into repository status and parsed diffs. - [Day 09:Context Explorer:调试 Prompt 与 Token 使用](https://penglei.dev/blog/2026-07-11-context-explorer/): Mini Coding Agent Harness 14 天系列第九篇:检查 Prompt、Token 预算与各类上下文的占用。 - [Day 09: Context Explorer: Debug AI Agent Prompts and Token Usage](https://penglei.dev/blog/2026-07-11-context-explorer-en/): Day 09: inspect an agent prompt, token budget, and the context parts that consume it. - [Day 08:Context Builder:AI Coding Agent 上下文构建器](https://penglei.dev/blog/2026-07-09-context-builder/): Mini Coding Agent Harness 14 天系列第八篇:把系统指令、用户请求、工具、规则与项目片段组装成可检查上下文。 - [Day 08: Context Builder for AI Coding Agents](https://penglei.dev/blog/2026-07-09-context-builder-en/): Day 08: assemble system instructions, user requests, tools, rules, and project snippets into inspectable context. - [Day 07:Transcript Logging:Agent 执行日志与可观测性](https://penglei.dev/blog/2026-07-07-transcript-logging/): Mini Coding Agent Harness 14 天系列第七篇:用 JSONL 记录并回放 Agent 的模型请求、工具调用、结果与错误。 - [Day 07: Transcript Logging for AI Agent Runs](https://penglei.dev/blog/2026-07-07-transcript-logging-en/): Day 07: record model requests, tool calls, results, errors, and timings as replayable JSONL transcripts. - [Day 06:Agent Loop:Observe, Decide, Act / Coding Agent 执行循环](https://penglei.dev/blog/2026-07-05-agent-loop/): Mini Coding Agent Harness 14 天系列第六篇:把手动工具接入有边界的 observe-decide-act 执行循环。 - [Day 06: Agent Loop: Observe, Decide, Act in a Coding Agent](https://penglei.dev/blog/2026-07-05-agent-loop-en/): Day 06 of the Mini Coding Agent Harness series: turn manual tools into a bounded observe-decide-act loop. - [Day 05:Local File Tools / 本地文件工具](https://penglei.dev/blog/2026-07-03-local-file-tools/): Mini Coding Agent Harness 14 天系列第五篇:实现 list_files、read_file 和 search_text,让 harness 具备只读观察 workspace 的能力。 - [Day 05: Local File Tools](https://penglei.dev/blog/2026-07-03-local-file-tools-en/): Day 05 of the Mini Coding Agent Harness series: implementing list_files, read_file, and search_text so the harness can observe a workspace safely. - [Day 04:Tool Registry / 工具注册表](https://penglei.dev/blog/2026-07-01-tool-registry/): Mini Coding Agent Harness 14 天系列第四篇:定义工具 schema、runtime handler 和 dispatch,让 harness 具备可扩展的工具注册与手动调用能力。 - [Day 04: Tool Registry](https://penglei.dev/blog/2026-07-01-tool-registry-en/): Day 04 of the Mini Coding Agent Harness series: defining tool schemas, runtime handlers, dispatch, validation, and the first mock tool. - [Day 03:LLM Chat Loop / 最小对话循环](https://penglei.dev/blog/2026-06-29-llm-chat-loop/): Mini Coding Agent Harness 14 天系列第三篇:定义 chat message 和 model provider,把 CLI 从静态 scaffold 输出升级成最小模型对话循环。 - [Day 03: LLM Chat Loop](https://penglei.dev/blog/2026-06-29-llm-chat-loop-en/): Day 03 of the Mini Coding Agent Harness series: defining chat messages and model providers, then upgrading the CLI from static scaffold output to a minimal chat loop. - [Day 02:Project Scaffold / 项目骨架](https://penglei.dev/blog/2026-06-26-project-scaffold/): Mini Coding Agent Harness 14 天系列第二篇:用 TypeScript 和 npm workspaces 搭出第一个可运行 CLI,让后续 agent loop、tools、context 和 transcript 有清楚的入口。 - [Day 02: Project Scaffold](https://penglei.dev/blog/2026-06-26-project-scaffold-en/): Day 02 of the Mini Coding Agent Harness series: setting up a TypeScript and npm workspaces scaffold with the first runnable CLI surface. - [什么是 Agent Harness:模型、Agent 和 Harness 的边界](https://penglei.dev/blog/2026-06-25-agent-harness/): Mini Coding Agent Harness 14 天系列第一篇:从 OpenAI 和 Anthropic 的真实接口形态出发,拆清模型、agent loop 和 harness 的边界。 - [What Is an Agent Harness: The Boundary Between Model, Agent, and Harness](https://penglei.dev/blog/2026-06-25-agent-harness-en/): Day 01 of the Mini Coding Agent Harness series: using real OpenAI and Anthropic API shapes to separate model APIs, agent loops, and the harness around them. - [NuPhy 键盘快捷键速查笔记:系统切换、蓝牙、RGB 与 VIA 一次理清](https://penglei.dev/blog/2026-06-24-nuphy-he-shortcuts/): 入手 NuPhy 键盘后,我把官方使用指南里的关键快捷键整理成一份个人速查笔记,覆盖系统/连接切换、RGB 背光与侧灯、休眠、截图、恢复出厂以及 VIA 映射。原文见 nuphy.dev。 - [NuPhy Keyboard Shortcut Cheat Sheet: System, Bluetooth, RGB & VIA in One Pass (EN)](https://penglei.dev/blog/2026-06-24-nuphy-he-shortcuts-en/): After picking up a NuPhy keyboard, I turned the official quick-start guide into a personal cheat sheet — covering system switching, device pairing, RGB backlight & sidelite, sleep, screenshots, factory reset, and VIA remapping. Original at nuphy.dev. - [飞牛OS (FnOS) + OpenWrt 公网访问避坑:换了路由器 IPv6 就不通?原来是防火墙 Zone 设置在捣鬼](https://penglei.dev/blog/2025-12-04-oko_o6wm9kw/): 🛑 问题背景 作为一名运维折腾党,最近家里网络架构做了一次升级。我把原本的“傻瓜式”小米路由器,换成了性能更强、可玩性更高的 GL.iNet (OpenWrt 系统) 路由器。 我的 NAS 运行的是最近很火的 飞牛 OS (FnOS),上面跑了一些 Docker 服务(比如 - [成长的两面:心智的崩塌与潜水艇的建造](https://penglei.dev/blog/2025-08-24-2ulrqf60zsk/): 一个是在追求“合群”的成长中被世界摧毁,另一个是在守护“自我”的成长中与世界隔绝。 --- 《献给阿尔吉侬的花束》:向外成长的悲剧——社会化的代价 这本书探讨的成长困境,是当我们拼尽全力想变成“更好的自己”、想融入“更高级的圈子”时,所要付出的毁灭性代价。查理的成长,是一场典型的 - [罪与罚:心理剖析与道德困境](https://penglei.dev/blog/2025-08-24-4edzfp0li_l/): 这是一个非常深刻且常见的问题!很多人在初读陀思妥耶夫斯基时,都可能会有和你类似的感受。你没有感受到像《百年孤独》或《老人与海》那样的“震撼”,这恰恰说明了你捕捉到了它们之间本质的区别。 我们来分步探讨这个问题: 一、《罪与罚》探讨了怎样的故事? 《罪与罚》的核心,与其说是一个“故 - [搭上那趟开往过去的火车:在毕赣的潮湿梦境里寻找故乡](https://penglei.dev/blog/2025-08-24-irjmexjyq4w/): 我认为,毕赣的《路边野餐》和《地球最后的夜晚》的核心叙事脉络,始于一位返乡者所怀揣的浓厚乡愁。当他重回故地,面对的却是物是人非的剧变,这种现实与记忆的断裂感构成了他内心的主要创伤。为了应对这份创伤,故事便引入了一段超现实的梦境,而我认为这正是角色进行自我疗愈的关键环节,在梦中,他 - [老骨头的嘶吼,新时代的背影——评《捕风追影》](https://penglei.dev/blog/2025-08-22-nu0e5xflayd/): 当71岁的成龙和67岁的梁家辉在银幕上再度同框时,这部电影的意义便已超越了故事本身。它是一次回响,一场横跨了香港电影黄金时代至今的漫长对视。《捕风追影》用最纯正的港片风骨,点燃了暑期档,也点燃了我们积蓄已久的情怀 。它在告诉所有人:廉颇老矣,尚能饭否?答案是不仅能饭,甚至还能掀翻 - [在冷漠宇宙中寻找意义:《瑞克和莫蒂》的虚无与存在](https://penglei.dev/blog/2025-08-21-_-wa0lox3sz/): 这是一个非常深刻且核心的问题。《瑞克和莫蒂》(Rick and Morty)之所以能超越一部普通的搞笑动画,正是因为它在荒诞不经的科幻外壳下,严肃地探讨了虚无主义(Nihilism)和存在主义(Existentialism)这两大哲学主题。 这部剧集的核心冲突,其实就是在一个虚无 - [撕掉千亿CEO的标签,他首先是个普通人](https://penglei.dev/blog/2025-08-21-rusmbwcse-a/): 老罗和李想那个将近4个小时的对谈,我一开始还寻思,这得多催眠啊,结果硬是给看进去了。看完之后,感觉李想这个人,一下子在我心里“活”了过来。 以前总觉得他就是个精明的商人,一个报表上的数字。但这次访谈,他太实在了,实在到有点不像个千亿身家的老板。他上来就说,自己早年根本不爱车,搞汽 - [在电子羊的梦境中追寻自我: 《银翼杀手:2049》的存在主义内核**](https://penglei.dev/blog/2025-08-21-s57drajm2is/): 丹尼斯·维伦纽瓦的《银翼杀手:2049》不仅是一部视觉上令人叹为观止的科幻巨作,更是一场深入人类(及非人类)心灵的哲学沉思。它继承并深化了前作关于“何为人类”的探讨,并将其置于一个更广阔、更荒凉的存在主义画布之上。影片的主角,复制人K的寻觅之旅,完美地印证了存在主义的核心命题:存 - [“未经审视的人生不值得一过”这一命题的深刻性,在于它触及](https://penglei.dev/blog/2025-08-19-boydtpzdu7f/): “未经审视的人生不值得一过”这一命题的深刻性,在于它触及了人类存在的本质矛盾——被动生存与主动生活的区别。苏格拉底的箴言并非简单的“鸡汤式劝诫”,而是揭示了三个哲学层级的逻辑: * 第一层:认识论的觉醒 人类与其他生物的根本区别,在于具备反身性思考能力(reflexive con - [大学生活](https://penglei.dev/blog/2025-08-18-gjlov1rzjo0/): 今天我和老婆在学校游完泳,她接着去打网球,我就去超市买东西。平时我都是买完咖啡就走,但今天多逛了一下,发现超市里多了好多好多的盆和桶,还有洗漱用品,我这才突然意识到,大学开学了。 这个情景一下就让我想起,我的大学是2011年上的,距离现在已经14年,我今年都34岁了。回想起来,感 - [大学生活-gemini 回复](https://penglei.dev/blog/2025-08-18-nzmu71dlbow/): 朋友,你好。 你描述的这个瞬间,我完全能理解,而且觉得特别有画面感和触动人心。从游泳馆出来,看到超市里为新生准备的盆盆罐罐,这些最普通不过的日常用品,像一把钥匙,突然打开了你记忆的闸门,但涌出来的不是清晰的画面,而是一种巨大的、带有时间跨度的空旷感。这感觉很奇妙,甚至有点让人心慌 - [大学生活-claude回复](https://penglei.dev/blog/2025-08-18-zglqv-mxtl2/): 你说的这种感觉我很能理解。时间过去14年,从21岁到34岁,人生确实发生了巨大的变化。很多人都会有这样的体验——明明是自己亲身经历的重要人生阶段,但具体的细节却变得模糊不清了。 这其实是很正常的记忆现象。我们的大脑不是录像机,它会随着时间推移重新整理和筛选记忆。那些日常的细节—— - [microfeed](https://penglei.dev/blog/2025-08-17-rpqsf9-idyl/): 为什么这个 microfeed 增加 comment 功能完全不生效啊 - [microfeed-comment](https://penglei.dev/blog/2025-08-17-wg2vsnw_7mu/): 现在我给 microfeed 增加评论功能了 - [tailscale exit node体验实在太好了](https://penglei.dev/blog/2025-08-14-ivn5r1n5goy/): tailscale exit node体验实在太好了 - [不如不打](https://penglei.dev/blog/2025-08-12-dotah2goozh/): 很多企业对用户的问候是使用 AI 语音,我觉得如果使用机器人打还不如不打 - [开高速](https://penglei.dev/blog/2025-08-11-2r_bj2an1e3/): 前两天开高速开了几个小时发现还挺累的,有没有开高速不累的方法啊 - [Recent bento designed at Kree8](https://penglei.dev/blog/2025-08-08-2a2shsjs_4a/): Recent bento designed at Kree8 - [专注](https://penglei.dev/blog/2025-08-08-dnsvpiwstl7/): 专注于获取有质量的用户而不是数量,这件事情很关键 - [Always a pleasure when clients give me creative freedom.](https://penglei.dev/blog/2025-08-08-dupkh6emvr6/): A few screens from SymptoScan, an app that allows you to get insight into the possible cause of symptoms you might be having, using data fro - [迁移 microfeed 从 pages 到 workers](https://penglei.dev/blog/2025-08-08-lgba8fwl5u_/): 迁移 microfeed 从 pages 到 workers - [废物](https://penglei.dev/blog/2025-08-07-d9fbe3uqqhy/): 现在美国的先进人工智能帮我动脑 中国的闪购帮我做饭送饭 我的整个人已经处于比较废物的状态了 🐶 - [GPT5 livestream](https://penglei.dev/blog/2025-08-07-pq1zqmp-cwa/): 希望今天 gpt5 能推出干翻 claude code 的产品 - [openai, google, anthropic 御三家](https://penglei.dev/blog/2025-08-07-qbmusmagwqw/): 1. 我发现美国这三家公司真的有点像打仗哈哈 2. openai, google, anthropic 3. 前天 google 那个 genie3 和 gpt-oss 就是典型的虚晃一枪 4. google 的 genie3 肯定不是大杀器 5. 有点诱敌深入的感觉 6. go - [微信公众号二维码](https://penglei.dev/blog/2025-08-07-utwqeizkgio/): 微信公众号二维码 - [今天考了深水证,多少年过去了自由泳终于有点进步](https://penglei.dev/blog/2025-08-07-w0-b1grbece/): 今天考了深水证,多少年过去了自由泳终于有点进步 ## Projects - [Capture Studio](https://penglei.dev/projects/capture-studio/): A privacy-first macOS tool for quick screenshots, lightweight annotation, and short screen recordings. - [岩间 · 专注攀登](https://penglei.dev/projects/codo/): A playful climbing pomodoro timer that turns focused sessions into a small personal ascent. - [Nice Resume](https://penglei.dev/projects/nice-resume/): A JD-targeted resume rewrite workspace for refining bullets, keeping versions, and applying with intent. - [PiX](https://penglei.dev/projects/pix/): A local desktop coding agent powered by the Pi Agent SDK — tool approvals, Git diffs, precise rollback, skills, and automations. - [cli-harness](https://penglei.dev/projects/cli-harness/): A 14-day writing and coding series for building a mini CLI coding agent harness with TypeScript and Node.js. - [penglei.dev](https://penglei.dev/projects/penglei-dev/): This personal homepage, built with Astro and deployed on Cloudflare Workers. ## Optional - [RSS feed](https://penglei.dev/rss.xml): Published blog posts with dates and article content. - [Sitemap](https://penglei.dev/sitemap-index.xml): Index of public site URLs.