Java微服务如何优雅接入大模型:自建模型网关的架构设计与工程实践
一个Java后端团队要接大模型最容易被低估的环节不是Prompt怎么写也不是模型选型而是“这一堆能力到底该怎么优雅地嵌进现有的微服务体系里”。我过去半年一直在忙这件事把大模型能力接进一套企业级Java平台技术栈还是老的Spring Boot Spring Cloud那一套要求不能把线上稳定性搞崩。最终落地下来整个架构的核心不是某个模型调用SDK而是一个我们自己搭建的模型网关。这篇文章就把我在这个过程中的设计思路、踩坑经历和一些关键代码决策完整记录下来希望对正在做同类事情的Java工程师有点实际帮助。1. 为什么Java系统接大模型之前要先想清楚“网关”这件事很多团队第一个反应就是直接引入厂商SDK业务代码里哪个接口需要智能能力就在哪里调一次。这种思路在Demo和原型阶段完全没有问题一旦进入企业级环境问题会迅速暴露出来。1.1 直连模型API的痛点初体验我最初也是从直连开始做的。当时接的是某商业大模型API业务方需要整理客服工单摘要、给内部文档做问答、对一段文本做分类。但实际推进过程中几个问题非常明显。第一是模型厂商不统一。有的场景适合开源模型自己部署成本可控有的场景需要商业模型的高质量推理效果更好。初期我们只接了一家后来新项目提了个需求希望换另一个厂商的模型对比效果。结果业务代码里散落着不同模型的调用逻辑参数结构不一样返回格式不一样异常类型也不一样。一个简单的替换要动七八个接口。第二是密钥管理失控。直连的方式下模型API的Key被写在各服务里有的放在配置文件有的放在Nacos有的干脆写死在代码中。某个新人入职后无意间把Key推到代码仓库虽然很快撤回但核心模型账号暴露在外网最后只能全部重置。第三是治理能力缺失。没有统一入口就没有办法对模型调用做全局限流、成本统计和异常告警。业务高峰期一个批量脚本跑起来模型账单直接翻了几十倍事后复盘才发现是某个定时任务没有做好频率控制。这类问题在没有网关之前基本只能靠人肉盯。1.2 模型网关到底解决什么问题后来我逐步明确了模型网关的定位它承担的是大模型能力和内部业务服务之间的“中间层”类似数据库访问层对数据源屏蔽的作用。模型网关不是简单的反向代理而是一个带智能调度和治理能力的中枢。从这个定位出发网关必须解决四件事。第一屏蔽底层模型差异业务方只需要调用网关暴露的统一接口不需要关心请求最终是发给哪家模型厂商。第二统一控制成本、权限和流量所有模型调用都经过网关密钥集中在网关两侧内网服务不直接接触外网API。第三沉淀通用智能化能力比如上下文管理、Prompt模板、语义缓存、流式转发这些都放在网关里业务团队不用重复实现。第四提供完整的可观测性每次请求走了哪个模型、Token消耗多少、耗时多长、有没有触发降级都要在网关这一层统一记录。这个阶段最大的心得是不要等到业务量大了再去补网关那样会面临存量改造的巨大成本。早期即使只接一个模型也建议先有一层抽象。2. 模型网关的整体架构与核心模块拆解我们的网关从技术选型上还是选择了Java生态原因是团队所有人都是Java背景而且要和现有的配置中心、注册中心、监控体系直接打通。最终部署形态是独立微服务内部通过HTTP和业务系统通信外部请求由网关统一代理发出。2.1 接入层统一入口和多租户隔离网关对内的接入层我把它设计成一组RESTful接口。比如/v1/chat/completions、/v1/embeddings、/v1/rerank这几个核心能力对应文本生成、向量化、排序重排三类常见模型场景。这里有一个容易被忽视的点多租户隔离。企业里不同业务线使用同一个网关如果所有请求都用一个模型账号、一个配额池某个业务线的批量任务很容易把另一个业务线的对话能力挤掉。我们的做法是在接入层的Header上引入X-Tenant标识网关根据租户路由到不同的模型配置、限流策略、缓存空间和Token配额。具体落地时每一条模型调用链路可以抽象成“租户 - 业务场景 - 模型配置组 - 实际模型实例”四层。业务方调用网关时不关心具体模型只声明场景标识比如sceneorder_qa网关内部配置了这个场景对应的默认模型、备用模型、Prompt版本和策略。这样业务代码基本不感知模型变化。2.2 路由引擎与模型抽象层怎么设计模型网关核心中的核心是路由引擎。路由引擎需要根据规则决定一次请求到底转发给谁。我在项目中采用了两层设计。第一层是策略配置存储在后端配置中心。配置内容包括场景ID、指定主模型和备模型、调用权重、请求超时时间、最大Token数、是否开启缓存、是否开启流式返回。这些配置用JSON存支持动态刷新不需要重启网关。第二层是运行时路由逻辑。网关收到请求后先解析租户和场景再查配置得到模型列表然后基于权重和当前健康状态选择一个模型。如果主模型连续失败达到熔断阈值路由引擎自动把流量切到备用模型。这里我用了一个简单的责任链设计先走缓存如果缓存命中直接返回没命中走限流检查再通过权重选出一个模型实例最后进入模型调用适配层。模型抽象层是另一个重点。不管底层是商业API还是自建本地模型对外部业务暴露的都应该是统一的请求体和响应体。我们自己定义了一个ModelRequest对象包含messages、temperature、maxTokens、stream等业务语义字段再通过适配器转换成不同模型的真实参数结构。这样做的好处是替换模型时只需要新增一个适配器实现类业务侧完全不受影响。2.3 协议适配与流式转发协议适配这块要重点说下流式转发。大模型最常用的场景是对话而对话基本都要走SSE流式返回让用户看到逐字输出。如果网关只是把上游响应攒一遍再转发给调用方体验会非常差首字延迟高到无法接受。我们的实现是网关接收上游SSE流通过响应式方式逐段解析事件再把事件转发给内网调用方。在Spring Boot工程里我用了WebClient做流式请求把返回的DataBuffer流映射为字符串事件再通过SseEmitter推给调用方。这里最重要的一点是网关不能缓存整个响应必须保持流的实时性同时要对流过程中出现的错误做特殊处理比如模型侧在流中返回了一个错误事件网关需要把这个事件权威地透传同时记录监控日志。另外开放接口协议方面我没有完全照搬外部模型厂商的格式而是定义了一套公司内部统一协议。这套协议的文档只有几页字段很少业务方接入时学习成本非常低比起直接让业务方对接一个外部复杂协议要方便很多。3. 智能处理是网关的“大脑”缓存、限流、熔断与上下文管理网关如果只做转发价值其实不够。真正让网关成为“智能网关”的是它在请求链路中嵌入的这些处理逻辑。这一章我挑几个工程上比较关键的点展开讲。3.1 语义缓存不只是Redis里存个Key大模型调用的成本是比较高的尤其商业模型的Token费对于大规模企业应用来说不可忽视。我们一开始想到缓存但普通KV缓存完全不好使因为用户的问题不会一字不差地重复。最后落地的是语义缓存。思路是把一次请求的文本Query先用向量模型转成embedding再从向量数据库中找相似度超过阈值比如0.92的历史请求如果命中则直接返回缓存的答案不再调用大模型。这个方案听起来简单工程上要注意几个细节。一是缓存存储不能用常规关系型数据库我选了支持向量检索的存储中间件在一个已有的ES集群上扩展向量检索能力。二是不能每次请求都查库那样延迟会变高。我的设计是在Redis里先放一层短期缓存热数据直接命中冷数据再走向量检索。三是缓存只对“确定性答案”场景生效比如企业规章制度问答、产品文档问答对于需要多轮上下文、或者带创造性的文本生成场景缓存容易产生错误答案要谨慎开启。实际测试下来FAQ场景的缓存命中率可以达到35%左右模型调用成本下降了接近三分之一首字延迟也从两秒多降低到两百毫秒。这个收益非常直接很多管理层一听就愿意继续投这个项目。3.2 限流、熔断与降级的工程实现企业级网关不能像个人开发者那样裸调模型接口没有限流和熔断就是定时炸弹。我们在网关里实现了三层保护机制。第一层是用户级限流。针对每个租户和场景分别配置了QPS上限和Token消耗速率比如某场景每分钟最多50次调用、每小时最多消耗10万Token。我们用本地滑动窗口配合Redis分布式计数器实现。特别注意限流不能只看请求次数还要看Token量因为不同请求消耗的Token差异可能超过十倍。第二层是模型供应商侧的保护。商业模型API自身一般有Rate Limit如果网关限流参数设置得比供应商的配额还高就会触发上游429错误。我的做法是在网关配置里对每个模型实例单独做令牌桶容量设置为供应商配额的70%留出余量。第三层是对慢调用和失败调用的熔断。我们的熔断策略不是简单看失败率而是结合P95延迟和错误码。当模型实例的P95延迟连续三分钟超过5秒或者5分钟错误率超过8%时网关自动进入半开状态先把流量切走一部分逐步试探恢复。这里我参考了Sentinel的实现思路但没有直接引入框架因为我们的配置需要和已有配置中心深度绑定。降级策略是最后一道防线。当所有模型实例都不可用时网关不是直接报错而是返回一条“当前智能服务繁忙”的兜底消息。有的场景甚至支持走本地规则引擎比如工单分类失败时使用简单的关键词规则分类保证核心业务流程不中断。3.3 会话上下文与提示词模板管理大模型应用绕不开上下文。企业场景中多轮对话必须携带历史信息。但如果把全部历史对话都发给模型Token消耗会特别大而且超过模型上下文窗口之后请求会报错。网关的做法是负责上下文的管理和压缩。首先对会话ID进行追踪网关内部保存最近几轮的消息摘要。当历史消息超过阈值后不再直接拼接原文而是让模型对历史对话做一次总结压缩把压缩后的摘要作为后续请求的system prompt。这个方法一开始是自己手动实现的后来发现很多开源框架也有类似功能核心思路一致。Prompt模板管理也是网关该做的事。业务团队中很多人并不擅长写Prompt如果网关不约束他们会在代码里写各种风格迥异的提示词后期维护非常痛苦。我们引入了模板中心模板不是简单的字符串而是支持变量插值、版本号、灰度发布。A/B测试时同一个场景可以绑定两个Prompt版本网关按比例分流。这里要特别提醒Prompt模板一定不能和业务代码耦合。我们遇到过某个场景的Prompt放在代码里结果运营改了一句提示词必须让开发发版才能生效走了整整一周的审批流程。后来收敛到模板中心之后改提示词只是配置操作效率高了一个数量级。4. Java工程化落地的关键步骤从选型到生产这一部分讲实际操作层面。很多读者会关心网关到底应该怎么部署业务系统怎么接入核心参数怎么调。我尽量按我们项目从零到一的顺序来讲。4.1 接入方式选型与网关部署形态业务系统接入网关我们提供的是轻量级SDK而非强制走HTTP。为什么用SDK是因为内部系统有大量历史代码很多逻辑是在Service层直接调用的改成RPC或HTTP对代码侵入较大。SDK内部封装了HTTP调用逻辑同时也内置了配置加载、异常重试和指标上报能力。业务方引入一个依赖配置一个gatewayEndpoint然后通过ModelClient接口调用即可。网关部署形态上我建议独立集群部署而不是塞在已有的Web应用里。原因很简单模型调用的CPU和内存开销可能不高但网络连接和线程占用很特殊。我们初期把网关部署在一台4核8G的机器上连接数一高就出现句柄泄漏和线程阻塞。迁到独立的2节点实例后问题才彻底稳定下来。网关启动时要做一些和普通服务不一样的事情。比如连接池参数需要单独调优我们用的是带连接池的HTTP客户端最大连接数设置为500空闲存活时间8分钟每个路由的并发上限根据模型实例数配置。4.2 关键配置参数与启动优化配置管理方面我们完全依赖Nacos配置中心配置分两大类。一类是基础配置包括模型供应商的API Key、请求地址、超时时间。这些配置加密存储网关启动时通过SDK解密加载。另一类是业务策略配置包括场景路由规则、限流阈值、缓存开关、熔断参数。这类配置支持运行时动态刷新。我的经验是所有策略配置必须有默认值比如场景路由配置缺失时网关走一个默认的通用模型限流阈值缺失时不阻塞请求但记录告警日志。这样可以避免配置发布顺序问题导致线上故障。连接和线程模型也需要特别重视。对于同步调用我们用的是线程池队列的经典模型核心线程数设为CPU核数的2倍队列容量500。流式调用用响应式模型不能用同步线程池否则长连接会把线程池打满。这里我踩过一个大坑最初所有请求都走同一个线程池结果几个流式对话请求把线程全部占住其他普通调用全部排队接口超时率飙升。4.3 监控、日志与灰度发布监控是大模型网关必须做好的部分否则上了生产就像闭着眼睛开车。我们接入了公司内部的Prometheus体系埋点的指标包括请求量和QPS按租户和场景维度统计Token消耗量分输入Token和输出Token首字延迟和完整响应延迟模型实例的异常率、重试率、降级率语义缓存命中率日志方面网关的日志需要记录完整的请求和响应摘要包括请求的消息列表长度、Token数、模型名称、耗时和返回码。但要注意隐私合规生产日志中不能记录用户原文要做脱敏处理。我们是把用户ID哈希化消息内容不落盘只保留统计信息。灰度发布是我们做得比较晚但效果最好的一个实践。模型变更、Prompt变更、网关配置变更都必须经过灰度链路。我们的做法是在网关配置里支持releaseVersion和grayRatio参数新配置只对指定比例的流量生效。比如新Prompt模板先放量到5%的租户观察错误率和用户反馈后再逐步放量。这个机制避免了多次因为改Prompt导致的线上效果波动。5. 避坑实录那些上了生产才发现的细节问题最后这部分挑几个我们线上真实遇到、且排查过程比较曲折的坑。如果你也在做类似的模型网关这些经验大概率能帮你少走弯路。5.1 超时、重试与幂等性的取舍模型调用的耗时和普通HTTP请求完全不同。一个复杂推理请求可能耗时60秒这和常规接口3秒超时的直觉是冲突的。我们在网关里为不同模型设置了分级超时时间轻量分类模型15秒总结模型30秒对话生成模型90秒。重试更是要小心。模型调用不是所有错误都适合重试。网络超时和上游5xx可以重试但如果上游返回的是400参数错误或401鉴权错误重试多少次都没有意义。我们的重试策略是仅对网关发出的调用超时和上游5xx做一次重试幂等性判断依据是请求ID。业务方每次调用网关时需要传入requestId网关重试时带着同一个请求ID这样上游如果支持去重不会因为重试产生两条重复内容。Token计费也需要幂等。如果重试导致模型侧实际上处理了两次账单会翻倍。我们做过一次分析发现某个月账单比预期高了一截最后定位就是没有给重试请求加去重标记导致上游重复计费。5.2 流式输出的工程坑流式输出在开发环境测试时基本不会出问题一上生产就原形毕露。第一个坑是SSE连接超时。模型推理耗时长SSE连接可能长时间没有数据帧。如果网关层设置了空闲超时反向代理会直接把连接断开。我们一开始用Nginx做网关前面的一层负载均衡Nginx默认的proxy_read_timeout是60秒流式接口只要停顿超过60秒就会被掐断。后来把Nginx的参数调大或者在Nginx层面直接放行SSE请求问题才缓解。第二个坑是断线重连。用户前端如果因为网络问题断开SSE连接网关的内部调用也会被切断。但模型服务端可能还在继续生成内容这些Token已经被计费输出的内容却没人消费。我们后来在流式调用中加入了“客户端断开通知机制”网关监听连接关闭事件主动向上游发送取消请求虽然不能保证100%取消但能很大程度上减少浪费。第三个坑是流式返回的响应格式。不同的模型厂商有不同的流式事件格式有的返回的是纯文本增量有的是JSON结构还有的需要做Base64解码。为了让业务方能够统一解析我们在网关侧做了事件标准化业务方看到的永远是同一种增量更新事件。5.3 成本控制与安全风控成本控制是企业级大模型接入的核心诉求。前面提到的语义缓存能省一笔限流能防滥用还有一个容易被忽视的点Prompt里的无效字符和过长历史记录会导致Token消耗飙升。我们的审计逻辑会周期性检查Top N的高Token消耗会话发现很多是因为对话轮数过多没有做压缩。后来我们在网关中加入了“单会话最大消息数”限制超过20轮的自动触发历史摘要压缩Token消耗下降了40%。安全风控这块主要体现在输入侧和输出侧的过滤。输入侧要防止恶意用户通过提示词注入让模型做出违背系统设定的行为。我们在网关中加了敏感词过滤和指令注入检测检测到的请求直接拒绝不走模型调用。输出侧则是合规过滤某些场景下模型生成的文本需要经过一次规则引擎审核确保不出现违规内容。要特别说明的是网关内的安全策略不能过度依赖模型本身的安全对齐。商业模型的官方安全策略可能和内部合规要求不一致必须在网关层做二次校验。另外需要提醒一个运营层面的问题模型调用必须要有预算权限控制。我们每一个租户都有月度Token预算预算达到80%时自动告警达到100%时对非核心场景直接熔断。这个机制上线后再也没有出现过月底结算被账单吓一跳的情况。最后再分享一个我反复跟团队强调的观点模型网关不是一次性建完就结束的基础设施它很像我们之前做过的数据库中间件需要随着业务发展不断调优。语义缓存阈值、限流参数、熔断敏感度、Prompt版本这些都要在运行中持续迭代。我们维护了一个周更的配置评审机制每次改动都搭着灰度发布走半年下来网关的稳定性从最初的99.5%提升到了99.95%左右。如果你也在Java企业环境里做同样的事情最核心的落地经验是不要把一个复杂问题简单拆成“每调用一次模型”这个粒度的技术任务。想清楚统一入口、智能策略、可观测、安全合规这四件事网关就已经成功了一大半。至于具体用Spring Cloud Gateway还是自研组件是WebFlux还是传统Servlet模型这些都是可以随着团队熟悉度灵活决策的。真正决定项目成败的其实是网关这套代码在业务和系统之间沉淀出来的工程能力。

相关新闻

FPN特征金字塔详解:目标检测多尺度与小目标提升的关键结构

FPN特征金字塔详解:目标检测多尺度与小目标提升的关键结构

/* 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 10:06:56 阅读更多 →
C程序员转PLC:必须跨过的扫描周期与编程思维门槛

C程序员转PLC:必须跨过的扫描周期与编程思维门槛

干过几年嵌入式,自认为C语言写得还算溜,后来因为一个改造项目被迫转去写PLC,一开始心里是有点不服气的:都是逻辑控制,换个平台而已,能难到哪去?结果第一个星期就被现实教育了。项目里要控制十几…

2026/10/17 10:06:56 阅读更多 →
Harness SDK:面向基础设施即代码的类型安全编程接口

Harness SDK:面向基础设施即代码的类型安全编程接口

1. 项目概述:这不是一个“拿来即用”的工具包,而是一套面向持续交付工程师的基础设施编程接口你搜“harness-sdk”时,大概率正被三类问题卡住:想用代码批量管理 Harness 平台上的流水线(Pipeline)、环境&am…

2026/10/17 10:06:56 阅读更多 →

最新新闻

坚果云文件保护锁怎么用?防止协作中的意外覆盖与版本冲突

坚果云文件保护锁怎么用?防止协作中的意外覆盖与版本冲突

文章目录一、一个场景理解文件保护锁的价值二、文件保护锁的工作原理2.1 保护锁 vs 版本冲突:预防 vs 补救2.2 锁定后的具体限制2.3 保护锁的生命周期2.4 与 Git Lock 的对比三、操作指南:三端详细步骤3.1 Windows 端3.2 macOS 端3.3 网页端四、团队协作…

2026/10/17 10:41:07 阅读更多 →
增量同步技术原理详解:为什么坚果云比普通网盘快10倍?

增量同步技术原理详解:为什么坚果云比普通网盘快10倍?

文章目录一、一个场景引出核心问题二、增量同步的算法基础:从 Rsync 讲起2.1 全量同步为什么慢2.2 Rsync 算法的核心思想第一步:固定分块 双校验和第二步:客户端匹配第三步:生成差异指令2.3 一个具体的例子三、从 Rsync 到现代增…

2026/10/17 10:41:07 阅读更多 →
Burp Suite 保姆级安装+手动配置要点|抓包避坑指南:证书冲突终极解决

Burp Suite 保姆级安装+手动配置要点|抓包避坑指南:证书冲突终极解决

Burp Suite 保姆级安装手动配置要点|抓包避坑指南:证书冲突终极解决 最近从零配置 Burp 抓包环境,踩遍了证书重复、旧证书冲突、HTTPS 抓包失败、网页打不开等几乎所有的新手坑。这里整理了一套稳定可复现的实操流程,包含安装要点…

2026/10/17 10:41:07 阅读更多 →
知识点总结线性方程组解判定总梳理(齐次 + 非齐次,考研线代核心)

知识点总结线性方程组解判定总梳理(齐次 + 非齐次,考研线代核心)

线性方程组解判定总梳理(齐次 非齐次,考研线代核心)nnn 未知数的个数 AAA:系数矩阵;(A,b)(A,b)(A,b) 就是增广矩阵 A‾\overline AA一、非齐次线性方程组 Axb\boldsymbol{Axb}Axb {r(A)≠r(A,b)  ⟺  无解r(A)r(…

2026/10/17 10:41:07 阅读更多 →
企业同时用多个国产大模型,如何用 TaoToken 统一 Key 把接入成本压到最低?

企业同时用多个国产大模型,如何用 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 10:41:07 阅读更多 →
反转链表详解:三指针迭代与递归回溯,附高频变体

反转链表详解:三指针迭代与递归回溯,附高频变体

有一道题,看起来不超过十行,却常年挂在算法面试和在线判题平台的热门榜单上,那就是 反转链表 。我见过不少朋友在数组上玩得很溜,交换两个元素用中间变量一气呵成,可一碰到链表就莫名发怵:数组可以通过下…

2026/10/17 10:40:07 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 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/16 21:54:38 阅读更多 →
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/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练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 阅读更多 →