拼多多客服机器人开发实战:从Webhook接入到自动回复
简介面向拼多多商家的智能客服机器人解决方案基于官方平台插件接入可稳定处理大量用户咨询支持人机全程协作并在语义理解、情感分析等AI能力辅助下提升回复质量与客户体验。资源包共18个文件压缩后约18.02MB核心包含机器人主程序exe、相关DLL插件、配置文件ini、JS脚本及音频提示资源另有docx使用教程、多帐号导入范例txt和服装类模板回复规则便于商家按需部署与二次调整。已有1447人学习适合正在寻求高效客服工具的拼多多店铺运营者无论是单店还是多帐号管理场景均可快速落地。通过该包可掌握平台数据对接、对话场景搭建、机器人训练及监控优化等完整思路配合自动化训练机制机器人能持续提升应答准确度直接用于店铺日常咨询应答与客服减负同时人机协作模式保障复杂问题无缝转接人工兼顾效率与服务质量。1. 基于拼多多官方平台接入的客服机器人从买家咨询到自动回复的完整落地做过电商运营的都知道大促期间客服接待量直接翻三四倍人力完全跟不上回复慢了不仅掉评分还会被平台判罚。这个基于拼多多官方开放平台接入回复的客服机器人解决的正是这个问题——它不像市面上的套壳产品而是直接对接拼多多官方API通过Webhook回调实时接收买家消息经过消息解析、订单查询、会话管理这三个核心模块处理把结果自动回填到聊天窗口。换句话说它是一个不依赖浏览器插件、不碰账号密码、完全走官方接口的合规机器人适合有技术团队的中小商家也适合想学习电商开放平台接入的开发者拿来当参考工程。机器人本身的定位很明确自动回复高频咨询物流、发货时间、改地址、查询订单状态、处理售后话术引导同时保留人工接管入口。整个工程用Python编写基于FastAPI提供HTTP服务Redis保存会话上下文结构清晰从零部署到跑通回调链路大概需要半小时。2. 系统架构与消息链路Webhook回调、消息队列与自动回复的完整流转2.1 技术选型与目录结构这个项目的核心技术栈并不复杂Python 3.8、FastAPI作为Web框架、Redis做会话存储、Requests库调用拼多多开放平台接口。选FastAPI而不是Flask的原因很简单——它原生支持异步在处理Webhook回调时不会因为I/O阻塞拖慢响应时间而且自带数据校验省去不少参数验证的功夫。整体目录结构延续了FastAPI项目的惯用组织方式不同模块各司其职pdd_robot/ ├── main.py # 服务入口注册路由与启动事件 ├── config.py # 全局配置AppKey、Secret、Redis连接 ├── api/ │ ├── webhook.py # 接收平台消息回调 │ └── pdd_client.py # 封装拼多多开放平台接口 ├── service/ │ ├── message_parser.py # 消息内容解析与意图分类 │ ├── order_service.py # 订单查询与数据拼装 │ ├── reply_service.py # 回复内容生成 │ └── session_manager.py # 会话上下文管理与超时回收 ├── templates/ # 回复模板可配置化 ├── requirements.txt └── .env.example # 环境变量示例每个模块的职责一目了然api层只做HTTP通信和参数校验service层承载所有业务逻辑templates目录放可配置的回复话术。这样的分层让后续新增一个意图分类或者更换回复策略时不需要动HTTP入口的代码。2.2 开放平台接入API鉴权与Webhook回调配置接入拼多多开放平台的第一步是获取AppKey和AppSecret两个凭证这个需要先在开放平台创建应用并通过审核。拿到凭证后所有接口调用都要做签名。项目里把签名逻辑统一封装在pdd_client.py中调任何接口前自动附加签名参数# api/pdd_client.py def _sign(params: dict, secret: str) - str: 拼多多开放平台签名算法 # 参数按key字母升序排序拼接后加secret做MD5 sorted_keys sorted(params.keys()) raw_string for key in sorted_keys: if params[key] ! and params[key] is not None: raw_string f{key}{params[key]} raw_string secret return hashlib.md5(raw_string.encode(utf-8)).hexdigest().upper()签名算法是典型的开放平台范式先把所有非空参数按字典序拼接末尾加上Secret再对整个字符串做MD5并转大写。需要注意两点——空字符串和None值不参与签名MD5结果必须是大写否则服务端会返回签名错误。请求拼多多API时还需要带上公共参数timestamp当前时间戳、client_id即AppKey、type接口名称。项目里把这些参数组装和请求发送封装成统一入口业务层只需要传业务参数和数据格式def call_api(self, api_type: str, business_params: dict) - dict: 通用API调用入口 timestamp str(int(time.time())) params { timestamp: timestamp, client_id: self.app_key, type: api_type, } params.update(business_params) params[sign] self._sign(params, self.app_secret) resp requests.post(self.gateway_url, dataparams, timeout5) result resp.json() # 统一处理错误码方便业务层判断 if result.get(error_response): raise PddAPIException(result[error_response][error_msg]) return resulttimeout5是血泪经验——拼多多网关偶尔会慢不设超时的话同步模式下整个Webhook响应会被拖死导致平台重复推送消息。后续排查章节还会细说这个问题。2.3 消息处理链路从回调到回复的核心流转Webhook回调是整个机器人的入口。当买家在聊天窗口发送消息时拼多多平台会向配置的回调地址推送一个JSON消息体。webhook.py收到消息后先做基础校验再把消息交给message_parser.py解析最后生成回复并通过API发送。# api/webhook.py router.post(/callback) async def handle_callback(request: Request): 接收平台消息推送 body await request.json() # 1. 校验消息类型只处理文本消息 msg_type body.get(message_type) if msg_type ! TEXT: return {code: 0, msg: success} # 2. 取出业务字段 session SessionInfo.from_dict(body) # 3. 交给服务层处理 reply_text reply_service.process_message(session) # 4. 如果有回复内容调用接口发送 if reply_text: pdd_client.send_reply( session.chat_id, session.msg_id, reply_text ) # 5. 立即返回成功响应避免平台重复推送 return {code: 0, msg: success}这段代码的巧妙之处在于收到消息后先回复成功状态再异步处理业务。拼多多平台的Webhook有重试机制——如果回调地址在5秒内没有返回HTTP 200平台会认为投递失败隔一段时间重新推送。所以reply_service.process_message内部虽然要查订单、拼回复但Webhook入口不关心这些直接返回成功即可让平台停止重试。SessionInfo.from_dict这个类方法做了消息实体映射把原始JSON转成Python对象后续访问字段方便很多。实际运行中message_type还有图片、语音、商品卡片等类型不同消息类型的处理策略完全不一样可以先忽略非文本消息把链路跑通再加。3. 核心模块拆解意图识别、订单查询与多轮会话的代码实现3.1 消息解析与意图识别从正则到关键词分类客服机器人首先要解决的是“买家这句话到底在问什么”。项目里的message_parser.py采用了两级识别策略第一级用正则匹配高确定性表达比如包含订单号、包含物流单号第二级用关键词权重匹配常见意图。之所以不上NLP模型是因为售后咨询的句子高度模板化“我的订单到哪里了”“什么时候发货”“可以改地址吗”这类表达翻来覆去就那几句规则引擎完全够用还更好调试。# service/message_parser.py INTENT_RULES { LOGISTICS: { keywords: [物流, 快递, 到哪, 发货没, 物流信息], weight: 2 }, SHIP_TIME: { keywords: [什么时候发货, 几天发货, 何时发], weight: 3 }, CHANGE_ADDRESS: { keywords: [改地址, 换地址, 修改收货], weight: 3 } } def parse_intent(content: str) - tuple: 返回意图类型和提取到的订单号 # 第一级尝试提取订单号 order_match re.search(r(P\d{15,}), content) # 第二级关键词加权打分 max_score 0 matched_intent UNKNOWN for intent, rule in INTENT_RULES.items(): score 0 for kw in rule[keywords]: if kw in content: score rule[weight] if score max_score: max_score score matched_intent intent return matched_intent, order_match.group(1) if order_match else Noneparse_intent返回一个元组第一个值是意图类型第二个值是订单号。这样设计的好处是调用方能同时拿到“买家的意图”和“查询所需的参数”如果订单号为空但意图是“查询物流”回复模板可以引导买家提供订单号。权重值的分配原则是越明确的表达权重越高。比如“什么时候发货”这个完整问句权重是3而单纯的“发货”这个词权重是2避免只含“发货”二字的其他句子被误判。实际使用中还可以继续细分类别比如增加“退款退货”“发票”“库存咨询”等分类复制这个字典结构就行。3.2 订单查询服务API参数拼装与数据回填识别出意图后接下来是调用拼多多开放平台的订单详情接口查询数据。order_service.py把拼多多接口返回的“原始JSON”转换成内部数据结构同时做一层默认值填充——平台的返回字段并不是任何时候都完整比如订单还没发货时物流字段为空直接取key会抛异常。# service/order_service.py def get_order_info(order_sn: str) - dict: 查询订单信息并标准化输出 params { order_sn: order_sn, shop_id: config.SHOP_ID, # 店铺ID从配置读取 } result pdd_client.call_api(pdd.order.detail.get, params) # 平台的返回结构是嵌套的需要层层取出 order result.get(order_detail_response, {}).get(order, {}) # 标准化输出兼容字段缺失的情况 return { order_sn: order_sn, goods_list: order.get(goods_list, []), postage: order.get(postage, 0), status: order.get(order_status, ), logistics_company: order.get(logistics_company, ), tracking_no: order.get(tracking_no, ), receive_name: order.get(receive_name, ), address: order.get(address, ), }pdd.order.detail.get这个接口的入参其实只需要order_sn和access_token但access_token是通过pdd.pop.auth.token.create接口换取的项目里把它放到了pdd_client内部自动附加业务层就不用管了。返回结果要注意拼多多的JSON是双层的order_detail_response里面才是真正的order对象。标准化输出的价值在于回复模板层永远面向同一个数据结构不需要关心拼多多字段名大小写或嵌套层级。如果后续要新增一个“查询商品重量”的功能只需要在return字典里加一个weight字段然后从原始JSON里取对应值即可。3.3 多轮会话管理Redis存储与上下文回收客服场景里“追问”是很常见的行为——买家先问“发货了吗”得到回复后可能追问“那什么时候到上海”。如果不保存上下文第二句话会因为缺少订单号而无法处理。项目用Redis存储会话上下文key为聊天IDvalue为订单号、上次意图等结构化信息# service/session_manager.py class SessionManager: def __init__(self, redis_client): self.redis redis_client self.ttl 1800 # 会话超时时间30分钟 def get_session(self, chat_id: str) - dict: 读取会话上下文 data self.redis.get(fsession:{chat_id}) return json.loads(data) if data else {} def save_session(self, chat_id: str, context: dict) - None: 保存会话上下文带TTL self.redis.setex( fsession:{chat_id}, self.ttl, json.dumps(context) ) def update_order_sn(self, chat_id: str, order_sn: str) - None: 更新会话中的订单号 context self.get_session(chat_id) context[order_sn] order_sn self.save_session(chat_id, context)setex命令设置过期时间自动回收超时会话。30分钟的选择有讲究——太短会让买家聊到一半就丢上下文太长会占用Redis内存。实际线上环境建议根据大促流量调整可以缩短到10分钟。process_message方法里对会话的处理逻辑是先尝试从当前消息提取订单号如果提取不到就从Redis会话上下文中找之前存过的订单号。这个“缺参补参”的逻辑是客服机器人的核心体验用户觉得机器人“记得我刚才说什么”靠的就是这一层。# 在 reply_service.py 中的组合逻辑 order_sn parser.extract_order_sn(content) if not order_sn: order_sn session_manager.get_session(chat_id).get(order_sn) if not order_sn: return 亲麻烦提供一下订单号我帮您查询物流信息~4. 本地部署与运行环境准备、服务启动与回调验证4.1 环境依赖与配置文件先把工程跑起来需要准备三样东西Python环境、Redis服务、拼多多开放平台的测试应用。requirements.txt里依赖不多安装很快fastapi0.104.1 uvicorn0.24.0 redis4.6.0 requests2.28.2 pydantic2.4.2 python-dotenv1.0.0配置文件通过.env加载项目里给了.env.example模板。关键配置项包括AppKey、AppSecret、回调地址路径、Redis连接串和店铺ID。注意不要把Secret提交到Git仓库生产环境用环境变量注入。启动前先核实Redis状态开发环境下用docker run -p 6379:6379 redis:alpine最快如果本机装了Redis直接redis-server --daemonize yes也行。4.2 启动服务与内网穿透配置本地启动只需要一条命令uvicorn main:app --host 0.0.0.0 --port 8000 --reload加--reload是开发模式改代码自动重启排错效率翻倍。服务启动后需要验证/callback路由是否可访问curl -X POST http://localhost:8000/callback \ -H Content-Type: application/json \ -d {message_type:TEXT}返回{code:0,msg:success}说明服务正常。但拼多多平台服务器无法直接访问本地地址这里需要一条内网穿透隧道——把本地8000端口暴露到公网生成一个类似https://xxx.ngrok-free.app的地址再把回调地址配置到开放平台后台。这一步属于开发联调的常规操作不少人的坑踩在这里回调地址不能带路径前缀且必须能通过HTTPS访问。4.3 从买家消息到自动回复的完整验证验证链路是否打通可以在开放平台的沙箱环境创建一个测试买家账号然后模拟发送消息。不过更快的做法是直接用print(response)调试Webhook内容——平台推送的消息结构没法用工具直接模拟不如直接用日志打印# 临时调试代码验证完删除 router.post(/callback) async def debug_callback(request: Request): body await request.json() print(收到回调:, json.dumps(body, ensure_asciiFalse, indent2)) return {code: 0, msg: success}这个调试技巧的关键在于先把完整的消息JSON结构打印出来再对照字段名写解析代码。我第一次接入时凭文档猜测字段名结果好几个字段对不上浪费了不少时间。如果收到的回调里message_type为空说明沙箱配置没生效需要检查开放平台后台的回调地址是否填写正确、是否已提交审核生效。5. 避坑与排查接入拼多多客服API时的常见问题5.1 消息重复推送导致买家收到多条相同回复这是最典型的翻车现场。买家发一条消息机器人回了三遍同样的内容。原因是Webhook回调处理超时平台判定投递失败后自动重试。解决办法分两步一是回调入口立即返回成功响应前文代码里已经这样做了二是保证process_message这个动作不阻塞Webhook。实操中我在pdd_client.send_reply前面加了一个判断——如果该msg_id已经回复过直接跳过replied_key freplied:{session.msg_id} if redis_client.get(replied_key): return redis_client.setex(replied_key, 600, 1)这样即使平台重复推送消息级幂等也能拦截。5.2 签名校验失败MD5大小写与参数排序接入第一天我就遇到了爱迪尔码1063——签名错误。检查后发现hashlib.md5()默认返回32位小写十六进制而拼多多要求大写。另一个坑是排序规则只对非空参数做拼接空字符串和None必须跳过。排查这类问题的最快手段是抓包对比签名串把raw_string打印出来和开放平台文档的示例逐一核对。不要凭空猜拼多多网关的签名校验很严格多一个空格都会报错。5.3 买家连续追问时回复内容答非所问现象是买家问“那运费多少”机器人回复的是物流查询模板。原因很直接——order_sn没有传递到上下文第二句话无法关联之前的订单查询。我当时的解决方法是把会话管理逻辑前置process_message先查会话上下文补全参数再做意图识别。现在代码里已经写入了这个顺序注意别在维护时把这段顺序调乱了。5.4 回调请求超时导致平台疯狂重试应用上线第一天Redis没启动SessionManager连接就报错代码没做异常捕获接口直接5秒超时——结果平台在10分钟内重试了几百次日志刷了几千行。正确处理方式是给Redis操作加异常兜底同时Webhook里做全局try-excepttry: reply_text reply_service.process_message(session) except Exception: logger.exception(处理消息失败) reply_text 空回复也不会让买家收到错误提示平台那边最多得到一个未回复的消息真实用户体验比服务崩溃好得多。5.5 拼多多返回字段大小写与预期不符接口文档上写的是order_status实际返回的JSON里却是order_status和status都有值还不一样。这种情况就是文档滞后导致的。安全做法是解析时多做一层兼容status order.get(order_status) or order.get(status) or 用or链路兜底只要有一个字段存在就能取到值。这个方法适用于所有平台接口字段解析不只是拼多多。6. 二次开发方向从规则话术到智能客服的进阶改造6.1 接入大模型对话替代关键词匹配当前INTENT_RULES是手工维护的关键词表维护成本随业务复杂度上升。常见做法是预留一个AIService接口把parse_intent替换为对大模型接口的调用但保留关键词表作为保底逻辑。我一般会这样设计def parse_intent(content: str) - tuple: # 先走规则引擎提高确定性 intent, order_sn rule_parse(content) if intent UNKNOWN: intent ai_service.chat_parse(content) return intent, order_sn只有规则引擎无法判断的消息才走AI既控制成本又保底。注意AI返回的意图需要再映射回INTENT_RULES中的分类名对外保持一致。6.2 加入人工坐席转接机器人回复不了的消息比如复杂售后、投诉苗头应该能一键转接人工。实现逻辑不复杂——在reply_service里加一个置信度阈值判断低于阈值就调用转人工接口并把会话上下文传给人工坐席工作台。这样坐席接手时能看到买家之前和机器人聊了什么不需要让买家重复一遍。6.3 核心改造验证方法改完以后要验证的不只是“有没有报错”而是“买家体验是否一致”。我个人习惯是拿历史真实会话记录做回归测试——把一个月内的聊天记录导出逐条跑新逻辑对比新旧回复差异。特别关注之前答错的样本新逻辑是否修正了。从当初踩坑到现在我每次改动都会强制走一遍全链路回归本地启动服务、用沙箱推送测试消息、核对回复内容和日志输出。这套流程看着笨但客服机器人直接面对真实买家一次线上翻车少则掉评分多则触发平台处罚稳一点比快一点重要得多。希望这套从接入到排查到扩展的实践路径能帮你把这个项目顺利落地。本文还有配套的精品资源点击获取

相关新闻

TaoToken 环境下 .vimrc 常用配置与注释速查:从缩进到键位映射

TaoToken 环境下 .vimrc 常用配置与注释速查:从缩进到键位映射

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

2026/10/18 9:58:41 阅读更多 →
Day6编程刷题:比值化简、倍数判断与三角形判定

Day6编程刷题:比值化简、倍数判断与三角形判定

如果你也在做一个“每天练一道编程题”的自学计划,那Day6应该已经慢慢找到感觉了。前面五天,多半还在跟输入输出、if判断、循环这些基础语法较劲,到了今天,也就是“奇妙的比值、T的倍数N、三角形”这一组题,画风开始变…

2026/10/18 9:58:54 阅读更多 →
ViT增量学习实战:LoRA与双层蒸馏实现87.58%准确率

ViT增量学习实战:LoRA与双层蒸馏实现87.58%准确率

去年做视觉分类项目的时候,我碰上一个特别现实的需求:系统刚跑通,那边就提了五个新品类要加进去。新数据的标注还在陆陆续续补,老数据又不能轻易下掉,每次新增都全量重训,光是训练时间就够喝一壶的了。当时…

2026/10/17 4:14:03 阅读更多 →

最新新闻

VGG骨干+轻量时序注意力:视频理解模型设计实战拆解

VGG骨干+轻量时序注意力:视频理解模型设计实战拆解

做视频理解绕不开一个老问题:怎么在空间特征之上合理地建模时间关系。这个“VGG改进”系列我写了几十篇,大部分都集中在图像场景、网络剪枝和重参数化上,直到第23篇我才正式把方向切到视频。今天这篇就用一个实战设计笔记的方式,完…

2026/10/18 9:58:37 阅读更多 →
基于Canvas与React的轻量级创意合成工具artcraft开发实践

基于Canvas与React的轻量级创意合成工具artcraft开发实践

1. 项目缘起与整体设计思路1.1 为什么会有 artcraft 这个想法做创意工具这些年,我最大的感受是:市面上大多数所谓“创作辅助平台”,要么是给专业设计师用的重型武器,功能全但上手门槛高得离谱;要么是给小白玩的轻量玩具…

2026/10/18 9:58:37 阅读更多 →
MATLAB交通标志检测:BP网络+HOG+PCA的毕设落地方案

MATLAB交通标志检测:BP网络+HOG+PCA的毕设落地方案

简介:本资源是一套基于MATLAB的交通路标检测与识别实战项目,面向机器视觉与深度学习初学者及高校课程设计者,聚焦智能交通场景下的图像识别核心任务。项目完整覆盖图像预处理、CNN特征提取、BP神经网络建模、多类路标(禁止/警示/指…

2026/10/18 9:58:37 阅读更多 →
基于人工势场法与MPC的自动驾驶换道避撞技术解析

基于人工势场法与MPC的自动驾驶换道避撞技术解析

高速巡航时前车突然急刹,留给你的反应时间往往不到一秒。这个场景里藏着一个很有趣的问题:系统是该选择全力制动,还是观察相邻车道、迅速打方向避开?答案是“看情况”,而这个“看情况”的背后,就是换道避撞…

2026/10/18 9:58:37 阅读更多 →
VLAN综合实验深度解析:广播域隔离与跨交换机通信全流程

VLAN综合实验深度解析:广播域隔离与跨交换机通信全流程

我帮一家做电商代运营的小公司调试网络时,遇到过一件挺折腾的事:办公区明明只有四十多台电脑,可一到下午订单高峰期,整个办公室的网络就卡成幻灯片,打印机能连上却经常丢任务,连财务那边访问服务器都时不时…

2026/10/18 9:58:37 阅读更多 →
在线考试系统的Java后端设计:并发、判分与数据一致性避坑指南

在线考试系统的Java后端设计:并发、判分与数据一致性避坑指南

简介:一套面向Java学习者和毕业设计开发的在线考试管理系统完整交付包,涵盖源代码、论文、开题报告、外文翻译、英文文献与答辩PPT,适合快速搭建在线考试项目或完成课程设计、毕业设计汇报。系统覆盖题库管理、考试安排、在线答题、自动评分和…

2026/10/18 9:57:37 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 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/18 0:55:02 阅读更多 →
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/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练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/16 14:23:36 阅读更多 →