Spring AI Message Parts:工具轮思考签名必须保序原样回放,Session 才能存得住
接 Claude、DeepSeek、Gemini 这类带 thinking 的模型,再挂上工具调用时,下一轮请求必须把上一轮的思考块、签名或加密内容按原顺序原样送回去。官方博客 Spring AI 2.1 Message Parts: Reasoning That Survives the Roun
第 7 页 · 持续积累的技术实践
接 Claude、DeepSeek、Gemini 这类带 thinking 的模型,再挂上工具调用时,下一轮请求必须把上一轮的思考块、签名或加密内容按原顺序原样送回去。官方博客 Spring AI 2.1 Message Parts: Reasoning That Survives the Roun
升到 Spring Boot 4.2.0-RC1,Docker Compose 里想给 MySQL 开随机 root 密码、给 RabbitMQ 设非默认 vhost。Service Connection 到底吃哪组账号、virtual-host 会不会还停在 /?结论先说:随机 root 时 Bo
1Lookup 做电话/邮箱/IP 等实时核验与 enrichment(通用 credit)。TrustMRR 用 Stripe 核验:MRR $269,339、活跃订阅 730、累计 $5,539,400、近 30 天 $447,469(Last updated: Oct 25, 2026, 08:09 PM;10-26 08:12 北京时间再开仍一致)。月付 Starter $99 / Growth $299 / Professional $799 / Enterprise $1,999。
redis_exporter 1.96.0 开始把 Redis 8 INFO Threads 里的按线程计数导出成 Prometheus 指标。1.95.0 只有汇总的 redis_io_threaded_*,看不到每个 IO 线程的 clients / reads / writes。下面用同一台
MCP servers v2.1.0 将 server-filesystem 升到 2.0.1:尾引号兄弟目录上 list_directory,2.0.0 读到 secret.txt,2.0.1 返回 Access denied;本次用 MCP Java SDK STDIO 客户端,未调外部模型。
Spring Framework 7.1.0-RC1(Boot 4.2.0-RC1)MultipartHttpMessageConverter:RestClient 把 multipart/form-data 解成 MultiValueMap,读到 fieldPart 与 logo.txt;只留 FormHttp 时抛 UnknownContentTypeException。
JBS JDK-8394468(2026-10-26 仍 Unresolved)。(true ? null : "abc").length() 在 21.0.12.1、27.0.1.0.3、28-ea+21 均 AssertionError: Invalid pool entry(exit 4);对调或条件非常量可编译。10-25 已有 openjdk/jdk#33555(rfr)。Spring Boot 3.5.6 下 mvn compile 报 An unknown compilation problem occurred。
云知声 Token Hub 模型页仍标 U2 Flash 限时免费无限量调用(2026.09.30–10.31),输入/缓存命中/输出均为 0 元且不扣 Token Plan Credits;速率限制 20 RPM / 500 万 TPM。附 Spring Boot 4.1 + Spring AI 2.0 接法,以及缺令牌 / 假令牌的 401。
jwk-set-uri 已设、issuer-uri=${ISSUER_URI:} 落成空串时,Boot 4.1.1 仍挂 JwtIssuerValidator,带正常 iss 的 JWT 回 401;4.1.2 改为 hasText 才校验,同令牌 200。对应 #52260。
密码写成前后各一空格的 secret 时,Micrometer 1.17.1 发出去是 secret,1.17.2 原样保留。Boot 4.1.2 已带 1.17.2。对应 #8015。