2026年3月

推特原文
@steipete Do you know that Tencent created a skillhub, which scraped all the skills from clawhub and imported them into its own platform?

Kinda... I got an email once from folks complaining that my rate limits block them from scraping fast enough.They copy yet they don't support the project in any way. 😞They copy yet they don't support the project in any way. 😞They copy yet they don't support the project in any way. 😞They copy yet they don't support the project in any way. 😞

最近 AI 科技领域爆火出圈的话题,非 OpenClaw 小龙虾莫属。

这个能让 AI 从嘴替变成打工人的开源智能体框架,目前正在以一种近乎疯狂的速度席卷全球。

就算你还没用过它,那你大概率也在社交网络上刷到过那个在深圳腾讯大厦前上千人排队安装 OpenClaw 的画面。

不开玩笑的说,现在同事朋友见面,打招呼都变成了:“你养了几只龙虾?”。

OpenClaw 的爆火,源于它解决了 AI 发展至今的一个核心痛点:只说不做。

你可以把 OpenClaw 看成是一个专属的数字员工,你给它目标,它就能真正动手去执行,而不是给你列一个操作步骤清单。这种从问答到执行的跨越,或许也正是其成为现象级产品的背后原因。

但是,OpenClaw 本身只是一个框架或者说平台,它的智商和能力,取决于你给它接入哪个大模型作为大脑,同时这也引出了好多同学所面临的一个实际问题:

市面上模型这么多,到底哪个最适合当龙虾的大脑呢?

那关于这个问题,就在前两天,OpenClaw 创始人 Peter Steinberger 亲自在网上发了一个专为龙虾而生的 OpenClaw 大模型适配榜单,其中国产模型两个进了前三。

这个榜单名为 PinchBench,是一个由专注于 Agent 基础设施的创业团队 Kilo AI 所推出的基准测试平台。

不同于传统的数学推理或知识问答测试,它非常硬核。因为它专门设计了二十多项跨场景的真实任务流,比如自动写代码、文档处理、工具接口调用、处理邮件……等等,来评估不同大模型在 OpenClaw 框架下的真实执行力。

并且这个榜单还是动态更新的,最新的动态排名在 PinchBench 官网就可以直接查看。

可以看到,这个榜单是从执行成功率(Success Rate)、执行速度(Speed)、价格成本(Cost)等评测维度来评估不同大模型对于 OpenClaw 框架的适配程度。

所以有了这么样一个参考榜单,大家在养龙虾时对于效果、速度以及费用成本的对比基本就有了一个心里的权衡了。


在 PinchBench 的评测维度中,成功率(Success Rate)是一个核心指标,在这份测试了全球 几十款主流模型的榜单中,竞争极其激烈。

我们在写这篇文章的时候,所看到的榜单差不多是这样:

可以看到榜单前十五中,国产模型占了近一半,包括月之暗面 Kimi、阿里千问、智谱 GLM、MiniMax、DeepSeek 等等都赫然在列。

这也意味着,在系统化操作、多任务处理等真实场景和任务流中,这些国产模型的效果和稳定性都已经达到了全球顶尖的水平。

对于普通用户和开发者来说,除了能干活,性价比也是一个需要考虑的重要因素,毕竟 AI 智能体时代的 Token 消耗量和对话时代相比会有巨量的增长,所以咱养龙虾也得该省省该花花,如果不精打细算,钱包很快就会被夹。

在这方面,国产模型展现出了巨大的优势,这对于想要长期养龙虾的普通用户和开发者来说,简直是福音。

比如 minimax-m2.1 完成一次任务的成本和 claude-opus-4.5 相比仅为其二十分之一,但是但考虑到 minimax-m2.1 接近 claude-opus-4.5 的超高成功率,所以这样一对比,minimax 的综合性价比就显得超高。

再比如 Kimi 也是,它甚至曾一度登上了 OpenClaw 的模型调用量榜首,这是大家切切实实用行动所投出来的票,其亲民的价格和强大的模型能力,也特别适合个人项目、小团队以及预算有限的场景。

所以有网友总结出了一套所谓的最省钱养虾方案,那就是模型分层使用策略。比如日常使用,常规任务,那就选用国产的 minimax、qwen、deepseek,它们好多是有套餐的,这样用起来成本可控,不心疼,并且效果也非常够用,而临时处理复杂任务再上 claude、gemini。

没有最好的模型,只有最适合你应用场景的模型,所以大家实际在选择时,也不能只盯着成功率看,而是需要结合自己的使用场景来做加减取舍。

综合来看,如果想要在执行成功率和价格成本之间作平衡选择,下面这个图片可以帮大家作参考。

其中深色方框所框出的不分就表示在效果和成本两个方向的平衡选择,这里面国产模型占了很多个。

最后,这里值得一提的是,目前 PinchBench 还是一个完全开源的项目。

快速入门:

# 克隆项目代码仓库
git clone https://github.com/pinchbench/skill.git
cd skill

# 运行指定模型的 benchmark 测试
./scripts/run.sh --model anthropic/claude-sonnet-4

用户也可以自定义选择运行特定任务,只需要在命令中使用--suite指定特定任务的任务 ID 即可。

# 运行指定任务
./scripts/run.sh --model openai/gpt-4o --suite task_01_calendar,task_02_stock

文章的最后,这里还想说的是,OpenClaw 虽火,但它也未必适合所有人,如果是盲目跟风,那就没有太大必要了,并且目前其所涉及的一些风险问题也不少,所以大家还是要根据自己或团队的实际情况审慎选用。

OpenClaw 的火爆只是一个开端,相信今年后面还会涌现出更多功能强大、使用友好、信息安全并且能极大提升工作生产力的 AI 项目,而对此,我们也可以拭目以待。

注:本文在GitHub开源仓库「编程之路」 https://github.com/rd2coding/Road2Coding 中已经收录,里面有我整理的6大编程方向(岗位)的自学路线+知识点大梳理、面试考点、我的简历、几本硬核pdf笔记,以及程序员生活和感悟,欢迎star。

昨天今天我和朋友的 MacBook air M5 到手了,全京东买的
北京那边不需要做验证,天津这边还需要做开机等国补验证
我用朋友的电脑去做了换新补贴,给他按照爱回收价格额外补 200 ,下周周三我叫了爱回收
---
不过有个非常逆天的问题
mac 激活必须下载最新系统,我顶着流量花了 5g 不到去下载新系统。然后快速跑完了设置(没登录 iCloud )给快递员去做认证。这一步我花了将近 1 个小时

然后我回去后,在系统里点击抹除,到了恢复助理,抹除后提示必须通过互联网才能激活电脑,才能跳出恢复助理。( https://t.me/dsuifghasuprg/7
但是这个恢复助理界面居然没有 WiFi 设置,好在我还有根网线和拓展坞,顺利重新激活了。如果我没有这个网线和拓展坞,我大概会选择跑一次 Apple 售后了。
现在我再次进入恢复助理,能显示 WiFi 设置了
--
M5 这代仍然充电时外壳漏电,安克 140w
第一次迁移数据,只想选择性的迁移,没想到全量迁移了,也省事了。
缺少了那个 touchbar ,总感觉 MacBook 缺点意思。
但愿希望这代 mac 把合盖自杀的问题解决了

从飞书被广泛使用开始,它一直被视为一站式协作工具的代表。

但当团队规模、管理复杂度或业务形态发生变化时,飞书并不一定仍然是最合适的选择。

很多人开始寻找替代方案,并不是因为功能不够,而是因为使用场景已经变了。

场景一、小团队 / 初创公司,除了飞书还能用什么

对很多小团队来说,选择协作工具的第一诉求并不是功能有多全,而是用起来是否顺手。人员规模不大、分工相对灵活,如果工具本身需要投入大量时间去配置和理解,反而会成为协作负担。也正因为如此,一部分团队在实际使用一段时间后,会逐渐意识到飞书并不是当前阶段的最优解。

在这个阶段,协作工具更像是一个“低存在感”的基础设施。成员能快速加入,消息不被复杂结构打断,沟通本身保持连续,是比流程管理更重要的事情。很多初创团队开始寻找飞书替代方案,本质上是在降低协作成本,而不是追求更多能力。

因此,一些团队会选择偏向即时沟通体验的工具,例如 Slack。这类产品弱化了组织层级和管理规则,更强调频道式沟通和实时协作,对于项目驱动、成员变动频繁的团队来说,上手成本相对更低。

例如,一个不足10人的初创团队曾反馈,他们从飞书切换到Slack后,最明显的变化是沟通更聚焦于项目频道,减少了无关群组的干扰,新成员加入后几乎无需培训即可开始协作。

也有不少团队转向 企业微信

它的优势不在于功能复杂度,而在于生态连接能力。当团队成员本身就高度依赖微信时,协作工具如果能够无缝衔接日常沟通习惯,往往比功能是否齐全更重要。例如,对于需要频繁与外部客户或合作伙伴沟通的团队,企业微信能够将内部协作与外部微信沟通自然衔接,避免了频繁切换应用带来的效率损耗。

综合来看,团队在选择飞书替代产品时,关注点通常集中在几个方面:

  • 是否需要专门培训才能使用
  • 成员加入、流转是否足够顺畅
  • 工具是否会过早引入管理负担

在这些条件下,不用飞书并不意味着降级,而是让协作回到更贴合当前阶段的状态。对小团队和初创公司而言,合适往往比先进更重要。

场景二:快速扩张的成长型公司,开始感受到飞书的“重量”

当团队从几十人迅速增长到几百人时,协作工具的角色不再仅仅是聊天和文件共享。在快速扩张阶段,一些重量级问题开始显现。跨部门沟通变复杂,权限管理和文档空间逐渐成为管理痛点,常表现为新员工误入高权限文档群组、历史文件查找困难或审批流程因缺乏规范而混乱。

协作效率 vs 管理能力

成长型公司需要工具既能保持沟通顺畅,又能支撑组织管理的复杂度。此时,轻量化的聊天工具往往难以满足审批、文档归档和多层级权限的需求。

典型选择方向

  • 钉钉:擅长组织结构管理和流程审批,帮助企业在快速扩张中保持秩序。其审批流功能可以自定义复杂的多级审批路径,并关联业务数据,有效解决了成长型公司流程规范化与效率的平衡问题。

  • Microsoft Teams:深度整合 Office 365,适合已经依赖微软生态的团队,实现文档、会议和协作一体化。对于大量使用Word、Excel、PowerPoint进行协作的团队,这种深度集成能显著减少在不同应用间切换和版本管理上的时间成本。

根据IDC等机构的市场报告,在员工规模超过200人的企业中,对流程管理和生态整合能力的要求显著提升。这并不是说飞书不行,而是不同阶段的团队承受能力不同。选择协作工具的核心,是兼顾沟通效率与组织管理。

场景三:成熟企业或多组织结构,飞书开始不再“省事”

当企业进入稳定期,尤其是拥有多个业务线或子公司的成熟组织,协作工具的关注点发生了根本变化:从快速沟通转向长期治理和成本可控。企业需要确保数据安全、支持复杂组织结构,并降低长期运维压力。

数据与权限可控

在多部门、多业务线的环境中,数据权限必须严格可控,工具需要支持细粒度的权限设置和多层级管理,以防止数据越权访问或泄露。

长期成本与运维

成熟企业更加关注工具的长期总拥有成本(TCO),包括订阅费、升级、培训、合规风险等。此时,SaaS订阅模式与私有化部署模式在成本结构上的差异变得关键:前者是持续的运营支出(OpEx),后者则可能涉及较高的初始投入(CapEx)和后续运维成本。

企业选型时也会考量服务等级协议(SLA)、合规认证(如等保、GDPR)以及API开放程度等关键指标。

替代产品参考

  • Microsoft Teams:提供跨部门权限控制、统一文档管理、与企业微软生态深度整合,并满足多种国际合规标准。
  • 企业级私有化部署工具:提供数据可控、成本透明、长期治理能力强的解决方案。例如,一些金融、医疗或大型制造业企业,出于数据主权和安全审计的严格要求,会优先考虑私有化部署方案。

这一阶段,企业寻找飞书替代产品的逻辑,已经不再是界面或功能,而是组织管理能力、数据安全性和长期运维成本的综合考量。

按使用场景整理的 SaaS 替代产品参考(非简单排名)

选择协作工具并不是单纯追求功能最多或排名最高,而是结合团队的使用场景、管理需求和长期发展。根据不同阶段,可以将飞书替代产品大致分为三类:

偏沟通效率的替代方案

  • Slack:即时消息为核心,支持第三方应用集成,适合强调沟通效率的小团队。
  • 企业微信:依托微信生态,上手快,适合临时项目和高流动团队协作。

偏组织管理的替代方案

  • 钉钉:适合多部门、多层级审批流程管理,有成熟的组织架构支撑。
  • Microsoft Teams:深度整合 Office 365,实现会议、文档与协作一体化,适合依赖微软生态的企业。

偏长期治理与稳定性的替代方案(企业级私有化部署示例)

对于对数据可控性、权限精细化和长期运维有高要求的成熟企业,支持私有化部署的企业级协作平台是一个重要选项。这类方案能确保核心协作数据完全由企业控制,满足严格的数据安全和合规要求。

喧喧为例,作为私有化部署方案的一种,它提供了以下能力来应对成熟企业的痛点:

  • 研发管理与知识协作闭环:通过集成需求、任务、测试跟踪等功能,支持研发全流程管理,有助于大型或技术团队实现知识沉淀和长期项目治理。
  • 文档与知识库管理:构建企业内部统一的知识库,支持细粒度的权限分层,确保不同部门、级别的员工只能访问相应信息,直接应对多组织结构下的数据安全与管理痛点。
  • 安全与合规:提供通信加密、数据库与附件加密存储等功能,帮助企业满足数据主权、安全审计等企业级监管要求。

这种支持私有化部署的 SaaS 协作平台,不仅保证了数据可控性和安全合规,还能在高增长或高监管场景下提供灵活的权限治理能力,是成熟企业寻求飞书替代产品时的重要选项。

不用飞书,并不等于选一个更好的工具

真正需要被替换的,并不是飞书本身,而是已经不匹配的使用场景

当团队阶段、管理方式和协作目标发生变化时,重新选择工具本身就是一次合理升级。

无论是小团队、快速成长公司,还是成熟企业,合适的 SaaS 工具能帮助团队更高效协作、降低管理成本、保障长期稳定,而不是盲目追求最好或最多功能。

📰 今日新闻精选:

  • 十四届全国人大四次会议 12 日闭幕,会议表决通过多项决议和法律
  • 司法部:今年将在全国统一推行行政检查 “扫码入企”,实现检查过程透明化
  • 重庆正式实施中小学春秋假,每学年两次每次 2-3 天,可与法定节假日连休,期间严禁布置书面作业
  • 全球首个智慧康养机器人养老驿站在北京亦庄投用,目前已部署 40 余款机器人,覆盖餐饮、康养等多个领域
  • 微信上线新功能:通话弹窗新增 “忽略” 选项,不想接的微信语音或视频会被静默处理,对方不会收到已拒绝的提示
  • 全国首个烧烤学院正式启动招生,毕业生可获大专学历,校方回应:报名满 30 人就开班
  • 武汉一男子做核磁被 “绑” 机器一整晚,天亮后被保洁员解救,涉事科室称:交接失误,相关医护人员已被停职
  • 湖南一网友发布 “爷爷奶奶 129 岁,相知相恋 100 年” 内容引质疑,官方通报:内容不实,相关账号已被禁言
  • 河北一公司月薪 7000 招聘职业农民,负责种植小麦、玉米,要求 30 至 35 岁男性,工作人员称:限当地人,已招满
  • 美国将对中国、欧盟等 16 个贸易伙伴发起新一轮调查,外交部回应:关税战、贸易战不符合任何一方的利益
  • 英媒:英国议会已投票通过法案,决定废除上议院世袭贵族席位‌,延续 700 年的政治传统或将终结‌
  • 美媒:美国国防部被曝 “龙虾门”,1500 万吃牛排、690 万吃龙虾尾,5 个工作日花掉 501 亿美元
  • 美媒:FBI 警告称伊朗或对加州发动无人机袭击,加州州长表示已提升警戒级别,做好应急准备
  • 美媒:美军 “福特” 号航空母舰主洗衣房发生火灾,舰方称与战斗无关,目前火势已得到控制
  • 外媒:伊朗新任最高领袖发表首次讲话,称霍尔木兹海峡将继续关闭,誓言追究袭击事件的责任,并为死者复仇

📅 今日信息:

  • 公历:2026-03-13 星期五 双鱼座
  • 农历:二〇二六年正月廿五
  • 下一节气:2026-03-20,春分
  • 今年进度:19.73%(已过 72 天,剩余 292 天)

🌟 历史上的今天

  • 1781 年,威廉·赫歇尔发现天王星,这颗行星的发现扩展了人类对太阳系的认识。
  • 1930 年,天文学家克莱德·汤博宣布发现冥王星,当时它被视为太阳系的第九颗行星。
  • 1988 年,连接日本本州和北海道的青函隧道正式通车,成为当时世界上最长的海底隧道。
  • 1997 年,美国宇航局的火星探路者号任务成功着陆火星,传回了大量火星表面的图像和数据。

哈喽各位 v 友,我是 NewAPI 项目的维护者 Calcium-Ion

最近 v 站关于 api 中转的讨论明显多了起来。不知道大家有没有注意到,很多中转站点进去就觉得很眼熟,感觉都是一个模板出来的,很多背后跑的代码就是 NewAPI ,或者是基于 NewAPI 改的。

一直潜水看大家用,今天想着干脆自己出来认个领,跟各位大佬交个朋友。

给没听过的朋友一句废话介绍:
NewAPI 是一个大模型聚合网关。作用就是帮你把 OpenAI 、Claude 、Gemini 以及国内各种乱七八糟的模型接口,全部统一转成标准 OpenAI 、Claude 和 Gemini 等格式。带高并发负载均衡、多渠道切换和计费管理功能。

老玩家可能知道,这项目最早是 fork 自 OneAPI 的。后来因为我自己觉得原版 UI 差点意思、新模型支持太慢,就自己动手大改了。

仓库在这里,完全开源:
https://github.com/QuantumNous/new-api

各位在搭中转、或者公司做大模型接入时,如果有啥不爽的地方,欢迎在这里留言反馈,我在这边收集一波需求去做优化。

对了,我本人不卖 API ,单纯为了开源项目能做得更好一点,欢迎拍砖。

文本加密工具“熊曰加密”(与熊论道)已被通过已知明文攻击( KPA )完全破解。

与熊论道加密网站因故于 2025 年上旬下线,由于其加密算法不开源,导致大量既有密文无法解密。

经过逆向分析,其并未采用任何高级加密算法,主要基于 Base91 编码算法,字符替换,外加压缩和混淆处理,具体请见 PoC 。

此次逆向工作解除了该工具在加密时对中心化服务端的依赖,为早期使用该加密算法生成的历史数据提供了一种长期可用的解密与归档途径。

萌研社 2020 年更新以来加密出的所有熊曰密文现已允许被解密

此为魔曰项目的原创逆向研究,原创发布。


Poc 代码 / 详细解释 / 快速解密 参见

https://github.com/SheepChef/Abracadabra/issues/123

今天突然在 UniFi App 的 System Log 里面看到石头扫地机器人竟然试图访问我的 Nas
这啥情况呀?不仅扫地,还要扫我的 NAS 么?

补充一些背景信息:

1. 最早的时候我没有给 IoT 设备单独划分 VLAN ,后来进行了划分。所以它有可能在之前就已经扫了一遍内网,然后拿到了 NAS 的 IP 。
2. 目前在日志中只看到它集中请求 NAS 的这一个 IP ,没有看到去往其他设备的流量。



https://i.imgur.com/a/75Eoi0B.png

大家好,我是良许。

最近有不少朋友问我关于汽车电子和汽车网络的问题,作为一个在汽车电子领域摸爬滚打多年的嵌入式程序员,今天就和大家聊聊这个话题。

说实话,当年我刚进入这个行业的时候,也是一脸懵,机械专业出身的我,怎么也没想到自己会在汽车电子这个领域深耕这么多年。

1. 汽车电子技术概述

1.1 什么是汽车电子

汽车电子简单来说,就是把电子技术应用到汽车上,用来控制和管理汽车的各种功能。

现在的汽车早已不是简单的机械产品了,一辆普通的家用车里面,可能有几十个甚至上百个电子控制单元(ECU),这些 ECU 通过各种网络协议相互通信,共同完成汽车的各项功能。

从我的工作经验来看,汽车电子大致可以分为几个大类:动力系统控制(发动机控制、变速箱控制等)、底盘控制(ABS、ESP 等)、车身控制(车窗、车灯、空调等)、信息娱乐系统(导航、多媒体等)、以及现在越来越火的高级驾驶辅助系统(ADAS)。

1.2 汽车电子的发展历程

汽车电子的发展其实也就是最近几十年的事情。

最早的汽车电子应用可以追溯到上世纪 70 年代,当时主要是发动机的电子控制。

到了 80 年代,ABS 防抱死系统开始普及。

90 年代以后,随着微处理器技术的发展,汽车电子进入了快速发展期。

进入 21 世纪后,特别是最近十年,汽车电子的发展速度更是惊人。

我 2015 年进入这个行业的时候,大家还在讨论 CAN 总线的应用,现在已经开始谈车载以太网、域控制器、软件定义汽车这些概念了。

技术的迭代速度真的是太快了,作为一个嵌入式开发者,必须不断学习才能跟上行业的步伐。

1.3 汽车电子系统的特点

汽车电子系统和其他电子系统相比,有几个非常显著的特点。

首先是可靠性要求极高,毕竟关系到人身安全,不能像手机那样动不动就死机重启。

其次是工作环境恶劣,要能在零下 40 度到零上 85 度的温度范围内正常工作,还要承受振动、电磁干扰等各种考验。

另外,汽车电子系统的生命周期很长,一辆车可能要用十几年甚至更久,这就要求系统的稳定性和可维护性都要非常好。

我在做项目的时候,经常要考虑向后兼容的问题,因为新车型可能要兼容老车型的某些功能或者协议。

2. 汽车网络技术详解

2.1 为什么需要汽车网络

早期的汽车电子系统,各个 ECU 之间是通过点对点的线束连接的。

你可以想象一下,如果一辆车有 50 个 ECU,每个 ECU 都要和其他 ECU 通信,那需要多少根线?

不仅增加了成本和重量,而且布线复杂度会呈指数级增长。

汽车网络的出现就是为了解决这个问题。

通过网络总线,多个 ECU 可以共享同一条通信线路,大大简化了布线,降低了成本和重量。

而且,网络化的架构也为后续的功能扩展和升级提供了便利。

2.2 CAN 总线技术

CAN(Controller Area Network)总线是目前汽车上应用最广泛的网络技术,由德国博世公司在上世纪 80 年代开发。

CAN 总线采用多主方式,任何一个节点都可以在总线空闲时发起通信,非常适合汽车这种分布式控制系统。

CAN 总线的通信速率一般在 125Kbps 到 1Mbps 之间,虽然速率不高,但对于大多数控制类应用已经足够了。

CAN 总线采用差分信号传输,抗干扰能力强,这在汽车这种电磁环境复杂的场合非常重要。

我在项目中用得最多的就是 CAN 总线。

举个例子,我之前做过一个车身控制模块,需要接收来自仪表的车速信息,控制车窗、后视镜等执行器,同时还要把车身状态信息发送给网关。

这些通信都是通过 CAN 总线完成的。

下面是一个简单的 STM32 HAL 库 CAN 通信的代码示例:

// CAN初始化
void CAN_Init(void)
{
    CAN_FilterTypeDef sFilterConfig;
    
    // 配置CAN参数
    hcan1.Instance = CAN1;
    hcan1.Init.Prescaler = 4;
    hcan1.Init.Mode = CAN_MODE_NORMAL;
    hcan1.Init.SyncJumpWidth = CAN_SJW_1TQ;
    hcan1.Init.TimeSeg1 = CAN_BS1_13TQ;
    hcan1.Init.TimeSeg2 = CAN_BS2_2TQ;
    hcan1.Init.TimeTriggeredMode = DISABLE;
    hcan1.Init.AutoBusOff = ENABLE;
    hcan1.Init.AutoWakeUp = DISABLE;
    hcan1.Init.AutoRetransmission = ENABLE;
    hcan1.Init.ReceiveFifoLocked = DISABLE;
    hcan1.Init.TransmitFifoPriority = DISABLE;
    
    if (HAL_CAN_Init(&hcan1) != HAL_OK)
    {
        Error_Handler();
    }
    
    // 配置CAN过滤器
    sFilterConfig.FilterBank = 0;
    sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
    sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
    sFilterConfig.FilterIdHigh = 0x0000;
    sFilterConfig.FilterIdLow = 0x0000;
    sFilterConfig.FilterMaskIdHigh = 0x0000;
    sFilterConfig.FilterMaskIdLow = 0x0000;
    sFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO0;
    sFilterConfig.FilterActivation = ENABLE;
    
    if (HAL_CAN_ConfigFilter(&hcan1, &sFilterConfig) != HAL_OK)
    {
        Error_Handler();
    }
    
    // 启动CAN
    if (HAL_CAN_Start(&hcan1) != HAL_OK)
    {
        Error_Handler();
    }
    
    // 激活接收中断
    if (HAL_CAN_ActivateNotification(&hcan1, CAN_IT_RX_FIFO0_MSG_PENDING) != HAL_OK)
    {
        Error_Handler();
    }
}
​
// CAN发送函数
void CAN_Send_Message(uint32_t id, uint8_t *data, uint8_t len)
{
    CAN_TxHeaderTypeDef TxHeader;
    uint32_t TxMailbox;
    
    TxHeader.StdId = id;
    TxHeader.ExtId = 0;
    TxHeader.IDE = CAN_ID_STD;
    TxHeader.RTR = CAN_RTR_DATA;
    TxHeader.DLC = len;
    TxHeader.TransmitGlobalTime = DISABLE;
    
    if (HAL_CAN_AddTxMessage(&hcan1, &TxHeader, data, &TxMailbox) != HAL_OK)
    {
        Error_Handler();
    }
}
​
// CAN接收回调函数
void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan)
{
    CAN_RxHeaderTypeDef RxHeader;
    uint8_t RxData[8];
    
    if (HAL_CAN_GetRxMessage(hcan, CAN_RX_FIFO0, &RxHeader, RxData) == HAL_OK)
    {
        // 根据ID处理不同的消息
        switch(RxHeader.StdId)
        {
            case 0x100:  // 车速信息
                Process_Speed_Info(RxData);
                break;
            case 0x200:  // 车门状态
                Process_Door_Status(RxData);
                break;
            default:
                break;
        }
    }
}

这段代码展示了 CAN 总线的基本使用方法,包括初始化、发送和接收。

在实际项目中,我们还需要考虑更多的细节,比如错误处理、总线负载管理、消息优先级等。

2.3 LIN 总线技术

LIN(Local Interconnect Network)总线是一种低成本的串行通信网络,主要用于对速度要求不高的场合,比如车窗、座椅、后视镜等控制。

LIN 总线的通信速率一般在 2.4Kbps 到 20Kbps 之间,采用单线传输,成本比 CAN 总线低很多。

LIN 总线采用主从架构,由一个主节点控制多个从节点的通信。

这种架构简单可靠,非常适合那些功能相对独立的子系统。

我在做车身控制项目的时候,经常会用 LIN 总线来连接各种执行器,比如电动车窗、电动后视镜等。

2.4 FlexRay 总线技术

FlexRay 是一种高速、确定性的汽车网络协议,主要用于对实时性要求很高的应用,比如线控转向、线控制动等。

FlexRay 的通信速率可以达到 10Mbps,而且采用时间触发机制,可以保证消息传输的确定性。

不过说实话,FlexRay 在实际应用中并不是很普及,主要原因是成本高、复杂度大。

我在工作中接触 FlexRay 的机会不多,大多数项目还是以 CAN 为主。

但是在一些高端车型上,特别是涉及到底盘控制的部分,还是会用到 FlexRay。

2.5 车载以太网技术

车载以太网是近几年才开始在汽车上应用的技术,主要是为了满足日益增长的带宽需求。

随着 ADAS、自动驾驶、车载娱乐系统的发展,传统的 CAN、LIN 等总线已经无法满足大数据量传输的需求了。

车载以太网基于 IEEE 802.3 标准,但针对汽车应用做了一些优化,比如采用单对非屏蔽双绞线(100BASE-T1),降低了成本和重量。

车载以太网的通信速率可以达到 100Mbps 甚至 1Gbps,足以支持高清视频、雷达数据等大数据量的传输。

我最近在做的一个项目就涉及到车载以太网,主要是用来传输摄像头的图像数据。

相比传统的 LVDS 接口,以太网的优势是可以实现更灵活的网络拓扑,而且可以和其他系统共享同一个网络。

下面是一个简单的车载以太网通信示例(基于 lwIP 协议栈):

// 以太网初始化
void Ethernet_Init(void)
{
    struct netif gnetif;
    ip4_addr_t ipaddr;
    ip4_addr_t netmask;
    ip4_addr_t gw;
    
    // 配置IP地址
    IP4_ADDR(&ipaddr, 192, 168, 1, 10);
    IP4_ADDR(&netmask, 255, 255, 255, 0);
    IP4_ADDR(&gw, 192, 168, 1, 1);
    
    // 初始化lwIP协议栈
    lwip_init();
    
    // 添加网络接口
    netif_add(&gnetif, &ipaddr, &netmask, &gw, NULL, &ethernetif_init, &ethernet_input);
    
    // 设置默认网络接口
    netif_set_default(&gnetif);
    
    // 启动网络接口
    netif_set_up(&gnetif);
}
​
// UDP发送函数
void UDP_Send_Data(uint8_t *data, uint16_t len)
{
    struct pbuf *p;
    struct udp_pcb *upcb;
    ip_addr_t dest_addr;
    
    // 创建UDP控制块
    upcb = udp_new();
    if (upcb == NULL)
    {
        return;
    }
    
    // 设置目标地址和端口
    IP4_ADDR(&dest_addr, 192, 168, 1, 20);
    udp_connect(upcb, &dest_addr, 8080);
    
    // 分配pbuf
    p = pbuf_alloc(PBUF_TRANSPORT, len, PBUF_RAM);
    if (p != NULL)
    {
        // 拷贝数据
        pbuf_take(p, data, len);
        
        // 发送数据
        udp_send(upcb, p);
        
        // 释放pbuf
        pbuf_free(p);
    }
    
    // 关闭连接
    udp_remove(upcb);
}
​
// UDP接收回调函数
void UDP_Receive_Callback(void *arg, struct udp_pcb *upcb, struct pbuf *p, 
                         const ip_addr_t *addr, u16_t port)
{
    uint8_t *data;
    uint16_t len;
    
    if (p != NULL)
    {
        // 获取数据指针和长度
        data = (uint8_t *)p->payload;
        len = p->len;
        
        // 处理接收到的数据
        Process_Received_Data(data, len);
        
        // 释放pbuf
        pbuf_free(p);
    }
}

这段代码展示了如何使用 lwIP 协议栈进行 UDP 通信,这在车载以太网中是很常见的应用场景。

当然,实际项目中还会用到 TCP、SOME/IP 等更复杂的协议。

3. 汽车网络架构的演进

3.1 传统分布式架构

早期的汽车网络采用的是分布式架构,每个功能都有一个独立的 ECU,这些 ECU 通过 CAN、LIN 等总线连接起来。

这种架构的优点是功能独立、易于开发和维护,但缺点也很明显:ECU 数量多、成本高、布线复杂。

我刚入行的时候,接触的就是这种架构。

那时候一辆车可能有 50 到 100 个 ECU,每个 ECU 的功能都比较单一,比如专门控制车窗的 ECU、专门控制车灯的 ECU 等。

虽然这种架构看起来有点"笨重",但在当时的技术条件下,这是最合理的选择。

3.2 域控制器架构

随着技术的发展,汽车网络开始向域控制器架构演进。

所谓域控制器,就是把功能相近的 ECU 整合到一起,形成一个功能域。

比如把车身控制相关的 ECU 整合成车身域控制器,把动力系统相关的 ECU 整合成动力域控制器等。

域控制器架构的优势是可以减少 ECU 数量,降低成本和重量,同时也便于软件的统一管理和升级。

我现在做的项目,基本上都是基于域控制器架构的。

一个域控制器可能要实现原来五六个 ECU 的功能,这对软件架构设计和资源管理都提出了更高的要求。

3.3 中央计算平台架构

最新的趋势是向中央计算平台架构发展,也就是把所有的计算资源集中到一个或几个高性能的计算平台上,其他的 ECU 只负责执行和传感。

这种架构的代表就是特斯拉的中央计算平台。

中央计算平台架构的优势是可以实现更强大的计算能力,支持更复杂的算法,比如自动驾驶、AI 辅助等。

而且软件可以统一管理,便于 OTA 升级。

不过这种架构对硬件性能和软件架构都提出了很高的要求,目前还在探索阶段。

4. 汽车网络安全

4.1 汽车网络安全的重要性

随着汽车网络化程度的提高,网络安全问题也越来越受到重视。

2015 年,有安全研究人员远程入侵了一辆 Jeep 自由光,控制了车辆的转向和刹车,这个事件引起了全行业的震动。

从那以后,汽车网络安全成为了一个不可忽视的话题。

在我的工作中,网络安全也是一个重要的考量因素。

我们在设计系统的时候,需要考虑各种可能的攻击场景,比如 CAN 总线注入攻击、固件篡改、中间人攻击等,并采取相应的防护措施。

4.2 常见的安全威胁

汽车网络面临的安全威胁主要有几类。

首先是物理攻击,比如通过 OBD 接口注入恶意 CAN 消息。

其次是无线攻击,比如通过蓝牙、WiFi 等无线接口入侵车载系统。

还有就是供应链攻击,比如在生产过程中植入恶意代码。

我在做项目的时候,遇到过一个案例。

我们发现有人通过 OBD 接口给车辆刷了非法的 ECU 程序,导致车辆性能异常。

后来我们在软件中加入了签名验证机制,只有经过授权的程序才能刷入 ECU,这才解决了这个问题。

4.3 安全防护措施

针对这些安全威胁,业界也提出了一系列的防护措施。

比如采用安全网关隔离内外网络,对关键消息进行加密和认证,实施安全启动和固件签名验证等。

在实际开发中,我们会使用一些安全芯片和安全库来实现这些功能。

比如使用 HSM(硬件安全模块)来存储密钥和执行加密运算,使用 Secure Boot 来验证固件的完整性等。

虽然这些措施会增加一些成本和复杂度,但为了保证系统的安全性,这些投入是必要的。

5. 汽车电子的未来发展趋势

5.1 软件定义汽车

软件定义汽车(Software Defined Vehicle)是目前最热门的概念之一。

简单来说,就是通过软件来定义和实现汽车的功能,而不是像传统那样主要依靠硬件。

这样做的好处是可以通过 OTA 升级来不断增加新功能、修复 bug、优化性能,让汽车像智能手机一样可以持续进化。

我个人非常看好这个方向。

作为一个嵌入式开发者,我能明显感受到软件在汽车中的地位越来越重要。

以前可能一个 ECU 只有几万行代码,现在一个域控制器可能有几百万行代码。

软件的复杂度在急剧增加,这对我们开发者既是挑战也是机遇。

5.2 自动驾驶技术

自动驾驶是汽车电子发展的另一个重要方向。

虽然完全的 L5 级自动驾驶还有很长的路要走,但 L2、L3 级的辅助驾驶功能已经在很多车型上实现了。

自动驾驶需要大量的传感器(摄像头、雷达、激光雷达等)和强大的计算平台,这对汽车电子系统提出了前所未有的挑战。

我虽然没有直接参与自动驾驶项目,但也接触过一些相关的技术。

比如我做过摄像头数据的采集和处理,也了解过一些感知算法的实现。

自动驾驶确实是一个非常复杂的系统工程,涉及到感知、决策、控制等多个环节,每个环节都需要极高的可靠性和实时性。

5.3 车联网和 V2X 技术

车联网(Internet of Vehicles)和 V2X(Vehicle to Everything)技术也是未来的发展方向。

通过车联网,汽车可以和云端、其他车辆、道路基础设施进行通信,实现更智能的交通管理和更安全的驾驶体验。

V2X 技术包括 V2V(车对车)、V2I(车对基础设施)、V2P(车对行人)等多种通信方式。

比如通过 V2V 通信,车辆可以提前知道前方有车辆急刹车,从而提前做出反应。

通过 V2I 通信,车辆可以获取红绿灯信息,优化行驶路线。这些技术的实现都需要可靠的通信网络和复杂的软件系统。

6. 总结

汽车电子和汽车网络是一个非常庞大和复杂的领域,涉及到硬件、软件、通信、安全等多个方面。

从我多年的工作经验来看,这个领域的技术更新速度非常快,需要我们不断学习和适应。

对于想要进入这个领域的朋友,我的建议是先打好基础,特别是嵌入式开发、通信协议、实时操作系统等方面的知识。

然后可以选择一个具体的方向深入学习,比如车身控制、动力系统、ADAS 等。

最重要的是要有持续学习的心态,因为这个行业的技术真的是日新月异。

作为一个在汽车电子领域工作了多年的嵌入式程序员,我深深感受到这个行业的魅力和挑战。

虽然有时候会遇到各种技术难题,但每次解决问题后的成就感都让我觉得一切都是值得的。

如果你对汽车电子感兴趣,欢迎加入这个充满机遇和挑战的领域,相信你也会在这里找到属于自己的精彩。

更多编程学习资源

竖着的时候上键是音量+,横着的时候又变成音量键,好像老款的还可以设置,新款直接设置选项都没了,关键是用 iPhone 的时候横屏也不是这个逻辑,反复横跳实在自适应不了了😅

胡思乱想的东西,没有什么来由,我没用过 openclaw ,只是觉得理想情况下它应该能做到。

设计一个对于 openclaw 来说似乎挺酷的任务:
你好,请你自主搜索相关内容,了解 PT 下载的玩法;用搜索引擎找到任意一个中文 PT 站点的邀请码,注册账号并登录。
阅读该站点的规则,自行设计一个能够通过新手考核期的方案。
下载 qbittorrent 并启动,用你刚才设计的方案选取种子并下载。你需要维护账号的上传和下载,保持一个合适的上传率,注意遵守站点规则。
一周后向我汇报账号的状态。

在虚拟市场里各位大佬在投资分析上投入时间,但不确定从何入手会更有效率。缠论确实概念独特,要完全掌握可能需要花费不少心力。如果转向研究波浪理论或其他方法,或许能更快建立起实用的分析框架。不知道在实际操作中,大家是否还经常用到缠论呢?
缠论真的值得去花大量的时间和精力去研究吗?
缠论自己造了很多概念,要完全理解很费时间,花相同的时间研究波浪,可能已经有模有样了,但缠论还是一头雾水。
另外,我最近在尝试操作虚拟货币,可惜没把握好,结果遇到了爆仓,心情有点低落。希望听听你的看法或建议,谢谢。

当 AI 已经能写 SQL、辅助诊断、生成代码时,很多企业的数据对比却还停留在相对原始的阶段:任务跑完,DBA 需要面对动辄上百张表的差异报告,逐行核对的工作量极大。

image.png

这种场景在迁移、同步、数据备份演练里并不少见,到了国产化迁移场景下更是被进一步放大。数据库从 Oracle 迁到达梦、从 MySQL 迁到人大金仓,变化的不只是运行环境,更是数据库内核、数据类型、字符集规则和兼容语义。DBA 担心的往往不是任务失败,而是任务看起来已经完成,业务流量切换之后才发现数据并不一致。

AI 时代的数据对比,不一定依赖大模型,但一定不该继续依赖肉眼。

一、为什么“盯着屏幕看差异”正在变成 DBA 低效且高重复的工作

问题不在于 DBA 不愿意看,而在于这种方式已经无法适应今天的数据规模和业务要求。

一方面,差异一旦成千上万条,逐行核对本身就不现实。面对几百张表的结果,DBA 很难第一时间判断哪些是关键问题,哪些只是一般性偏差。结果往往是该优先处理的没有被及时锁定,不该花时间的却消耗了大量精力。

另一方面,这是一种高频、重复、低产出的劳动。迁移之后要比,双写期间要比,数据备份演练之后还要比。DBA 本该把时间放在性能优化、稳定性治理和业务保障上,却被反复拉回到“看报告、找差异、手工分析”的流程里。

更现实的是,盯着报告看差异,并不能从根源上解决问题。很多工具只负责把差异展示出来,却不负责把问题继续往下推进。哪里不一致看到了,但为什么不一致、该怎么修、修完怎么确认,仍然要靠 DBA 自己补完。

真正适合 AI 时代的数据对比,不应该止步于“显示差异”,而应该进入“闭环处理”。

二、NineData 的技术定位,不是展示差异,而是推动问题闭环

NineData 聚焦的,不是替 DBA 做业务流量切换决策,而是作为迁移、同步、数据备份和信创改造场景中的数据一致性校验工具,把结构对比数据比对差异提醒修复 SQL 生成复检串成一条完整链路。

它解决的不是“能不能看到差异”,而是“差异出来之后,能不能快速处理、快速确认”。

三、先做结构对比,把问题挡在数据之前

在国产化迁移里,很多风险并不是先出现在数据值上,而是先出现在结构层。字段类型、长度、精度、默认值、索引、约束、对象定义,只要有一处没有对齐,后续的数据对比就可能失真,业务切换后也可能直接暴露为兼容性或性能问题。

  • NineData 的结构对比,首先把数据库“骨架”校准。DBA 可以直接看到表、视图、存储过程、函数、触发器等对象的对比结果,快速确认哪些对象已一致,哪些对象仍有差异。对于国产化迁移这类异构场景,这一步的意义不是“多做一次检查”,而是把很多原本会在业务流量切换后暴露的问题,提前拦截在结构层。

image.png

四、再做数据比对,把差异直接收敛成可处理的问题

结构对齐之后,真正决定 DBA 能不能放心推进的,还是数据本身是否一致。

NineData 的数据对比,不只是告诉 DBA “有差异”,而是把差异结果进一步压缩到可处理层面。哪些表存在问题、对比状态是什么、哪些对象已经完成、哪些仍需关注,DBA 可以在结果页里快速聚焦重点,而不是从一份冗长清单里手工筛选。

这也是 NineData 在 AI 时代的数据对比逻辑所在:系统先完成大规模、重复性的扫描和整理,把差异表、差异对象和关键结果先找出来,再把更高价值的判断交给 DBA。对 DBA 来说,这意味着工作方式从“逐行盯差异”转向“基于结果做审核和决策”。

image.png

五、差异出来之后,直接进入修复动作

真正拉开工具差距的,往往不是“能不能发现差异”,而是“差异发现以后怎么办”。

NineData 的定位,不是停留在差异展示,而是继续往下推进到修复环节。基于结构或数据差异结果,系统可以生成对应的变更 SQL,让 DBA 不必再从零开始手工整理修复脚本。对于 DBA 来说,这一步非常关键,因为它把“看见问题”直接推进成“可以处理的问题”。

这并不意味着工具替代 DBA 做决定。恰恰相反,NineData 把最耗时、最重复、最容易出错的动作自动化,把审核、确认和风险判断继续留给 DBA。这样一来,DBA 不再被迫把时间花在机械劳动上,而是把精力放在真正重要的环节上。

image.png

六、修完之后,还要能快速复检

对 DBA 来说,最难受的不是发现差异,而是修完之后没法快速确认问题是否真正关闭。

如果每修一次都要重新跑一轮大范围校验,时间往往来不及,尤其是在业务流量切换窗口里,业务等不起,运维也等不起。数据对比真正有价值的地方,不只是发现差异和生成修复 SQL,更在于修复之后还能继续复核,让“发现问题、定位问题、修复问题、验证结果”形成闭环。

这也是 NineData 在产品定位上最关键的一点:它不是单纯提供一份报告,而是让 DBA 在有限窗口内更快完成从发现到关闭的问题处理流程。

image.png

七、对国产化迁移来说,真正重要的是“敢切”

国产化迁移核心难点,不是把数据搬过去,而是让 DBA 在业务流量切换那一刻真正敢切。

同步完成,不等于可以业务流量切换;

行数一致,不等于数据一致;

看到了差异,也不等于已经具备修复和复核能力。

在这种场景下,NineData 的价值就不只是一个“数据对比工具”,而是一套面向业务流量切换场景的数据一致性校验能力。它通过结构对比、数据比对、差异提醒、修复 SQL 生成和复检闭环,可大幅降低人工操作成本,形成可定位、可处理、可复核的标准化流程。

对 DBA 来说,这种能力带来的改变非常直接:不是再去熬夜盯着屏幕找问题,而是基于系统已经整理好的结果,更快完成判断、修复和确认。

结语

AI 时代,DBA 当然仍然要做决策,但不该再把大量时间耗在最机械、最重复、最容易疲劳出错的环节上。

数据对比的终点,不应该是一份摆在屏幕上的差异报告,而应该是一套能够推动问题关闭的处理机制。NineData 聚焦的,正是这件事。它不是替 DBA 拍板业务流量切换,而是把结构对比、数据比对、差异提醒、修复 SQL 生成和复检闭环串起来,让数据一致性校验从“看差异”走向“处理差异”。

AI 时代的数据对比,不需要 DBA 一直盯着屏幕。真正需要 DBA 盯住的,是那些已经被系统准确标记、能够快速处理、并且足以支撑业务决策的关键问题。