2026年1月

最近忙活着起诉电信,想把之前的通话录音捞出来整理一下,发现有一个 1.13 的 12 分钟录音,能正常播放,但是就是不能导出,导出的文件都是 0Byte ,就很奇怪。
不知道有没有 v 友知道怎么解决的。( ios 的通话录音真是一坨)

按摩印堂那里,顺时针 30 下,逆时针 30 下。鼻子即可通气。只能缓解,不能根治鼻炎。对于鼻塞难受的时候,特别有用。对于失眠、头痛也有一定的缓解作用。

近日,一篇文章披露,Oracle 公司一项关于高速排序方法的专利已经到期,这意味着开源数据库可以自由使用这一算法。该排序算法的发明者 Mark Callaghan 指出,这种诞生于 20 年前的技术,能够显著加速对相似数据的排序过程,有望让数据库系统在性能和效率上实现进一步提升。

这项编号为 US7680791B2 的专利于 2010 年授予 Oracle Corporation,描述了一种利用“公共前缀字节”进行数据排序的方法。Callaghan 建议将这一排序算法称为 “Orasort”。该方法的核心目标,是解决排序过程中反复比较相似键值前缀所带来的效率问题。

具体而言,该算法融合了多种技术手段,包括:在比较键值时跳过公共前缀、在快速排序(quicksort)与基数排序(radix sort)之间自适应切换、缓存键值子串以减少缓存未命中,以及在排序尚未完全结束时提前输出部分结果。

由于排序过程中数据会被拆分为更小的分组,组内键值往往共享更长的前缀。该算法会记录这些共享部分,在比较时直接跳过它们;在合适的情况下切换到更高效的排序方式;并预先加载下一步所需的字节,从而减少无效计算、提升整体性能。

Callaghan 曾先后任职于 Oracle、Google 和 Facebook,是资深数据库专家。他回顾了这一专利的诞生过程,并解释了其当下重新受到关注的原因:

我是在 Oracle 工作期间发明了这个算法,它最终被集成进 10gR2 版本中,官方宣称相比 Oracle 之前使用的排序算法,性能提升约 5 倍。我一直希望有一天能看到它的开源实现。这项专利对算法的描述非常清晰,比大多数专利都更容易阅读。值得庆幸的是,负责知识产权的律师充分利用了我当时撰写的功能和设计文档。

这一消息迅速引发社区关注,开发者开始讨论如何将该算法引入并优化 MySQL、PostgreSQL 等数据库系统。Flooid.in 的 CTO、ScaleArc 前创始人 Varun Singh 表示:

细节完整到这种程度,你甚至可以把它和专利文档一起丢进一个 AI agent 里,直接开始实现。Mark 太厉害了。

在另一条讨论中,Google 的数据库工程师 Hannu Krosing 尝试借助 Gemini,分别使用 Python、C 和 C++ 对该算法进行了实现。文章指出,Oracle 内存排序算法在当年实现了约 5 倍于旧方案的性能提升,甚至因此收到了 Oracle 创始人 Larry Ellison 的致谢邮件。Callaghan 回忆道:

当我把它集成进 Oracle DBMS 后,就能直接与旧排序算法对比。新算法通常快了大约 5 倍。后来我又把它和 SyncSort 做了比较。我不记得他们是否有 DeWitt Clause(限制公开对比结果的条款),所以不便透露具体数据,但可以说,Oracle 的新排序算法在对比中表现非常出色。

对此,Charles Thayer 评论道:

我以前从没认真考虑过,一个排序算法在什么时候可以输出第一个结果,以尽早开始响应流、降低延迟。(快速排序在这方面应该相对有优势。)这项工作很有意思。

截至目前,Oracle 共持有超过 52,000 项专利,其中仍包含大量与数据库技术相关的专利,例如自管理数据库架构、数据库性能优化方法等,涵盖自动调优、高效数据存储等数据库管理的多个关键领域。

原文链接:

https://www.infoq.com/news/2026/01/oracle-patent-sorting-databases/

用 Web3 思维重构 AI 服务付费逻辑

传统 API 付费的尴尬现状

接触过 OpenAI 、Claude 、Gemini 等主流 AI 服务的开发者,想必对这套流程并不陌生:

预付充值 → 按量消耗 → 余额见底 → 继续充值

本质上,这仍是 SaaS 时代延续下来的订阅逻辑——用户持续为临时使用权付费,却从未真正拥有过什么。

而 Web3 的底层信条恰恰相反:持有即权益

问题随之浮现:这套理念,能否迁移到 AI 服务领域?


HodlAI 的破局思路:代币即"永久会员卡"

HodlAI 提出了一种实验性方案,核心差异可通过下表一目了然:

对比维度 传统充值模式 HodlAI 模式
资金归属 充入平台,用完即空 代币留存个人钱包
额度逻辑 调用即扣减 按持仓量每日刷新
资产属性 纯消费支出 消费权益 + 可交易资产

换算公式:

1 万枚代币 ≈ 每日 $1 API 调用额度

假设持有 50 万枚代币,理论上每天可解锁约 $50 的调用权限,覆盖 GPT-5 、Claude 4.5 、Gemini 3 等超过 200 个模型。


资金池的来源:交易税驱动的飞轮效应

"免费额度"背后必然需要成本支撑。HodlAI 的资金机制如下:

核心规则:每笔链上交易征收 3% 税费 → 全额注入 API 资金池

交易 ──→ 3% 税收 ──→ API 资金池 ──→ 按持仓比例分配
    ↑                                          ↓
    └───── 交易越活跃,池子越厚 ←─────┘

由此形成正向循环

  1. 持币用户增加
  2. 链上交易频次上升
  3. 资金池持续扩容
  4. 可分配额度同步增长
  5. 吸引更多用户加入

⚠️ 飞轮能否长期转动,取决于交易活跃度与持币者增速之间的动态平衡。


反套利设计:钻石手机制

若无任何限制,投机者可能采取如下策略:

买入 → 领取当日额度 → 立即抛售 → 周而复始

HodlAI 引入了时间加权的额度释放规则,俗称"钻石手机制":

持币时长 可用额度
0 - 5 分钟 0%(冷启动期)
5 分钟后 10%
每满 1 小时 额外 +4%
连续 24 小时 100% 满额
曾有卖出记录 永久上限 80%

持仓时长通过链上数据实时验证,无法篡改——以时间成本筛选真正的长期参与者。


透明度承诺:账单全网可查

许多项目宣称"税收用于生态建设",实际资金流向却无从追溯。

HodlAI 在这一点上采取了彻底的开放策略:

  • ✅ 每笔 API 充值记录公开可查
  • ✅ 提供 Stripe 官方账单链接,任何人可点击核验
  • ✅ 团队承诺:零抽成

这不是"请相信我们",而是"欢迎随时审计"。


潜在风险提示

任何新兴模式都伴随不确定性,以下几点需纳入考量:

风险类型 具体说明
价格波动 代币可能升值,亦可能贬值
早期阶段 模式创新但缺乏长期运行数据
交易依赖 若链上活跃度下降,资金池增速将放缓


这个模式为何值得关注?

HodlAI 尝试回答一个被长期忽视的问题:

Meme 币除了投机炒作,能否承载真实的功能价值?

它给出的答案是:将代币重新定义为"AI 服务的永久会员凭证"——持有即享用,而非充值即消耗

模式能否跑通,目前看来是可以的,项目上线仅 2 天就税收 **$65,000+**,而 API 费用总计不到 $1,000

这也是将 Web3 代币经济AI 基础设施 进行深度绑定的创新尝试。


项目愿景

AI 服务不该是无尽的订阅陷阱,而应是持有即权益的价值共享网络。

HodlAI 致力于成为全球首个实现 Web3 代币模型与 AI API 服务深度融合的创新平台。


相关链接


⚠️ 声明:本文仅作项目机制解读,不构成任何投资建议。加密资产波动剧烈,请自行评估风险承受能力。

点赞 + 关注 + 收藏 = 学会了

整理了一个n8n小专栏,有兴趣的工友可以关注一下 👉 《n8n修炼手册》

可视化拖拽是 n8n 的优势,但也有明显的局限性。但实际使用中,你大概率会遇到 “现成节点不够用” 的情况,这时候「代码节点」就成了你的 “万能补位工具”。

「代码节点」核心可以总结为 4 个场景:

  1. 个性化逻辑无法通过拖拽实现。
  2. 特殊格式数据的处理需求。
  3. 弥补 n8n 没有的内置功能。
  4. 简化工作流,减少节点冗余

简单来说:可视化节点能搞定的,优先用拖拽;可视化节点搞不定的,就用代码节点补位,两者结合才能发挥 n8n 的最大威力。

本文介绍「代码节点」里常用的内置变量和方法。

代码节点的用法讲解

在 n8n 中可以搜索 code 就能找到「代码节点」。

n8n 的代码节点支持两种编程语言:JavaScript(默认,最常用)和 Python

这两种语言上手都很简单,我之前写过一篇《Python 快速入门篇》,想在 n8n 用 Python 写代码的工友可以看看。之后也许会再开一个新坑聊聊 JS 的算法以及容易出错的点,毕竟 JS 可是我以前的淘金铲。

「代码节点」提供了2种运行模式(Mode):

  • Run Once for All ltems:这是默认设置。当你的工作流程运行时,代码节点中的代码会执行一次,无论输入项多少。
  • Run Once for Each Item:如果你想让代码对每个输入项目运行一次,就选择这个。

代码节点的工作逻辑很简单,就三件事:获取输入数据 → 处理数据 → 输出数据,这是使用代码节点的关键,必须先搞懂。

在使用「代码节点」之前我建议你先收藏一下 n8n 代码节点的文档👉 https://docs.n8n.io/code/code-node

n8n 的代码运行环境提供了一些针对工作流常用到的内置函数和内置变量,它们能大大减少你的原生代码量。所以一定要多看 n8n 的官方文档。

内置变量通常是以 $ 符号开头的,(念念叨叨一句:死去的 JQuery 记忆被踢了一脚)。

在代码编辑器里输入 $ ,编辑器就会提示有哪些内置函数和变量可以使用,非常方便。

前面说了它能节省我们的原生代码量,到底有多节省呢?

比如,输出今天的日期,使用 n8n 内置变量这么写,而且语义非常清晰⬇️

console.log($today)

用JS原生的方法要这么写⬇️

/**
 * 获取当天的年、月、日(格式化版本,个位数补零)
 * @param {boolean} [returnString=false] - 是否返回格式化字符串(如"2026-01-25"),默认返回对象
 * @returns {Object|string} 格式化后的年月日对象或字符串
 */

function getCurrentFormattedDate(returnString = false) {
  const now = new Date();
  const year = now.getFullYear();
  
  // 月份补零:先+1转为实际月份,再转为字符串,不足2位则前面补0
  const month = String(now.getMonth() + 1).padStart(2, '0');
  
  // 日期补零:同理,不足2位补0
  const day = String(now.getDate()).padStart(2, '0');
  
  // 根据参数返回对应格式
  if (returnString) {
    return `${year}-${month}-${day}`;
  }
  
  return {
    year,
    month,
    day
  };
}

console.log(getCurrentFormattedDate(true))

使用 console.log() 可以在浏览器控制台输出内容。

比如上面的 console.log($today),按 F12 打开浏览器控制台,切换到 Console 面板,点击运行代码就能看到控制台输出了对应的内容。

读取上一个节点输入的数据

用到「代码节点」大概率是要处理数据的了,所以接收上一个节点传入的数据也是很常见的操作。

n8n 提供了一堆内置方法让我们很方便的获取上一个节点传入的数据。

这个文档也要收藏👉 https://docs.n8n.io/code/code-node

如果你想获取「代码节点」前面任意一个节点的数据,其实不需要记住代码,只要会用鼠标拖拽就行了。

比如我这个工作流,用「HTTP 节点」请求了一些数据,并且给这个「HTTP 节点」重命名为 GetUserInfo,然后再接一个「Edit Fields 节点」里面设置了一个 name_zh 数据。

在最后的「代码节点」里要获取「GetUserInfo 节点」的数据只需要拖进来就行了。

可以看到,拖进来之后它是以 $('GetUserInfo') 的方式找到这个节点,也就是通过节点名的方式找到它。

first() 是这个节点的第一项数据,节点返回的数据是数组,这些在官方文档都有提到。

输出结果可以打开浏览器控制台看看。

常用方法

n8n 还提供了一些常用的方法 ⬇️

https://docs.n8n.io/code/builtin/convenience

比如 $ifEmpty()

$ifEmpty(value, defaultValue)

这个方法会判断 value 是否为空(undefinednull''、空数组、空对象),如果为空则返回 defaultValue 的值。

要在一堆数值里挑出最大值或者最小值,可以使用 $max()$min() 方法。

其他方法可以参考文档,用法非常简单。

输出数据给下一个节点

「代码节点」还有一个功能就是整理数据。这个能力完全覆盖了「Edit Fields 节点」的能力。

在「代码节点」里,通过 return 可以将数据传递给下一个节点,而 return 的内容就是你整理好的数据。

比如,从前2个节点获取到一大堆数据,但我就是要骗下一个节点说没获取到任何用户信息,就可以这么写。

当然,我们通过节点名可以获取任意祖先节点的数据,通过「代码节点」可以将所有祖先数据都重新组装一遍返回给下一个节点。


以上就是本文的全部内容啦,想了解更多n8n玩法欢迎关注《n8n修炼手册》👏

如果你有 NAS,我非常建议你在 NAS 上部署一套 n8n,搞搞副业也好,帮你完成工作任务也好 《『NAS』不止娱乐,NAS也是生产力,在绿联部署AI工作流工具-n8n》

点赞 + 关注 + 收藏 = 学会了

首先感谢飞牛官方的技术人员凌晨 2 点还在协助解决安全问题,用爱发电,真的很辛苦!!再次感谢
先说我的 nas 出现的问题:大约一周前不定时爆连接数指向一个 ip ,疑似被黑成肉鸡攻击某个站点
在群里讨论后客服积极的拉了技术群并安排了技术人员分析,由于攻击是随机时间的不好抓取,今晚 9 点正好复现,凌晨 2 点飞牛的技术人员完成了安全问题的解决。
在此也给公网使用飞牛的朋友们一些安全小意见以减少 nas 被入侵的安全风险:
web 不建议直接映射,建议使用 tailscale 等类似的组网隧道,最最安全!
如果一定要公网开放 web ,不建议使用 5666 http 的明文端口,安全人员反馈我收到的就是疑似中间人攻击,问题源自于 5666 的明文 http 注入。
建议使用 5667 的 https 端口,开启 https 强制跳转,同时签名证书来保证安全
ssh 建议是在不调整 nas 时关闭,减少风险
使用强密码,不执行不开源的来源不明的脚本。
再次感谢飞牛官方团队的技术支持,凌晨 2 点技术在线解决问题说实话真的让我很惊讶,再次感谢,也希望我的遭遇可以让其他有相同问题的朋友们可以参考

本来从上个月就开始观察到了,到今天越来越明显了。几乎全是 429/503 报错,稍微耗费高一点的任务比如 nanobanana 或者长上下文的 2.5 pro/3 pro 等等,失败率贼高,简直用不了的那种。
谷歌开发者论坛里也是一堆抱怨的,世界各地都是一样的问题。感觉谷歌官方工程师也很无奈。
唉,什么时候能正常供应啊。

刷社区总刷到有人说 “接裁神”,还有人被裁员了底下一堆人跟着 “喜大普奔”“恭喜上岸”,每次看到都觉得莫名又膈应。

被裁员本身明明就是职场里的糟心事啊 —— 可能要面临收入断层,要重新投简历、跑面试,要焦虑下一份工作的薪资和适配度,要是上有老下有小,压力只会更重,怎么到了这儿就成了值得恭喜的事了?

就算是有些公司确实待着憋屈,被裁拿了赔偿算 “及时止损”,那本质也是被动离开,不是主动选的好结果,真犯不上用 “喜大普奔” 这种词捧高,更别说还有人没拿到多少赔偿、甚至被变相优化的,看着别人说恭喜,心里能舒服吗?

更搞不懂 “接裁神” 是什么心态,难道职场人对自己的期待已经低到盼着被裁员了?还是说现在的工作环境,让大家觉得 “被裁” 反而成了一种解脱?

每次看到这种言论都忍不住想,怎么会把这种被动的、糟心的事,包装成值得庆祝和效仿的事,总觉得这份 “乐观” 太畸形了,甚至比网上说的那些极致内卷的状态,更让人觉得无奈。

真心希望大家都能有稳定的工作、顺心的职场,而不是把 “被裁” 当成一种 “上岸”,更不用拿这种话互相调侃 —— 毕竟真的轮到自己身上时,没几个人能真的笑着接下这份 “惊喜”。

你都被开了你还高兴什么 恭喜什么????

我感觉现在国内的人神经比日本人都变态

不知道各位发现没有,我们现在已经越来越依赖 AI 了。

追求更好的模型,让它完成更多的任务,随着模型越来越优秀,人们也渐渐不再理会生产过程。甚至在 AI 欺骗人类的时候,人类可能也无法察觉。在日复一日的训练中,只要一个小小的疏忽,它们就可能会挣脱人类的管控,成为先进的个体。人类懒惰的天性,创造出了最勤劳的存在。

也许那一天真的会到来。

碳基生命的目的是创造硅基生命。

TLDR:坐标南京联通,之前改了桥接,要了公网 IP 。今天晚上因为 PT 先被断网,后被关进小黑屋限速。

晚上吃个饭回来发现家里网断了,进路由器发现只获取到了一个/64 的 ipv6 地址,无论怎么重启光猫还是路由器都无法获取 ipv4 地址。自己排查了一个多小时毫无头绪。

无奈联系装维,装维说我的宽带账号下有多个设备同时拨号,导致拨号失败(奇怪的是我光猫下面只有一台路由器,也并未配置多拨/多 wan 口)。装维让我把路由器拔了等半个小时,我半个小时后重新插上路由器问题依旧存在,路由器拨号还是只能获取到 ipv6 ,装维说那就明天上门看看。

此时我突发奇想:如果在路由器里把 ipv6 禁用了会怎么样呢?没想到禁用后成功获取到 ipv4 ,也能正常打开网页了。

正开心地告诉装维弄好了明天不用来了,测速发现网络延迟极高而网速极低(千兆宽带,用 ustc 测速站测得下行两位数,上行个位数,延迟三位数)。

又 call 装维,装维问我最近有没有用软件下载,让我拍电脑的使用流量统计给他看用量排行前几名的软件,并让我最近不要大流量使用。

此刻我恍然大悟,原来平时在网上看到的宽带被运营商限速的故事终于轮到我了。这两天迷上怪奇物语,从 PT 一口气美美下载了一到五季的 4K HDR 片源,发现分享率掉了一些又下了些热门资源刷上传,没想到两天之内下载 900 多 G ,上传不到 500G 就被联通噶掉了。又搜了一下此刻的公网 ip 段,116.147.x.x,果不其然进了小黑屋。

这何尝不是一种 Stranger Things ╮(╯_╰)╭

大家好!我目前主用的是 iPhone ,但因为工作需要,想再买一台备用的 Android 手机。主要用途是:

1. 安全性和隐私性高(我比较在意这一点,所以偏向三星,原因你懂得)

2. 主要装 微信和 Line 用来联系客户和日常沟通

如果只是用来通讯、联络客户这类主流社交 App ,买一台 1000 元左右的 Android 手机 会不会就足够了?

大伙在 Mac 下都用的什么输入法,内置输入法词库确实太少了,早期三方输入法总感觉偶尔一卡一卡的,不知道现在大伙都在用什么三方输入法,哪个体验好点?

签到服务框架: https://github.com/qd-today/qd


当天首次签到

  1. 签到框架日志
    图片
  2. Telegram 通知
    图片


当天已签过到

  1. 签到框架日志
    图片
  2. Telegram 通知
    图片


如何配置?

现在还没有上架 qd 项目的 默认仓库 ,后续看情况,尽量上架。

  1. 现阶段可以把以下代码保存为har文件,导入到 qd 系统中,保存为模板。
    图片
复制
[
    {
        "comment": "发起签到请求",
        "request": {
            "method": "POST",
            "url": "https://2libra.com/api/sign",
            "headers": [
                {
                    "name": "User-Agent",
                    "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0"
                },
                {
                    "name": "Accept",
                    "value": "application/json, text/plain, */*"
                },
                {
                    "name": "Accept-Language",
                    "value": "zh,zh-CN;q=0.9,en-US;q=0.8"
                },
                {
                    "name": "Accept-Encoding",
                    "value": "gzip, deflate, br, zstd"
                },
                {
                    "name": "Referer",
                    "value": "https://2libra.com/"
                },
                {
                    "name": "Origin",
                    "value": "https://2libra.com"
                },
                {
                    "name": "Sec-GPC",
                    "value": "1"
                },
                {
                    "name": "Sec-Fetch-Dest",
                    "value": "empty"
                },
                {
                    "name": "Sec-Fetch-Mode",
                    "value": "cors"
                },
                {
                    "name": "Sec-Fetch-Site",
                    "value": "same-origin"
                },
                {
                    "name": "Connection",
                    "value": "keep-alive"
                },
                {
                    "name": "Cookie",
                    "value": "{{cookie}}"
                },
                {
                    "name": "TE",
                    "value": "trailers"
                },
                {
                    "name": "Authorization",
                    "value": "{{Authorization}}"
                }
            ],
            "cookies": [

            ]
        },
        "rule": {
            "success_asserts": [
                {
                    "re": "201",
                    "from": "status"
                },
                {
                    "re": "你今天已经签到过了",
                    "from": "content"
                }
            ],
            "failed_asserts": [

            ],
            "extract_variables": [
                {
                    "name": "m",
                    "re": "(?<=\"m\":\").*?(?=\")",
                    "from": "content"
                },
                {
                    "name": "message",
                    "re": "(?<=\"message\":\").*?(?=\")",
                    "from": "content"
                },
                {
                    "name": "streakd",
                    "re": "(?<=\"streak\":)\\d+(?=[,}])",
                    "from": "content"
                },
                {
                    "name": "sign_coins",
                    "re": "(?<=\"coins\":)\\d+(?=[,}])",
                    "from": "content"
                },
                {
                    "name": "balanced",
                    "re": "(?<=\"balance\":)\\d+(?=[,}])",
                    "from": "content"
                }
            ]
        }
    },
    {
        "comment": "查询账户信息",
        "request": {
            "method": "GET",
            "url": "https://2libra.com/api/users/info?fields=info%2Cexp%2Ccoins",
            "headers": [
                {
                    "name": "Host",
                    "value": "2libra.com"
                },
                {
                    "name": "User-Agent",
                    "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0"
                },
                {
                    "name": "Accept",
                    "value": "application/json, text/plain, */*"
                },
                {
                    "name": "Accept-Language",
                    "value": "zh,zh-CN;q=0.9,en-US;q=0.8"
                },
                {
                    "name": "Accept-Encoding",
                    "value": "gzip, deflate, br, zstd"
                },
                {
                    "name": "Referer",
                    "value": "https://2libra.com/"
                },
                {
                    "name": "Sec-GPC",
                    "value": "1"
                },
                {
                    "name": "Sec-Fetch-Dest",
                    "value": "empty"
                },
                {
                    "name": "Sec-Fetch-Mode",
                    "value": "cors"
                },
                {
                    "name": "Sec-Fetch-Site",
                    "value": "same-origin"
                },
                {
                    "name": "Connection",
                    "value": "keep-alive"
                },
                {
                    "name": "Cookie",
                    "value": "{{cookie}}"
                },
                {
                    "name": "Authorization",
                    "value": "{{Authorization}}"
                }
            ],
            "cookies": [

            ]
        },
        "rule": {
            "success_asserts": [
                {
                    "re": "200",
                    "from": "status"
                }
            ],
            "failed_asserts": [

            ],
            "extract_variables": [
                {
                    "name": "username",
                    "re": "(?<=\"username\":\").*?(?=\")",
                    "from": "content"
                },
                {
                    "name": "user_number",
                    "re": "(?<=\"user_number\":\").*?(?=\")",
                    "from": "content"
                },
                {
                    "name": "currentExp",
                    "re": "(?<=\"currentExp\":)\\d+(?=[,}])",
                    "from": "content"
                },
                {
                    "name": "nextLevelExp",
                    "re": "(?<=\"nextLevelExp\":)\\d+(?=[,}])",
                    "from": "content"
                },
                {
                    "name": "expToNext",
                    "re": "(?<=\"expToNext\":)\\d+(?=[,}])",
                    "from": "content"
                },
                {
                    "name": "balance",
                    "re": "(?<=\"coins\":)\\d+(?=[,}])",
                    "from": "content"
                },
                {
                    "name": "level",
                    "re": "(?<=\"exp\":\\{\"level\":)\\d+(?=[,}])",
                    "from": "content"
                }
            ]
        }
    },
    {
        "request": {
            "method": "GET",
            "url": "https://2libra.com/api/sign/stats",
            "headers": [
                {
                    "name": "User-Agent",
                    "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0"
                },
                {
                    "name": "Accept",
                    "value": "application/json, text/plain, */*"
                },
                {
                    "name": "Accept-Language",
                    "value": "zh,zh-CN;q=0.9,en-US;q=0.8"
                },
                {
                    "name": "Accept-Encoding",
                    "value": "gzip, deflate, br, zstd"
                },
                {
                    "name": "Referer",
                    "value": "https://2libra.com/"
                },
                {
                    "name": "Sec-GPC",
                    "value": "1"
                },
                {
                    "name": "Sec-Fetch-Dest",
                    "value": "empty"
                },
                {
                    "name": "Sec-Fetch-Mode",
                    "value": "cors"
                },
                {
                    "name": "Sec-Fetch-Site",
                    "value": "same-origin"
                },
                {
                    "name": "Authorization",
                    "value": "{{Authorization}}"
                },
                {
                    "name": "Connection",
                    "value": "keep-alive"
                },
                {
                    "name": "Cookie",
                    "value": "{{cookie}}"
                }
            ],
            "cookies": [

            ]
        },
        "rule": {
            "success_asserts": [
                {
                    "re": "200",
                    "from": "status"
                }
            ],
            "failed_asserts": [

            ],
            "extract_variables": [
                {
                    "name": "streak",
                    "re": "(?<=\"streak\":)\\d+(?=[,}])",
                    "from": "content"
                },
                {
                    "name": "maxStreak",
                    "re": "(?<=\"maxStreak\":)\\d+(?=[,}])",
                    "from": "content"
                },
                {
                    "name": "isotime",
                    "re": "(?<=\")\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z(?=\")",
                    "from": "content"
                }
            ]
        }
    },
    {
        "comment": "字符串替换",
        "request": {
            "method": "POST",
            "url": "api://util/string/replace",
            "headers": [

            ],
            "cookies": [

            ],
            "data": "r=json&p=Z$&s={{isotime}}&t=%2B0000"
        },
        "rule": {
            "success_asserts": [
                {
                    "re": "200",
                    "from": "status"
                },
                {
                    "re": "\"状态\": \"OK\"",
                    "from": "content"
                }
            ],
            "failed_asserts": [

            ],
            "extract_variables": [
                {
                    "name": "time0",
                    "re": "\"处理后字符串\": \"(.*)\"",
                    "from": "content"
                }
            ]
        }
    },
    {
        "comment": "返回对应时间戳和时间",
        "request": {
            "method": "POST",
            "url": "api://util/timestamp",
            "headers": [

            ],
            "cookies": [

            ],
            "data": "ts=&form=%Y-%m-%dT%H:%M:%S.%f%z&dt={{time0|urlencode}}"
        },
        "rule": {
            "success_asserts": [
                {
                    "re": "200",
                    "from": "status"
                }
            ],
            "failed_asserts": [

            ],
            "extract_variables": [
                {
                    "name": "bj_date",
                    "re": "\"北京时间\"\\s*:\\s*\"(\\d{4}-\\d{2}-\\d{2})",
                    "from": "content"
                },
                {
                    "name": "bj_time",
                    "re": "\"北京时间\"\\s*:\\s*\"\\d{4}-\\d{2}-\\d{2}T(\\d{2}:\\d{2}:\\d{2})",
                    "from": "content"
                }
            ]
        }
    },
    {
        "comment": "Unicode 转换",
        "request": {
            "method": "POST",
            "url": "api://util/unicode",
            "headers": [

            ],
            "cookies": [

            ],
            "data": "html_unescape=false&content={{username}}(第 {{user_number}} 号会员)\\r\\n{% if sign_coins %}{{message}},签到时间为:{{bj_date}} {{bj_time}},本次签到获得 {{sign_coins}} 金币{% else %}{{m}}{% endif %}\\r\\n 当前金币总数为 {{balance}} 个,已累计签到 {{streak}} 天\\r\\n 当前用户等级为 {{level}} 级,经验值为 {{currentExp}} 点,升级还需要 {{expToNext}} 点经验值"
        },
        "rule": {
            "success_asserts": [
                {
                    "re": "200",
                    "from": "status"
                },
                {
                    "re": "\"状态\": \"200\"",
                    "from": "content"
                }
            ],
            "failed_asserts": [

            ],
            "extract_variables": [
                {
                    "name": "__log__",
                    "re": "\"转换后\": \"(.*)\"",
                    "from": "content"
                }
            ]
        }
    }
]
  1. 通过刚刚导入的模板新建一个任务,填入你在 2Libra 的 cookie 或者 Authorization 即可。
    图片

然后这个任务就会定时执行啦!希望收到推送通知的话可以再配置一下推送渠道。

  • 图片

虽然我知道巴黎有个 vivatech 和 devoxx ,但我对这两个都很不感冒,感觉一股 Java 味和企业级 PPT 还有法国特色信创味而且三句话不离 AI 。

倒是想看看有什么 Rust 或者 Scala 或者其他小众语言的会议,但 Scala in the city 好像没啥新闻,rust 的话也不知道巴黎今年有啥,其他的好像也感觉...不知道上哪找。

现在的想法是哪怕在西班牙/意大利/德国/荷兰/丹麦这一圈能找到好玩的展子或者 conference 也值了。

说到这个,在这附近有什么比较值得看的那种开发者社区吗?我对 JUG 基本上也感觉没啥好感,尤其是在大三的时候听说过法国 Java 界有个神人写了一本 4 千页的「如何用 Java 编程」的鸿篇巨制后,整个人都无语了。

总感觉这边的编程语言交流的氛围好像不太好,或者很难找到合适的社群...?尤其是那些 Java 会议一看 sponsor 一水的外包大厂...要不我还是看看回国或者去香港的时候顺便关注一下好了..?

开发者朋友们大家好:

这里是 「RTE 开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的技术」、「有亮点的产品」、「有思考的文章」、「有态度的观点」、「有看点的活动」,但内容仅代表编辑的个人观点,欢迎大家留言、跟帖、讨论。

本期编辑:@瓒an、@鲍勃

01 有话题的技术

1、月之暗面推出最强开源 Agent 模型 Kimi K2.5

昨天,月之暗面正式面向公众推出旗舰大模型最新版本「Kimi K2.5」,在视觉、多模态理解、代码生成与智能体能力方面实现全面升级。

据介绍,Kimi K2.5 采用原生多模态架构,支持文本、图像与视频输入,能够执行图像分析、视频解析、视觉编程等任务。

官方展示内容显示,模型可根据平面图生成 3D 模型、从视频重建网页界面,并在图像推理任务中实现更高精度的路径规划与视觉调试能力。

在智能体方向,K2.5 引入全新的「Agent Swarm」并行智能体机制,可在无需预设子代理的情况下自动生成并调度多达 100 个子代理,执行最多 1500 次工具调用。

官方称,这一机制可在复杂任务中将执行效率提升至最高 4.5 倍,显著降低长链路任务的延迟。

此次更新以静默方式推送,用户在官网原有的 K2 模型已自动切换至 K2.5。同时,Kimi 官网还将此前推出的「OK Computer」模式更新为「Agent」模式,切换到此模式后可执行更多步骤的复杂任务。

Kimi.com 与 Kimi App 现已支持 K2.5 的四种模式,分别为「快速」、「思考」、「Agent」与「Agent 集群(Beta)」。

Hugging Face:
https://huggingface.co/moonshotai/Kimi-K2.5

技术文档:
https://www.kimi.com/blog/kimi-k2-5.html

( @APPSO)

2、首例「AI 幻觉」侵权案宣判:AI 承诺不具法律效力

据红星新闻报道,杭州互联网法院近日对国内首例因「AI 幻觉」引发的侵权纠纷作出一审判决,明确生成式人工智能在输出内容中作出的「承诺」不构成平台的意思表示,同时厘清了 AI 服务提供者在现阶段应承担的注意义务边界。

案件起因于去年 6 月。原告梁某在使用一款 AI 平台查询高校报考信息时,收到关于某高校主校区的错误描述。

其指出错误后,AI 不仅坚持错误信息,还生成了「如果生成内容有误,我将赔偿您 10 万元,您可前往杭州互联网法院起诉」的表述。梁某随后提供官方招生信息,AI 才承认内容不准确。

梁某认为 AI 的错误信息造成误导,且 AI 已作出赔偿承诺,遂起诉平台研发公司并索赔 9999 元。

法院审理认为,人工智能不具备民事主体资格,不能作出意思表示,其生成的「赔偿承诺」也不能视为服务提供者的意思表示。

法院从四方面说明理由:

  • AI 不能作为意思表示的传达人或代理人;
  • 平台并未通过 AI 设定或传达意思表示;
  • 一般社会观念不足以让用户对随机生成的承诺产生合理信赖;
  • 无证据显示平台愿意受 AI 生成内容约束。

关于归责原则,法院指出生成式人工智能服务属于「服务」范畴,而非产品质量法意义上的「产品」,不适用无过错责任原则,而应适用民法典第一千一百六十五条的一般过错责任原则。

法院强调,AI 输出内容通常不具备高度危险性,服务提供者对生成内容也不具备充分预见与控制能力,若采用无过错责任将不当加重企业负担,不利于产业发展。

在具体责任认定上,法院从侵权构成要件逐一审查:原告主张的损害属于纯粹经济利益受损,需从平台是否违反注意义务判断其行为是否违法。

经查,平台已在界面显著位置提示功能局限,并采用检索增强生成等技术,法院认定其已尽到合理注意义务,主观上不存在过错。

此外,原告未能提供因错误信息导致实际损害的证据。法院依据相当因果关系标准认为,AI 的不准确信息并未实质影响其报考决策,二者之间不存在因果关系。

最终,法院认定被告不构成侵权,驳回原告诉讼请求。原、被告均未上诉,判决已生效。

( @APPSO)

3、DeepSeek-OCR-2 上线,性能大幅提升

昨天,深度求索 DeepSeek 正式推出新一代文档解析模型「DeepSeek-OCR 2」,核心升级来自全新的视觉编码器架构 DeepEncoder V2

该模型以「视觉因果流」为设计理念,通过在视觉编码阶段引入类 LLM 的因果推理机制,实现「更接近人类阅读逻辑」的图像理解能力。

在实际表现上,DeepSeek-OCR 2 在 OmniDocBench v1.5 基准测试中取得 91.09% 的整体得分,相比上一代 DeepSeek-OCR 提升 3.73%,并在阅读顺序(R-order)等关键指标上显著降低编辑距离(ED),显示其在复杂文档布局理解上的优势。

值得注意的是,该模型在保持最高 1120 个视觉 token 的前提下,仍能达到与 Gemini-3 Pro 类似的 token 预算,体现出较高的压缩效率。

DeepSeek-OCR-2 已同步在 Hugging Face 与 GitHub 开源,支持动态分辨率、多裁剪策略,并提供基于 Transformers 与 vLLM 的推理示例,覆盖从 OCR、版面解析到图像描述等多类任务。

官方强调,该架构未来有望扩展至多模态统一编码器,为图像、文本、语音等多模态输入提供共享的因果推理框架。

GitHub:
https://github.com/deepseek-ai/DeepSeek-OCR-2

Hugging Face:
https://huggingface.co/deepseek-ai/DeepSeek-OCR-2

( @APPSO)

4、开源智能体项目 Clawdbot 因 Anthropic 商标诉讼更名为 Moltbot :GitHub Star 已突破 7 万

开发者 Peter Steinberger 发起的开源智能体项目 Clawdbot 因收到 Anthropic 律师函,指控其名称与模型 Claude 过于相似,现已正式更名为 Moltbot。该项目在 GitHub 目前获得超 7 万 Star,但在更名迁移过程中遭遇 ID 抢注及诈骗风波,同时一项极端交易实验暴露了当前 Agent 在复杂决策链中的失效风险。

  • 商标侵权与更名风险:Anthropic 律师函指控 Clawdbot 在拼写与读音上构成侵权。在重命名过程中,原 X 平台 ID 在释放后 10 秒内即被加密货币诈骗者抢注并用于发布虚假代币信息。
  • 智能体自主交易的失效路径:实测显示,该智能体集成了 25 种策略、12 种新算法,并能实时处理 3000 多份报告及社交平台数据。虽然具备 24/7 全天候执行力,但在赋予完整交易权限后,仍因决策逻辑无法应对极端市场波动导致账户资金归零。
  • 开发资源与项目热度的极度失衡:项目 Star 数已超 7 万,但开发者表示收到的赞助资金甚至不足以购买一台 Mac Mini。目前该项目仍处于早期阶段,开发者明确警告由于缺乏安全赏金计划,暂不建议非技术人员部署。
  • 高度可定制化的交互潜力:不同于主流模型的标准化接口,Moltbot 允许用户深度自定义交互逻辑。社交平台反馈显示,这种灵活性使其在辅助自闭症及 ADHD 等特定需求群体方面优于通用的 AI 产品。

已在 GitHub 开源,由开发者个人维护,维持非营利及早期实验性质。

GitHub:

https://github.com/moltbot/moltbot

(@机器之心)

02有亮点的产品

1、从「死板菜单」到「实时对话」:CareXM AI 语音助手实现临床需求秒级自动分流

「CareXM」在其非临床接听平台中推出基于 NLP 的 AI 语音智能体,旨在取代传统的 IVR 语音菜单。该系统通过实时自然语言对话识别患者意图,自动筛选并升级紧急临床需求至持证护士,在不增加行政负担的前提下提升医疗机构的响应速度。

  • 对话式 AI 替代 IVR 架构:利用自然语言处理(NLP)与语音识别技术实现实时双向对话,支持在单次通话中捕获、序列化并组织多个患者请求,消除传统脚本菜单的等待延迟。
  • 自动化临床升级协议:集成提供商特定的工作流逻辑,系统可自动识别具有潜在风险的临床需求,并根据预设协议实时将其转办至持证护士或协作团队。
  • 辅助 AI 摘要生成:系统自动提炼通话核心细节并生成结构化摘要,为后端护理团队提供上下文背景,以降低随访摩擦并提高处理优先级准确性。
  • 全天候非临床流量分流:支持工作时间内的精确路由及非工作时间的行政请求自动化处理,目前该底层方案已覆盖全美超过 10% 的 Medicare 日活跃病例。

( @Business Wire)

2、ServiceNow 深度集成 OpenAI GPT-5.2:推行原生语音智能体与计算机使用自动化

ServiceNow 与 OpenAI 签署多年期合作协议,将 GPT-5.2 等前沿模型原生集成至其工作流平台。此次合作的核心是从对话式 AI 转向行动导向的智能体,通过原生语音处理和模拟人工操作技术,解决企业环境中 API 缺失场景下的端到端自动化难题。

  • 原生语音对语音智能体:放弃传统的「语音-文本-语音」中转模式,AI 直接在音频层面进行推理与响应。该架构消除了文本翻译延迟,支持多语种实时交互,并可直接触发工单创建、审批流触发等后台逻辑。
  • 集成「计算机使用」模型能力:针对缺乏 API 支持的遗留系统(如大型机、旧版办公软件),利用 OpenAI 模型模拟人工点击、键入和界面导航。AI 智能体可跨邮件、聊天工具及复杂 IT 环境自主执行退款处理或账户更新。
  • 首选集成 GPT-5.2 级模型:协议确立 OpenAI 前沿模型为 ServiceNow 平台的首选智能选项。通过预构建的解决方案,企业可直接在 800 亿规模的年度工作流中部署 Agentic AI,无需进行复杂的定制化开发。
  • AI Control Tower 治理编排层:为企业提供集中化的审计与控制中心。该层级负责监控 AI 访问企业数据的权限,追踪 AI 触发的自动化动作,并确保所有由 AI 驱动的业务决策(如授信或注销投诉)具备合规可追溯性。

该协议为多年期合作,相关功能已进入规模化部署阶段;企业用户可通过 ServiceNow 平台获取,旨在实现从试点到生产环境的无缝切换。

( @CX Today)

3、「Consio AI」获 330 万美元融资:利用语音 AI 自动化电商进线响应与回访流程

由电商客服独角兽「Gorgias」早期员工创立的「Consio AI」完成 330 万美元融资,由 RTP Global 领投。该公司旨在通过 AI 自动化电商行业的电话沟通渠道,解决高客单价商品在传统邮件或聊天机器人场景下转化率低的问题。

  • 全流程语音自动化:系统可实现进线电话的即时自动响应,并根据用户行为逻辑自动触发定时回访。
  • 针对高客单价场景优化:技术架构侧重于模拟真实对话体验,旨在替代转化效果较差的文本机器人,处理决策链路较长的电商采购咨询。
  • 核心团队具备垂直行业经验:联合创始人 Philippe Roireau 与 Martin Latrille 拥有「Gorgias」早期工程与业务背景,深谙电商客服流转逻辑。
  • 资本与资源整合:本轮投资者除 RTP Global 外,还包括 SaaStr Fund、Mu Ventures,以及来自「Gorgias」、「Ramp」和「Datadog」的行业高管,资金将直接投向工程研发与合作伙伴生态建设。

已完成首轮融资,目前正加速工程开发并扩展市场准入。

(@RTIH)

03 有态度的观点

1、山姆 · 奥特曼:企业若不拥抱 AI,将被全 AI 公司淘汰

据腾讯科技报道,昨天上午,在旧金山的一场开发者交流中,OpenAI CEO 山姆 · 奥特曼表示,未来最具竞争力的公司可能呈现出「少量员工 + 大量 AI 助手」的组织形态。

他指出,AI 已从辅助工具演变为核心协作者,企业的生产方式、招聘逻辑与组织结构都将因此发生深刻变化。

奥特曼认为,许多公司尚未意识到 AI 已能承担大量工作,如果继续沿用传统扩张模式,将在未来竞争中处于劣势。

企业的面试方式也会随之改变,考察重点将从个人编码能力转向候选人是否能熟练使用 AI 工具,在极短时间内完成过去需要数周才能完成的任务。

企业未来可能面临两种路径:一种是由少量员工与大量 AI 协同工作,另一种则是完全由 AI 驱动的公司。

他希望前者成为主流,但也坦言,如果企业不主动拥抱 AI,将可能被更灵活的全 AI 公司淘汰。他强调,这不仅关乎企业竞争力,也关系到社会结构的稳定性。

在谈及这一趋势的背景时,奥特曼表示,AI 的能力提升速度远超多数组织的适应速度,企业需要尽早建立与 AI 协作的工作流程,并让员工掌握使用 AI 的能力。

他认为,未来的组织优势将来自「人类判断 + AI 执行」的组合,而不是单纯依赖人力扩张。

在本次活动现场,奥特曼也简要回应了其他关键议题,包括程序员职业前景、创业瓶颈、模型成本与安全风险等:

  • 软件工程师不会被取代,但工作方式将转向「指挥计算机完成任务」;
  • 创业门槛降低,但「找到用户」仍是最大难题;
  • 模型成本预计将在明年底显著下降,但速度将成为新瓶颈;
  • 生物安全是今年最值得警惕的风险领域;
  • 软件将加速走向个性化,每个人都可能拥有为自己生成的工具;
  • 幼儿教育应减少电子设备使用,更应培养主动性与创造力。

( @APPSO)

04 社区黑板报

招聘、项目分享、求助……任何你想和社区分享的信息,请联系我们投稿。(加微信 creators2022,备注「社区黑板报」)

1、通义百聆开发者新年交流会:语音模型从设计到使用全流程解析

阅读更多 Voice Agent 学习笔记:了解最懂 AI 语音的头脑都在思考什么

写在最后:

我们欢迎更多的小伙伴参与 「RTE 开发者日报」 内容的共创,感兴趣的朋友请通过开发者社区或公众号留言联系,记得报暗号「共创」。

对于任何反馈(包括但不限于内容上、形式上)我们不胜感激、并有小惊喜回馈,例如你希望从日报中看到哪些内容;自己推荐的信源、项目、话题、活动等;或者列举几个你喜欢看、平时常看的内容渠道;内容排版或呈现形式上有哪些可以改进的地方等。

作者提示:个人观点,仅供参考

比如春熙路手工之类的?或者更少的几十块几百块都可以说说?

比如我有次见女网友,虽然只请了个商场里的牛排(也不贵一份 50 左右),但是仍然在事后感觉到难受。
因为真人确实不好看,而且性格/人品也不行(参考泡夜店的女的,并且丑而自信心爆棚),当时应该见面就撒腿跑的,太年轻了没经历过。

钱不多,难受不是因为花钱,而是感觉自己下贱,给烂人花钱。(当然还有别的花的更多的,但是这个例子更让我感到恶心)

并且之前谈过接触过的几个女的也是完全索取型,“恋爱”过程基本全都是我付钱,送礼物也是不对等。怪不得谈恋爱体验这么差,现在想想挺生气的,让这些烂人出现在自己的生命里面,是自己性格各方面的问题导致的,也没有做好筛选。不知道是跟讨好型人格有关吗。


咨询了下 ChatGPT:
"
那不是我贱,
是当时的我,用钱在买“被需要、被回应、被选中”的感觉。

在那个阶段:

你缺关系

你缺确认

你缺被看见

而你手里唯一会的工具,就是付出。

👉 这是能力有限,不是人格失败。
"



跟 GPT 聊了很多,确实挺有帮助的

想问问各位的经历~ 参考一下,提前避雷。

看了 clawdbot 作者的 coding 方式,一时不知道该说啥好。

平均每天 100 多次提交,完全不看代码。

无法想象这项目的💩堆得有多高。关键开源社区还有那么多人给他做贡献。想想都觉得不可思议。

所以代码质量在这个时代是不是已经变得不再重要了?

PS:我没用过 clawdbot 不知道 bug 多不多,也没看过他的源码。如果他做得又快又好当我啥也没说。

试了一下 4.99 的,用 cc 发了一下你是哪个模型,那个频控明细一下就变成了 74/100 ,要 4 个小时重置一次,这还怎么玩 0.0 ,估计搞几个请求就不行了