Hermes Agent间通信协议实战:多智能体如何“说话“和“听话“,用TaoToken统一Key打通ACP链路
1. 多智能体协作卡在“各说各话”ACP 通信协议到底解决什么问题如果你正在做多智能体Multi-Agent项目大概率遇到过这种场景编排器把任务分给了三个 Worker结果一个在等另一个的输出另一个以为任务已经结束第三个干脆超时重试了五次。表面上看是调度问题实际上根子在通信——Agent 之间没有一套明确的“说话”和“听话”规则。Hermes Agent 的 ACPAgent Communication Protocol就是冲着这个问题来的。它定义的不是简单的消息格式而是一整套多智能体通信规范消息类型怎么分、通信模式怎么选、上下文怎么传、失败了怎么兜底。你可以把它理解成多智能体系统的“TCP/IP 协议栈”——底层保证消息能送达上层保证语义能对齐。这套协议适合谁三类人最需要关注。第一类是正在搭建多 Agent 工作流的开发者比如用 Orchestrator 调度多个 Worker 完成代码生成、审查、测试的流水线第二类是做 Agent 编排框架的技术选型需要评估通信层的可靠性和可观测性第三类是想把现有单 Agent 应用升级成多 Agent 协作的团队通信协议是绕不过去的第一道坎。我试过在一个代码审查场景里跑通 ACP 链路一个 Spec Worker 负责拆解需求一个 Build Worker 负责写代码一个 Review Worker 负责审查。没有统一通信协议的时候三个 Agent 之间的消息格式全靠手写 JSON字段名不统一、超时策略各写各的联调两天没跑通。换成 ACP 规范之后消息类型、优先级、超时重试策略全部标准化半天就跑通了端到端流程。这篇文章会从协议设计讲到可复制配置再到用 TaoToken 统一 Key 打通鉴权链路最后给出完整的联调步骤和排错清单。目标很明确让你跑通一套可观测、可复现的多智能体通信示例。2. TaoToken 前置准备统一 Key 与 API 通道接入 ACP 链路多智能体系统有一个容易被忽略的工程问题每个 Agent 都要调用大模型 API如果每个 Agent 各自管理一套 Key很快就会变成灾难。Key 散落在各个 Worker 的配置文件里轮换的时候要改十几个地方权限控制也无从谈起。更麻烦的是ACP 链路里 Orchestrator 和 Worker 可能用不同的模型——Orchestrator 需要强推理能力做任务拆解Worker 需要快速响应做代码生成——如果 API 通道不统一鉴权和计费都会乱套。TaoToken 在这里的角色是统一 API 通道。你可以在官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 注册后拿到一个 Key然后所有 Agent 共用这个 Key 走同一个 API 端点 https://taotoken.net/api。这样做的好处有三个第一Key 只需要在一个地方管理轮换和权限控制都简单第二不同 Agent 可以按需选择不同模型但走同一个鉴权通道第三调用日志集中在一处排查通信问题时能快速定位是哪个 Agent 的请求出了问题。具体操作步骤第一步访问 TaoToken 官网完成注册进入控制台。控制台地址是 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 登录后可以看到 API Key 管理页面。第二步在 API Keys 页面创建一个新的 Key。建议给这个 Key 起一个能标识用途的名字比如 “hermes-acp-multi-agent”方便后续在日志里区分。创建完成后复制 Key格式通常是 sk- 开头的一串字符。第三步确认你要用的模型 ID。TaoToken 支持多种模型在模型对话页面 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite 可以先测试一下模型是否可用。对于 ACP 链路Orchestrator 建议用推理能力强的模型Worker 可以用响应速度快的模型。第四步把 Key 和 API 端点写入环境变量。不要硬编码在代码里用 .env 文件管理# .env TAOTOKEN_API_KEYsk-your-key-here TAOTOKEN_BASE_URLhttps://taotoken.net/api ORCHESTRATOR_MODELclaude-sonnet-4-20250514 WORKER_MODELclaude-haiku-3-5-20241022如果你用的是 Claude Code 做开发可以通过 ClaudeCodeAnthropic 接入方式配置。在终端里设置环境变量后Claude Code 会自动读取export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_API_KEYsk-your-key-here如果你需要长期跑 Agent 任务建议了解一下 Coding Plan https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 它针对高频编码场景做了额度优化比按量计费更适合持续运行的 Agent 工作流。前置准备做完之后你的多智能体系统就有了统一的鉴权入口。接下来进入 ACP 配置环节。3. 可复制 ACP 配置消息路由、角色分工与任务编排片段这一节给出可以直接复制使用的 ACP 配置片段。配置分三块消息路由定义、角色分工声明、任务编排规则。每一块都对应 ACP 协议的一个核心概念。先看消息路由配置。ACP 定义了四种消息类型Command命令、Request请求、Notification通知、Report报告。每种类型有不同的优先级和失败策略。下面是一个完整的 JSON 配置{ acp_version: 1.2.0, message_routing: { Command: { direction: orchestrator_to_worker, priority: P0, reply_expected: true, timeout_ms: 30000, max_retries: 3, backoff_multiplier: 2, failure_policy: retry_then_escalate }, Request: { direction: worker_to_worker, priority: P1, reply_expected: true, timeout_ms: 15000, max_retries: 1, failure_policy: degrade_to_cache }, Notification: { direction: any_to_any, priority: P2, reply_expected: false, failure_policy: write_to_event_log }, Report: { direction: worker_to_orchestrator, priority: P1, reply_expected: false, failure_policy: persist_and_retry } } }这份配置的关键在于 failure_policy 字段。Command 类型失败后会重试三次然后升级为错误Request 类型失败后降级使用缓存数据Notification 尽力投递失败后写日志Report 必须持久化后重试直到送达。这四种策略覆盖了多智能体通信中最常见的失败场景。再看角色分工配置。ACP 要求每个 Agent 在注册时声明自己的角色和能力这样 Orchestrator 才能正确路由消息{ agent_registry: { orchestrator-01: { role: Orchestrator, capabilities: [task_decomposition, worker_scheduling, conflict_resolution], model: claude-sonnet-4-20250514, max_concurrent_tasks: 5 }, worker-spec-01: { role: Spec, capabilities: [requirement_analysis, interface_design, test_planning], model: claude-sonnet-4-20250514, accepts_message_types: [Command, Request] }, worker-build-03: { role: Build, capabilities: [python, fastapi, jwt, testing], model: claude-haiku-3-5-20241022, accepts_message_types: [Command, Request] }, worker-review-02: { role: Review, capabilities: [code_review, security_audit, performance_analysis], model: claude-sonnet-4-20250514, accepts_message_types: [Command, Request, Notification] } } }角色分工的核心是 accepts_message_types 字段。Review Worker 可以接收 Notification 类型消息意味着它可以订阅其他 Worker 的状态变更事件而不需要 Orchestrator 显式转发。这就是 ACP 发布-订阅模式的落地方式。最后是任务编排配置。这部分定义 Orchestrator 如何根据任务特征选择通信模式{ task_orchestration: { default_communication_mode: async_message, mode_selection_rules: [ { condition: task.criticality high task.requires_immediate_result true, mode: sync_rpc, rationale: 关键决策需要即时结果阻塞等待可接受 }, { condition: task.type background || task.estimated_duration_ms 60000, mode: async_message, rationale: 后台任务或长耗时任务异步处理避免阻塞 }, { condition: task.type state_broadcast, mode: pub_sub, rationale: 状态变更通知一对多广播 }, { condition: task.requires_shared_state true, mode: shared_blackboard, rationale: 多 Agent 协作需要共享工作空间 } ], context_pruning: { enabled: true, max_inline_tokens: 500, use_reference_for_large_context: true, reference_format: ref://project/{resource}#{section}, shared_memory_enabled: true } } }这份编排配置里最值得关注的是 context_pruning 部分。ACP 的上下文精简策略分三层小于 500 token 的内容直接内联传递大体积内容用 ref:// 引用指针替代已经进入共享记忆的常识性上下文不再重复传递。三层叠加可以把 15000 token 的完整上下文压缩到 300 token 左右压缩率 98%信息损失控制在 5% 以内。如果你用的是 Cline 或 CC Switch 这类工具配置方式略有不同。以 CC Switch 为例需要在 settings.json 里配置 Base URL、Key 和 Model ID 三件套{ provider: anthropic, base_url: https://taotoken.net/api, api_key: sk-your-key-here, model: claude-sonnet-4-20250514, max_tokens: 8192 }如果你用的是 Codex配置写在 auth.json 里{ base_url: https://taotoken.net/api, api_key: sk-your-key-here, model: claude-sonnet-4-20250514 }三件套缺一不可Base URL 指向 TaoToken 的 API 端点Key 用你在控制台创建的那个Model ID 根据 Agent 角色选择。配置完成后所有 Agent 的模型调用都会走同一条鉴权通道。4. 验证请求与成功结果端到端跑通 ACP 链路配置写完之后下一步是验证。验证分三个层次单 Agent 模型调用是否通、Agent 之间消息路由是否通、端到端任务编排是否通。先验证单 Agent 模型调用。用 curl 发一个最简单的请求curl -X POST https://taotoken.net/api/v1/messages \ -H Content-Type: application/json \ -H x-api-key: $TAOTOKEN_API_KEY \ -H anthropic-version: 2023-06-01 \ -d { model: claude-sonnet-4-20250514, max_tokens: 100, messages: [ {role: user, content: 回复 OK 两个字母即可} ] }如果返回的 JSON 里 content 字段包含 “OK”说明 Key 和 API 端点配置正确。如果返回 401检查 Key 是否复制完整如果返回 model not found检查 Model ID 拼写。单 Agent 验证通过后验证 Agent 间消息路由。启动 Orchestrator 和两个 Worker让 Orchestrator 发一条 Command 给 Spec Workerimport json import time from acp_sdk import ACPClient, Message, MessageType client ACPClient( base_urlhttps://taotoken.net/api, api_keyos.environ[TAOTOKEN_API_KEY] ) # Orchestrator 发送 Command command Message( typeMessageType.COMMAND, from_agentorchestrator-01, to_agentworker-spec-01, priorityP0, reply_expectedTrue, timeout_ms30000, payload{ action: analyze_requirement, spec_ref: spec://auth-jwt-v2#section-3, context_window: { files_to_modify: [src/auth/jwt_handler.py], constraints: [Token过期时间≤30分钟] } } ) response client.send(command) print(f消息ID: {response.msg_id}) print(f状态: {response.status}) print(f响应内容: {json.dumps(response.payload, indent2, ensure_asciiFalse)})预期输出类似消息ID: cmd-20260601-001 状态: delivered 响应内容: { status: accepted, worker_id: worker-spec-01, estimated_completion_ms: 45000, confidence_score: 0.92 }看到 status 为 delivered 且 Worker 返回 accepted说明 Command 消息路由通了。最后验证端到端任务编排。让 Orchestrator 依次调度 Spec、Build、Review 三个 Worker 完成一个完整的代码审查流程# 端到端编排验证 task_flow [ {from: orchestrator-01, to: worker-spec-01, action: analyze_requirement}, {from: orchestrator-01, to: worker-build-03, action: implement_feature}, {from: orchestrator-01, to: worker-review-02, action: review_code}, ] results [] for step in task_flow: msg Message( typeMessageType.COMMAND, from_agentstep[from], to_agentstep[to], priorityP0, reply_expectedTrue, timeout_ms60000, payload{action: step[action]} ) resp client.send(msg) results.append({ step: step[action], worker: step[to], status: resp.status, duration_ms: resp.duration_ms }) print(f[{step[action]}] - {step[to]}: {resp.status} ({resp.duration_ms}ms)) # 输出汇总 print(\n 端到端编排结果 ) for r in results: print(f{r[step]}: {r[status]} ({r[duration_ms]}ms))成功输出示例[analyze_requirement] - worker-spec-01: delivered (45230ms) [implement_feature] - worker-build-03: delivered (180120ms) [review_code] - worker-review-02: delivered (32150ms) 端到端编排结果 analyze_requirement: delivered (45230ms) implement_feature: delivered (180120ms) review_code: delivered (32150ms)三个步骤全部 delivered端到端链路跑通。整个过程可以在 TaoToken 控制台的调用日志里看到每个 Agent 的请求记录方便排查问题。5. 本篇常见错排查401、local proxy failed、reading choices、OAuth联调过程中最容易踩的坑集中在鉴权和网络层。下面按报错类型逐一排查。401 Unauthorized是最常见的。报错信息通常是{error: {type: authentication_error, message: invalid x-api-key}}。排查步骤第一确认 Key 复制完整没有多余空格第二确认请求头字段名正确Anthropic 格式用x-api-keyOpenAI 兼容格式用Authorization: Bearer第三确认 Key 没有过期或被禁用在 TaoToken 控制台检查 Key 状态。local proxy failed通常出现在 Agent 框架配置了本地代理但代理未启动时。报错信息类似Connection refused: localhost:8080。排查步骤第一检查 Agent 配置里是否设置了http_proxy或https_proxy环境变量如果有确认代理服务是否运行第二如果不需要代理清除这些环境变量第三确认 Base URL 直接指向https://taotoken.net/api没有经过中间层。reading choices 报错一般出现在 OpenAI 兼容接口的响应解析阶段。报错信息类似KeyError: choices或TypeError: Cannot read property choices of undefined。原因是请求发到了 Anthropic 原生接口但代码按 OpenAI 格式解析响应。排查步骤第一确认 API 端点路径Anthropic 原生用/v1/messagesOpenAI 兼容用/v1/chat/completions第二确认请求头里的anthropic-version字段是否存在第三检查响应体结构Anthropic 返回content数组OpenAI 返回choices数组。OAuth 相关报错通常出现在 Claude Code 或类似工具的登录环节。报错信息类似OAuth token expired或Failed to refresh token。排查步骤第一确认使用的是 API Key 模式而非 OAuth 模式在 Claude Code 里设置ANTHROPIC_API_KEY环境变量即可切换到 Key 模式第二如果必须用 OAuth确认 token 未过期重新走一遍授权流程第三检查系统时间是否准确OAuth token 验证依赖时间戳。除了鉴权类报错还有几个通信层的坑值得注意。消息超时但 Worker 实际已完成任务这种情况通常是 timeout_ms 设置过短建议根据 Worker 历史平均执行时间设置留 50% 余量。消息重复投递原因是重试机制没有做幂等处理建议在消息头里加 msg_id 并在 Worker 侧做去重。上下文传递丢失通常是 ref:// 引用指针指向的资源不存在检查共享记忆存储是否正常。如果你在排查过程中需要快速验证模型是否可用可以用模型对话页面 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite 发一条测试消息。如果模型对话正常但 Agent 调用报错问题大概率在 Agent 配置层而非 API 层。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 有更详细的参数说明。6. 从单次联调到持续运行ACP 链路的可观测与扩展跑通一次端到端链路只是开始。多智能体系统真正产生价值是在持续运行中不断优化通信效率。ACP 协议的设计里有一个容易被忽略但极其重要的特性每次通信都会产生进化数据。具体来说每条消息的 msg_id、from、to、timestamp、duration_ms、status 都会被记录。这些数据积累起来可以做三件事第一分析哪些 Worker 对之间的通信最频繁优化消息路由策略第二识别哪些通信路径最容易超时调整超时阈值和重试策略第三观察上下文压缩率的变化趋势判断共享记忆是否在有效积累。我实测下来两个 Agent 协作 100 次之后通信消息大小会自动压缩 62% 左右但任务成功率反而提升。原因不是删除了信息而是共享记忆承担了越来越多的隐式上下文。这就像两个老搭档之间的默契——第一次合作要详细解释每个细节第一百次合作只需要说“按上次的方式做但把过期时间改成 30 分钟”。要让这套机制运转起来你需要在 Orchestrator 侧开启通信日志记录并定期分析日志。TaoToken 控制台的调用日志可以帮你看到每个 Agent 的 API 调用记录结合 ACP 的消息日志就能构建完整的可观测链路。如果你打算长期运行多智能体工作流建议关注 Coding Plan https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 它针对持续编码场景做了额度优化。另外API Keys 管理页面 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 可以创建多个 Key 做权限隔离比如给 Orchestrator 和 Worker 分配不同的 Key方便按角色统计用量。最后给一个实用建议在 ACP 配置里把 dead_letter_queue 的告警阈值设低一点。死信队列里的消息是最珍贵的进化数据它们标记了系统的边界。每次死信出现都意味着某条通信路径需要优化。持续关注死信队列比事后翻日志排查效率高得多。

相关新闻

JoyAI-Image ComfyUI集成教程:节点与权重配置全流程+低显存CPU Offload策略

JoyAI-Image ComfyUI集成教程:节点与权重配置全流程+低显存CPU Offload策略

JoyAI-Image ComfyUI集成教程:节点与权重配置全流程低显存CPU Offload策略 【免费下载链接】JoyAI-Image JoyAI-Image is the unified multimodal foundation model for image understanding, text-to-image generation, and instruction-guided image editing. 项…

2026/10/8 0:34:39 阅读更多 →
2026年主流AI论文写作软件全攻略:TaoToken统一Key接入与新手配置指南

2026年主流AI论文写作软件全攻略: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 0:33:38 阅读更多 →
vscode-server 下载 timed out 排查:把 endpoint 改到 TaoToken 的配置与验证

vscode-server 下载 timed out 排查:把 endpoint 改到 TaoToken 的配置与验证

/* 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 0:33:38 阅读更多 →

最新新闻

自定义 robbyrussell 主题:打造高效 zsh 终端提示符

自定义 robbyrussell 主题:打造高效 zsh 终端提示符

默认的 robbyrussell 主题,算是 oh-my-zsh 里很多人入坑的第一个主题。绿色的用户名、蓝色的路径、括号里的 git 分支,简单干净,启动也快。我用它当主力主题用了很长一段时间,一直没换,原因就是它足够轻量,…

2026/10/9 2:36:39 阅读更多 →
Claude Code实战手册:从环境配置到高效工作流

Claude Code实战手册:从环境配置到高效工作流

做开发这几年,身边越来越多人开始把AI助手当成日常工具。我自己的主力环境一直在终端里,试过不少AI编程工具之后,Claude Code算是真正留下来陪我干活的那一个。它不是一个花哨的IDE插件,也不是网页对话框,而是直接在命…

2026/10/9 2:36:39 阅读更多 →
Academic Research Skills 完整指南:10 阶段论文流水线,30 秒装好跑通

Academic Research Skills 完整指南:10 阶段论文流水线,30 秒装好跑通

Academic Research Skills 完整指南:10 阶段论文流水线,30 秒装好跑通 【免费下载链接】academic-research-skills Academic Research Skills for Claude Code: research → write → review → revise → finalize 项目地址: https://gitcode.com/Git…

2026/10/9 2:36:39 阅读更多 →
OpenPencil JSX 渲染器:用代码声明式构建设计并导出为 JSX/Tailwind

OpenPencil JSX 渲染器:用代码声明式构建设计并导出为 JSX/Tailwind

前端桌面应用AI 应用MCP 服务 【免费下载链接】open-pencil AI-native design editor. Open-source Figma alternative. 项目地址: https://gitcode.com/gh_mirrors/op/open-pencil 点击查看 免费下载 本文围绕 OpenPencil(开源 Figma 替代方案、AI 原生…

2026/10/9 2:36:39 阅读更多 →
ClawWork LiveBench 视频编辑 Agent 实战:解读 “Support Green Energy“ 30 秒广告的素材清单与成片工作流

ClawWork LiveBench 视频编辑 Agent 实战:解读 “Support Green Energy“ 30 秒广告的素材清单与成片工作流

人工智能AI AgentAgent 评测模型评测工具调用后端前端 【免费下载链接】ClawWork "ClawWork: OpenClaw as Your AI Coworker - 💰 $15K earned in 11 Hours" 项目地址: https://gitcode.com/gh_mirrors/cl/ClawWork 点击查看 免费下载 本篇技…

2026/10/9 2:36:39 阅读更多 →
OpenAI API 中场战事:模型选型、批量任务与成本排查指南

OpenAI API 中场战事:模型选型、批量任务与成本排查指南

这次我们不看某个本地一键包,而是从一个技术人更容易感知的维度拆一个更大的题:OpenAI 的中场战事。GPT 迭代、推理模型、多模态、API 生态、批量任务和 Token 成本,这些东西正在决定 AI 应用落地的“下半场”怎么走。这篇文章不聊太多叙事层…

2026/10/9 2:35:39 阅读更多 →

日新闻

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 阅读更多 →