AI Agent 在你电脑上跑命令,你真的放心吗?

上周我尝试让 Agent 帮我重构一个项目(其实就是想偷个懒)。它跑了大概 20 分钟,中间噼里啪啦执行了四十多条 shell 命令——装依赖、改配置、跑测试,甚至还动了 .git 目录。 跑完我回头看了一眼日志,冷汗直接下来了:中间有好几步,如果它命令写偏了一个字符(比如把 rm -rf ./tmp/ 写成了 rm -rf /),我的本地环境大机率当场报废。 这还不是最可怕的。最可怕的是,当 Agent 每一步都弹窗问我“允许执行吗”的时候,我发现自己根本没仔细看——点了二十次“允许”之后,那个确认按钮已经变成了我的肌肉记忆。 这就是今天要聊的问题:Agent 越来越能干活了,但谁来管住它的手? 弹窗确认,其实是个心理安慰 很多人觉得,让 Agent 每执行一步都弹窗确认就够了。看起来很“民主”,实际上有两个致命问题。 第一,中断疲劳。一个正经的重构任务,可能涉及十几次文件读写、几十条 shell 调用。如果每一步都确认,Agent 的自动化价值就直接归零了。你雇了个助手,结果它每个动作都要你签字,那跟你自己干有什么区别?(这还不如我自己手写呢。) 第二,弹窗防不住真正的风险。你真的能在 1 秒钟内审完一长串 bash 命令吗?被混淆过的脚本、链式调用、隐蔽的数据外带——肉眼根本看不出来。本质上,弹窗确认是在把安全责任甩给用户,而不是在系统层面建立边界。 🔑 核心观点:车速越快,护栏越重要。你不能靠“每次变道都问一下副驾”来解决安全问题。 真正可持续的方案是:把 Agent 放进一个边界明确的区域,边界内自动跑,越界直接拦——不打扰,不甩锅,靠机制而不是靠注意力。 这就是 Agent 沙箱要干的事。 三条路线,各有各的算盘 目前行业里做 Agent 沙箱,大致有三条路线。它们不是谁淘汰谁,而是各适合不同的场景(或者说坑位)。 1. 容器型:Docker 一把梭 把代码执行环境塞进独立容器,通过 API 和 Agent 主流程解耦。 优点很明显:环境一致性好、多租户调度方便。很多云端 Agent 平台(比如那些做代码执行服务的)都走这条路。 但如果你要做的是“让 Agent 在我的本地项目里帮我干活”,Docker 就有点笨了。Volume 映射、路径同步、宿主文件和容器视图的一致性……一堆问题等着你。它更适合“把任务送进隔离盒子执行”,不太适合“在我当前工作区无缝协作”。 ...

2026-06-12 · 2 min · 326 words

Claude Code 开发者的一些使用建议

I’m Boris and I created Claude Code. I wanted to quickly share a few tips for using Claude Code, sourced directly from the Claude Code team. The way the team uses Claude is different than how I use it. Remember: there is no one right way to use Claude Code – everyones’ setup is different. You should experiment to see what works for you! Do more in parallel Spin up 3–5 git worktrees at once, each running its own Claude session in parallel. It’s the single biggest productivity unlock, and the top tip from the team. Personally, I use multiple git checkouts, but most of the Claude Code team prefers worktrees – it’s the reason @amorriscode built native support for them into the Claude Desktop app! ...

2026-06-12 · 4 min · 829 words

Claude Code 团队经验:Prompt Caching 就是一切

![生成特定风格图片 (1)](生成特定风格图片 (1).webp) 工程界有句老话:“缓存统治一切(Cache Rules Everything Around Me)”。在开发 AI 智能体(Agent)时,这句话同样适用。 像 Claude Code 这样需要长时间运行的智能体产品,之所以具有可行性,很大程度上归功于 Prompt 缓存(Prompt Caching)。它允许我们复用之前的计算结果,从而大幅降低延迟和成本。 关于 Prompt 缓存的原理和技术实现,这里不展开。在 Claude Code 团队,我们整个底层架构都是围绕 Prompt 缓存设计的。如果缓存命中率高,成本就能降下来,我们也能为订阅用户提供更宽松的使用限制。为此,我们甚至对缓存命中率设置了告警,一旦低于某个阈值,就会触发紧急故障(SEV)处理。 在优化大规模 Prompt 缓存的过程中,我们学到了很多经验。有些经验甚至有点反直觉,下面就和大家分享。 一、合理安排提示词的结构 Prompt 缓存的工作原理是“前缀匹配”(prefix matching)。API 会从请求的开头开始,一直缓存到你设置的断点。这意味着,内容的排列顺序至关重要。你希望尽可能多的请求,能够共享相同的前缀。 最好的做法是:把静态内容放在前面,动态内容放在后面。 在 Claude Code 里,我们的排列顺序是这样的: 静态系统提示词与工具定义(全局缓存) Claude.md 文件(在项目级别缓存) 会话上下文(在单个会话内缓存) 当前对话的具体消息 通过这种方式,我们能让更多的会话共享缓存命中。 但要注意,这种顺序出乎意料地脆弱!我们曾经踩过坑,破坏了这种顺序。比如:把详细的时间戳放进了静态系统提示词里、工具的排列顺序变成随机的、或者动态修改了工具的参数。这些都会导致前缀改变,缓存失效。 二、用消息来传递状态更新 有时候,你放在提示词里的信息会过期。比如,时间变了,或者用户修改了某个文件。你可能会想,那我去更新一下系统提示词吧。千万别这么做。这会导致缓存未命中,让用户付出高昂的成本。 更好的做法是:在下一轮对话中,通过“消息”来传递这些更新。 在 Claude Code 中,如果信息有更新(比如“现在是星期三了”),我们会在下一条用户消息或工具结果中插入一个 <system-reminder> 标签。这样既告诉了模型新情况,又保住了前面的缓存。 三、不要在对话中途切换模型 Prompt 缓存是和特定模型绑定的。这就导致了一个很反直觉的成本计算。 假设你正在用最强大的 Opus 模型聊天,已经积累了 10 万 token 的上下文。这时,你想问一个非常简单的问题。你可能觉得切换到便宜的 Haiku 模型会更省钱。错了。切换到 Haiku 反而更贵,因为你需要为 Haiku 重新建立那 10 万 token 的缓存。 ...

2026-06-12 · 1 min · 150 words

Harness 的实践:使用skill search 提高 skill 调用准确度

最近给自己的 Agent 做了一次关键的改造。表面上看,只是新增了一个 Skill Search 工具,但真正改变的,是 Agent 的工作方式。 以前 Skill 的调用非常不稳定。明明已经很明确告诉它"搜索天气"“搜索新闻”,也提供了相应的工具,但它就是不能自动触发。尝试优化提示词、改进 Skill 描述,做了很多尝试,效果都不理想。 后来看到 Claude Code 的源码,里面有一个 Tool Search 机制:每次使用工具之前,先查询一下有没有可用工具。受这个启发,我做了一个 Skill Search 工具,希望在 Agent 触发能力边界时——比如需要搜索网络、写脚本、调用外部命令时——先检查有没有现成 Skill 可以用,而不是从头造轮子。 核心问题 原来的 Skill 调用机制是这样的:把所有 Skill 的名字和描述都塞进系统提示词里,然后告诉模型"如果当前任务适合某个 Skill,就优先使用"。 这个思路一开始是成立的,模型确实"看得到"这些 Skill,也能在某些场景下主动调用。但真正用久了之后,问题就暴露出来了。 只有显式调用才稳定。当直接输入 /web-search 或明确指定某个 Skill 时,没问题——因为这时候不是模型在判断,而是用户替它做了决策。但真实使用中,用户更常见的表达是: “帮我搜一下这个话题” “去网上查一下最近有什么信息” “看看有没有现成工具能做这件事” “帮我处理一下这个文件” 这些输入对人类来说已经足够明确,大家都知道这时候应该优先检查 Skill。但模型不是每次都这么做。很多时候,明明已经有现成 Skill,它还是直接跳过去,自己动手。 根本原因不是 Skill 描述不够好,而是机制本身有问题。 原来的调用流程太长了:模型先看用户输入,再判断是否需要执行任务,再回忆提示词里有没有对应 Skill,再匹配描述,最后才决定要不要调用。只要其中任何一步松掉,它就会进入更省事的路径:自己来做。 随着 Skill 越来越多,问题还会继续恶化。Skill 越多,提示词越长,模型越容易漂移。这些 Skill 只是混在上下文里的动态信息,对模型来说不是强制执行的流程,只是可能参考的背景材料。 改造方案 核心上做了三件事。 1. 从隐式到显式 把 Skill 从"提示词中的隐式能力"变成"运行时中的显式能力"。新增真正的 skill_search,让 Agent 在面对非纯文本任务时,不是默认自己动手,而是先查有没有现成 Skill。 ...

2026-06-12 · 2 min · 424 words

独立开发者免费资源汇总表

一、开发工具与服务 功能分类 服务名称 链接 价格 特点 一句话介绍 备注 代码托管 GitHub https://github.com $0 代码托管、版本控制 托管代码和管理版本的主流网站,可以协作开发、提 PR、做 Code Review。 docs.github 基础功能免费 代码审查 CodeRabbit https://coderabbit.ai $0 AI 代码审查 给你的代码和 PR 做 AI 审查,指出 bug、坏味道并给建议。 dev 提高代码质量 网络连接 Tailscale https://tailscale.com $0 安全网络连接 让多台设备通过互联网组成一个私有局域网,像在同一个 Wi‑Fi 下一样访问服务。 en.wikipedia 设备间安全通信 监控告警 Grafana https://grafana.com $0 监控和可视化 把数据库、日志、监控数据连起来做漂亮的大盘和图表,方便观察服务健康状况。 devops 数据监控分析 产品分析 PostHog https://posthog.com $0 产品使用分析 统计用户在你网站/应用里的点击、转化、留存,用来优化产品体验。 youtube 用户行为分析 图片/视频处理 Cloudinary https://cloudinary.com $0 媒体处理、云存储、CDN 负责存图、剪裁、压缩、加水印并通过 CDN 分发,省掉自己写媒体处理逻辑。 cloudinary 25GB 存储/月 技术栈 Next.js https://nextjs.org $0 全栈开发框架 基于 React 的 Web 框架,既能写前端页面也能写 API,支持 SSR、静态导出等。 vercel ORM Drizzle ORM https://orm.drizzle.team $0 轻量级 ORM 在 TS 里用类型安全的方式读写数据库,比直接写 SQL 更安全好维护。 refine 认证 Better Auth https://better-auth.com $0 全面鉴权库 帮你处理登录、注册、会话等鉴权逻辑,减少自己手写安全相关代码。 better-auth 邮件模板 React Email https://react.email $0 邮件模板系统 用 React 组件写邮件模板,让邮件 UI 和网站 UI 一样可复用、易维护。 文档 Fumadocs https://fumadocs.com $0 文档生成 帮你基于 MDX/Next.js 快速搭一个美观、可搜索的产品/技术文档站。 国际化 next-intl https://next-intl-docs.vercel.app $0 国际化支持 在 Next.js 里处理多语言文案、路由本地化,让网站轻松支持多种语言。 主题 next-themes https://github.com/pacocoursey/next-themes $0 暗色主题 一行配置就能给网站加上深色/浅色主题切换支持。 分析 Umami https://umami.is $0 开源网站分析 自己部署的轻量统计工具,看访问量、来源等,又不追踪用户隐私。 分析 Plausible https://plausible.io $0 隐私友好分析 类似 Google Analytics 的网站统计,但界面更简单、更加注重隐私。 UI 框架 Tailwind CSS https://tailwindcss.com $0 CSS 框架 提供一堆实用的类名,让你不用写很多自定义 CSS 就能快速搭出页面。 w3schools UI 组件 shadcn/ui https://ui.shadcn.com $0 可定制组件 提供一套可复制源码的 React 组件,例如对话框、表单、菜单等,适合做统一设计系统。 状态管理 Zustand https://zustand-demo.pmnd.rs $0 轻量级状态管理 管理 React 全局状态的超轻库,比 Redux 简单很多,学习成本低。 数据获取 TanStack Query https://tanstack.com/query $0 数据获取和缓存 负责管理前端请求状态、缓存和刷新策略,解决“加载中/错误/刷新”等繁琐逻辑。 表单 React Hook Form https://react-hook-form.com $0 表单处理 把表单输入、校验、提交封装成 Hook,既高性能又易于和 TS/验证库配合。 类型安全 TypeScript https://www.typescriptlang.org $0 类型系统 在 JS 上增加类型检查,帮助提前发现错误,提升开发体验和可维护性。 datacamp 验证 Zod https://zod.dev $0 模式验证 定义数据结构并校验输入是否符合要求,常用于接口入参、表单校验等。 格式化 Biome https://biomejs.dev $0 Lint 和格式化 集成代码格式化和静态检查,一次配置就能统一团队代码风格。 动画 Framer Motion https://www.framer.com/motion $0 动画库 给 React 组件加各种平滑动画效果,比如过渡、拖拽、手势等。 二、服务器 / 托管服务 服务名称 链接 价格 配置/额度 特点 一句话介绍 适合场景 AWS https://aws.amazon.com/free $0/年 新用户免费套餐 送半年+半年 VPS,Mac 实例带 GUI 全球最大的云平台,新人有免费额度,可以先玩 EC2、S3 等常见服务。 datacamp 最适合起步 腾讯云 https://cloud.tencent.com ¥20/月 轻量服务器 预配置 OpenClaw 环境 国内访问速度友好、价格合适,用来部署 Web/后端很常见。 国内用户 Hostinger https://www.hostinger.com $10/月 (~¥70) VPS 预配置 OpenClaw 环境 面向个人站长的便宜 VPS,适合部署博客、小应用等。 海外用户 Vercel https://vercel.com $0 100GB 带宽/月,1M 边缘请求 Next.js 官方支持 专门用来托管前端和全栈框架代码,“连 Git 仓库,一推就上线”。 vercel 非商业项目 Cloudflare Pages https://pages.cloudflare.com $0 无限请求和带宽 静态网站托管 把静态站点托管在 Cloudflare 边缘节点,访问速度快且基本免费。 静态网站 Zeabur https://zeabur.com $5/月起 按量付费 支持多种语言和框架 输入 Git 仓库就能部署后端、前端、数据库,很适合独立开发者。 容器部署 Railway https://railway.app $5/月额度 按资源使用付费 支持 PostgreSQL 和 Docker 通过 Web 界面快速创建服务和数据库,适合 PoC 和中小项目。 灵活 PaaS Fly.io https://fly.io <$5 免费 Shared-1x 256MB 全球部署 把应用打包成镜像后一键部署到全球多个机房,适合需要全球访问的服务。 小额免费 Dokploy https://dokploy.com 自托管 自建 PaaS 平台 一键部署、自动备份 自己有服务器时,用它搭一个类似 Railway 的“私有云平台”。 技术用户 Coolify https://coolify.io 自托管 开源部署平台 自托管方案 开源的自托管 PaaS,可以用浏览器操作把项目部署到自家服务器。 技术用户 Oracle https://cloud.oracle.com $0 可申请两台免费服务器 可申请两台免费服务器 公有云服务,服务器可免费更换固定 IP 小额用户 Appwrite https://appwrite.io/ $0 5G 带宽,2G 存储 75K 活跃用户 免费资源足够 Appwrite 是一个面向开发者的开源后端即服务平台,提供认证、数据库、文件存储、云函数和实时通信等能力,帮助更快搭建 Web 和移动应用后端 小额用户 三、AI 模型 / API 服务 服务名称 链接 价格 特点 一句话介绍 稳定性 备注 Anyrouter https://anyrouter.com $0 提供 Opus 但不稳定 聚合多个大模型的网关,可以统一一个 API 访问不同模型。 低 适合测试 公益站(Linux.do 等) https://linux.do 几元/天 逆向 Opus 社区里有人提供低价大模型 API,一般适合个人体验使用。 中 Linuxdo/闲鱼找 ZenMux https://zenmux.com $12/月起 企业级聚合平台 面向企业的多模型接入平台,主打稳定性和统一账单管理。 高 多模型切换方便 Claude https://console.anthropic.com 按量 官方 API Anthropic 官方提供的 Claude API,适合正式产品接入和严肃场景。 高 适合生产环境 四、数据库服务 服务名称 链接 价格 免费额度 特点 一句话介绍 备注 Supabase https://supabase.com $0 500MB 存储,5GB 带宽 PostgreSQL + 实时功能 “开源 Firebase 替代品”,内置认证、存储、实时订阅等一整套后端能力。 2 个项目限制 Neon https://neon.tech $0 0.5GB 存储,10 个项目 Serverless PostgreSQL 无需自己运维的云 Postgres,按使用量计费,支持分支等现代特性。 分支功能 PlanetScale https://planetscale.com $0 5GB 存储,10 亿读/月 MySQL 兼容 基于 Vitess 的云 MySQL,适合需要高扩展性又不想管运维的 Web 项目。 独立开发者推荐 TiDB Cloud https://tidbcloud.com $0 免费 tier 分布式数据库 云上的分布式 NewSQL 数据库,兼容 MySQL 协议,适合大数据量场景。 企业级特性 DynamoDB https://aws.amazon.com/dynamodb $0 25GB 存储+1GB 传输 AWS NoSQL AWS 的托管 NoSQL 数据库,适合键值和文档型数据。 github AWS 用户 CosmosDB https://azure.microsoft.com/products/cosmos-db $0 25GB 存储 兼容 MongoDB/PostgreSQL Azure 上的多模型数据库,支持多种 API 和全球分布。 Azure 用户 Cloudflare D1 https://developers.cloudflare.com/d1 $0 5GB 存储 SQLite 实现 Cloudflare 上的云 SQLite 数据库,适合和 Workers 搭配构建边缘应用。 Workers 集成 Upstash Redis https://upstash.com $0 1 万请求/天,256MB Serverless Redis 提供按调用计费的 Redis 服务,和 Edge/Serverless 环境很好配合。 边缘部署 五、存储与 CDN 服务名称 链接 价格 免费额度 特点 一句话介绍 备注 Cloudflare R2 https://www.cloudflare.com/products/r2 $0 10GB 存储,1000 万次 A 类操作 无带宽费用,S3 兼容 像 S3 一样存对象,但省掉大部分外网流量费用,适合做下载/媒体存储。 强烈推荐 Cloudinary https://cloudinary.com $0 25GB 存储,25000 次转换 图片/视频处理 专门用来存、处理和分发图片/视频的云服务。 媒体处理强大 BunnyCDN https://bunny.net $0 免费 tier CDN 加速 价格便宜、地区覆盖广的静态资源加速服务。 性价比高 jsDelivr https://www.jsdelivr.com $0 完全免费 JS 库 CDN 专门加速开源 JS/CSS 资源的公共 CDN。 公共库加速 网易云 NOS https://www.163yun.com/product/nos ¥0 50GB 存储,20GB 下行/月 国内访问快 网易云的对象存储,适合面向国内用户的静态资源托管。 国内用户 又拍云 https://www.upyun.com ¥0 10GB 存储,15GB 下行/月 国内 CDN 国内老牌 CDN/存储服务商,适合小站点冷启动。 需要申请联盟 GoEnhance.ai https://goenhance.ai $0 注册送 10G 对象存储+CDN 新兴的对象存储+CDN 组合方案,适合存放文件、图片和下载资源。 流量费用免费 六、监控与分析 服务名称 链接 价格 免费额度 特点 一句话介绍 备注 Google Analytics https://analytics.google.com $0 完全免费 网站统计分析 谷歌的站点统计工具,看 PV、来源、转化等数据。 nerdwallet 标准分析工具 Umami https://umami.is $0/自托管 开源 隐私友好分析 自托管的简洁统计面板,常被用来替代 GA 以避免隐私问题。 可自托管 Plausible https://plausible.io $0/自托管 开源 隐私友好分析 提供托管版和自托管版,界面非常干净,专注关键指标。 可自托管 Grafana https://grafana.com $0 - 监控可视化 将日志、时间序列等监控数据做成各种大屏、图形和告警。 devops 技术监控 PostHog https://posthog.com $0 - 产品分析 用事件、用户画像、漏斗等方式分析产品使用行为。 产品优化 UptimeRobot https://uptimerobot.com $0 50 个监控项,5 分钟检查 网站监控 定时请求你的站点,宕机时通过邮件/通知提醒你。 服务可用性监控 Uptime Kuma https://github.com/louislam/uptime-kuma 自托管 - 开源监控工具 类似 UptimeRobot 的自托管版,可以自己在服务器上搭。 自托管方案 七、邮件服务 服务名称 链接 价格 免费额度 特点 一句话介绍 备注 Resend https://resend.com $0 3000 封/月,100 封/天 开发者友好,现代 API 现代感很强的邮件发送服务,和 JS/Node 生态结合紧密。 推荐 Mailgun https://www.mailgun.com $0 免费 tier 邮件发送服务 老牌邮件 API 提供商,文档和生态都比较成熟。 独立开发者 React Email https://react.email $0 开源 邮件模板 用 React 编写和预览邮件模板,再配合任意 SMTP/API 发送。 配合 Resend Unsend https://github.com/unsend-io/unsend 自托管 - 开源 可以自己部署的邮件发送后端,用来替代托管型服务。 自托管方案 AWS SES https://aws.amazon.com/ses 按量 - 付费 AWS 提供的大规模批量邮件发送服务,单价非常低。 大规模邮件 网易企业邮 https://qiye.163.com ¥0 3G 容量 国内访问快 帮团队申请企业域名邮箱,适合国内团队。 国内用户 Zoho Mail https://www.zoho.com/mail ¥0 免费 tier 企业邮箱 提供无广告的免费企业邮箱账户。 无广告 八、支付服务 服务名称 链接 价格 特点 一句话介绍 适用场景 备注 Stripe https://stripe.com 按交易收费 成熟稳定,生态完善 全球主流线上收款平台,支持信用卡、钱包等多种支付方式。 stripe 正式产品 Paddle https://www.paddle.com 按交易收费 税务处理完善 专门替软件开发者代收款、代处理增值税和发票。 国际销售 Creem.io https://creem.io 按交易收费 无需开公司 帮个人开发者代收海外款、结算到国内账户。 国内开发者 Lemon Squeezy https://www.lemonsqueezy.com - 被 Stripe 收购 以前很火的数字产品收费平台,目前不再开放新用户。 - 九、设计资源 资源类型 服务名称 链接 价格 特点 一句话介绍 备注 图标 Font Awesome https://fontawesome.com $0 丰富图标库 常用图标集,比如菜单、社交图标等,前端项目里经常会用到。 基础需求满足 图标 Iconfinder https://www.iconfinder.com $0 可筛选免费图标 可以按风格、用途筛选图标,支持只看免费授权。 补充资源 图标 Tabler Icons https://tabler.io/icons $0 1900+ 统一风格图标 提供一整套线性风格图标,适合后台、管理系统 UI。 简洁美观 图标 Iconbolt https://iconbolt.com $0 6 万+ SVG 图标 聚合多套图标库,方便一站式搜索 SVG 图标。 免费使用 插画 Undraw https://undraw.co $0 免费插画 提供风格统一的扁平插画,可以按主题选择并自定义主色。 Landing page 必备 插画 Storyset https://storyset.com $0 可调整参数 提供多种风格插画,支持在线改颜色、姿势、场景等。 丰富多样 落地页 Ant Design Landing https://landing.ant.design $0 基于 Ant Design 用 Ant Design 的组件搭建营销/展示型页面模板。 组件丰富 落地页 Tailblocks https://tailblocks.cc $0 Tailwind CSS 组件 各类常见版块(Hero、Features 等)的 Tailwind 片段,可直接复制使用。 常用模块齐全 图片编辑 Photopea https://www.photopea.com $0 在线 PS 浏览器里的“简化版 Photoshop”,支持 PSD/PSB 等格式。 无需下载 图片放大 Upscayl https://github.com/upscayl/upscayl $0 开源图片放大 用 AI 将小图放大并增强细节,适合处理模糊图片。 AI 增强 图片清理 Lama Cleaner https://github.com/Sanster/lama-cleaner $0 AI 擦除物体 在图片中一键抹掉多余物体、人物,并自动补全背景。 开源工具 十、其他工具 功能分类 服务名称 链接 价格 特点 一句话介绍 备注 学生资源 学生资源福利汇总 https://edu.52it.de/ 折扣 学生资源 学生资源福利汇总 - 为学生提供最全面的优惠资源 教育邮箱 maricopa https://www.maricopa.edu/ $0 美国社区大学 美国社区大学,可免费注册教育邮箱 软件订阅 GamsGo https://www.gamsgo.com/details/chatgpt 折扣 折扣价格订阅软件 折扣价格订阅软件 域名 Freenom https://www.freenom.com $0 免费域名 (.tk/.ml 等) 提供部分后缀的免费域名,适合测试或冷启动项目。 冷启动使用 域名 Cloudflare Domains https://www.cloudflare.com/products/registrar $10/年 .com 域名 Cloudflare 自带的域名注册服务,价格接近成本价。 价格稳定 域名 Spaceship https://spaceship.com 可变 首年便宜 提供较便宜首年域名注册,注意第二年起续费价格。 注意续费价格 域名 Regery https://regery.com 可变 首年便宜 另一家便宜域名注册商,用来“薅首年价格”。 注意续费价格 域名搜索 tldx https://tldx.cc $0 开源域名搜索 搜索不同后缀下可用的域名,帮助你取名字。 寻找合适域名 HTTPS 证书 acme.sh https://acme.sh $0 免费证书 利用 Let’s Encrypt 自动申请和续期 HTTPS 证书的脚本。 Let’s Encrypt HTTPS 证书 certbot https://certbot.eff.org $0 免费证书 EFF 提供的官方 Let’s Encrypt 申请工具,支持多种服务器环境。 EFF 提供 音乐素材 Uppbeat https://uppbeat.io $0 免费背景音乐 提供适合视频、播客的免版税背景音乐,需按要求署名。 需注明版权 音乐素材 Pixabay Music https://pixabay.com/music $0 免费音乐 可商用的音乐素材下载站,适合做视频配乐。 可商用 音乐素材 Openverse https://openverse.org $0 免费音乐 搜索各类 CC 授权音频/媒体资源的聚合平台。 WordPress 音乐素材 NCS https://ncs.io $0 无版权音乐 在 YouTube 等平台很常见的免费电音/背景音乐。 适合视频 音乐素材 Dova-s https://dova-s.jp $0 免费音乐 日本站点,提供大量免费 BGM,适合游戏/视频。 日本站点 音乐素材 Incompetech https://incompetech.com/music $0 免费音乐 个人音乐人网站,提供可署名使用的背景音乐。 个人创作 工作流 n8n https://n8n.io 自托管 开源工作流自动化 像“自建 Zapier”,通过拖拽节点串联各种 API 和任务。 Zapier 替代 OAuth 管理 Nango https://www.nango.dev 自托管 开源 OAuth 管理 统一管理集成第三方服务时的 OAuth 授权流程和 token。 自托管方案 通知服务 ntfy https://ntfy.sh $0 开源 pub-sub 通知 通过 HTTP/订阅方式向手机、浏览器等发送自定义通知。 推送消息 通知服务 Gotify https://gotify.net $0 开源通知服务 自托管的推送服务器,配合客户端 App 接收通知。 类似 ntfy 博客平台 Sonic https://github.com/go-sonic/sonic $0 Go 语言博客系统 类似 WordPress 的博客系统,但用 Go 编写,性能不错。 轻量级 数据库练习 Crunchy Data https://www.crunchydata.com/developers/tutorials $0 在线 PostgreSQL 练习 提供在线环境和练习题,帮助你学习 SQL 和 Postgres。 学习 SQL Linux 练习 Sadservers https://sadservers.com $0 Linux 服务器管理题库 在“故障服务器”上做题,一边修一边练 Linux 运维技能。 浏览器实例 Python 教程 Full Stack Python https://www.fullstackpython.com $0 免费英文教程 从 Web、数据、部署等角度系统讲 Python 生态。 实战应用 Flask 教程 Flask Mega-Tutorial https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world $0 免费电子书 非常经典的 Flask 系列教程,从零搭建一个完整网站。 Flask 学习 如果你打算把这份表分享给刚入门的独立开发者,你最希望他们先重点看哪几块(比如:“先看开发工具 + 托管 + 支付”)? ...

2026-06-12 · 7 min · 1334 words

我在真实 Agent 产品里落地 Sandbox 的全过程

我一开始以为,给 Agent 加 Sandbox 这件事并不复杂: 把 bash 套进隔离层 限一下文件系统 限一下网络 再处理一下环境变量 但真把它放进一个真实产品里,问题马上就不是“能不能隔离”,而是: 既要让 Agent 真能干活,又不能让它顺手把宿主机掀了。 这次我在自己的 Agent Runtime 里,先后被两个非常具体的场景逼着重构权限模型: curl 在沙箱里访问网络,一直报错 agent-browser 要打开网页并截图,但它本质上不是普通网络请求,而是宿主浏览器能力 最后我做出来的,不只是一个 Shell Sandbox,而是一整套: bash 执行边界 Host Capability 审批 白名单复用 自动续跑 配置脱敏 多渠道结构化审批 这篇文章,我就完整讲讲这套东西是怎么从真实问题里长出来的。 我在真实 Agent 产品里落地 Sandbox 的全过程 从 curl 报错,到 agent-browser 审批升级,我是怎么把权限、审批、配置安全真正做成产品能力的 如果你最近在做 Agent,而且这个 Agent 不是纯聊天,而是真的会: 调 bash 装依赖 读写文件 连网 调本机工具 打开网页、截图、控制浏览器 那你迟早会遇到一个问题: “让 Agent 能干活”和“让 Agent 不乱来”之间,根本不是加一个开关就能解决的。” 一开始我也以为,所谓 Sandbox,无非就是: 把 bash 套进一个 OS-level sandbox 限文件系统 限网络 再处理一下环境变量 听上去很合理。 但真把它放进一个真实产品里,你很快就会发现: ...

2026-06-12 · 8 min · 1664 words

别让 AI Agent 在你的电脑上裸奔:主流沙箱方案全景解析与 Anthropic Sandbox Runtime 深度拆解

过去一年,Agent 的能力边界被迅速拉高。它不再只是“会聊天的大模型”,而是在越来越多的场景里真正拥有了“手脚”:能写代码、改文件、跑测试、装依赖、发请求,甚至直接操作本地终端。 但问题也恰恰出在这里。 一旦 Agent 可以直接在开发机上执行命令,它就不再只是一个推理系统,而变成了一个半可信执行体:正常情况下它是高效助手,异常情况下它也可能是一个“拿着系统权限的自动脚本”。模型幻觉、Prompt Injection、第三方仓库里的恶意指令、错误的工具调用路径,都会把风险从“回答错了”升级为“真的把你的环境改坏了”。 于是,一个绕不开的问题摆在所有 Agent 产品面前: 怎么让 Agent 真正自动化地干活,同时又不把宿主机暴露在不可控风险里? 这就是 Agent Sandbox 的价值所在。 “系统安全能力的下限,决定了 Agent 自动化能力的上限。” 问题 在没有成熟沙箱之前,最常见的办法是“人工确认”:Agent 每执行一步命令,每改一次文件,都弹窗询问用户要不要继续。 这种做法看起来安全,但实际上只解决了心理安慰,并没有真正解决底层风险。 第一,它会快速演变成严重的中断疲劳。一个稍微复杂一点的重构任务,可能要经历十几次读写文件、数十次 shell 调用、若干次网络请求。每一步都确认,Agent 的自动化价值会被彻底抵消。 第二,它对真实攻击并不可靠。开发者并没有足够的时间在一秒钟内审完一长串 bash 命令,更不可能靠肉眼持续识别被混淆过的脚本、链式调用或隐蔽的外带逻辑。换句话说,弹窗确认本质上是在把安全责任转嫁给用户,而不是在系统层面建立边界。 真正可持续的方案不是“每一步都问你”,而是: 默认把 Agent 放进一个边界明确的运行区域; 边界内自动执行,不打扰用户; 一旦越界,由底层机制直接拦截,而不是事后追责。 这就是现代 Agent 沙箱的核心设计目标:把安全从“交互层提醒”下沉到“执行层约束”。 方案演进 从当前行业实践看,Agent 沙箱大致形成了三条路线。它们并不是谁绝对淘汰谁,而是分别适合不同的产品形态。 1. 容器型沙箱 这一类方案通常基于 Docker 或容器池,把代码执行环境封装进独立容器,再通过 API 或任务调度系统与 Agent 主流程解耦。 它的优势很明显:环境一致性好,依赖管理成熟,易于做多租户调度,也方便把环境变量、文件系统和网络策略统一配置。很多云端 Agent 平台、代码执行服务、Browser + Code 一体化沙箱都属于这一路线。 但它的局限同样明显: 如果你的目标是“让 Agent 直接辅助用户本地开发”,Docker 会显得偏重。你需要处理 volume 映射、UID/GID、路径同步、宿主文件状态与容器视图的一致性,以及本地开发工具链与容器内部环境的错位问题。它更适合“把任务送进一个隔离盒子里执行”,而不天然适合“在用户当前工作区无缝协作”。 2. MicroVM 型沙箱 这一类典型代表是 Firecracker 体系或基于它的代码执行平台。它的优势是隔离强度极高,接近虚拟机级别,天然适合云端多租户场景,也更适合执行不可信代码。 ...

2026-05-11 · 3 min · 607 words

一次 Skill Draft 命名问题,为什么最后变成了一个专用 Subagent

有些问题看起来很小。 比如这次,表面上只是 Skill Draft 的 name 不好用。 但顺着查下去,它其实暴露了一个更底层的问题:我们到底是在“记录一次对话”,还是在“沉淀一个以后能复用的工作流”? 这两件事长得很像,但对系统来说完全不是一回事。 改动前:草稿名来自用户原话 之前 Molibot 会在一次复杂运行成功后,自动保存一个 Skill Draft。 它的目标是把这次跑通的流程沉淀下来,之后遇到类似任务时,不用每次都重新摸索。 问题出在草稿 metadata,尤其是 name。 当用户发出这样的消息: 为什么没有昨日数据回顾,只有今天的数据,我这个是要有昨日数据回顾的,要在第一条就列出来昨日数据 系统生成的草稿名会接近: name: 为什么没有昨日数据回顾-只有今天的数据-我这个是要有昨日数据回顾的-要在第一条就列出来昨日数据 另一个更典型的例子是: 重试一下 它也可能变成: name: 重试一下 这显然不是一个 Skill 名。 Skill 的 name 应该是稳定的功能标识,比如: name: yesterday-data-review 用户原话可以保留,但它应该出现在触发描述、示例、上下文里,而不是变成 Skill 的主标识。 为什么必须改 Skill Draft 不是聊天记录。 聊天记录关心的是“用户当时怎么说”。 Skill Draft 关心的是“这次跑通了什么可复用能力”。 如果 name 直接来自用户原话,会带来几个实际问题。 第一,名字不可读。 长句、抱怨、纠错、口语化表达都会进入 name。设置页里扫一眼,根本看不出这是哪个能力。 第二,后续触发不稳定。 Skill 的 metadata 是触发系统理解它的重要入口。重试一下 这种名字既不能描述能力,也不能帮助模型判断什么时候该用它。 第三,草稿无法自然升级成正式 Skill。 草稿阶段可以粗糙一点,但不能粗糙到主标识不可用。否则每次 Review 都要人工重命名,自动沉淀的价值就打折了。 第四,和 skill-creator 规范不一致。 项目里已经声明创建 Skill 要遵守 skill-creator 规范:name 是 skill identifier,description 才负责说明功能和触发场景。 ...

2026-05-06 · 2 min · 414 words

一文读懂大语言模型的训练全过程

从原始数据到智能对话——ChatGPT、DeepSeek、Qwen 这类大模型是怎么"炼"出来的? 当你在手机上向 AI 助手提问,它能流畅地回答、写代码、做分析,这背后是一套复杂而精密的训练工程。本文将从工程视角,完整拆解大语言模型(LLM)的训练过程,包括每一步在做什么、需要哪些数据、依赖哪些技术基础设施。 一、先搞清楚两个大阶段 LLM 的训练通常分为两大阶段: 预训练(Pre-training):让模型"博览群书",获得通用知识与语言能力 后训练(Post-training):让模型"上岗培训",学会按指令回答、安全礼貌地与用户交流 后训练的计算量只有预训练的约 5%,但它决定了模型的实际可用性,也是近年来研究最活跃的方向。[1] 二、六大训练步骤详解 第一步:数据收集与预处理 一切从数据开始。训练一个现代大语言模型,需要数万亿(Trillions)个 Token 的文本语料。[2] 数据来源包括: 通用网页文本:Common Crawl、C4 等互联网爬虫数据集 书籍与学术文献:Books3、ArXiv、PubMed 等 代码:GitHub 公开代码仓库、Stack Overflow 问答 百科全书:多语言 Wikipedia 原始数据质量参差不齐,必须经过严格的清洗流程: 去重:使用 MinHash / SimHash 去除重复内容,防止模型过拟合 质量过滤:基于困惑度(Perplexity)、规则过滤低质量内容 语言识别与分类:按语言比例混合多语言数据 Tokenizer 训练:使用 BPE(字节对编码)或 SentencePiece 训练分词器 这一步的产出: TB 级别的清洁语料库 + 训练好的 Tokenizer。 第二步:大规模预训练 这是整个流程中计算量最大、成本最高的环节,通常需要数千块 GPU 运行数周甚至数月。 核心原理: 自回归语言建模(Autoregressive Language Modeling)——给模型看一段文本,让它预测下一个 Token 是什么。通过在海量文本上反复迭代,模型逐渐学会了语言规律、世界知识、逻辑推理。[3] 关键技术组件: 组件 作用 Transformer 架构 多头注意力(Multi-head Attention)+ 前馈网络(FFN) RoPE 位置编码 让模型理解 Token 之间的位置关系 RMSNorm 归一化 稳定训练过程,替代传统 LayerNorm Flash Attention 2/3 IO 感知的高效注意力算法,2-4 倍提速 GQA 分组查询注意力 减少 KV Cache 占用,提升推理效率 混合精度训练(BF16) 节省显存,加速计算 这一步的产出: 基础模型(Base Model)。它掌握了丰富的知识,但只会续写文本,不会听指令。 ...

2026-04-27 · 2 min · 315 words

我用 AI 给 Obsidian 写了一个"LLM-wiki"插件

起因 前几天,Karpathy 发了一条推。 他讲自己怎么用 LLM 管个人知识库,用了一个词:编译(Compile)。意思是,把原始资料"编译"成结构化知识。Obsidian Vault 是代码仓库,LLM 就是编译器。 我看完愣了一下——这不就是我最近几个月一直在折腾的事吗?我一直在做一个流程,把 raw 资料变成 wiki 条目,只是一直没找到一个好的词来概括。现在有了:知识编译。 然后我就做了一个程序员会做的事:把它做成了 Obsidian 插件。 思路 传统管理知识库的方式,大家应该都不陌生:你积累了 500 篇笔记,然后加标签、建链接、分类整理,再然后……三个月后放弃了,笔记库慢慢腐烂。 编译方式不一样。你只管把原始资料丢进 raw/ 目录,LLM 负责读取、提炼、交叉引用,自动产出结构化的 wiki 页面。你只需要做两件事:喂料,提问。 这跟写代码一模一样。raw/ 是源码,wiki/ 是编译产物,index.md 是目录清单,log.md 是构建日志,编译器是 LLM。你不会手动把 .java 文件逐行翻译成 .class——同理,你也不应该手动给 500 篇笔记加标签。 三层目录,各管各的 先看一下目录结构: Vault/ ├── raw/ # 原始资料,人类添加,LLM 自动归类 │ ├── tech/ # 技术文章、论文、教程 │ ├── work/ # 工作相关文档 │ ├── reading/ # 读书笔记、播客笔记 │ ├── general/ # 其他内容 │ └── assets/ # 图片附件 │ ├── wiki/ # 编译产物,完全由 LLM 维护 │ ├── summaries/ # 每篇源文件的结构化摘要 │ ├── concepts/ # 概念页面(跨源综合) │ ├── entities/ # 人物/工具/框架页面 │ ├── comparisons/ # 对比分析 │ └── analysis/ # 深度分析(从好的问答中沉淀) │ ├── legacy/ # 已有的旧笔记库,冻结存档 ├── drafts/ # 碎片想法,人类专属 ├── CLAUDE.md # LLM 的"编译规范" ├── index.md # Wiki 主索引 └── log.md # 操作日志 我定了一个很严格的 ownership 规则: ...

2026-04-07 · 3 min · 591 words