AI基础设施化趋势下的Agent开发实战:Claude Code Mod化与上下文工程
1. 三条新闻背后的技术信号拆解1.1 为什么这三件事值得放在一起看2026年10月2日这一天AI圈子里同时冒出三条消息加州方面向OpenAI发出传票、Claude Code开放了Mod化能力、Meta在研究让模型改写自己的上下文。单看每一条都像是独立事件但把它们摆在一起你会发现一条很清晰的暗线——AI正在从一个封闭的黑盒产品往可被外部审计、可被第三方扩展、可自我调节的方向演进。我做了十多年一线开发见过太多技术浪潮但这次三条新闻的共振点特别有意思。传票代表的是外部监管压力Mod化代表的是生态开放压力模型改写上下文代表的是内部效率压力。三种压力从三个方向同时挤压最终指向的都是同一个问题当AI系统越来越像一个基础设施而不是一个玩具时它的边界该由谁来定义这篇文章我不打算写成新闻复述那没意义。我想做的是把这三条消息拆开从技术实现的角度讲讲它们各自意味着什么普通开发者能从里面抄到什么作业以及我在实际折腾Claude Code、TypeScript类型系统、Agent架构时踩过的那些坑。如果你正在做AI应用开发、正在搭Agent、或者只是想知道这波变化会不会影响到你手上的项目那这篇值得往下看。1.2 三个事件的核心关键词映射先把关键词理清楚不然后面容易绕晕。事件核心关键词技术本质对开发者的直接影响加州传票OpenAIOpenAI、监管、合规外部审计与数据留存要求API使用条款可能收紧日志留存策略需调整Claude Code开放Mod化Claude Code、TypeScript、Mod插件化架构、可扩展工具链可以自己写Mod扩展Claude Code能力Meta让模型改写上下文Meta、Agent、上下文工程自反思式上下文压缩与重写Agent长任务稳定性提升token成本下降这张表你先扫一眼后面每个部分我都会展开。特别提醒一句Claude Code的Mod化这件事对国内做Agent开发的团队影响最大因为它意味着你不再需要从零造一个Agent框架可以直接在Claude Code的骨架上长出自己的东西。2. Claude Code开放Mod化普通人能怎么玩2.1 Mod化到底改了什么Claude Code之前是一个相对封闭的CLI工具你能做的就是装它、配它、用它。但开放Mod化之后它变成了一个可被第三方扩展的宿主环境。这个变化听起来抽象我打个比方以前的Claude Code像是一台出厂预装好所有软件的手机你只能用自带功能现在的Claude Code像是一台开放了应用商店的手机你可以自己写App装进去。具体来说Mod化通常意味着几件事第一有了一套标准的Mod接口定义你写的扩展只要符合接口就能被加载第二有了生命周期钩子比如在工具调用前、调用后、会话开始时可以插入自己的逻辑第三有了配置注入机制Mod可以往主程序里塞自己的配置项。我实测下来最实用的Mod场景有三个一是自定义工具比如把公司内部的代码检索服务包装成一个工具让Claude Code调用二是上下文预处理在发给模型之前先把无关文件过滤掉三是输出后处理把模型返回的内容自动格式化成团队规范。2.2 用TypeScript写一个最小Mod的完整流程Claude Code的Mod生态和TypeScript绑得很紧这不是偶然。TypeScript的类型系统能在编译期就帮你把接口对错检查出来对于Mod这种需要严格遵循宿主接口的场景类型安全就是生命线。先讲一个我踩过的坑很多人第一次写Mod卡在**类型声明文件.d.ts**上。Claude Code的Mod接口是以.d.ts形式发布的你得先让TypeScript认识这些类型才能写出不报错的代码。第一步初始化项目并安装类型包mkdir my-claude-mod cd my-claude-mod npm init -y npm install --save-dev typescript types/node npm install claude-code/mod-types第二步配置tsconfig.json关键是typeRoots和types字段{ compilerOptions: { target: ES2022, module: NodeNext, moduleResolution: NodeNext, strict: true, typeRoots: [./node_modules/types, ./node_modules/claude-code/mod-types], types: [node, claude-mod], outDir: ./dist }, include: [src/**/*.ts] }这里有个细节很多人会忽略typeRoots如果不显式加上claude-code/mod-types的路径TypeScript默认只扫types目录你的Mod类型就找不到编辑器里全是红色波浪线。我当初在这卡了快半小时以为是包没装好其实是路径没配。第三步写Mod主体。一个最小的Mod大概长这样import type { ModContext, ToolDefinition } from claude-mod; export const name my-first-mod; export const version 0.1.0; export function activate(ctx: ModContext) { const myTool: ToolDefinition { name: search_internal_docs, description: 搜索公司内部文档库, parameters: { type: object, properties: { query: { type: string, description: 搜索关键词 } }, required: [query] }, async execute({ query }) { const results await fetchInternalDocs(query); return { content: results.map(r r.snippet).join(\n) }; } }; ctx.registerTool(myTool); ctx.logger.info(my-first-mod activated); }activate函数是Mod的入口宿主加载Mod时会调用它并把一个ModContext传进来。你通过这个context注册工具、注册钩子、读配置。这个设计很干净比很多框架那种继承一个基类然后重写一堆方法的方式要清爽。2.3 Mod开发中容易翻车的几个点第一个坑工具名冲突。如果你注册的工具名和宿主内置工具重名不同版本的Claude Code处理策略不一样有的直接覆盖有的报错退出。我的做法是给所有自定义工具加统一前缀比如myco_避免撞车。第二个坑异步超时。Mod里的工具执行默认有超时限制我印象中是30秒左右。如果你要调一个慢接口得自己在Mod里做分页或者流式返回不能指望宿主无限等。第三个坑类型继承写错。TypeScript里interface继承用extends多个用逗号分隔interface BaseTool { name: string; description: string; } interface MyTool extends BaseTool { customField: number; }这个基础语法看着简单但我在review别人代码时经常看到有人把extends写成implements或者继承链搞混。Mod的类型定义往往有好几层继承写之前先把继承关系画出来能省很多调试时间。提示Mod化刚开放时社区里的示例代码质量参差不齐建议以官方类型包里的.d.ts为准别直接抄博客里的代码很多是过时的。3. Meta让模型改写自己的上下文Agent长任务的救命稻草3.1 上下文爆炸是Agent的头号杀手做Agent开发的人都有一个共同噩梦任务跑到一半上下文窗口满了。你让Agent去重构一个中型项目它读了20个文件每个文件几百行还没开始改代码token就烧掉一大半。这时候要么截断历史丢失关键信息要么换更大的模型成本飙升两条路都不好走。Meta这个让模型改写自己的上下文的思路本质上是让模型学会主动做笔记。不是被动地等上下文满了再压缩而是在任务推进过程中持续把已经消化的信息重写成更紧凑的形式。这就像你读一本厚书不会把每页都背下来而是边读边写摘要摘要越写越精炼但关键信息一个不丢。3.2 自改写上下文的技术实现路径从工程角度看这个能力落地大概需要三个组件配合。组件一重要性评分器。模型需要判断当前上下文里哪些信息是任务关键的哪些是过程性的。比如你让Agent修一个bug报错堆栈是关键信息中间读过的无关文件内容就是过程性的可以压缩掉。组件二重写器。把选定的信息用更少的token重新表达。这里有个反直觉的点重写不是简单摘要而是结构化重编码。比如把一段自然语言的调试过程重写成问题X尝试Y结果Z这样的三元组信息密度能提升好几倍。组件三一致性校验。重写之后要检查关键信息有没有丢。我见过一些粗糙的实现压缩完把关键参数弄丢了Agent后面就开始胡言乱语。校验这一步不能省。3.3 我在Agent项目里手动实现类似效果的土办法Meta的方案还没完全开源但思路我们可以先抄。我在自己的Agent项目里用过一个简化版效果还不错分享给你。核心思路是维护一个双层上下文一层是原始对话历史只读不删一层是工作记忆可重写。每次调用模型前把工作记忆拼进prompt原始历史只在需要回溯时才检索。interface WorkingMemory { taskGoal: string; keyFindings: string[]; currentPlan: string[]; openQuestions: string[]; } async function rewriteMemory( memory: WorkingMemory, recentTurns: Turn[] ): PromiseWorkingMemory { const prompt 你是一个上下文压缩器。当前工作记忆如下 ${JSON.stringify(memory, null, 2)} 最近的对话轮次 ${recentTurns.map(t ${t.role}: ${t.content}).join(\n)} 请输出更新后的工作记忆要求 1. 保留所有任务关键信息 2. 合并重复内容 3. 已解决的问题从openQuestions移到keyFindings 4. 总长度不超过原来的70% ; const result await callModel(prompt); return JSON.parse(result); }这个方案的关键在于结构化。如果你让模型自由发挥去摘要它很容易写成一段散文下次读的时候还得再解析一遍。用固定的JSON结构模型知道该往哪个字段填什么压缩率和可读性都更好。实测下来这套土办法能把长任务的token消耗降低40%到60%而且因为工作记忆是结构化的Agent在任务后期反而不容易跑偏。当然代价是每轮多一次模型调用延迟会涨一点这个取舍看你的场景。3.4 上下文改写对Agent架构的长期影响往远了看这个能力会改变Agent的设计范式。现在的Agent大多是无状态全量历史模式每次调用都把一大堆历史塞进去。未来可能会变成有状态增量更新模式Agent自己维护一份不断演化的记忆每次只处理新信息。这对并发也是个好消息。现在Agent扛并发难很大原因是每个请求都带着巨大的上下文内存和带宽都吃不消。如果上下文能被压到原来的三分之一同样的硬件能扛的并发数直接翻倍。我在做Agent并发压测时深有体会瓶颈往往不在模型推理而在上下文传输和序列化上。4. 加州传票OpenAI开发者该关注什么4.1 传票事件的技术侧解读加州方面向OpenAI发传票表面上是法律动作但对开发者来说真正要关注的是它可能带来的技术合规连锁反应。传票通常意味着要调取数据、要审查流程、要确认某些行为是否符合当地规范。落到API层面可能的变化包括数据留存策略调整、某些能力的地域限制、API条款的更新。我不去评论事件本身的是非那不是技术人该操心的。我想说的是作为依赖OpenAI API做产品的开发者你得有预案意识。我自己的项目里一直保留着一个抽象层把模型调用封装成统一接口底层可以切换不同的provider。这不是因为我不信任某一家而是工程上本来就该这么做——任何外部依赖都可能因为各种原因不可用你得能快速切换。4.2 多provider抽象层的实现要点这个抽象层怎么写我讲几个关键点。第一接口要足够窄。不要试图把各家API的所有特性都抽象进来那样抽象层会变得无比复杂。只抽象你真正用到的能力文本生成、工具调用、流式输出。其他花哨功能用到了再说。interface LLMProvider { chat(params: { messages: Message[]; tools?: ToolDefinition[]; stream?: boolean; }): PromiseChatResponse; } class OpenAIProvider implements LLMProvider { /* ... */ } class ClaudeProvider implements LLMProvider { /* ... */ } class LocalProvider implements LLMProvider { /* ... */ }第二错误处理要统一。各家API的错误码、错误格式都不一样抽象层要把它们归一化成你自己的错误类型。这样上层业务代码不用关心底层是谁。第三配置要外置。用哪个provider、用哪个模型、超时多少、重试几次这些全部走配置文件或环境变量不要硬编码。我见过太多项目把模型名写死在代码里换个模型要改十几个文件。4.3 API Key管理与安全实践说到OpenAI绕不开API Key管理。热词里openai的api key获取方法搜索量一直很高说明很多新手在这块。我讲几个必须遵守的原则。原则一Key永远不进代码仓库。用.env文件并且把.env加进.gitignore。我见过有人把Key直接写在代码里推到公开仓库几小时内就被盗刷账单几千美元。原则二不同环境用不同Key。开发、测试、生产各用各的Key这样出问题能快速定位也能分别设置额度上限。原则三定期轮换。再小心也可能泄露定期换Key能把损失控制在有限范围。原则四监控用量。设置用量告警异常增长立刻收到通知。很多云平台都支持这个花十分钟配一下能救命。注意如果你在团队里负责Key管理一定要建立审批流程。谁申请、给谁用、用在哪、什么时候回收都要有记录。这不是官僚是基本的安全卫生。5. Agent开发实战从框架选型到并发扛压5.1 Agent框架怎么选才不踩坑热词里agent框架agent架构harness和agent区别这些词频繁出现说明大家在这个阶段很迷茫。我讲讲我的选型逻辑。首先要区分harness和agent。Harness是马具是给模型套上约束、提供工具、管理循环的那层壳Agent是能自主决策的执行体。简单说harness是基础设施Agent是跑在上面的业务逻辑。很多人把两者混为一谈导致架构设计时职责不清。选框架时我看三个维度可控性、可观测性、可扩展性。可控性指你能不能干预Agent的每一步决策可观测性指出问题时你能不能看到完整的调用链可扩展性指加新工具、新能力方不方便。我的经验是别一上来就用最重的框架。很多框架为了通用性做了大量抽象学习成本高出问题难排查。如果你的场景不复杂用Claude Code的Mod机制或者自己写一个几百行的循环往往比引入一个大框架更省心。5.2 Agent怎么扛并发我踩过的坑ai agent 怎么扛并发这个问题我实打实踩过坑。早期我天真地以为Agent扛并发就是多开几个进程的事。结果一压测各种问题全冒出来。坑一共享状态竞争。多个Agent实例如果共享同一个会话存储很容易出现读写冲突。解决方案是每个会话独立存储或者用乐观锁。坑二工具调用的外部依赖。Agent调用的工具如果打的是同一个外部API并发一高就被限流。得在工具层做令牌桶限流把并发控制在外部API能接受的范围内。坑三上下文序列化开销。前面提过上下文越大序列化和传输越慢。并发高的时候这部分开销会变成瓶颈。压缩上下文不只是省钱也是提并发。坑四错误传播。一个Agent实例挂了如果错误处理不当可能拖垮整个池子。每个实例要有独立的超时和熔断。我最后用的方案是异步任务队列有限并发池。任务进队列固定数量的worker从队列取任务执行每个worker独立管理自己的上下文和状态。这样并发数可控故障隔离也好做。5.3 Agent安全不能事后补agent安全这个词最近被提得越来越多这是好事。Agent能调工具、能读写文件、能发请求一旦被恶意输入操控破坏力比普通聊天机器人大得多。我总结了几条底线。第一工具权限最小化。Agent不需要写文件就别给它写文件的工具。第二危险操作要确认。删除、覆盖、发送这类不可逆操作要么走人工确认要么有回滚机制。第三输入要过滤。用户输入里如果包含试图操控Agent的指令要有检测和拦截。第四审计日志要全。Agent做了什么、调了什么工具、传了什么参数全部记下来出事能追溯。这些不是可选项是必选项。我见过一个团队因为Agent误删了生产数据通宵恢复教训惨痛。6. 常见问题速查与避坑清单6.1 Claude Code相关高频问题问题现象可能原因解决思路提示缺少可选依赖平台相关包未安装按提示重装对应平台的包组织禁用了订阅访问账号权限配置问题检查组织设置或换用个人账号无法发送消息沙盒状态异常检查Agent沙盒配置必要时重置本地模型调用失败端点配置错误核对本地模型服务的地址和端口VS Code里不生效扩展未正确加载重装扩展检查版本兼容性这张表里的问题大部分我都遇到过。特别是缺少可选依赖这个本质是npm的optional dependency机制在跨平台时的常见现象按提示重装对应平台的包就行不用慌。6.2 TypeScript类型系统避坑写Mod和Agent时TypeScript的类型问题占了调试时间的一大半。几个高频坑坑一.d.ts文件不生效。检查tsconfig.json里的include有没有覆盖到typeRoots有没有配对。坑二interface继承写错。记住extends用于继承多个父接口用逗号分隔别写成implements。坑三类型推断失败。复杂泛型场景下TypeScript有时推不出来显式标注类型能解决大部分问题。坑四第三方库类型缺失。装types/xxx或者自己写一个最小的.d.ts声明。6.3 我个人的几条硬核心得折腾了这么多有几条心得我想单独拎出来说。第一任何外部依赖都要有Plan B。不管是模型API、云服务还是开源库都要假设它随时可能不可用。抽象层不是过度设计是生存必需。第二上下文管理是Agent的核心竞争力。模型能力大家都能买到但谁能把上下文管好谁就能在长任务上做出差异。Meta这个方向是对的值得投入研究。第三Mod化和插件化是大势。封闭的工具会越来越难生存能被人扩展、被人二次开发的工具才有生命力。Claude Code这一步走得很聪明。第四安全要前置。别等出了事故再补安全那时候成本是十倍百倍。设计阶段就把权限、审计、回滚想清楚。第五别追新追得太狠。每天都有新框架、新工具但你的项目需要的是稳定。新技术先在小项目里试验证过再往主项目迁。我见过太多团队因为追新把项目追黄了。最后分享一个我一直在用的小技巧给每个Agent项目建一个决策日志记录每次架构选择的原因和当时的权衡。过几个月回头看你会感谢当时的自己。因为很多决策的上下文会丢失没有日志你根本想不起来当初为什么这么设计改起来就容易改错。这个领域变化太快今天的热点明天可能就凉了但底层的工程原则——抽象、隔离、可观测、安全——这些东西十年二十年都不会过时。把基本功练扎实比追任何一个具体的热点都值。

相关新闻

基于MCP协议与GPT-4o的AI旅游规划产品实战:3天上线全记录

基于MCP协议与GPT-4o的AI旅游规划产品实战:3天上线全记录

1. 为什么我盯上了MCP这个协议先说结论:MCP(Model Context Protocol)本质上就是给大模型装了一双手。以前我们用GPT-4o写代码、查资料,它只能“说”,不能“做”。你想让它帮你查个航班、订个酒店、调个地图API&#xf…

2026/10/9 0:49:34 阅读更多 →
Claude Opus 5.5 实战:CLAUDE.md 配置、Sub-agent 拆分与 effort 调优

Claude Opus 5.5 实战:CLAUDE.md 配置、Sub-agent 拆分与 effort 调优

1. 这次“焚诀”到底更新了什么Claude Opus 5.5 这个版本号一出来,我第一反应不是去看跑分,而是去翻它的行为日志和配置项。原因很简单,模型能力提升是线性的,但“焚诀”这种说法背后往往意味着工作流层面的变化——也就是 Claude…

2026/10/9 0:49:34 阅读更多 →
从TVA自进化视角看具身智能(4):TVA与VLA模型的协同空间推理机制

从TVA自进化视角看具身智能(4):TVA与VLA模型的协同空间推理机制

前沿技术探索:TVA智能体(简称TVA)TVA智能体(亦称“AI智能体视觉”)是依托Transformer架构与“因式智能体”理论构建的新型工业视觉系统,也是当前最具代表性的具身视觉技术之一。它有机融合深度强化学习&…

2026/10/9 0:48:33 阅读更多 →

最新新闻

js:关于箭头函数this指向和bind

js:关于箭头函数this指向和bind

1.bind方法注意事项: 调用 f.bind(someObject) 会创建一个新函数,这个新函数具有与 f 相同的函数体和作用域,但 this 的值永久绑定到 bind 的第一个参数,无论函数如何被调用。 function f() {return this.a; }const g f.bind({…

2026/10/9 1:21:56 阅读更多 →
TurboQuant+ 对 DFlash 自草稿投机解码的 31 组实验调查:GDN 混合架构的验证瓶颈、tape-replay 回滚与可行路径

TurboQuant+ 对 DFlash 自草稿投机解码的 31 组实验调查:GDN 混合架构的验证瓶颈、tape-replay 回滚与可行路径

【免费下载链接】turboquant_plus 项目地址: https://gitcode.com/gh_mirrors/tu/turboquant_plus 点击查看 免费下载 本文基于 TurboQuant 仓库研究文档《Speculative Decoding on GDN Hybrid Architectures: A 31-Experiment Investigation》整理。核心主题是&am…

2026/10/9 1:21:56 阅读更多 →
Dinero.js 金额变更(Mutations)深入指南:加减乘与分配的不变式与源码实现

Dinero.js 金额变更(Mutations)深入指南:加减乘与分配的不变式与源码实现

金融科技 【免费下载链接】dinero.js Create, calculate, and format money in JavaScript and TypeScript 项目地址: https://gitcode.com/gh_mirrors/di/dinero.js 点击查看 免费下载 导读 本文聚焦 Dinero.js 中用于操作(变更)货币金额的…

2026/10/9 1:21:56 阅读更多 →
Docker入门与实战——端口映射与容器互联

Docker入门与实战——端口映射与容器互联

端口映射与容器互联1、通过端口映射实现容器访问1.1、从外部访问容器应用1.2、映射所有端口地址1.3、映射到指定地址的指定端口1.4、映射到指定地址的任意端口1.5、查看映射端口配置2、通过互联机制实现便捷互访2.1、自定义容器命名2.2、容器互联在前几章的学习过程中&#xff…

2026/10/9 1:21:56 阅读更多 →
autoresearch:plan 配置向导深度解析——将自然语言目标转化为可验证的 Scope/Metric/Verify 配置

autoresearch:plan 配置向导深度解析——将自然语言目标转化为可验证的 Scope/Metric/Verify 配置

AI 技能人工智能AI 评测开发工具 【免费下载链接】autoresearch Claude Autoresearch Skill — Autonomous goal-directed iteration for Claude Code. Inspired by Karpathys autoresearch. Modify → Verify → Keep/Discard → Repeat forever. 项目地址: https:…

2026/10/9 1:21:56 阅读更多 →
Bolt.new + PM Skills 实战指南:先定义问题再生成代码,让 AI 原型从 Vibe 级升级为决策级

Bolt.new + PM Skills 实战指南:先定义问题再生成代码,让 AI 原型从 Vibe 级升级为决策级

AI 技能AI 插件 【免费下载链接】Product-Manager-Skills Product Management skills framework built on battle-tested methods for Claude Code, Cowork, Codex, and AI agents. 项目地址: https://gitcode.com/gh_mirrors/pr/Product-Manager-Skills 点击查看 免…

2026/10/9 1:20:55 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 10:10:36 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 13:34:55 阅读更多 →