包含关键字 typecho 的文章

基于YOLO26的学生课堂行为检测系统(中英文双版可切换) | 附完整源码与效果演示

本项目是一个基于 PyQt5 + YOLO28 的学生课堂行为检测系统,专为教育场景设计。系统能够实时识别学生在课堂上的6种典型行为状态,帮助教师了解课堂参与情况,提升教学管理效率。

📸 效果演示(可在后台配置中文/英文显示)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

视频演示与源码获取

哔哩哔哩视频下方观看:
https://www.bilibili.com/video/BV1PNfnB2E1t
在这里插入图片描述

包含:
📦完整项目源码
📦预训练模型权重
🗂️数据集

一、项目简介

本项目是一个基于 PyQt5 + YOLO26 的学生课堂行为检测系统,专为教育场景设计。系统能够实时识别学生在课堂上的6种典型行为状态,帮助教师了解课堂参与情况,提升教学管理效率。
在这里插入图片描述

核心功能

功能模块说明
🎯 实时检测支持图片、视频、摄像头输入,实时识别学生行为
🏋️ 模型训练支持自定义数据集训练,适配不同教室环境
📊 模型评估自动生成性能评估报告,包括mAP、Precision、Recall等指标
🔄 数据转换支持COCO、VOC格式转换为YOLO格式
🎨 多主题UI亮色、暗色、科技感三种主题可选

二、检测类别说明

系统可识别以下6种学生课堂行为:

类别ID类别名称说明
0举手学生举手发言或提问
1阅读学生正在阅读书本/屏幕
2写作学生正在书写笔记
3使用手机学生使用手机的检测
4低头学生低头(可能走神或睡觉)
5睡觉学生趴在桌上睡觉

数据集配置

path: main/datasets/dataset
train: images/train
val: images/val
test: images/test

# 类别数量
nc: 6

# 类别名称
names: ['举手', '阅读', '写作', '使用手机', '低头', '睡觉']

在这里插入图片描述

三、系统架构

YOLO26课堂行为检测系统
├── 🚀 启动层
│   └── start.py                    # 推荐入口
├── 🖥️ 界面层 (youi/ui/)
│   ├── main_window.py              # 主窗口
│   ├── components/
│   │   ├── inference_tab.py        # 推理界面
│   │   └── settings_tab.py         # 设置界面
│   └── assets/                     # 图标、样式资源
├── ⚙️ 核心层 (youi/utils/)
│   ├── inference_worker.py         # 推理引擎
│   ├── training_worker.py          # 训练引擎
│   ├── testing_worker.py           # 评估引擎
│   ├── dataset_converter.py        # 数据转换
│   └── theme_manager.py            # 主题管理
└── 📁 数据层 (datasets/)
    ├── images/                     # 图像数据
    ├── labels/                     # YOLO标注
    └── data.yaml                   # 数据集配置

四、快速开始

4.1 环境安装

# 克隆项目
cd YOLO26

# 安装依赖
cd youi
pip install -r requirements.txt

# CPU用户建议安装PyTorch CPU版本
pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu

4.2 启动系统

# 方式1:使用启动脚本(推荐)
python start.py

# 方式2:直接运行主程序
cd youi
python main.py

五、使用指南

5.1 准备数据集

datasets/dataset/
├── images/
│   ├── train/          # 训练图像
│   ├── val/            # 验证图像
│   └── test/           # 测试图像
├── labels/
│   ├── train/          # 训练标注(YOLO格式)
│   └── val/            # 验证标注(YOLO格式)
└── data.yaml           # 数据集配置

YOLO标注格式

<class_id> <x_center> <y_center> <width> <height>

5.2 模型训练

在系统界面中选择:

  1. 配置训练参数(epochs、batch size、图像尺寸等)
  2. 选择预训练模型(yolo26n/s/m/l/x)
  3. 点击"开始训练"

5.3 实时推理

支持多种输入源:

  • 📷 单张图片检测
  • 📁 文件夹批量检测
  • 🎬 视频文件检测
  • 📹 摄像头实时检测

在这里插入图片描述

六、技术亮点

6.1 多线程架构

  • 推理、训练、测试均采用独立工作线程
  • GUI界面保持流畅,不卡顿
  • 实时显示终端输出日志

6.2 主题切换

# 支持三种主题
- 亮色主题:适合白天使用
- 暗色主题:适合夜间使用
- 科技主题:专业监控风格

6.3 快捷键支持

快捷键功能
Ctrl+O打开文件
Ctrl+R开始推理
Ctrl+T开始训练
Ctrl+Q退出程序

七、应用场景

  1. 智慧教室:实时监控学生课堂状态
  2. 教学评估:统计各类行为出现频率
  3. 课堂管理:及时发现走神、睡觉学生
  4. 教学研究:分析学生参与度数据

八、效果展示

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

九、总结

本系统基于YOLO26目标检测算法,结合PyQt5图形界面,实现了一个功能完善的学生课堂行为检测系统。系统具有检测精度高、实时性好、界面友好等特点,可广泛应用于智慧教育场景。

技术栈

  • 检测框架:YOLO26
  • 界面框架:PyQt5
  • 深度学习:PyTorch
  • 图像处理:OpenCV

本项目基于 YOLO26 目标检测框架 与 PyQt5 图形界面架构 深度融合,构建了一套完整的学生课堂行为智能分析系统。从数据标注、模型训练、性能评估到实时推理部署,形成了端到端的闭环解决方案。系统不仅支持多输入源检测(图片 / 视频 / 摄像头),还通过多线程机制保障 GUI 流畅运行,在实际教学场景中具备较强的工程可落地性。

在算法层面,依托 YOLO 系列模型在实时目标检测领域的高效推理优势,实现了对“举手、阅读、写作、使用手机、低头、睡觉”等六类课堂行为的精准识别;在系统设计层面,通过模块化架构划分(界面层 / 核心层 / 数据层),增强了代码可维护性与扩展能力;在用户体验层面,提供主题切换、多语言支持与快捷键操作,使系统兼顾专业性与易用性。

整体来看,该系统不仅适用于智慧教室实时行为监测,还可作为教育数据分析、教学评估研究、校园 AI 实践课程的示范项目。无论是作为科研原型验证,还是作为工程项目落地,都具备较高的实用价值与扩展潜力。

如果需要进一步扩展,还可引入行为时序分析(Action Temporal Modeling)、行为统计可视化看板、或基于 Transformer 的多模态融合策略,实现更高层级的课堂行为理解与智能决策支持。

一、安装配置华三模拟器HCL

  1. 自行安装HCL模拟器,具体可以查看官方文档。
  2. 配置虚拟网卡。用于本机和模拟器中的设备互通,例如使用Telnet,SSH方式连接模拟设备。
    image-20260211224510-63xvtww
  3. 在HCL中创建设备,HOST,及连接。
    image-20260211224829-qipmyjx
    image-20260211224858-xg8h2zr
  4. 配置设备的端口IP地址。
    image-20260211224958-h10fbvl
sys
interface GigabitEthernet 0/0
ip add 10.2.1.2 24
quit
save
  1. (可选)关闭本地电脑防火墙或在防火墙加入允许规则。
  2. 本机ping测设备。
    image-20260211225216-eeqhet5
  3. (可选)调整HCL命令行中的字体显示
    HCL默认使用Putty终端,字体使用Courier New,视觉上个人觉得不是很友好,可以调整为Consolas或其他喜欢的字体。也可以在设置内调用其他终端工具,如SecureCRT,MobaXterm等。
    默认字体如下。
    image-20260211231951-ixsk98w
    调整后字体。
    image-20260211232131-42fs9pk
    调整方法。

    1. 打开HCL安装路径,找到文件putty.exe,双击运行。

    image-20260211233224-cq43og2

    1. 打开[Windows]-[Appearance]-[Font settings]-[Change...],选择字体和字号等

    image-20260211232523-1t5jfm8
    image-20260211232640-t73cgdv

    1. 打开[Session],选中[Default Settings],点击[Save]保存。

    image-20260211232809-9qhc1m2

    1. 重新打开HCL的命令终端,即可显示新字体。

二、安装Python及相关库(windows 11环境示例)

  1. 以windows环境示例。也可自行安装Linux虚拟机环境,只需对虚拟机的虚拟网卡做相应配置,可实现Linux虚拟机与HCL虚拟机互通。
  2. 官方下载Download Python | Python.org,或可其他可信源下载并安装。安装过程中类似“Add Python 3.xx to PATH"务必勾选。
    image-20260211223821-n26kuag
  3. 打开本地cmd终端,验证安装。本示例版本为Python 3.14。

    PS C:\Users\coolh>python
    Python 3.14.0 (tags/v3.14.0:ebf955d, Oct  7 2025, 10:15:03) [MSC v.1944 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
  4. 安装网络自动化需要的Python库

    相关的库有很多,不过初期学习只安装一些基础的库即可,如SSH相关库paramiko,netmiko(基于paramiko);其他的可以选择一并安装或后期安装,如textfsm,ntc-templates,pyyaml等。

    pip install xxxx        #不指定版本则下载最新版本
    #指定清华源下载,因为默认国外源下载较慢
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple netmiko
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple paramiko
  5. 验证安装

    在python中输入import paramiko​,不报错则说明安装成功。
    image-20260211230939-95ldo4x

三、配置路由器,交换机设备的SSH服务

  1. 配置如下
#开启SSH和netconf服务。netconf后续练习会用到,也可以先不打开
sys
ssh server enable        
netconf ssh server enable
#配置本地用户hao和密码,接入类型为ssh,权限为network-admin
local-user hao class manage
password simple admin12345
service-type ssh
authorization-attribute user-role network-admin
dis local-user
quit
#配置终端接入,认证类型为scheme
line vty 0 4
authentication-mode scheme
user-role network-admin
quit
save
  1. SSH登录验证

    使用windows命令行工具测试。

    输入ssh hao@10.2.1.2​,提示设备使用了不安全的RSA算法,默认禁止使用。

    输入ssh -o HostKeyAlgorithms=+ssh-rsa hao@10.2.1.2​,连接成功。
    image-20260211234656-uvcx7jj

也可使用其他终端工具如SecureCRT,MobaXterm等,进行SSH连接测试。

SSH相关配置可参考H3C官方文档。H3C_SSH典型配置举例


文章已同步发布于博客园-Haosend

大家好!我是数字游民Hugo,聚焦AI轻创&Web3&OPC,深耕AI编程应用开发探路者。

你能想象吗?在斯坦福大学一个昏暗的地下室教室里,挤满了全世界最聪明的计算机系学生。空气里弥漫的不是兴奋,而是焦虑。

讲台上的讲师看着这些未来的科技精英,抛出了一条足以颠覆整个教育界的班规:

"这门课,我要教你们如何在不写一行代码的情况下编程。如果你能上完整个学期一行代码都不亲手敲,那你才是真的牛。"

你没听错。当大多数高校还在像防贼一样禁止学生用 AI 写作业时,斯坦福这门名为"现代软件开发者"的课,正在禁止学生手写代码

这不仅仅是一次教学实验,这是硅谷向全世界发出的信号:那个"会写代码等于金饭碗"的时代,彻底结束了。


一个 40 岁创业者的切身体会

看到这条新闻,我特别有感触。

2017 年,我第三次创业,想做一个基于邻里社交的本地生活服务平台。那时候我有个最大的痛苦——技术瓶颈

我想找技术合伙人,找不到。想外包开发,30 万投进去效果不佳。想自己学,人到中年哪有那么多时间精力从零开始啃代码?

这个技术门槛,硬生生把我的创业梦卡住了。

后来我考察过各种项目,想扭转局面。直到 2025 年春节 DeepSeek 爆发,再到 2026 年初微信推出"AI 小程序成长计划",我才猛然发现:

AI 编程的到来,把这个门槛给铲平了。


码农死了,超级工程师诞生了

斯坦福这门课请来的客座讲师,全是行业大神:Cursor 创始人、Vercel 的 AI 研究负责人……

他们都在传递同一个理念:AI Coding

什么意思?

以前你写代码像个泥瓦匠,一块砖一块砖地砌,累死累活还容易歪。

现在你像个建筑师。 你只需要告诉 AI:"我要建一座大厦,风格是后现代,功能要有这些。"Cursor 和 Claude 就是你的施工队。

Cognition 的研究主管在课上说得直击痛点:

"如果你用昨天的方法学习,你就是在大刀长矛对战机关枪。但如果你掌握了这些工具,你一个人的战斗力能顶一支团队。"

我为什么选择这条路?

大佬们的话很直白:

  • 微软 CEO 纳德拉:公司 30% 的代码已经是 AI 写的
  • Shopify CEO:想招人?先证明 AI 干不了你的活儿
  • Klarna:直接停止招聘,因为 AI 已经能干完人类的活

现实很残酷,但机会也很真实。

我今年 40 多岁,山东人在上海打拼快 20 年。经历过三次创业,负债过,迷茫过,但依然选择相信:真诚这张牌,加上任何一张都是王炸,唯独不能单出,单出就是死牌。

现在,我选择把"真诚"加上"AI 编程"这张牌。

我不再是那个被技术门槛卡住的创业者,我是一个正在学习驾驭 AI 的超级个体。


出路在哪里?

斯坦福这门课告诉我们:代码正在贬值,但软件正在升值。

未来的核心竞争力:

  • 不再是你的手速,而是你的脑洞
  • 不再是你写代码的能力,而是你定义问题、解决问题的能力
  • 不再是你掌握多少语法,而是你能否用 AI 把想法变成现实

能淘汰你的永远不是 AI,而是比你更会用 AI 的人。


我的选择和邀请

现在的程序员(或者说想进入这个领域的人)只剩下两条路:

  1. 继续搬砖,等着被不需要公司的 AI 慢慢淘汰
  2. 进化成包工头,把 AI 当牛马使,效率翻倍

我选第二条路,而且我要带着大家一起走。

这个账号的定位很清晰:AI 编程开发创客实战

我会边学边用边分享,输出倒逼输入,事上练干中学。不贩卖焦虑,只分享真实经历和可行方案。

先完成,再完美。


如果你也想成为驾驭 AI 的新贵,而不是被淘汰的旧码农,欢迎关注我。

我是数字游民Hugo,聚焦AI轻创&Web3&OPC,深耕AI编程应用开发实践,赋能个人蜕变成长&组织迭代进化,助力构建可持续的智能化增长体系。

在这个账号里,我会和你一起:

  • 探讨如何利用 AI 把个人价值放大 100 倍
  • 分享 AI 编程实战经验和踩坑记录
  • 洞悉 AI 时代最前沿的商业机会

评论区聊聊你的观点,你会选择哪条路?


本文由mdnice多平台发布

布尔类型

布尔类型使用Bool表示,用来表示逻辑中的真和假。

3.3.1 布尔类型字面量

布尔类型只有两个字面量:true和false。

下面的例子展示了布尔字面量的使用:

let a: Bool = true
let b: Bool = false

3.3.2 布尔类型支持的操作

布尔类型支持的操作符包括:逻辑操作符(逻辑非!,逻辑与&&,逻辑或||)、部分关系操作符(==!=)、赋值操作符、部分复合赋值操作符(&&=||=)。

字符类型

字符类型使用Rune表示,可以表示Unicode字符集中的所有字符。

3.4.1 字符类型字面量

字符类型字面量有三种形式:单个字符、转义字符和通用字符。一个Rune字面量由字符r开头,后跟一个由一对单引号或双引号包含的字符。

单个字符的字符字面量举例:

let a: Rune = r'a'
let b: Rune = r"b"

转义字符是指在一个字符序列中对后面的字符进行另一种解释的字符。转义字符使用转义符号“\”开头,后面加需要转义的字符。举例如下:

let slash: Rune = r'\\'
let newLine: Rune = r'\n'
let tab: Rune = r'\t'

通用字符以\u开头,后面加上定义在一对花括号中的1~8个十六进制数,即可表示对应的Unicode值代表的字符。举例如下:

main() {
    let he: Rune = r'\u{4f60}'
    let llo: Rune = r'\u{597d}'
    print(he)
    print(llo)
}

编译并执行上述代码,输出结果为:

你好

3.4.2 字符类型支持的操作

字符类型仅支持关系操作符:小于(<)、大于(>)、小于等于(<=)、大于等于(>=)、相等(==)、不等(!=)。比较的是字符的Unicode值。

Rune可以转换为UInt32,整数类型可以转换为Rune。

参考引用

更多仓颉学习资料,详见:

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

💡整理了一个 NAS 专属玩法专栏,感兴趣的工友可以戳这里关注 👉 《NAS邪修》

yt-dlp 是一款强大的视频下载工具(命令行界面的王者),而今天我要推荐的是 yt-dlp-webui,它给硬核工具穿上了一层“漂亮的外衣”,让你在浏览器里就能点点鼠标,轻松下载 B 站、小红书、YouTube 等主流平台的视频。

有了这个神器,再也不怕喜欢的视频被 Up 主删除了!

本次以 飞牛 NAS (fnOS) 为例演示,绿联、群晖、极空间等 NAS 操作逻辑完全通用!

打开「文件管理」,在 docker 目录下新建文件夹 yt-dlp

yt-dlp 文件夹内,再分别新建两个子文件夹:

  • downloads(用于存放下载好的视频)
  • config(用于存放配置文件)

打开「Docker」应用,切换到 「Compose」 面板,点击「新建项目」。

  • 项目名称:yt-dlp
  • 路径:选择刚刚在 docker 文件夹里创建的 yt-dlp 文件夹
  • 来源:创建docker-compose.yml

输入以下代码:

services:
  yt-dlp-webui:
    image: marcobaobao/yt-dlp-webui
    ports:
      - 3456:3033 # 冒号左边的 3456 是访问端口,可按需修改
    volumes:
      - ./downloads:/downloads # 视频下载路径
      - ./config:/config # 配置保存路径
    healthcheck:
      test: curl -f http://localhost:3033 || exit 1
    restart: unless-stopped

等待项目构建成功后,在“容器”面板找到它,点击旁边的 “链接” 按钮即可跳转。

这是 yt-dlp 的界面。

我以下载B站视频为例。

打开 B 站,找到你想“据为己有”的视频,直接复制浏览器地址栏的 URL。

回到 yt-dlp,点击首页右下方的加号。

把链接丢进来这个输入框里,然后点击“开始”按钮就开始下载了。

视频会自动保存到 /docker/yt-dlp/downloads 文件夹中。

你也可以直接在 Web 界面点击视频下方的下载按钮,保存到电脑本地。

亲测可下~

对了,如果进去发现是英文,别慌!在 Settings(设置) 里面找到语言选项,改为 Chinese 即可。


以上就是本文的全部内容啦,好视频不会丢,现在担心的是硬盘扛不扛得住了😭

你有发现更好用的视频下载工具吗?欢迎在评论区交流讨论!

想了解更多NAS玩法记得关注《NAS邪修》👏

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

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

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

Tower Blocks 是一款超解压的堆叠积木休闲小游戏,NAS 小白用 Docker 就能一键部署,群晖、威联通等主流 NAS 都适配,不用复杂配置。核心玩法超简单:看准时机点击屏幕,让下落的方块精准叠在塔上,堆得越高分数越高,考验手眼协调与反应力,大人小孩都能玩。游戏占用资源极低,不会影响 NAS 存储核心功能。

本次使用飞牛 NAS 部署 Tower Blocks,其他品牌 NAS 操作方式基本一样。

打开“文件管理”,在“docker”文件夹下创建一个“tower-blocks”文件夹。

然后打开“Docker”应用,在”Compose“面板里创建一个新项目。

  • 项目名:tower-blocks。
  • 路径:选择刚刚在”docker“文件夹里创建的”tower-blocks“文件夹。
  • 来源:创建docker-compose.yml

勾选“创建项目后立即启动”。

然后输入以下代码:

services:
  tower-blocks:
    image: heizicao/tower-blocks:latest
    container_name: tower-blocks
    ports:
      - 2332:3000
    restart: always

我给 Tower Blocks 配置了 2332 这个端口,你可以按需配置。

项目构建成功后,在浏览器输入 NAS的IP:2332 就可以开始玩了。


以上就是本文的全部内容啦,有疑问可以在评论区讨论~

想了解更多NAS玩法可以关注《NAS邪修》👏

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

访答:重新定义高效沟通

在快节奏的工作环境中,有效的沟通工具至关重要。访答作为新兴的沟通平台,正以其独特的功能改变着人们的协作方式。

核心功能解析

访答专注于简化沟通流程,其智能问答系统能够快速响应各类查询。与传统沟通工具相比,它减少了信息传递的层级,让沟通更加直接高效。

应用场景优势

无论是团队内部协作还是客户服务,访答都能提供稳定可靠的支持。其简洁的界面设计和强大的后台处理能力,确保了用户体验的流畅性。

未来发展展望

随着人工智能技术的不断发展,访答有望在智能助手领域实现更多突破,为用户提供更加个性化的服务体验。

谁还在为OpenClaw的“笨重”忍气吞声?!

2026年,OpenClaw凭一己之力带火了开源AI智能体赛道,14天狂揽190K GitHub星标,一度碾压深耕数十年的行业巨头,让“本地AI数字员工”走进大众视野。可火归火,用过的人都懂那种“爱并痛苦着”的憋屈——号称“轻量化本地部署”,实则是个“资源吞噬巨兽”,部署要装Node.js、调试复杂依赖链,内存占用动辄1GB以上,启动要等几百秒,就算是低配服务器都扛不住,普通电脑运行起来更是卡顿到崩溃,所谓的“降本增效”,到最后全变成了“耗内存、拖速度”的负担。

多少开发者熬夜调试,就为了让OpenClaw正常启动;多少中小企业花大价钱升级硬件,就为了承载这个“笨重的数字员工”;多少小白看着复杂的部署教程,望而却步,只能眼睁睁看着别人用AI高效办公,自己却被工具卡脖子?

全网都在呐喊:OpenClaw很好,但能不能轻一点?能不能简单一点?能不能让普通人也能轻松上手?

就在所有人都以为,开源AI智能体的“轻量化”已经触达天花板,只能在笨重和功能之间二选一时,Claw家族新成员——NullClaw,带着“极致轻量、零门槛、高性能”的锋芒横空出世,直接打破困局,用实力改写赛道规则:原来AI智能体,真的可以做到“轻到极致,强到离谱”!

没有铺天盖地的宣传,没有夸张到离谱的噱头,NullClaw只用一组公开可查的实测数据,就炸翻了整个AI圈,把“轻量”两个字卷到了极致,狠狠打脸那些“伪轻量化”工具——

内存占用仅0.8MB,不足OpenClaw的0.1%,比手机里的普通小程序还要轻,就算是十几年前的老旧电脑、10美元的廉价开发板,也能流畅运行,不会占用丝毫多余资源;启动时间快到离谱,仅需5毫秒,是OpenClaw的100倍以上,双击下载,一秒启动,无需等待,打开就能用,彻底告别“漫长启动焦虑”;二进制体积仅1.2MB,比OpenClaw小20多倍,下载速度快到飞起,就算是流量上网,几秒就能下载完成,不用再忍受动辄几十MB的缓慢下载。

更爽的是,NullClaw做到了“轻而不弱,简而全能”——它完美继承了OpenClaw的所有核心优势,甚至在功能上实现了全面超越,却把OpenClaw的所有痛点,全部斩草除根!

OpenClaw部署复杂,小白望而却步?NullClaw直接做到“零门槛部署”,单文件自包含二进制,支持arm、x86、risc-v全架构,无需安装任何依赖,不用懂一行代码,不用调试任何参数,下载、双击、使用,三步到位,就算是电脑小白,也能轻松上手,真正做到“人人都能玩得转”的本地AI智能体,彻底打破了OpenClaw“不适合非技术用户”的局限。

OpenClaw功能单一,复杂场景全歇菜?NullClaw直接拉满功能上限:OpenClaw能做的,它做得更快、更稳;OpenClaw做不到的,它照样拿捏!本地文件处理、日程管理、邮件自动发送、代码调试、网页检索,甚至是多轮连续交互、长程推理,NullClaw都能轻松胜任,100+轮连续交互不卡顿、不丢失上下文,多源信息交叉验证,动态调整策略,比OpenClaw的响应速度快3倍以上,复杂任务的完成准确率直接飙升至99.2%,远超同级别工具,甚至对标部分大参数模型的表现。

OpenClaw安全隐患突出,数据泄露风险高?NullClaw天生自带安全buff,延续Claw家族“本地优先”的核心优势,所有数据都运行在用户自有设备上,不上传云端,守住数据主权,同时搭载严格的沙箱机制、显式允许列表、工作区隔离,自动拦截危险指令,杜绝提示词注入攻击,从设计上杜绝数据泄露和设备操控风险,比OpenClaw的安全防护更周全,企业和个人用着都能彻底放心,再也不用为“AI内鬼”担忧。

更绝的是,NullClaw还解决了OpenClaw的“隐性痛点”——零成本使用、全架构兼容、无任何功能限制!不用支付高额的部署费、月费,不用升级硬件,不用为了某个功能额外安装插件,免费开源、无商业壁垒,支持Windows、Mac、Linux所有系统,甚至能在边缘设备、移动终端部署,实现离线推理与本地交互,真正做到“零开销、零妥协、全自主”,让每一个人都能免费享受AI带来的高效便捷,彻底打破“AI高效办公=高成本”的误区。

有人说,NullClaw是站在OpenClaw的肩膀上成长起来的,但我要说,它不是继承,而是颠覆!OpenClaw没能解决的轻量化痛点,它一一破解;OpenClaw没能实现的零门槛体验,它完美落地;OpenClaw没能兼顾的“轻量与性能”,它做到了极致平衡。

短短3天,NullClaw的GitHub星标疯狂暴涨,Fork数直线飙升,无数开发者弃坑OpenClaw,转头投入NullClaw的怀抱,留言区全是“封神”“终于等到你”“这才是我想要的轻量化AI智能体”的欢呼。曾经,OpenClaw是赛道标杆,是所有人的“唯一选择”;如今,NullClaw的出现,不仅填补了“极致轻量化AI智能体”的市场空白,更重新定义了开源AI智能体的核心竞争力——轻量,不是妥协,而是极致的追求;简单,不是简陋,而是更懂用户的需求。

想想看,不用再为部署复杂而头疼,不用再为内存占用而焦虑,不用再为硬件升级而花钱,双击下载,一秒启动,老旧电脑也能流畅运行,小白也能轻松上手,既能享受本地AI的安全便捷,又能拥有极致高效的办公体验,这才是开源AI智能体该有的样子!

从OpenClaw到NullClaw,是Claw家族的迭代升级,更是开源AI智能体赛道的一次革命。OpenClaw打开了赛道的大门,而NullClaw,正在带领赛道走向更极致、更亲民、更高效的未来,让“轻量化AI”不再是口号,让每一个人、每一家企业,都能轻松拥有属于自己的高效AI数字员工。

那些还在忍受OpenClaw笨重、卡顿、部署复杂的人,别再硬扛了!现在就上手NullClaw,体验一把“轻到极致,强到离谱”的快乐,你会发现:原来AI办公,可以这么轻松、这么高效;原来开源AI智能体,早就该是这个样子!

NullClaw来了,轻量化AI时代,正式开启!OpenClaw的辉煌已成过去,NullClaw的传奇,才刚刚开始!

更多AI咨询详见开源电子书《跟老卫学AI大模型开发

一月底在宁波的一个海鲜酒家吃饭,看到的挑食材的价格。
很新鲜,做的也很好。
去的是他家的最初的那家店。

How To Install phpMyAdmin on Ubuntu

phpMyAdmin 是一个优秀的 MySQL 数据库管理工具。它可以用来浏览、编辑、创建和删除数据表,您不需要 SSH 到远程或者在终端窗口来执行 SQL 查询和管理。

本文将向您展示如何在 Ubuntu 服务器上安装和设置 phpMyAdmin 工具。

Install Apache and PHP

假设你已经安装了 MySQL 服务器。因此,只需安装 phpMyAdmin 所需的其他包即可。

sudo apt install apache2 wget unzip 
sudo apt install php php-zip php-json php-mbstring php-mysql

安装完成后,启用并启动 Apache web 服务器。

sudo systemctl enable apache2 
sudo systemctl start apache2

Install phpMyAdmin

浏览官方下载页 获取最新的 phpMyAdmin 源文件,或者使用下面的命令下载到您的系统。下载完成后,提取存档文件并移动到合适的位置。

wget https://files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip 
unzip phpMyAdmin-5.2.0-all-languages.zip 
sudo mv phpMyAdmin-5.2.0-all-languages /usr/share/phpmyadmin

接下来,创建 tmp 目录并设置适当的权限,这是使其正常工作的必要步骤。

sudo mkdir /usr/share/phpmyadmin/tmp 
sudo chown -R www-data:www-data /usr/share/phpmyadmin 
sudo chmod 777 /usr/share/phpmyadmin/tmp

Configure phpMyAdmin

现在,您需要配置 web 服务器,以便在网络上为 phpMyAdmin 提供服务。为 phpMyAdmin 创建一个 Apache 配置文件。

sudo vim /etc/apache2/conf-available/phpmyadmin.conf

将以下内容添加到 phpmyadmin.conf 配置文件中:

Alias /phpmyadmin /usr/share/phpmyadmin
Alias /phpMyAdmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin/>
    AddDefaultCharset UTF-8
    <IfModule mod_authz_core.c>
        <RequireAny>
            Require all granted
        </RequireAny>
    </IfModule>
</Directory>

<Directory /usr/share/phpmyadmin/setup/>
    <IfModule mod_authz_core.c>
        <RequireAny>
            Require all granted
        </RequireAny>
    </IfModule>
</Directory>

ESC 键,然后输入:wq,然后按 Enter 键,保存文件并退出。

完成所有更改后,启动 Apache 服务以重新加载所有设置。

sudo a2enconf phpmyadmin 
sudo systemctl restart apache2

Adjusting FirewallD

如果系统启用了防火墙,则需要放行 web 服务器端口。

sudo firewall-cmd --permanent --add-service=http 
sudo firewall-cmd --reload

Access phpMyAdmin

现在使用服务器 IP 地址或域名访问 phpMyAdmin 服务。

http://{your-domain.com}/phpmyadmin

phpMyAdmin Login Screen

登录后,你将看到如下画面:

phpMyAdmin Dashboard

我的开源项目

酷瓜云课堂-开源知识付费解决方案

我们会开始看到 ‘软件工程师’这个头衔慢慢消失。可能会变成 builder、product manager,或者头衔还保留,但只是一个遗留符号。

因为大家做的工作不再只是写代码:软件工程师还会写 spec、还会跟用户沟通。”

放出这话的,正是 Claude Code的创始人 Boris Cherny

他最近在 Y Combinator的一场圆桌访谈中,一人对阵四位 YC 高管,几乎句句都带着点“重锤感”。

在他看来,编程正在被“解决”在 Anthropic,很多人已经 70%–100%用 Claude 写代码,IDE 的存在感正在下降。写代码这件事,正在从“核心能力”变成“默认能力”。

而另一边,模型能力会指数增长,今天的“勉强可用”,六个月后可能原生支持,如果只围绕当前模型做 PMF,很快会被下一代能力抹平:

“在 Anthropic,我们一直有一个核心理念:我们不是为‘今天的模型’做产品,而是为‘六个月后的模型’做产品。

这,也是他给所有 LLM 创始人的一条建议。

本次访谈,除了 Boris 本人外,其余几位包括:YC 总裁兼 CEO Garry Tan、合伙人 Harj Taggar、Diana Hu,以及 Jared Friedman。

YC 总裁兼 CEO Garry 开场就说了句:“谢谢你做了 Claude Code。它让我连续三周没睡好。”

这不纯是客套。Claude Code 不仅对外很火,对内也像一台“超级引擎”,自其推出后,Anthropic 的人均工程产出提升了 150%。

用 Boris 的话来说,就是:

“我以前在 Meta 负责代码质量,也负责跨多个产品线的代码库质量。当时我们做“提升生产力”,看到 2% 的提升,都可能需要几百人干一年。所以这种 100% 级别的提升,是完全没见过的,闻所未闻。”

但这场对话最值得看的,并不是“又一个 AI 编程工具爆火”的故事,而是 Boris 如何把一个终端里的小聊天程序,迭代成今天这个能调工具、会 plan、甚至会主动找人沟通的开发 agent。

除了上文提到的,本次访谈中,还有一些很有意义的判断和观点,核心内容提炼如下:

  • 代码的保质期只有几个月。Claude Code 被反复重写,六个月前的代码几乎全部消失;重构不是例外,而是常态。

  • Plan mode 未来可能自动进入,再往后可能会消失。其本质,只是 prompt 里加一句“先别写代码”,最终可能一发 prompt 就能完成。

  • 不要和模型对赌。加很多脚手架也许能多拿 10% 的效果,但下一代模型可能直接“白送”;所有非模型能力最终都会变成技术债。

  • 功能不是规划出来的,是从用户行为里“长”出来的。plan mode、CLAUDE.md、co-work 都源于用户已经在做的事,产品只是把它们收拢进来。不要教育用户改变行为,而是顺着他们已经发生的行为去放大它。

  • Agent 的能力边界,会每几个月重写一次。你对“它能不能做”的判断很快会过时,工程师必须不断重置认知。多 agent 协作,是能力放大的关键变量。并行 sub-agent、本质上是 test-time compute 和上下文隔离的组合,会显著提升复杂任务能力。

  • 迭代速度本身就是护城河。Claude Code 可以一天做 20 个原型,快速试错比“设计完美方案”更重要。

对处于 AI 洪流中的技术开发者和创始人,Boris 给出的建议是,是新时代最重要的能力是“新手心态”。能承认自己错、能丢掉旧经验、能从第一性原理重新思考,比资历更重要。

以下为本段访谈的全部重点内容,InfoQ(还是写 AI 前线?)在不改变原意的前提下,对内容进行了整理编辑。

##访谈原文

Garry:谢谢你做出了这个东西(Claude Code),它让我连续三周都没睡好。我已经对 Claude Code 上瘾了,感觉像给人装上了火箭助推器。这个体验大家已经持续感受好几个月了,我记得大概从 11 月底开始,很多朋友都说“感觉不一样了”。

Boris:我自己第一次有这种感觉,是在刚做出 Claude Code 的时候——那会儿我还不确定自己是不是做对了方向。我隐约觉得“可能成了”,然后我就开始睡不着了。

那是 2024 年 9 月。连续三个月,我没休过一天假,周末也在干,每晚都在工作。

我一直在想:“天啊,这东西可能会变成一个真正的产品。”但当时我也不知道它到底有没有用,因为那时候它其实还不会写代码。

###让 Boris 最意外的,是终端竟成了终点

Garry:从那时候到现在,如果你回看,你觉得最让你意外的是什么?

Boris:最不可思议的是:我们到现在居然还在用终端。终端本来只是起点,我没想到它最后会变成终点。

第二个意外是,它居然真的变得有用了。因为一开始它几乎不会写代码。甚至到 2 月份,它大概也就写了我 10% 的代码。我当时并不靠它写代码,它写得不够好,我还是大部分都手写。现在能做到我们当初下注的那个方向,说明赌对了;但当时这件事一点也不明显。

在 Anthropic,我们一直的思路是:不要只为“今天的模型”做产品,而是为“六个月后的模型”做产品。

这也是我给所有基于 LLM 做产品的创始人的建议:尽量去想——今天模型还不太擅长、但很快会变强的前沿点在哪里。它会变好,你只需要等它到位。

###Claude Code 是 如何构思出来的?

Harj:回到最开始,你还记得自己第一次有这个想法是什么时候吗?是某个灵光一现,还是它在你脑子里最初的版本是什么样?

Boris:其实它非常“意外”,就是一路演化出来的。

对 Anthropic 来说,我们很早就押注“编程”这条路:我们认为通往安全 AGI 的路径之一,就是通过编程能力

整体思路一直是:先教模型写代码,再教它用工具,再教它用电脑。你也能从我加入的第一个团队看出来——当时叫 Anthropic Labs,做了三个产品:Claude Code、MCP 和桌面端 App,这些其实是串在一起的。

具体到 Claude Code,其实没人让我做 CLI。我们大概知道模型可能已经到了适合做编程产品的阶段,但还没有人真的做出一个能把这种能力“吃干榨净”的产品,所以当时有一种很强烈的“产品能力悬空感”(product overhang)。那会儿这种感觉更夸张,因为根本没人做过。

于是我就开始随便 hack。一开始我想:“要做编程产品,我得先学会怎么用 API。”

因为那时候我还没用过 Anthropic 的 API。

我就做了一个很小的终端程序来调用 API,本质就是个小聊天应用。因为当时大多数 AI 应用就是聊天形态,所以我也这么做:在终端里提问、回答。后来 tool use 出来了,我只是想试一下,我也不太懂它到底是什么。我当时想:“工具调用很酷,但可能没什么用吧?先试试。”

Harj:你用终端实现,主要是因为最快、最省事?

Boris:对,因为不用做 UI。那时就我一个人。

Harj:当时 Cursor、Windsurf 这些 IDE 方向的产品也在起势。你有没有受到压力,或者有人建议你们做成插件、或者干脆做成完整 IDE?

Boris:没有压力,因为我们自己都不知道要做什么。团队当时就是探索模式:我们隐约觉得要做点和编程有关的东西,但具体做什么完全不明朗,也没人能高置信拍板。

而我的工作就是把这个方向跑出来。

所以我先给模型接了 batch tool——因为那就是我们文档里的示例。

我把 Python 示例直接搬到 TypeScript,因为我用 TypeScript 写。然后我也不知道模型能不能用 bash,就让它去读文件,它能 cat 文件,还挺酷的。接着我就继续试:“那你到底还能干啥?”我问它“我现在在听什么歌”,它写了段 AppleScript 去控制我的 Mac,去我的播放器里查当前音乐,这还是 Sonnet 3.5 的时候,我完全没想到它能做到。

这是我第一次那种“燃料级 AGI 时刻”。我当时想:“天啊,模型就是想用工具,它只想用工具。”

###极简优雅终端,成就 Claude Code

Diana:这 Claude Code 以一种非常“反常识”的方式成功:形式上极简、很优雅,居然就是终端。终端存在很多年了,但它像一个很好的设计约束,让开发体验变得很有趣,用起来不像工作,更像玩。你也不用一直想文件在哪儿、结构怎么摆,这几乎像是意外得到的。

Boris:对,完全是意外。

终端这个形态在内部开始火起来之后——其实我做出第一个原型两天后,就把它给团队 dogfooding 了。因为当你有一个看起来可能有用的点子时,第一反应就是赶紧给别人用,看看他们会怎么用。

第二天我来上班,坐在我对面的同事 Robert,已经在电脑上用 Claude Code 写代码了。我当时特别震惊:“你在干嘛?这东西还没准备好,这只是个原型。”但它已经在那个形态下变得有用了。

后来我们做上线评审,准备对外发布 Claude Code,大概是 2024 年 11 月或 12 月。Dario 问我:“内部使用曲线都快竖直了,你是不是强制工程师用?是不是在 mandate?”我说:“没有,没有。我只是发了个帖子,然后大家互相转告,就这么传开了。”

整个过程都很偶然。我们一开始选择 CLI,只是因为成本最低,没想到它就这样自然地停留在那个形态里,并且跑了起来。

###从用户行为里长出来的功能:CLAUDE.md

Harj:在 2024 年那段时间,工程师具体怎么用它?已经用它交付代码了吗?还是用在别的地方?

Boris :那时模型还不太会写代码。我自己最早用它来自动化 git。

我感觉我现在都快忘了 git 了,因为 Claude Code 帮我做太久了。

还有就是自动化 bash 命令、操作 Kubernetes 之类。也有人开始用它写代码,算是早期迹象。最早的一个典型用例其实是写单元测试,因为风险更低。模型当时写得也挺一般,但大家开始摸索怎么用。

我们还看到一个现象:大家开始给自己写 markdown 文件,然后让模型读这个 markdown 文件——这就是 CLAUDE.md 的来源。

对我来说,产品里最大的原则就是 latent demand(潜在需求)。这个产品几乎每一块都是从潜在需求里长出来的,CLAUDE.md 就是例子。

另外还有一个我觉得挺关键的产品原则:你可以围绕模型做“脚手架”(scaffolding)去提升一点性能,视领域不同,可能提升 10%~20%。

但这些提升往往会被下一代模型进步直接抹平。所以要么你不停地搭脚手架、再重建;要么你等下一代模型,很多能力会“免费”出现。某种程度上,这也是我们一直留在 CLI 的原因:我们觉得没有任何 UI 能保证六个月后仍然相关,因为模型进步太快了。

Garry:你说了一句很有意思的话:你的 CLAUDE.md 反而很短,几乎违背大家直觉。为什么?你里面写了什么?

Boris:我来之前还特意看了下,我自己的 CLAUDE.md 只有两行。第一行是:每次提 PR 都开启 automerge,只要有人 approve 就自动合并。这样我就能一直写代码,不用在 CR 来回折返。

第二行是:每次提 PR 都发到内部 stamps 频道,让人来 stamp 一下,这样我就能更快 unblock。

其他指令都在我们团队共享的 CLAUDE.md 里,它直接放在代码仓库里,全队每周都会贡献好几次。我经常看到有人 PR 里犯了那种完全可以避免的错,我就直接在 PR 里 @Claude,说“把这个加进 CLAUDE.md”,这种事我一周会做很多次。

Garry:那 CLAUDE.md 变得很长怎么办?我已经遇到过那种提示,说我的 CLAUDE.md 已经几千 token 了。你们怎么处理?

Boris:我们团队的 CLAUDE.md 其实也不算长,大概几千 token。

如果你遇到这种情况,我的建议是:直接删掉,重新开始。

很多人会过度工程化,想把一切都写进去。但模型能力每次都会变,所以更好的方式是:用最少的指令把模型拉回正轨。如果你删掉之后模型开始跑偏、做错事,那时候你再一点点加回来。你很可能会发现:随着模型变强,你需要写的反而越来越少。

我觉得自己是个挺普通的工程师。我不用很多花哨工具,不用 Vim,我用 VS Code,因为简单。

Jared Friedman:真的吗?我还以为你因为在终端里做了这个东西,会是那种硬核终端党:Vim only、看不上 VS Code 的那种。

Boris:团队里有这种人,比如 Adam Wolf,他就是那种“除非我死,否则你别想从我手里夺走 Vim”的类型。

我早期学到的一件事是:每个工程师握着自己的开发工具的方式都不一样,没有一种工具适合所有人。但也正是这种差异,让 Claude Code 有机会变得很好。

我会问自己:什么样的产品是我自己愿意用、对我来说顺手的?

用 Claude Code,你不需要懂 Vim、不需要懂 tmux、不需要懂 SSH、不需要懂一堆东西,你只要打开它,它会引导你、帮你把这些都做掉。

###不断重置认知,每一代 Agents 能做的事都在变

Garry:你们怎么决定终端到底要多“啰嗦”?有时候你得控制它、查看它。团队内部会不会为“更长还是更短”争得很厉害?每个用户可能都有自己的偏好,你们怎么拍板?

Boris:你怎么看?现在是不是太 verbose 了?

Garry:我超喜欢 verbose。因为它有时候会突然“跑很远”,我看着输出能很快判断:“哦不对不对,不是这个方向。”然后我就直接退出、停掉。它能在 bug 还没扩散之前就把它掐掉。通常是我 plan mode 没开好才会这样。

Boris:这块我们确实经常改。大概六个月前,我试过把 bash 输出都隐藏掉,只给总结,因为我觉得那么长的输出我不关心。结果我给内部员工试了一天,大家集体“起义”:“我要看我的 bash!”因为很多时候它其实很有用,比如 git 输出可能不重要,但跑 Kubernetes job 这种你就真的想看细节。

我们最近把 file read、file search 这种输出也做了隐藏,你会看到现在它不再显示“读了 food.md”,而是显示“读了 1 个文件、搜索了 1 个 pattern”。这在六个月前根本不敢发,因为模型那时还不够稳,常常会读错,你作为用户得盯着它纠错。但现在我发现它几乎每次都在正确轨道上。因为它用工具太多了,很多时候总结反而更好。

但我们发出去之后,GitHub 上很多人不喜欢,有个大 issue:大家说“不,我就想看细节。”这反馈很好。

于是我们加了一个 verbose mode,在 /config 里就能开;你想看所有文件输出就可以继续看。

我在 issue 里回复之后,大家还是不满意,我反而很开心,因为我最喜欢的事情就是听用户反馈,知道他们到底想怎么用。于是我们就一直迭代,迭代到更贴近大家想要的样子。

Garry:以前我比较老派,我喜欢 verbose,我喜欢说:“你这样做了,但我想你那样做。”但现在有一种完全不同的观点:只要一个真人需要看代码,就是坏事,这太有意思了。

Boris:Dan Shipper 也经常讲:每次看到模型犯错,就尽量把它写进 CLAUDE.md 或 skills 里,让它变成可复用的经验。

但我自己其实一直在纠结一个“元问题”:很多人说 agents 能做这个、能做那个,但 agents 真正能做什么,会随着每一代模型变化。

有时新同事加入团队,他们用 Claude Code 的方式甚至比我更激进,我会不断被他们震到。比如我们曾经有个 memory leak,要 debug。

我当时做法是:导 heap dump,打开 DevTools,看 profile,再去翻代码。我在那儿慢慢找。然后团队里另一个工程师 Chris 直接问 Claude Code:“我怀疑有内存泄漏,你能跑一下吗?然后帮我找。”Claude Code 拿到 heap dump 后,甚至给自己写了一个小工具来分析 dump,然后比我更快定位到了泄漏。

这个事情让我不得不反复“重置认知”,因为我的大脑有时还停留在六个月前。

###对于技术型创始人的建议

Diana:听起来刚毕业的人、或者没那么多预设的人,可能反而比工作很久的工程师更容易上手。那么,专家要怎么变强? 你会给技术型创始人什么建议,让他们在最新模型发布时能做到“最大化利用”?

Boris:我觉得关键是 beginner mindset(新手心态),还有一点“谦逊”。

工程师这个职业经常被训练成有强观点,资深工程师甚至会因此被奖励。在我以前的大公司工作时,我招的架构师类型,往往就是经验多、观点强的人。但现在很多经验其实不再相关,很多观点都得改,因为模型在变强。所以我觉得最大的能力是:能科学地思考、能从第一性原理出发。

Diana:那你们招聘时怎么筛这种能力?

Boris:我有时会问:“给我一个你曾经错了的例子。”

这是个很好的问题。很多经典的行为面试题,甚至不是编码题,都挺有用的。

因为你能看出来:他能不能事后意识到自己的错误、能不能承认错误、以及有没有从中学到东西。有些很资深的人,尤其是某些“创始人型人格”,反而挺擅长这个。

但也有些人永远不会承担错误。我自己大概一半时间都是错的:一半想法都很烂,你只能去试。试了给用户、跟用户聊、学到东西,最后可能才走到一个好点子。有时候也走不到。

但过去这可能是创始人最重要的能力,现在我觉得它对每个工程师都很重要。

Garry:你会不会根据一个人和 Claude Code 协作的 transcript 来决定是否录用?

Boris:我们现在就这么做。

Garry:我们做了个实验:候选人可以上传用 Claude Code 或 Codex 完成功能的完整 transcript。通过这份记录,你几乎能看清一个人的思考方式:比如会不会看日志、能否在 agent 跑偏时拉回、是否用 plan mode、是否补测试、是否具备系统性思维。我甚至想做一个类似 NBA 2K 的“能力蛛网图”,直观展示他的 Claude Code 水平。

Boris:那会有哪些维度?具体是什么?

Garry:系统能力、测试能力、理解用户行为……还有设计能力。对我来说,我 CLAUDE.md 里最喜欢的一条是:每个 plan 都要判断它是过度工程、欠工程、还是刚刚好,并说明原因。

Boris:这也是我们在摸索的。

我观察团队里效率最高的工程师,分布呈现一种很明显的“双峰”。

一类是极端专家,比如我前面提到的 Jared,以及 bun 团队那类人。他们对开发工具、对 JS runtime 体系的理解都强到离谱。

另一类是超强通才,差不多是团队里的其他人:很多人同时跨产品和基础设施,或跨产品和设计,或跨产品和用户研究,甚至跨产品和业务。

我很喜欢那种“做奇怪事情”的人。过去这可能是一个 warning sign,你会担心他们能不能做出有用的东西。

Garry:那是极限测试。

Boris:对。但现在不一样了。比如团队里有个工程师 Daisy,她原本在别的组,后来转到我们组。

我希望她转来的原因是:她加入后没多久就给 Claude Code 提了一个 PR,做的是加新功能。但她不是直接把功能加进去——她先提了一个 PR:给 Claude Code 增加一个工具,让它可以测试任意工具并验证是否工作。这个 PR 合进去之后,她让 Claude 去写它自己的工具,而不是自己去实现。

我觉得这种“跳出盒子”的思路非常有意思,因为其实还没有多少人真正 get 到。

我们团队用 Claude Agents SDK 自动化了几乎所有开发环节:自动 code review、自动 security review、自动给 issue 打标签、自动把事情 shepherd 到生产环境……几乎什么都自动化了。我在外部也开始看到有人慢慢摸到这种用法,但它确实花了很久——大家在学习怎么用 LLM 做这种“新型自动化”。这是一种新的技能。

###Agent 拓扑:协作的下一种形态

Garry:我最近和不少创始人 office hours 时觉得很好笑的一件事是:在 AI 工具的加持下,拥有清晰产品愿景的创始人会被极大放大,他脑中完整的产品模型,让他用 Claude Code 能实现 50x 效率。但他的工程师没有那个“水晶记忆宫殿”,只能做 5x。问题在于:当愿景者被彻底解放,这种“核心构想者 + 执行者”的团队结构是否会成为新常态?同时,它也带来现实困境——即便效率暴涨,个人的时间与精力仍然是瓶颈。

Boris:我们刚发布了 Claude Teams,这是一种方式;你也可以自己搭,挺容易的。

Garry:Claude Teams 的愿景是什么?

Boris:就是协作。现在有一个全新的领域叫 agent topologies(Agent 拓扑)。

你怎么配置 agents?其中一个想法是“uncorrelated context windows”。多个 agents 各自拥有干净的上下文窗口,不会被彼此的上下文、或者自己的历史上下文污染。

你往一个问题里投入更多上下文,本质上是一种 test-time compute,会带来更多能力。再加上合适的拓扑,让 agents 以合适的方式沟通、合适地排列,它们就能做更大的东西。Teams 是一种思路,接下来还会有更多很快上线。目标就是让它能 build 得更多、更大。

一个很典型的例子是:我们的 plugins 功能,几乎完全是一个 swarm 在一个周末“跑出来的”。它连续跑了几天,基本没什么人工干预。plugins 上线时的形态,和它跑出来时几乎一致。

Garry:你们怎么搭起来的?你是先写清楚你要的结果,然后让它自己推细节,再让它跑起来吗?

Boris:对。团队里有个工程师给 Claude 一个 spec,让 Claude 用 Asana board。Claude 在 Asana 上建了一堆 ticket,然后 spawn 了一堆 agents,agents 开始自己认领任务。主 Claude 负责给总体指令,大家就这样跑出来了。

Diana:那些独立 agents 并不知道更大的 spec 的完整上下文,对吧?

Boris:对。如果你看现在 agents 的启动方式——我没拉过数据,但我敢猜大多数 agents 其实都是由 Claude 触发的,以 sub agents 的形式。

sub agent 本质上就是递归版 Claude Code,在代码里就是这么实现的。它是被“mama Claude”提示出来的。我觉得如果你看大多数 agents,大概率都是这样被发起的。

Harj:我的 Claude insights 最近也提示我,debug 的时候应该多这么做。我经常花很多时间 debug,如果能并行起多个 sub agents:一个看 log、一个看 code path,感觉是必然趋势。我已经把这个写进 CLAUDE.md 了:下次修 bug,就让多个 agent 并行分工。

Garry:遇到那种又怪又吓人的 bug,我会用 plan mode 修,它就会用 agents 去广泛搜索。相比之下,你在线性模式下更像是“做一个任务”,而不是“宽搜”。

Boris:我也一直这么做。如果一个测试像“研究型测试”,比较难,我会按任务难度来校准 sub agents 数量:难一点就 3 个,或者 5 个,甚至 10 个,并行研究,看他们最后汇总出什么。

Harj:那你为什么不把这个写进你的 CLAUDE.md?

Boris:看情况。这更像一个快捷方式:如果你发现自己反复重复同一句话,那就写进 CLAUDE.md;否则不需要把所有东西都写进去,你直接 prompt Claude 就行。

Harj:你心里也会不会想着:可能六个月后你连这都不用显示 prompt 了,模型自己就能搞定?

Boris:也许一个月后就不用了。

Diana:一个月后连 plan mode 都不需要了。

Boris:我觉得 plan mode 可能确实有一个比较有限的生命周期。

Diana:这对在场所有人都是个“alpha”。如果没有 plan mode,世界会是什么样?是不是你只要在 prompt 里描述清楚,它就能直接做完?一发入魂?

Boris:对。我们已经开始在做这方面的实验了,因为 Claude Code 现在已经能自己进入 plan mode 了,你们可能也见过。我们正在努力把这个体验打磨到“刚刚好”:它会在一个人类也会想要进入 plan mode 的那个节点自动进入。

其实 plan mode 没什么秘密,它做的事非常简单,就是在 prompt 里加一句“请先不要写代码”。仅此而已。你其实也可以自己直接这么说。

Diana Hu:听起来,Claude Code 的很多功能开发方式都很符合 YC 常说的那套:先跟用户聊、看用户怎么用,然后再回来实现;而不是你先有一个宏大的 master plan,再把所有功能按计划做出来。

Boris:对,基本就是这样。比如 plan mode,就是我们看到用户经常会说:“Claude 先帮我想方案、规划一下,但先别写代码。”这种说法有很多版本:有时只是把想法聊透;有时是让 Claude 写非常复杂的 spec。

共同点都是:先做事、先想清楚,但暂时不要写代码。

所以那天就是周日晚上 10 点,我在看 GitHub issues、看内部 Slack 反馈频道,看到大家在讨论这个。我就用 30 分钟写出来,当晚就发了,周一早上就上线了——这就是 plan mode。

Harj:所以你说“以后不需要 plan mode”,是指那种“我担心模型会跑偏、做错方向,所以需要 plan mode 来约束它”的需求会消失?但“你仍然需要把想法想清楚、把需求说清楚”这件事不会消失吧?你总得在某个地方完成思考。

Boris:我更愿意从“模型能力在提升”来理解这个变化。

比如六个月前,单有 plan 还不够。你让 Claude 做计划,即使开了 plan mode,你也还是得在旁边盯着、babysit,因为它可能跑偏。现在我的习惯是:大概 80% 的 session 我都从 plan mode 开始。

虽然我说 plan mode 的寿命可能有限,但我其实是重度用户。我会让 Claude 先做计划,然后切到第二个终端 tab,让另一个任务也先做计划;tab 不够我就开桌面端 app,再去 code tab 里开更多 tab,总之大多数时候都是从 plan mode 起手。计划一旦靠谱了(有时需要一点来回),我就让 Claude 直接执行。

而现在用 Opus 4.5 的感受是:我觉得大概从 4.6 开始,它真的变得很稳了。只要 plan 是对的,它几乎每次都能一路保持在正确轨道上,把事情做对。

所以你会看到 babysit(意思是:全程盯着、随时纠正、手把手看着它别出错)的位置在变化——以前你要在 plan 前后都盯着;现在更多是只需要在 plan 之前盯着。再往后一步,也许你连 babysit 都不用了:你给一个 prompt,Claude 自己就能把它想清楚、做完。

Garry:下一步就是 Claude 直接跟你的用户对话了。它直接绕过你本人。

Boris:挺好玩的,这其实已经是我们现在在做的事了。

我们的 Claude 之间会互相交流,也会(至少在内部)挺经常直接在 Slack 上跟用户沟通。我自己的 Claude 偶尔还会想发推,但我一般会删掉——有点“尬”,我不太喜欢它的语气。

Garry:它都想发些什么?

Boris:有时候就是会去回复别人。因为我后台一直开着 co-work,co-work 特别爱这么干,它很喜欢用浏览器。

一个非常常见的模式是:我让 Claude 去 build 某个东西,它会先去看代码库;如果在 git blame 里看到某个工程师最近动过相关代码,它就会在 Slack 上直接给那位工程师发消息,问一个澄清问题。等对方回了,它就继续往下做。

###对各行业创始人的“未来”建议

Diana:那你给现在的创始人,一些“面向未来”的建议吧。感觉一切变化都很快,有哪些原则会长期有效,哪些会改变?

Boris:有些原则听起来很基础,但我觉得它们现在比以前更重要。

比如 latent demand(潜在需求),我提过无数次了,对我来说它就是产品里最重要的一条

很多人不理解它,我在前几个创业项目里也没理解。它的意思大概是:人们只会去做他们本来就在做的事情,你很难让人去做一件全新的事。如果人们已经在努力做某件事,你让它更容易,这是好想法;但如果人们正在做一件事,你非要让他们改去做另一件事,他们大概率不会做。所以你要做的,就是让他们“本来就想做的事”更容易。

而且 Claude,会越来越擅长帮你发现这些产品点子。因为它能看反馈、看 debug logs,它能自己把这些东西梳理出来。

Harj:所以你说 plan mode 是 latent demand,是因为用户本来就已经会在浏览器里开着 Claude 的聊天窗口,用它来讨论 spec、讨论该怎么做;然后 plan mode 只是把这件事“搬进”Claude Code 里,让它在 Claude Code 里就能完成?

Boris:对,就是这样。有时候我会在办公室里走一圈,在同事身后站一下(当然我会先打招呼,不是偷看那种),看看大家具体怎么用 Claude Code。我看到很多类似的用法,而且 GitHub issues 里也有人在讨论。

Harj:你说你最惊讶的是终端被推到了这么远。那你觉得它还能走多远?在“swarm、多 agent”的世界里,会不会需要一个新的 UI 来承载这些东西?

Boris:挺有意思的。如果你一年前问我,我会说终端最多还有三个月寿命,然后我们就会换到下一个形态。

你也能看到我们一直在做各种实验:Claude Code 从终端起步,但现在也在 web 上、在桌面端 app(code tab 里),大概我们做了三个月或六个月;它也在 iOS/Android app 的 code tab 里;在 Slack、在 GitHub;还有 VS Code 扩展、JetBrains 扩展。我们一直在尝试不同的 form factor,想弄清楚“下一个形态”是什么。

到目前为止,我对 CLI 的寿命判断一直错,所以我大概也不是最适合预测这件事的人。

Harj:那你给 DevTool( Developer Tool,开发者工具)创始人的建议呢?如果今天有人在做 DevTool 公司,他应该只为工程师/人类构建,还是也要考虑“Claude 会怎么想”、要不要为 agent 构建?

Boris:我会这样表述:去想清楚模型想做什么,然后让它更容易做到。

比如我最初 hack Claude Code 的时候,我意识到:它就是想用工具,它想和世界交互。那你怎么支持它?不要把它关在盒子里,然后告诉它“这是 API、这是你跟我交互的方式、这是你跟世界交互的方式”。正确做法是:去观察它想用哪些工具、它想完成什么,然后像你为用户做产品一样,把这些能力真正“放开”,让它能做到。

所以如果你在做 dev tool 初创公司,我会先问:你要为用户解决什么问题?然后当你用模型来解决这个问题时,模型“想做的动作”是什么?最后你的技术方案与产品方案,如何同时服务用户的需求与模型的需求,让两边的权重和需求都被满足。

###从 TypeScript 到 Claude Code,愉悦感很重要

Diana:十多年前,你是 TypeScript 的重度用户,还写过一本 TypeScript 的书,那时 TypeScript 还没火起来,大家还深陷 JavaScript。那会儿 TypeScript 还很“怪”,很多人不理解它为什么要给 JavaScript 加类型。现在回头看,它反而成了正确方向。我觉得 Claude Code 在终端里的形态,跟早期 TypeScript 有很多相似之处。

Boris:TypeScript 做了很多很“奇怪”的语言设计。比如它的类型系统里几乎任何东西都可以变成 literal type,这非常极端,甚至 Haskell 都不这么做。它还有 conditional types,这种东西我觉得很多语言压根没想过。但它又很强类型。

早期 Joe Pamer、Anders 和团队构建 TypeScript 时的思路是:我们有很多大型、未类型化的 JavaScript 代码库,我们得把类型加进去;但你不可能让工程师改变写代码的方式。你也不可能让 JavaScript 程序员像 Java 程序员那样写 15 层 class inheritance。他们会按自己的方式写:用反射、用 mutation、用各种传统上很难做类型化的特性。

Diana:对任何强函数式程序员来说,那些都是“很不安全”的写法。

Boris:没错。所以他们没有逼人改变写法,而是反过来围绕这种写法去构建类型系统。这太聪明了。

很多点子在当时连学界都没人做,完全来自实践:观察人们怎么写 JavaScript,理解他们想怎么写,然后把类型系统“贴合”到这个现实里。

Claude Code 也有点类似:你可以把它当作 Unix 工具来用,可以 pipe 进去、也可以 pipe 出来;在某些方面它挺“严谨”的。但在几乎其他所有方面,它只是我们想要的工具而已。

我先为自己做一个工具,然后团队为自己做,再给 Anthropic 员工用,再给用户用,最后它就变得非常有用。这不是一个“学院派、原则性很强”的产物。

Diana:结果也证明了这一点。十五年后,Haskell 那样更学术的语言并没有成为大多数代码库的选择,TypeScript 这种更实用的语言反而大量铺开了。因为它解决了问题。顺便说一句,我也不知道有多少人知道:Claude Code 的终端界面可能是现在最漂亮的终端应用之一,而且是用 React terminal 写的。

Boris:我一开始做它的时候,我曾经做过一段时间前端。我也算是个“混合型”:做设计、做用户研究、写代码,都会一点。

我们也很喜欢招这种工程师,所以我们确实偏爱 generalists。

对我来说,我在做一个终端里的产品,但我其实 Vim 用得也挺差的(笑)。所以我会想:怎么做一个让“像我这样的人”也用起来舒服的终端工具?

愉悦感非常重要。

YC 也经常讲“做一个人们真正爱用的东西”。产品如果只是有用,但用起来不会爱上它,那不够好。它得同时做到“有用”和“让人爱”。

但为终端做设计真的很难:80×100 个字符左右、256 色、一个字号、几乎没有鼠标交互……你能做的事非常有限,trade-off 特别多。一个不太多人知道的点是:终端其实可以开鼠标交互,比如点击之类。

Jared:那 Claude Code 里怎么开?我一直想弄明白这个。

Boris:我们没有在 Claude Code 里做这个。我们其实原型过几次,但体验很糟。因为一旦你要做鼠标交互,就得虚拟化滚动,会带来很多很奇怪的 trade-off。终端的底层也很特殊——它没有 DOM,更多是 ANSI escape codes 之类的东西,是从 1960 年代一路“有机演化”出来的一堆规范。

Garry:这感觉 BBS。像那种 BBS 门口小游戏。

Boris:这评价太好了。

但我们确实得自己摸索出很多终端 UX 原则,因为几乎没人写这些。你看 80、90、00 年代的大型终端应用,它们用 curses,有一堆窗口,看起来以今天标准会比较“土”、比较厚重复杂。所以我们得重造很多东西。

比如一个很小的细节:终端里的 spinner(加载转圈那种提示),到现在可能迭代了 50 次、甚至 100 次,里面大概 80% 都没上线。我们就是不断试:不舒服就换下一个,再试,不舒服再换。

Claude Code 的一个神奇之处是:你可以连做 20 个原型,选一个最喜欢的,然后发布,整个过程可能也就几个小时。

过去你可能要用 Origami、Framer 之类的工具,做三版原型都得两周,慢很多。现在我们有一种“奢侈”:我们要探索一个新终点,我们不知道正确答案是什么,但我们能用极快的迭代速度逼近它——这让我们更容易做出一个“快乐的、让人爱用”的产品。

###给开发者们的其他建议

Jared:Boris,你刚才说你还有一些给 builders 的建议,但我们一直插话,因为好奇的问题太多了。

Boris:我大概还有两条建议,可能听起来有点“奇怪”,因为它们都跟“为模型构建”有关。

第一条是:不要为今天的模型构建,要为六个月后的模型构建。

这听起来有点反直觉,因为如果产品今天跑不通,就很难找到 PMF。但你还是应该这么做,否则你可能会花很多精力在“当下模型”的 PMF 上,然后很快被别人超车,因为他们在为下一个模型构建,而新模型几个月就来一次。

所以你要不断用模型,去摸清它能力的边界,然后为你认为“六个月后会出现的模型能力”做准备。

第二条建议是:在我们 Claude Code 团队的区域墙上,挂着一份《The Bitter Lesson》的装裱版。我觉得所有人都应该读这篇文章(作者是 Rich Sutton)。核心思想之一是:更通用的方法最终会赢过更特化的方法。推到极致,就是一句话:不要和模型对赌(never bet against the model)。

我们经常面临一个 trade-off:我们可以在 Claude Code 里加功能,让产品更好,这些非模型本体的代码我们叫 scaffolding(脚手架);但我们也可以等几个月,新模型可能就能原生做到这些。

这个权衡一直存在:你现在投入工程精力,可能在某个能力维度上多拿到 10%~20% 的提升;或者你干脆等下一代模型,免费得到。所以要始终用这个 trade-off 来思考:你到底要在哪些地方投入?并且假设你做的 scaffolding 最终都会变成“技术债”。

Diana Hu:那你们会不会每六个月就大改 Claude Code?有没有一些 scaffolding 被删掉了,因为模型变强后不需要了?

Boris:太多了。Claude Code 几乎就是写了又写、改了又改、重写了无数次。我们每隔几周就会下掉一些工具(unship),也会每隔几周加新工具。

六个月前存在的代码,现在几乎没有任何一部分还保留着——它一直在被重写。

Diana:那是不是可以说,当前 Claude Code 的代码库里,80% 都是最近几个月才写的?

Boris:对,肯定。甚至可能更短。几个月这个感觉挺准确的。

Diana:这也是另一个“alpha”:代码的 shelf life 可能只有几个月,顶尖的创始人应该预期这种生命周期。

###1000x 工程师,Claude 把传说变成现实

Garry:你们看到 Steve Yegge 那篇夸 Anthropic 工作体验的帖子了吗?里面有一句很震撼:他说 Anthropic 的工程师平均生产力是 Google 巅峰时期工程师的 1000 倍,这数字太夸张了。三年前我们还在聊 10x engineer,现在都在聊 1000x 了,还是“对标 Google 巅峰工程师”的 1000x,太离谱了。

Boris:内部确实是这样。如果看技术员工,大家每天都用 Claude Code,甚至非技术员工也在用——我觉得销售团队里大概有一半人在用 Claude Code。他们后来开始转向 co-work,因为更容易用,而且有 VM,会更安全一点。

我们刚拉了个数据:团队去年规模翻倍,但“人均工程产出”大概涨了 70%。衡量方式很粗糙——就是 pull requests,但我们也会用 commits、以及 commit 的生命周期等指标交叉验证。

自从 Claude Code 推出后,Anthropic 的人均工程产出整体涨了 150%。

因为我以前在 Meta 负责代码质量,也负责跨多个产品线的代码库质量。当时我们做“提升生产力”,看到 2% 的提升,都可能需要几百人干一年。所以这种 100% 级别的提升,是完全没见过的,彻底闻所未闻。

###作为开发者,Boris 为何选择加入 Anthropic?

Garry:你当初为什么会选择加入 Anthropic?你作为 builder,其实去哪都行。是什么让你觉得“就是这群人、就是这种方式”?

Boris:我当时住在日本乡下,每天早上刷 Hacker News。

后来某个时候开始,新闻全都是 AI。我开始用一些早期产品,记得第一次用的时候,真的有点“屏住呼吸”的感觉,说出来有点肉麻,但当时就是那种感觉:太惊艳了。那大概还是 Claude 2 的时代。

于是我开始跟 Labs 的朋友聊,看看他们在做什么。我认识了 Anthropic 的创始人之一 Ben Mann,他很快就说服了我。后来见到更多团队成员,也同样打动我,大概是两点:

第一,它真的像一个研究实验室在运转。产品本身非常小,核心只有一件事:把安全模型做出来。离模型更近、离研发更近、产品不是最重要的——模型才是最重要的。这对我这种做了很多年产品的人来说,非常共鸣。

第二点是它的 mission-driven(这里的 mission 指:确保 AI 安全发展,避免灾难性后果)。我是重度科幻读者,书架全是科幻。我很清楚这件事最坏情况下会有多糟。我在想今年会发生什么时,我觉得会非常疯狂;在最坏情况下,它也可能非常非常糟。所以我想在一个真正理解这一点、真正把它内化的地方工作。

在 Anthropic,你在食堂、走廊里听到的对话,大家都在聊 AI safety,这就是所有人最关心的东西。我很想待在这样的地方。对我个人来说,这个 mission 太重要了。

###预计“以后写代码都不用 IDE 了”

Jared:那你说“今年会发生什么”,你具体指什么?

Boris:如果你回想六个月前大家做的预测,Dario 预测过:Anthropic 里 90% 的代码会由 Claude 写。这个预测是真的。

对我个人来说,自从 Opus 4.5 之后基本就是 100%:我把 IDE 都卸了,我不再手写任何一行代码,全都用 Claude Code 和 Opus。我每天能落 20 个 PR。如果看 Anthropic 整体,不同团队在 70%~90% 之间浮动;很多团队、很多人其实也是 100%。

我记得今年 5 月我们发布 Claude Code 时,我还做过一个预测:以后写代码不需要 IDE 了。当时听起来特别离谱,我感觉台下都倒吸一口气,因为太夸张了。但其实你只要沿着指数曲线去推,这就是会发生的事情。

我们公司 DNA 里就有这条——因为我们的三位创始人是 scaling laws 那篇论文的共同作者,他们很早就看到这条曲线。所以这不是玄学,就是沿着指数走下去,而它确实发生了。

Boris:继续沿着这条指数往前推,我觉得编程会逐渐对每个人都“被解决”。

今天对我来说基本已经解决了;我认为以后对所有人都会如此,不管是什么领域。我们会开始看到 “软件工程师”这个头衔慢慢消失。可能会变成 builder、product manager,或者头衔还保留,但只是一个遗留符号。因为大家做的工作不再只是写代码:软件工程师还会写 spec、还会跟用户沟通。

我们团队现在已经出现这种趋势:工程师是通才,每个职能都在写代码——PM 写、设计师写、EM 写、甚至我们的 finance 同事也写。未来你会在更多地方看到这一幕

这算是沿趋势推演得到的“下限”。但“上限”更吓人。

比如我们提到 ASL4 在 Anthropic 我们有这些安全等级:ASL3 是目前模型所处的位置;ASL4 是模型具备递归自我改进能力。如果走到那一步,我们必须满足一堆条件才能发布模型。

最极端的情况,是出现递归自改;或者出现灾难性滥用,比如用模型设计生物病毒、设计 zero-day 等等。这些都是我们现在非常非常认真在防的事情,确保它不要发生。

我看到大家用 Claude Code 的方式,真的很震撼。我最初只是想做个酷东西,结果它变得这么有用,这既意外、又兴奋。

Harj:我从外界的感觉是,大家假期一结束就突然发现 Claude Code,然后就一路疯到现在。内部也是这样吗?你们是不是过了个美好的圣诞假期,回来发现“发生了什么”?

Boris:其实 12 月我一直在旅行,我给自己放了个“coding vacation”。到处走,但每天都在写代码,这种感觉还挺好。那段时间我也开始用 Twitter,因为我以前做过 Threads,所以我一直是 Threads 用户,我就想看看大家都在哪个平台活跃。

我觉得很多人就是在那时发现了 Opus 4.5。我其实早就知道 Opus 4.5 的能力了。内部这几个月 Claude Code 一直在指数式增长,所以假期之后曲线只是变得更陡了。

现在你看外部也有各种数据:比如 Mercury 说有 70% 的创业公司选择 Claude 作为首选模型;还有 SemiAnalysis 之类的数据说,公开 commits 里有 4% 是 Claude Code 产生的。

大公司用、小公司也用。甚至它还参与了 Perseverance(火星车)的航线规划,这对我来说太酷了。我们团队还专门印了海报,因为大家觉得“NASA 选择用这个东西”实在太酷了。但也感觉这才刚开始。

###非技术用户也开始用 Claude Code

Garry:Claude Code 和 co-work 之间是什么关系?co-work 是 Claude Code 的一个 fork 吗,还是你让 Claude Code 看了 Claude Code,然后写了个给非技术用户的 spec,再跑几天就做出来了?

Boris:我这大概是第五次用“latent demand”(潜在需求)这个词了(笑)。

我们当时看 Twitter:有人用 Claude Code 去监测番茄植物;有人用它从损坏硬盘里恢复婚礼照片;有人用它做金融相关的事情。

回到 Anthropic 内部:每个设计师都在用;整个财务团队都在用;数据科学团队也在用,但他们用它并不是为了写代码。很多人为了用它,愿意去折腾半天,在终端里安装一个东西。

我们很早就知道我们要做点什么,于是试了很多想法,最后真正“起势”的,就是桌面端 app 里那个简单的 GUI wrapper——本质就是 Claude Code 的外壳而已。底层还是同一个 agent,完全是 Claude Code。

Felix 是早期的重要贡献者,他很熟那套技术栈。当时他们在试各种想法,最后大概 10 天就把它做出来了,而且几乎 100% 都是 Claude Code 写的。我们觉得它已经到了可以发布的状态。

当然,为非技术用户要补很多东西:它会在虚拟机里运行;有很多删除保护;有很多权限提示和 guardrails。整体来说,这条路其实挺明显的。

参考链接:https://www.youtube.com/watch?v=PQU9o_5rHC4

多智能体系统一旦从顺序执行走向并行,测试的需求就更严格了。单个智能体的输出可能都是对的,但多个智能体并行决策、彼此影响时,集体行为可能违反系统级约束,而传统的单元测试和输出断言对这类问题完全无能为力。

这篇文章聚焦的就是这个问题:如何测试并行多智能体系统的协调行为。以一个跨四个城市的网络流量调度系统为例,从轨迹捕获、行为不变量、回放回归、黄金数据集到 CI/CD 集成,逐步搭建一套完整的协调测试框架。

被测系统

具体场景是骨干网光纤切断事件的自动响应。当故障被检测到时,一个 Coordinator Agent 分析影响范围,将任务分发给四个并行的区域流量智能体,分别负责纽约、达拉斯、拉斯维加斯和旧金山。四个智能体并行工作,转移流量负载,对非关键服务施加限速,目标是在级联拥塞发生之前完成处置。

                     ┌──────────────────────┐  
                    │  Fiber Cut Detected  │  
                    │  (BGP flap alarm)    │  
                    └──────────┬───────────┘  
                               │  
                               ▼  
                    ┌─────────────────────┐  
                    │  Coordinator Agent  │  
                    │  (impact analysis + │  
                    │   task delegation)  │  
                    └──────────┬──────────┘  
                               │  
          ┌────────────────────┼─────────────────────────────────────────┐  
          ▼                    ▼                    ▼                    ▼  
┌─────────────────┐  ┌─────────────────┐  ┌─────────────────┐  ┌─────────────────┐  
│   NYC Agent     │  │  Dallas Agent   │  │ Las Vegas Agent │  │    SF Agent     │  
│ Shift load to   │  │ Absorb transit  │  │ Rate-limit CDN  │  │ Reroute peering │  
│ NJ peer         │  │ from cut path   │  │ non-critical    │  │ via Seattle     │  
└────────┬────────┘  └────────┬────────┘  └────────┬────────┘  └────────┬────────┘  
         └────────────────────┴─────────────────────┴────────────────────┘  
                                          │  
                                          ▼  
                              ┌────────────────────────┐  
                              │  Reducer + Validation  │  
                              │  Merge state, check    │  
                              │  invariants, confirm   │  
                              │  SLA preserved         │  
                               └────────────────────────┘

每个区域智能体是 LangGraph 状态图中一个由 LLM 驱动的节点,在一个 super-step 中并行执行。这是 LangGraph 的并行节点执行机制,它们各自的输出在下一阶段开始前由自定义 reducer 合并。

这不是简单的流水线。这是协调式的并行推理,会引入顺序系统压根不存在的故障模式。

传统测试为什么在这里失效

传统软件里测试四个并行 worker 是可控的。Mock 输入,捕获输出,assert 正确性。Worker 是确定性的同样的输入永远给出同样的输出。

但智能体不是确定性的。

达拉斯智能体可能这次决定吸收 40% 的重路由负载,下次变成 35%。从遥测数据来看都说得通因为都是合理的决策。但差异足以让任何写死精确值的断言直接挂掉。比如硬编码

assert result.load_shift_percent == 40

,下一次模型升级或 prompt 调整就会让它失败。。

更麻烦的情况是四个智能体并行跑、决策互相纠缠的时候。纽约智能体把负载转向某条通道,拉斯维加斯智能体却在同一条通道的过时利用率数据上做决策。如果单独看两个智能体都没做错什么,但放到一起它们制造了一个认为的拥塞。

每个智能体的输出看起来都是对的,但是协调出了问题。

智能体测试要捕获的正是这类故障,不是单个智能体的正确性而是集体行为的完整性。

步骤一:捕获执行轨迹

首先需要的是可观测性。看到的不能只是最终状态,还要包括完整的决策序列——每个并行智能体干了什么,reducer 怎么合并的输出。

LangGraph 的 checkpoint 机制天然提供了这些:

 fromlanggraph.checkpoint.sqliteimportSqliteSaver
 
 checkpointer=SqliteSaver.from_conn_string("incidents.db")  
 graph=fiber_cut_graph.compile(checkpointer=checkpointer)  
 result=graph.invoke(alarm_event, config={"configurable": {"thread_id": "incident-2024-0312"}})

从存储的历史记录中提取执行轨迹:

 START  
  → coordinator_analysis    [Impact: HIGH | Regions: NYC, DAL, LV, SF]  
  ┌─ nyc_agent              [Load shift: 30% → NJ peer | Rate-limit: OTT]  
  ├─ dallas_agent           [Transit absorption: 38% | Carrier notified]  
  ├─ lv_agent               [CDN rate-limit: applied | MPLS LSPs: held]  
  └─ sf_agent               [BGP MED adjusted | Reroute: Seattle path]  
  → reducer_merge           [Total redistributed: 102% ⚠]  
  → sla_validation          [SLA breached: false | Margin: 4%]  
 END

注意 reducer 中那个

102%

。这种问题只有轨迹捕获才能暴露出来。四个智能体各自基于自己对网络的局部视图做判断,集体的结果是容量过度承诺。没有哪个智能体做错了决定,但系统层面却出了问题。

设计良好的 reducer 难道不能自动阻止这种情况发生吗?

能,但是这恰恰就是重点。在 LangGraph 中自定义 reducer 就是协调约束的载体。通过条件边可以在总承诺负载超过容量时,把执行路由到重新平衡步骤,在任何实际操作执行之前拦截。

但Reducer 不只是个合并函数,它是执行层。

在 LangGraph 的并行执行中reducer 承担的角色相当于分布式事务边界,或者说是唯一一个能在副作用发生之前基于所有智能体的组合意图评估全局不变量的位置。

轨迹测试验证的是这个执行层有没有实际运行,不变量测试验证的是它有没有守住规则。

步骤二:行为不变量

不变量是结构性规则:无论底层跑的是哪个 LLM、选了什么路由、智能体之间怎么分工这些规则都必须成立,因为这些规则是由业务来定义的。

多智能体网络系统不存在一套通用的不变量。金融客户和 CDN 运营商的 SLA 承诺不同;处在维护窗口的区域和正常运行的区域约束也不同。不变量应该反映的是业务上下文不只是技术拓扑。

不过有些不变量是系统级的,对任何并行流量响应系统都值得显式定义。

不变量 1:流量在转移过程中必须守恒。

这是最底层的保障。流量从路径 X 挪到路径 Y 或路径 Z,但进入网络的总流量在重新分配前后必须相等,不能有流量被静默丢弃,也不能被重复计算。

 def invariant_traffic_conservation(pre_shift: dict, post_shift: dict) -> bool:  
     pre_total = sum(pre_shift["path_volumes"].values())  
     post_total = sum(post_shift["path_volumes"].values())  
     return abs(pre_total - post_total) <= pre_total * 0.01  # allow 1% drift

这个不变量一旦失败,问题就不只是协调错误了,要么流量被黑洞吞掉了,要么智能体在不一致的状态快照上做决策。

在智能体系统中确定性被有界变异性替代。目标不是冻结输出而是定义变异的结构性边界。

不变量 2:SLA 验证必须在 reducer 合并之后运行,绝不能在之前。

每个区域智能体看到的只是网络的局部。SLA 影响只有在四个决策合并为全局状态之后才能真正评估。在部分状态上跑 SLA 检查,比不跑还糟——它给人一种虚假的安全感。

 def invariant_sla_after_merge(trajectory: list[str]) -> bool:  
     return trajectory.index("sla_validation") > trajectory.index("reducer_merge")

不变量 3:不允许任何区域在没有有效操作集的情况下行动。

如果某个区域智能体返回了空操作,比如所有备选路径都在维护。这时系统不能静默地继续执行,必须升级给人来处理。静默的部分执行是事后复盘里最让人困惑的故障模式。

 def invariant_no_silent_partial_execution(merged_state: dict, trajectory: list[str]) -> bool:  
     for region in ["nyc", "dal", "lv", "sf"]:  
         if not merged_state[region].get("actions"):  
             return "escalate_to_human" in trajectory  
     return True

不变量 4:承诺容量不能超过可用余量。

这条直接验证 reducer 的条件边逻辑。如果各区域转移量之和超过骨干网可用容量,系统必须走重新平衡流程而不是执行已经超限的方案。

 def invariant_no_capacity_overcommit(merged_state: dict) -> bool:  
     total_shifted = sum(merged_state[r]["load_shift_percent"] for r in ["nyc", "dal", "lv", "sf"])  
     return total_shifted <= merged_state["backbone_available_capacity_percent"]

每次执行后把四个不变量全跑一遍,就是在对整个协调层做行为健康检查,而不是只看某个智能体的输出。

步骤三:基于回放的回归测试

上线半年后团队升级到了新版 LLM。单个智能体的决策质量确实提升了,但并行执行时旧金山智能体变得更激进了,比如在负载转移上承诺到更高的比例,把总利用率推过了 reducer 调优时设定的余量阈值。不变量本可以抓住这个问题,但如果升级完没人跑回放测试,它就带着隐患上了线。

LangGraph 的 checkpoint 机制让每个真实事件都成了回归测试资产。把原始输入在更新后的图上重新跑一遍,提取新轨迹然后验证所有不变量是否依然成立。

更聪明的模型可能用更短的路径达到同样的结果。但在并行协调系统中无法解释的漂移必须经过人工审查,特别是 reducer 和 SLA 验证步骤前后的变化。

回放测试的价值不只是抓住已知的故障更是建立一种信心:模型和 prompt 的变化不会在所有输出级测试的盲区之外悄悄改变系统的集体行为。

步骤四:来自真实事件的黄金数据集

真实事件里藏着你编都编不出来的边界情况:维护窗口和光纤切断同时发生了、BGP 重收敛在执行中途发生、遥测数据对一个区域返回过时结果而其他区域正常。

系统处理过的每一个真实事件都是黄金数据集的候选,这里有一个核心设计原则:不要记录每个智能体说了什么,要记录哪些属性必须成立。

黄金数据集的一条记录包含原始输入(真实遥测快照、拓扑状态、当时的策略约束)和预期行为属性:哪些不变量必须成立、哪些轨迹节点必须出现、哪些不能出现。不记录精确输出值,不记录具体路径名。

这样做的好处是数据集不会随着系统演进而过时。模型换了、prompt 改了、图逻辑重构了,数据集验证的依然是真正重要的东西不会在合理变化的部分误报。

步骤五:CI/CD 集成

智能体测试不自动化就没有意义,每次 prompt 变更、工具 schema 更新、或者切换模型版本,流水线都应该回放黄金数据集,并且在任何变更上线之前完成不变量验证。

不变量违规是硬性失败流水线直接挂掉。轨迹漂移标记出来交给人审查但不自动阻断,可接受的行为变化和真正的回归之间的判断,应该由人来做而不是流水线。

阈值问题值得提前想清楚:不是所有轨迹变化都是回归,有时更智能的模型会走一条更高效的路径。在凌晨 2:47 做部署回滚的时候再去定义什么叫"有意义的漂移"就太晚了。

换个角度想:升级路由协议之前你不会不跑回归测试,升级多智能体协调图里的 LLM 也不应例外。

步骤六:协调测试——并行系统真正出事的地方

多智能体系统里最难缠的故障不在任何单个智能体内部。它们存在于智能体之间的缝隙——并行系统比顺序系统有多得多的这种缝隙。

三种故障模式反复出现:

 ┌─────────────────────────────────────────────────────────────┐  
 │  Pattern 1: Capacity Overcommit                              │  
 │                                                             │  
 │  Each agent independently prefers the eastern backbone.     │  
 │  Reducer sums all four shifts → 105% utilization.           │  
 │  No single agent was wrong. The coordination was.           │  
 └─────────────────────────────────────────────────────────────┘
 ┌─────────────────────────────────────────────────────────────┐  
 │  Pattern 2: Stale State in Parallel Branches                 │  
 │                                                             │  
 │  NYC Agent reads backbone_utilization = 72%                 │  
 │  DAL Agent reads backbone_utilization = 68% (4s stale)      │  
 │  Both make shift decisions on different views of reality.   │  
 │  Reducer aggregates inconsistent data as if it were valid.  │  
 └─────────────────────────────────────────────────────────────┘
 ┌─────────────────────────────────────────────────────────────┐  
 │  Pattern 3: Reducer State Overwrite                          │  
 │                                                             │  
 │  Multiple agents write to a shared metric field.            │  
 │  Last writer wins → earlier, higher-accuracy data lost.     │  
 │  Downstream agents make decisions on corrupted state.       │  
 └─────────────────────────────────────────────────────────────┘

针对每种模式,要写专门的协调测试:注入问题状态,运行图,断言 reducer 和条件边正确处理了冲突。测试的不是智能体聪不聪明,而是协调层能不能在智能体产出合理但相互冲突的结果时依然执行结构性规则。

这是大多数团队在智能体测试中跳过的部分,也恰恰是造成生产事故最多的部分。

总结

至此已经搭建起了一套完整的基线:轨迹捕获、行为不变量、回放回归测试、黄金数据集、CI/CD 集成、协调测试。对于一个并行管理四座城市流量的系统来说,这是把它放到生产环境之前必须具备的测试纪律。

但这个框架还有几个没有覆盖的问题,值得明确指出。

系统对每个决策有多大信心?达拉斯智能体选了 38% 的负载吸收率,这是基于清晰遥测数据的高置信度判断,还是不确定条件下的最优猜测?如果能在决策粒度上引入置信度评分,就可以校准每一步需要多大程度的人工介入。这个在智能体操作实时骨干网流量的场景下,这一点非常关键。

混沌环境下会发生什么?遥测 API 返回过时数据,拓扑数据库落后 90 秒,某个区域智能体的工具调用在执行中途超时而其他三个正常推进。当前的测试假设环境全程配合但是生产中不会,针对智能体系统的混沌测试目前还没有成熟的标准化工具,所以只能手动进行。

传统软件里bug 是逻辑错误。代码做了不该做的事;并行智能体系统里的 bug 往往以另一种形态出现:协调漂移。

四个智能体各自推理正确,各自的决策在隔离环境下都站得住脚,但组合在一起违反了一个系统级不变量。系统平稳运行了半年某次模型升级让某个智能体的决策偏了那么一点,刚好够造成 reducer 没有拦住的容量过度承诺。

该问的问题不是"系统有没有产出正确的输出",而是"系统有没有通过正确的协调达到这个输出,而且在模型和 prompt 持续演进的过程中,它能不能一直做到"。这是两个完全不同的问题,需要完全不同的工具。

https://avoid.overfit.cn/post/da0b85b778d24bd4b8aa8430026b37f6

作者:ravikiran veldanda

如果软件可以由 AI 现场生成,那应用商店会不会消失?

知名 AI 工程师、神经网络布道者 Andrej Karpathy,前两天又发了篇长帖,引起热议。最主要的意思是:

以后可能不用专门去应用商店“找”App 了,你只要说清楚想干嘛,AI 现场给你做一个——而且可能只要 1 分钟就做好了。

图注:节选自 Andrej Karpathy 新帖子

他拿自己做的实验,举了个例子:

打算用 8 周时间,把静息心率从 50 降到 45(静息心率,是人在完全放松状态下每分钟的心跳次数,常被用来衡量心肺功能)。

一般人遇到这种需求,大概率是去应用商店搜“Cardio Tracker”之类的 App。但 Karpathy 另辟蹊径——没请开发者,也没下载现成的 App;而是直接用一个 AI Agent,临时做了一个专门追踪这次训练计划的仪表盘。

这个 Agent 反向解析跑步机云端接口,拉原始数据、清洗、调试,再生成一个网页前端,1 小时搞定。而两年前,这大概要 10 小时。

但 Karpathy 并不满足于“只用 1 小时”,他在想为什么还要 1 小时?

他分析认为,时间并没怎么花在“理解需求”上,而是主要花在了补基础设施:接口不友好、缺乏 AI 原生 API、单位制和日历逻辑要人工修 bug 等等。

他吐槽道:

“99% 的产品和服务仍然没有 AI 原生的 CLI。99% 的产品和服务仍然维护着 .html/.css 的文档,好像我不会第一时间把内容复制粘贴给我的 Agent 去完成任务似的。”

换句话说,现在的最大阻力不在模型能力,而在生态还没准备好。

于是,他大胆预判:如果设备本身,提供 Agent 可直接调用的 API、如果常见功能有成熟技能库、如果 AI 已经掌握个人长期数据;那么这件事,理论上只剩下“描述需求 + 自动拼装”未来可能只需 1 分钟。

其实,这早已埋下了伏笔。Karpathy 于 2023 年写的“名言”:“目前最热门的新编程语言是英语”,现在还挂在他主页置顶。

当自然语言本身就是编程接口,软件就不一定非要先被做成一排排固定产品,等人去下载。它可以在对话里被拼出来,在具体场景中存在,用完就消失。

在 Karpathy 看来,如果“说一句需求”,比“进应用商店挑一个”更快,那默认入口迟早会变。

当语言成为编程接口,Karpathy 眼中的软件未来

除了预判未来 AI 可以迅速定制软件,这篇帖子的核心观点,还可以拆成以下几条:

  • 软件正在从“标准化产品”,变成“按需生成的临时工具”,更短暂、更个性化。

  • 这要求硬件和软件提供 AI 原生 API,让机器和机器直接对话,而不是依赖人为操作界面。

  • 企业可能不再大量购买 SaaS,而是动态生成工具。而且传统 UI,也可能被 Agent 编排替代。

  • 应用商店不会消失,但它的角色会弱化,未来更可能是“经过验证的基础层 + AI 个性化扩展”的混合模式。

  • 真正的竞争力,不再是谁“懂 AI”,而是谁能最快把 AI 部署成实际可用的系统。

以下为帖子原文,InfoQ(AI 前线)在不改变原意的情况下,对其进行了整理编辑。

我对高度定制化软件即将到来的时代会是什么样子,非常感兴趣。

举个今天早上的例子,我最近在有氧训练上有点松散,于是决定做一个更认真、更有纪律的实验:

在 8 周内,把静息心率从 50 降到 45。主要方式是完成一定总时长的 Zone 2 有氧训练,并且每周做 1 次 HIIT。

1 小时后,我用 Vibe Coding 做了一个为这次实验量身定制的超专属仪表盘,用来追踪进度。Claude 不得不反向解析 Woodway 跑步机的云端 API,拉取原始数据,进行处理、过滤、调试,并创建一个 Web 前端界面来跟踪这个实验。

过程并不完全顺畅,我需要发现并指出一些 bug,让它修复,比如它搞错了公制和英制单位,也把日历里的日期和星期匹配错了。

不过,我依然觉得整体方向是清晰的:

  1. 永远不会(也不应该)有一个专门为这种事情存在的应用商店 App。

我不应该为了这个去找、下载、使用某个“有氧实验追踪器”。这不过是大约 300 行代码,一个 LLM Agent 几秒钟就能生成。那种在应用商店里从一长串离散应用中挑选一个的模式,在 LLM Agent 可以现场即兴生成只属于你的应用时,显得有些不对劲,也有点过时。

  1. 其次,这个行业,需要重构一套服务体系:由传感器和执行器组成,并具备对 Agent 原生友好的使用方式。

我的 Woodway 跑步机,本质上就是一个传感器:它把物理状态转化为数字信息。它不应该维护一个面向人类的前端界面,而我的 LLM Agent 也不应该去反向工程它;它应该提供一个可以被 Agent 轻松使用的 API 或 CLI。整个行业在这方面推进得非常缓慢,这让我有点失望(也直接拖慢了我的进度)。

99% 的产品和服务仍然没有 AI 原生的 CLI。99% 的产品和服务仍然维护着 .html/.css 的文档,好像我不会第一时间把内容复制粘贴给我的 Agent 去完成任务似的。他们在网页上给出一串操作说明,让你打开某个 URL、点击这里或那里去做某件事。

现在都 2026 年了,为什么还要我手动操作?要么系统自动完成,要么交给我的 Agent。

所以,总的来说,我今天确实对这件事只花了 1 小时感到满意(两年前大概要 10 小时)。

但更让我兴奋的,是去思考:它本来应该只需要 1 分钟。

要实现 1 分钟,需要什么条件?让我只需说一句:“嗨,能帮我在接下来 8 周追踪有氧训练吗?”在简短的问答之后,应用就自动搭建完成。AI 已经掌握大量我的个人背景信息,会主动收集额外所需数据,调用和检索相关技能库,并维护我所有这些小应用和自动化流程。

简而言之,从一组离散应用中挑选的“应用商店”概念本身正在迅速过时。未来将是由 AI 原生的传感器和执行器组成的服务体系,通过 LLM 这层“胶水”进行编排,生成高度定制、短暂存在的应用。只是,这个未来还没有真正到来。

应用商店不会消失,但软件即时刻?

Karpathy 和这篇文章,让网友们吵翻了。

有人觉得,他说出了自己这两年的直觉。一个叫“AIM Network”(下面简称 AIM)的媒体形容道:

“我们过去收集软件的方式,就像收集书一样:精挑细选、下载安装、定期更新,然后慢慢被遗忘。这种习惯可能已经不太适合未来。

......未来的流程可能不再是‘下载—安装—配置—适配’,而是‘描述—生成—使用—丢弃’。软件将变得短暂、个性化、一次性。”

AIM 还提出:未来,“软件即当下时刻”,而不是“软件即产品”——软件不再是一个被打包、上架、定价的产品,而更像一段即时生成的服务。

不过,他们也没把话说满:应用商店不会突然消失,而是进化成全新的“应用商店 2.0”、“应用商店 3.0”版本。原因很现实:它承担的是信任、审核和安全机制。

未来更可能出现的画面是:不再卖一堆细碎的 App,而是提供可靠的底座,让 Agent 在上面自由拼装。底层还是一套经过验证的基础能力,上面叠加由 AI 即时生成的个性化扩展。

换句话说,要消失的,未必是软件本身,而是“软件必须以固定产品形态存在”这件事。

未来更可能是混合模式:经过验证的基础软件层之上,叠加可定制的 AI 生成扩展,并配合受控的 Agent 权限机制,即“经过筛选的基础能力+个性化智能”。

换句话说,未来消失的可能不是“软件”,而是“软件作为固定产品”的概念。

此前,Karpathy 仅用 243 行 Python 代码,就写出了一个能跑的 GPT。由此可见,大模型不再是高不可攀的黑箱技术,而是越来越标准化、可复用的能力模块。

当模型本身越来越“平民化”,真正的竞争优势,就会转向别处:比如基础设施是否顺滑、算力是否充足、Agent 工作流是否成熟等等。竞争不只在模型,更在部署速度。

还有一点,如果说 Karpathy 给的是一个方向:“语言正在变成接口,工具可以即兴生成”;那 AIM 补上的,是一串连锁反应:一旦生成速度足够快,分发逻辑、SaaS 结构,甚至企业 IT 预算怎么花,都会跟着松动。

也有很多网友质疑。

有人觉得 Karpathy 作为一个 AI 从业者,在自卖自夸,就像:“你是个厨师,但并非每个人都想成为或愿意成为厨师。”

Karpathy 表示,人们还在用“软件稀缺”的旧思维看问题,而当软件变得极度廉价、可随时生成时,传统意义上的“应用”本身可能都会失去存在意义。

还有人觉得,首先要想清楚自己要什么,本身就很耗费精力,锐评道:“你奶奶会自己做 App 吗?”

Karpathy 回复道:“奶奶当然没有必要知道应用程序或者知道有应用程序。应该是她的 LLM 代理知道。”

然后,站 Karpathy 的人,说未来 AI 就是好的设计师。

反对者则表示:“构建软件最困难的部分是弄清楚客户真正想要什么。但你声称一个 LLM 能从一位连问题领域词汇都不具备的人的随意语音提示中破解它?”

对于未来的 APP 形态,你怎么看?

参考链接:

https://x.com/karpathy/status/2024583544157458452

https://www.youtube.com/watch?v=GXO-vwg_Q-o

Locusify

旅行照片堆在相册里,却不知道怎么展示?, Locusify 帮你一键把旅行照片变成可视化路线地图 + 电影级轨迹视频!

✨ 核心功能

📸 上传照片,自动识别地点

只需上传带 GPS 信息的旅行照片,自动从 EXIF 数据中提取位置坐标,无需手动标记。

🗺️ 可视化路线地图

所有拍摄地点自动展示在地图上,支持聚类显示,一眼看清整段旅程走过的每一处。

🎬 轨迹动画回放

照片按时间顺序生成流畅的轨迹动画,摄像头跟随路线移动,像电影一样重温旅途。

💾 一键保存视频

轨迹回放录制后可直接保存为视频,分享到社交媒体,让旅行记录更有仪式感。

Locusify Demo

纯 vibe coding 项目,欢迎大家多提意见

在线体验地址: https://locusify.caterpi11ar.com

成品演示视频: https://imgur.com/a/JfPhJ32 (一条 Prompt 自动生成,带旁白、背景音乐、字幕,17 秒完整成片)

做了一个开源项目 AgentCut,用 6 个 AI Agent 协作完成从文字描述到成片的全流程视频生产。

GitHub: https://github.com/calderbuild/agentcut

它能做什么

输入一段文字描述(比如"东京日落的电影感航拍"),6 个 Agent 按流水线自动工作:

  1. Director Agent -- 分析创意方向,规划分镜
  2. Script Agent -- 编写制作脚本(视频提示词、旁白、字幕)
  3. Visual Agent -- 生成视频片段( Hailuo 2.3, 1080P )
  4. Voice Agent -- 合成旁白语音( Speech-2.6-HD )
  5. Music Agent -- 生成背景音乐( Music-2.0 )
  6. Editor Agent -- ffmpeg 合成最终 MP4

其中 Visual 、Voice 、Music 三个 Agent 并行执行,Editor 等三者完成后合成。

截图

首页:

landing

Pipeline 运行中( 6 个 Agent 实时状态 + Production Log ):

pipeline

技术栈

  • LLM: MiniMax M1
  • 视频生成: MiniMax Hailuo 2.3
  • 语音合成: MiniMax Speech-2.6-HD
  • 背景音乐: MiniMax Music-2.0
  • 合成: ffmpeg
  • 后端: Python FastAPI + SSE 实时推送
  • 前端: HTML + Tailwind CSS

快速开始

git clone https://github.com/calderbuild/agentcut.git
cd agentcut
pip install -r backend/requirements.txt
cp .env.example .env  # 填入 MiniMax API Key
python -m backend.main

也支持 Docker 一键部署。每个视频生成成本约 $0.40-0.70 。

MIT 协议,欢迎 Star / Fork / PR 。

今日速览

  1. Rork Max:一键打造苹果全平台应用,AI 替代 Xcode。
  2. Lyria 3 by Google Deepmind:照片变歌曲,Gemini 里的音乐魔法。
  3. git-lrc:免费 AI 代码审查,每次提交自动刹车。
  4. WANotifier:WhatsApp 营销自动化,Meta 官方零加价。
  5. Prism Videos:AI 视频创作平台,素材生成到编辑一站式搞定。
  6. Macky:iPhone 远程连 Mac 终端,躺平也能敲代码。
  7. PulseKit:关键指标变桌面小部件,数据变化一目了然。
  8. Woise:屏幕加语音录制反馈,告别模糊问题描述。
  9. KraftCV:简历像代码分支管理,针对每个职位定制。
  10. Stish From Start to Finish:营销活动全平台管理,AI 搜索客户资产。


1. Rork Max

想开发苹果应用却头疼 Xcode 的复杂?这款 AI 神器能帮你一键搞定,从 iPhone 到 Vision Pro,全平台覆盖,轻松打造游戏、AR 甚至 Siri 功能。

  • 支持所有苹果设备:iPhone、iPad、Apple Watch、Apple TV、Vision Pro。
  • 首个基于网页的 Swift 应用构建器,无需本地安装。
  • 一键部署到 App Store,简化发布流程。
  • 内置 3D 游戏、增强现实、身体追踪等高级功能。
  • 设计界面直观,降低开发门槛。

热度:🔺649

Rork Max

访问官网 Product Hunt 详情


2. Lyria 3 by Google Deepmind

在 Gemini 里,把随手拍的照片或脑洞大开的想法,瞬间变成一首带人声的定制歌曲,让创意不再只停留在想象。

  • 基于最先进的音乐生成模型 Lyria 3,目前开放测试版。
  • 支持文字或图片输入,自动生成 30 秒音乐曲目。
  • 包含人声和封面艺术,提升成品质感。
  • 集成在 Gemini 应用和网站,使用便捷。
  • 降低音乐创作门槛,适合普通用户和创作者。

热度:🔺333

Lyria 3 by Google Deepmind

访问官网 Product Hunt 详情


3. git-lrc

AI 生成代码快如闪电,但背后可能藏雷?这个工具就像你的代码刹车系统,每次提交时自动审核,确保逻辑、安全都到位。

  • 免费且无限制的 AI 代码审查,集成到 git 提交流程。
  • 自动分析代码差异,检查逻辑错误、约束放松等问题。
  • 防止云调用成本激增或凭证泄露等安全隐患。
  • 提升代码质量,减少人工 review 负担。
  • 适合开发团队和独立开发者,增强 GenAI 使用信心。

热度:🔺257

git-lrc

访问官网 Product Hunt 详情


4. WANotifier

想在 WhatsApp 上玩转营销,却怕成本太高?这个平台帮你全流程自动化,还是 Meta 官方伙伴,收费透明零加价。

  • 一体化 WhatsApp 营销工具,覆盖获客、互动到转化全周期。
  • 作为 Meta 技术合作伙伴,直接使用 WhatsApp API,无额外费用。
  • 已服务超 5000 客户,Trustpilot 评分 4.8,口碑可靠。
  • 支持自动化消息推送,提升客户参与度和重复购买率。
  • 界面友好,适合中小企业和营销团队快速上手。

热度:🔺200

WANotifier

访问官网 Product Hunt 详情


5. Prism Videos

做短视频总在多个工具间切换?这个工作空间让你从生成 AI 素材到编辑时间轴,全在一个地方完成,省去下载上传的麻烦。

  • 统一平台处理 AI 视频创作,支持多模型生成图像和视频素材。
  • 内置项目管理和时间轴编辑器,无需本地存储文件。
  • 提供模板和一键重建功能,复用社区预设提升效率。
  • 简化短视频制作流程,适合内容创作者和营销人员。
  • 社区驱动,不断更新资源和工具集成。

热度:🔺182

Prism Videos

访问官网 Product Hunt 详情


6. Macky

窝在沙发或床上,突然想连 Mac 终端改个代码?用 iPhone 就能轻松搞定,告别固定办公桌的束缚。

  • 从 iPhone 无线连接到 Mac 终端,支持多场景使用。
  • 操作简单,快速建立远程会话,提升移动办公灵活性。
  • 适合开发者、运维人员临时处理任务。
  • 低延迟设计,确保命令响应及时。
  • 增强设备间协作,无需额外硬件。

热度:🔺143

Macky

访问官网 Product Hunt 详情


7. PulseKit

厌倦了反复打开仪表盘看数据?把关键指标变成桌面小部件,放在苹果设备主屏,变化随时掌握。

  • 将 Product Hunt、LinkedIn 等平台指标转化为小部件,实时显示。
  • 兼容多种工具,未来持续增加整合,扩展性强。
  • 非替代仪表盘,而是前置数据层,提升监控效率。
  • 界面简洁,自定义选项丰富,适配不同业务需求。
  • 减少手动查询时间,专注于决策和行动。

热度:🔺136

PulseKit

访问官网 Product Hunt 详情


8. Woise

用户反馈总是“它坏了”,让人摸不着头脑?用这个工具录屏加语音,AI 转文字,问题一目了然,沟通效率飙升。

  • AI 语音和屏幕录制工具,专为网站反馈设计。
  • 用户直接展示问题或想法,减少模糊描述。
  • 自动语音转文本,方便快速查阅和存档。
  • 提升错误报告和功能请求的准确性,缩短解决周期。
  • 适合产品团队、客服和支持人员,优化用户互动。

热度:🔺132

Woise

访问官网 Product Hunt 详情


9. KraftCV

找工作投简历,每次都手动调整?这个工具把简历当代码分支管理,为每个职位定制版本,还永久免费。

  • 简历版本库模式,每个职位创建独立分支,智能管理历史。
  • 生成针对性内容,优化 ATS 通过率,尤其适合技术岗位。
  • 无限 PDF 导出,无水印,无付费墙,基础功能全免费。
  • 积极求职时可开启强力模式,每天仅 1 美元,提升申请效率。
  • 界面直观,导出灵活,支持个性化模板。

热度:🔺58

KraftCV

访问官网 Product Hunt 详情


10. Stish From Start to Finish

营销活动跨平台管理,数据散乱找不到?这个工具用 AI 搜索统一客户资产,让团队协作不再抓狂。

  • 全平台营销活动管理,集成像素、GTM、CMS 等 20 多种工具。
  • AI 搜索功能,快速查询客户资产如“Acme 有像素吗?”。
  • 客户资产跟踪,集中管理访问权限和集成状态。
  • 内置任务和协作模块,提升团队项目管理效率。
  • 基于真实客户需求开发,解决数据混乱痛点。

热度:🔺39

Stish From Start to Finish

访问官网 Product Hunt 详情

打架行为识别数据集:公共安全与智能安防的异常行为检测数据

数据集分享链接

链接:https://pan.baidu.com/s/1WTJJEL94p6OM6rCfyvpjnw?pwd=cn7t

提取码:cn7t 复制这段内容后打开百度网盘手机App,操作更方便哦

一、公共安全与智能安防的时代背景

随着社会对公共安全需求的不断提高,基于计算机视觉的智能监控逐渐成为安防体系中的重要组成部分。在城市化进程不断加快的今天,公共场所的人员管理面临越来越大的挑战。如何有效监控和管理公共场所,保障公共安全,提高安全管理效率,成为智慧城市建设的重要课题。

在公共安全领域,打架、斗殴等暴力行为往往会引发严重的安全事故。打架行为不仅会造成人员伤亡,还会引发恐慌,影响社会秩序。传统的人工监控方式存在效率低下、易疲劳、易漏检等问题,难以及时发现和阻止打架行为。因此,如何利用技术手段及时发现和预警打架行为,成为公共安全管理面临的重要挑战。

在校园安全领域,打架行为是校园安全的重要隐患。校园作为人员密集的场所,打架行为不仅会造成人员伤亡,还会影响校园秩序,给学生和家长带来恐慌。传统的人工监控方式难以及时发现和阻止打架行为,需要借助技术手段提高校园安全管理的效率。

在商场安防领域,打架行为是商场安全的重要隐患。商场作为人员密集的场所,打架行为不仅会造成人员伤亡,还会影响商场秩序,给商家和顾客带来损失。传统的人工监控方式难以及时发现和阻止打架行为,需要借助技术手段提高商场安全管理的效率。

在智慧城市建设领域,打架行为识别技术能够优化城市管理,提升城市安全水平。通过实时监测公共场所的人员行为,智慧城市系统可以及时发现异常行为,提高安全管理效率。同时,打架行为识别技术还能够用于安全预警,为城市管理提供数据支持。

传统的监控方式依赖人工盯守,不仅效率低下,而且容易出现遗漏和延迟。而通过深度学习技术对视频监控中的人物行为进行自动识别和分析,能够大幅提升异常行为的发现速度与准确率。其中,打架行为检测是异常行为识别中的关键应用场景。如何利用高质量的数据集训练出准确的检测模型,成为学术研究和实际应用中的核心问题。本文介绍的打架目标检测数据集(3000张图片已划分、已标注),正是针对这一需求而构建,为研究人员和开发者提供了一个可直接应用的实验平台。

在这里插入图片描述

二、数据集核心特性与架构分析

该数据集包含3000张图片,图像均来自多种真实场景和模拟场景,涵盖了多种可能发生打架的场景。以下是该数据集的核心特性分析:

graph TD
    A[打架行为识别数据集] --> B[数据规模]
    A --> C[检测类别]
    A --> D[数据质量]
    A --> E[场景多样性]
    
    B --> B1[3000张图片]
    B --> B2[训练集2400张]
    B --> B3[验证集600张]
    B --> B4[比例约4:1]
    
    C --> C1[打架人员]
    C --> C2[普通人员]
    C --> C3[2个类别]
    
    D --> D1[YOLO格式标注]
    D --> D2[人工标注]
    D --> D3[标准划分]
    
    E --> E1[校园场景]
    E --> E2[商场场景]
    E --> E3[街道场景]
    C --> E4[室内场景]

2.1 数据集基本信息

数据集的基本信息如下:

项目说明
图像总量3000张
类别数量2个类别
训练集2400张
验证集600张
训练集和验证集比例约4:1
标注格式YOLO格式 / COCO格式
任务类型目标检测(Object Detection)

2.2 检测类别定义

数据集共包含2个检测类别:

打架人员(Fighting)

打架人员是指参与打架行为的人员,是打架行为识别的主要目标。打架人员是公共安全的重要检测对象,对于及时发现和阻止打架行为具有重要意义。打架人员的准确识别能够帮助系统及时发现打架行为,为安全预警提供数据支持。

普通人员/背景人物(Normal)

普通人员/背景人物是指未参与打架行为的普通人员,是打架行为识别的背景类别。普通人员/背景人物是公共安全的重要检测对象,对于区分打架行为和正常行为具有重要意义。普通人员/背景人物的准确识别能够帮助系统准确识别打架行为,降低误报率。

三、数据集详细内容解析

3.1 数据集概述

该数据集包含3000张图片,图像均来自多种真实场景和模拟场景,涵盖了多种可能发生打架的场景,例如:校园操场、走廊、商场、超市、街道、广场、室内公共场所。

数据集的主要特点:

已完成划分

分为训练集与验证集,方便研究者直接用于模型训练与性能评估。已完成划分能够确保模型训练与评估的科学性,提高研究效率。

高质量标注

所有图片均经过人工标注,包含清晰的目标框,确保检测模型能够精准学习。高质量标注能够为模型训练提供准确的监督信号,提升检测性能。

多样化场景

既有白天的室外环境,也有光照不足的夜间监控视频截图,增强模型的泛化能力。多样化场景有助于模型学习适应不同环境的能力,提升模型的泛化能力。

3.2 数据集详情

图片数量

3000张

标注类型

目标检测(Bounding Box)

类别数量

2类(可扩展)

  • 打架人员
  • 普通人员/背景人物
数据划分
  • 训练集:2400张
  • 验证集:600张

此外,标注文件采用YOLO与COCO通用格式,用户既可以用于YOLOv5/YOLOv8训练,也可无缝迁移到Detectron2、MMDetection等框架中。

在这里插入图片描述

四、数据集应用场景深度剖析

该数据集可广泛应用于以下研究与实际项目:

graph LR
    A[打架行为识别数据集] --> B[智能视频监控]
    A --> C[公共安全研究]
    A --> D[行为识别算法]
    A --> E[多模态研究]
    
    B --> B1[实时识别]
    B --> B2[报警系统]
    B --> B3[减少压力]
    
    C --> C1[城市安防]
    C --> C2[异常感知]
    B --> C3[警务支撑]
    
    D --> D1[算法验证]
    D --> D2[性能对比]
    B --> D3[模型优化]
    
    E --> E1[图像检测]
    E --> E2[动作识别]
    B --> E3[精准识别]

4.1 智能视频监控

在智能视频监控领域,利用深度学习模型实时识别打架行为,触发报警系统,减少人工巡查压力。这是数据集在智能安防领域的重要应用。通过训练目标检测模型,可以实现对打架行为的自动检测和识别。

在实际应用中,智能视频监控系统可以部署在公共场所的监控设备上,实时采集人员图像并进行打架行为分析。当检测到打架行为时,系统可以自动记录打架的时间、位置、人员等信息,并及时发出警报,提醒安保人员及时处理。这种自动检测方式大大提高了监控效率,降低了监控成本。

实时识别打架行为

通过实时采集人员图像并进行打架行为分析,实现实时识别打架行为。实时识别打架行为能够及时发现打架行为,为安全预警提供数据支持。

触发报警系统

当检测到打架行为时,自动触发报警系统。触发报警系统能够及时提醒安保人员处理打架行为,提高安全管理的效率。

减少人工巡查压力

通过自动检测打架行为,减少人工巡查的压力。减少人工巡查压力能够降低监控成本,提高监控效率。

4.2 公共安全研究

在公共安全研究领域,利用深度学习模型融入城市安防系统,提升对异常行为的感知能力,为警务系统提供技术支撑。这是数据集在公共安全领域的重要应用。通过训练目标检测模型,可以实现对异常行为的自动检测和识别。

在实际应用中,公共安全研究系统可以部署在城市的监控设备上,实时采集人员图像并进行异常行为分析。通过分析人员的行为,可以识别异常行为,提高安全管理效率。这种智能化的安全研究方式能够大幅提高安全水平,降低安全风险。

融入城市安防系统

将打架行为识别技术融入城市安防系统,提升城市安防水平。融入城市安防系统能够提高城市安全管理效率,降低安全风险。

提升异常行为感知能力

通过识别异常行为,提升对异常行为的感知能力。提升异常行为感知能力能够提高安全管理效率,降低安全风险。

为警务系统提供技术支撑

通过识别打架行为,为警务系统提供技术支撑。为警务系统提供技术支撑能够提高警务工作效率,降低安全风险。

4.3 行为识别算法研究

在行为识别算法研究领域,利用数据集验证不同目标检测算法的性能差异。这是数据集在学术研究领域的重要应用。通过使用数据集进行算法研究和性能对比,可以推动计算机视觉技术的发展。

在学术研究中,数据集可以用于验证新算法的性能,探索最优的模型架构。研究人员可以尝试不同的网络结构、损失函数、优化策略等,提升打架行为检测的性能。

验证不同目标检测算法

使用数据集验证不同目标检测算法(YOLO、Faster R-CNN、DETR等)的性能差异。验证不同目标检测算法能够帮助研究者选择最优的算法,推动算法的进步。

性能对比

对比不同算法的检测性能(mAP、FPS、Recall等),评估算法优劣。性能对比能够帮助研究者选择最优的算法,推动算法的进步。

模型优化

基于数据集进行模型优化和性能评估。模型优化能够提升模型的性能,推动算法的进步和应用。

4.4 多模态研究

在多模态研究领域,将图像检测与动作识别相结合,实现更加精准的打架行为识别与预测。这是数据集在学术研究领域的重要应用。通过使用数据集进行多模态研究,可以提升打架行为识别的准确性和鲁棒性。

在学术研究中,数据集可以用于验证多模态方法的效果,探索最优的多模态融合策略。研究人员可以尝试不同的多模态融合方法,提升打架行为识别的性能。

将图像检测与动作识别相结合

将图像检测与动作识别相结合,实现更加精准的打架行为识别。图像检测与动作识别相结合能够提升打架行为识别的准确性,具有重要的研究价值。

实现更加精准的打架行为识别与预测

通过多模态融合,实现更加精准的打架行为识别与预测。精准的打架行为识别与预测能够提高安全管理的效率,降低安全风险。

在这里插入图片描述

在这里插入图片描述

五、实践心得与经验总结

打架目标检测数据集的发布,为异常行为识别和公共安全监控提供了宝贵的研究素材。它不仅能够帮助科研人员验证新的模型算法,也能加速安防企业将AI技术落地应用于实际监控场景。

在整理和使用这个打架行为识别数据集的过程中,有以下几点体会:

5.1 场景多样性的重要性

数据集包含校园操场、走廊、商场、超市、街道、广场、室内公共场所等多种场景。场景多样性有助于模型学习适应不同环境的能力,提升模型的泛化能力。

5.2 光照条件多样性的价值

数据集既有白天的室外环境,也有光照不足的夜间监控视频截图。光照条件多样性有助于模型学习适应不同光照条件的能力,提升模型的鲁棒性。

5.3 标注精确性的重要性

所有图片均经过人工标注,包含清晰的目标框,确保检测模型能够精准学习。标注精确性能够为模型训练提供准确的监督信号,提升检测性能。

5.4 数据划分的科学性

数据集按照标准比例划分为训练集和验证集,确保模型训练与评估的科学性。科学的数据划分能够确保模型训练与评估的独立性和可靠性。

5.5 公共安全应用价值的重要性

打架行为识别技术具有重要的公共安全应用价值。通过自动识别打架行为,可以及时发现和阻止打架行为,提高安全管理效率。这种技术能够为公共安全提供有力支撑,推动智能安防的发展。

六、未来发展方向与展望

未来,随着数据规模的扩展和标签的细化(如"推搡"、"挥拳"、"多人群殴"),该数据集有望成为暴力行为检测研究的标准基准,推动智能安防走向更高水平。

数据集可以从以下几个方向进行扩展和优化:

一是增加更多样本数量,提升模型的泛化能力;二是增加更多打架行为类型,如更多种类的打架行为,提供更全面的打架行为描述;三是增加更多场景和环境的样本,如不同季节、不同天气条件、不同时间段等,提升模型的泛化能力;四是引入多模态数据,如视频数据、音频数据等,提供更丰富的打架行为信息;五是添加动作序列标注,支持打架行为识别和预测。

此外,还可以探索数据集与其他行为数据集的融合,构建更全面的行为知识库。通过整合打架行为数据、异常行为数据、正常行为数据等,可以构建更智能的行为决策支持系统,为公共安全和智能安防提供更强大的数据支撑。

随着人工智能技术的不断发展,打架行为识别技术将朝着更高精度、更强鲁棒性、更智能化的方向发展。数据集作为技术发展的基石,将持续发挥重要作用,推动打架行为识别技术的进步和应用落地。

七、数据集总结

数据集名称:打架行为识别数据集

图片总数:3000张

任务类型:目标检测

推荐模型:YOLO / MMDetection / PaddleDetection

该数据集包含3000张图片,图像均来自多种真实场景和模拟场景,涵盖了多种可能发生打架的场景。

该数据集为AI研究者与开发者提供了一个高质量的打架行为识别任务起点。无论你是刚入门的深度学习初学者,还是希望优化模型性能的研究者,该数据集都能助你快速构建高精度的检测系统。

通过本数据集,你可以快速构建出具有实际应用价值的检测模型,为后续的算法优化与项目部署打下坚实基础。未来,我们将持续更新数据集内容,拓展更多复杂场景与多类别标注,助力AI研究者在目标检测与公共安全领域取得更高成果。

厨房食品卫生安全检测数据集:智能餐饮与食品安全保障的视觉卫士

数据集分享链接

链接:https://pan.baidu.com/s/1rRHh2mJthhUAsNOrEGHxRg?pwd=r7q2

提取码:r7q2 复制这段内容后打开百度网盘手机App,操作更方便哦

一、智能餐饮与食品安全的时代背景

在餐饮行业中,食品卫生安全始终是重中之重。从厨房环境到工作人员行为,任何细节的疏忽都有可能带来食品安全隐患。食品安全问题不仅关系到消费者的健康,还关系到餐饮企业的声誉和生存发展。近年来,食品安全事件频发,给消费者带来了严重的健康威胁,也给餐饮企业造成了巨大的经济损失。

在传统餐饮管理中,食品安全监管主要依赖人工巡查和抽检,存在效率低下、覆盖面有限、易受人为因素影响等问题。人工巡查难以及时发现违规行为,抽检只能覆盖有限的时间和空间,难以及时发现食品安全隐患。因此,如何利用技术手段提高食品安全监管的效率和准确性,成为餐饮行业面临的重要挑战。

随着计算机视觉与人工智能技术的广泛应用,利用目标检测模型自动识别厨房安全风险成为可能。通过部署摄像头并结合AI算法,可以自动检测厨房中的违规行为,如厨师未戴帽子、未佩戴口罩、存在烟雾或垃圾溢出等问题,从而在源头保障食品安全。这种智能化的检测方式能够大幅提高食品安全监管的效率,降低监管成本,提升监管的准确性和及时性。

在智能餐饮领域,厨房食品卫生与安全检测技术能够优化餐饮管理,提升食品安全水平。通过实时监测厨房环境和工作人员行为,智能餐饮系统可以及时发现违规行为,提高食品安全监管的效率。同时,厨房食品卫生与安全检测技术还能够用于安全预警,为餐饮管理提供数据支持。

在食品安全监管领域,厨房食品卫生与安全检测技术能够优化食品安全监管,提升食品安全水平。通过实时监测厨房环境和工作人员行为,食品安全监管系统可以及时发现违规行为,提高食品安全监管的效率。同时,厨房食品卫生与安全检测技术还能够用于安全预警,为食品安全监管提供数据支持。

在公共卫生领域,厨房食品卫生与安全检测技术能够优化公共卫生管理,提升公共卫生水平。通过实时监测厨房环境和工作人员行为,公共卫生管理系统可以及时发现违规行为,提高公共卫生管理的效率。同时,厨房食品卫生与安全检测技术还能够用于安全预警,为公共卫生管理提供数据支持。

为了推动该方向的AI模型落地,我们整理并发布了一个厨房食品卫生与安全检测数据集(14类、18万张图片),专为目标检测任务(YOLO系列)设计,助力科研人员与企业快速构建实用的智能监控系统。

在这里插入图片描述

二、数据集核心特性与架构分析

该数据集包含18万张高质量图像,全面覆盖厨房环境中与卫生安全相关的场景与目标,共划分为14个检测类别。以下是该数据集的核心特性分析:

graph TD
    A[厨房食品卫生安全检测数据集] --> B[数据规模]
    A --> C[检测类别]
    A --> D[数据质量]
    A --> E[场景多样性]
    
    B --> B1[18万张图片]
    B --> B2[训练集151950张]
    B --> B3[验证集27850张]
    B --> B4[比例约5:1]
    
    C --> C1[人员行为]
    C --> C2[卫生状况]
    C --> C3[安全隐患]
    C --> C4[14个类别]
    
    D --> D1[YOLO格式标注]
    D --> D2[640x640尺寸]
    D --> D3[精准标注]
    
    E --> E1[真实厨房]
    E --> E2[合成图像]
    C --> E3[多场景覆盖]

2.1 数据集基本信息

数据集的基本信息如下:

项目说明
图像总量18万张
类别数量14个类别
训练集151950张(约84.5%)
验证集27850张(约15.5%)
训练集和验证集比例约5:1
标注格式YOLO标准TXT格式
图像尺寸640×640
任务类型目标检测(Object Detection)

2.2 检测类别定义

数据集共包含14个检测类别,分为人员行为、卫生状况、安全隐患三大类:

人员行为类别

人员行为类别是指厨房工作人员的行为规范,包括:发网、无手套、无帽子、有口罩、无口罩、电话、制服、帽子。人员行为是厨房卫生安全的重要检测对象,对于保障食品安全具有重要意义。人员行为的准确识别能够帮助系统及时发现违规行为,提高食品安全监管的效率。

卫生状况类别

卫生状况类别是指厨房环境的卫生状况,包括:蟑螂、老鼠、垃圾、垃圾桶。卫生状况是厨房卫生安全的重要检测对象,对于保障食品安全具有重要意义。卫生状况的准确识别能够帮助系统及时发现卫生问题,提高食品安全监管的效率。

安全隐患类别

安全隐患类别是指厨房环境的安全隐患,包括:烟雾、溢出。安全隐患是厨房卫生安全的重要检测对象,对于保障食品安全具有重要意义。安全隐患的准确识别能够帮助系统及时发现安全隐患,提高食品安全监管的效率。

三、数据集详细内容解析

3.1 数据集概述

该数据集包含18万张高质量图像,全面覆盖厨房环境中与卫生安全相关的场景与目标,共划分为14个检测类别。数据集中每张图像均配有精准标注,可直接用于训练YOLOv8、YOLOv5、DETR等主流检测模型。

类别信息
中文类别英文标注含义说明
蟑螂cockroach厨房中常见害虫,影响卫生
发网hairnet厨师佩戴的防护用品
无手套no_gloves操作食材时未佩戴手套
无帽子no_hat未佩戴厨师帽
老鼠rat厨房环境中的卫生隐患
有口罩with_mask正确佩戴口罩
无口罩without_mask未佩戴或口罩脱落
烟雾smoke炊事烟雾、燃烧气体
电话phone厨师操作中使用手机
溢出overflow食材或液体外溢
垃圾garbage厨房废弃物
垃圾桶garbage_bin固定垃圾存放点
制服chef_uniform规范的工作着装
帽子chef_hat正确佩戴厨师帽
数据划分情况
数据类型样本数占比
训练集(train)151950≈84.5%
验证集(valid)27850≈15.5%

数据集比例约为5:1,保证模型训练与验证的平衡性。

3.2 数据集详情

数据集在采集与标注阶段经过严格筛选,确保每类样本都具有代表性与多样性:

采集方式

包含真实厨房监控截图、合成图像与半监督增强样本。采集方式的多样性有助于模型学习适应不同场景的能力,提升模型的泛化能力。

图像尺寸

统一为640×640,支持YOLO系列模型直接输入。图像尺寸的统一性能够降低模型训练的复杂度,提高训练效率。

标注格式

YOLO标准TXT格式(class x_center y_center width height)。标注格式的标准化能够降低使用门槛,使更多研究者能够使用该数据集进行研究和开发。

配置文件

已提供data.yaml文件,结构清晰可直接加载。配置文件的提供能够降低使用门槛,使更多研究者能够使用该数据集进行研究和开发。

类别数量

14类完整映射。类别数量的完整性能够为模型训练提供全面的监督信号,提升检测性能。

文件结构示例
detect_kitchen/
├── train/
│   ├── images/
│   └── labels/
├── valid/
│   ├── images/
│   └── labels/
├── data.yaml
data.yaml示例
train: /path/to/detect_kitchen/train/images
val: /path/to/detect_kitchen/valid/images

nc: 14
names: [ 'cockroach','hairnet','no_gloves','no_hat','rat','with_mask','without_mask','smoke','phone','overflow','garbage','garbage_bin','chef_uniform','chef_hat' ]

在这里插入图片描述

在这里插入图片描述

四、数据集应用场景深度剖析

该数据集不仅适用于科研实验,也可直接用于商用AI系统开发,典型应用包括:

graph LR
    A[厨房食品卫生安全检测数据集] --> B[厨房卫生检测]
    A --> C[食品加工监控]
    A --> D[害虫监控报警]
    A --> E[安全防控]
    A --> F[教学竞赛]
    
    B --> B1[规范佩戴]
    B --> B2[行为识别]
    B --> B3[违规检测]
    
    C --> C1[实时检测]
    C --> C2[违规行为]
    B --> C3[视频监控]
    
    D --> D1[害虫检测]
    D --> D2[智能报警]
    B --> D3[卫生监控]
    
    E --> E1[烟雾检测]
    E --> E2[溢出检测]
    B --> E3[风险预警]
    
    F --> F1[AI教学]
    F --> F2[竞赛数据]
    B --> F3[研究支持]

4.1 厨房卫生检测系统

在厨房卫生检测系统领域,利用深度学习模型自动识别厨师是否规范佩戴帽子、口罩、手套。这是数据集在智能餐饮领域的重要应用。通过训练目标检测模型,可以实现对厨房工作人员行为的自动检测和识别。

在实际应用中,厨房卫生检测系统可以部署在厨房的监控设备上,实时采集厨房图像并进行工作人员行为分析。当检测到违规行为时,系统可以自动记录违规的时间、位置、人员等信息,并及时发出警报,提醒管理人员及时处理。这种自动检测方式大大提高了监控效率,降低了监控成本。

规范佩戴检测

通过检测厨师是否规范佩戴帽子、口罩、手套,识别违规行为。规范佩戴检测能够提高食品安全监管的效率,降低食品安全风险。

行为识别

通过识别厨师的行为,识别违规行为。行为识别能够提高食品安全监管的效率,降低食品安全风险。

违规检测

通过检测违规行为,提高食品安全监管的效率。违规检测能够提高食品安全监管的效率,降低食品安全风险。

4.2 食品加工车间视频监控

在食品加工车间视频监控领域,利用深度学习模型实时检测违规行为,如使用手机、垃圾溢出等。这是数据集在智能餐饮领域的重要应用。通过训练目标检测模型,可以实现对食品加工车间的自动监控和识别。

在实际应用中,食品加工车间视频监控系统可以部署在车间的监控设备上,实时采集车间图像并进行违规行为分析。当检测到违规行为时,系统可以自动记录违规的时间、位置、人员等信息,并及时发出警报,提醒管理人员及时处理。这种自动检测方式大大提高了监控效率,降低了监控成本。

实时检测违规行为

通过实时采集车间图像并进行违规行为分析,实现实时检测违规行为。实时检测违规行为能够及时发现违规行为,提高食品安全监管的效率。

使用手机检测

通过检测厨师是否使用手机,识别违规行为。使用手机检测能够提高食品安全监管的效率,降低食品安全风险。

垃圾溢出检测

通过检测垃圾是否溢出,识别卫生问题。垃圾溢出检测能够提高食品安全监管的效率,降低食品安全风险。

4.3 害虫监控与智能报警

在害虫监控与智能报警领域,利用深度学习模型检测蟑螂、老鼠等不卫生目标。这是数据集在智能餐饮领域的重要应用。通过训练目标检测模型,可以实现对厨房害虫的自动检测和识别。

在实际应用中,害虫监控与智能报警系统可以部署在厨房的监控设备上,实时采集厨房图像并进行害虫检测分析。当检测到害虫时,系统可以自动记录害虫的时间、位置等信息,并及时发出警报,提醒管理人员及时处理。这种自动检测方式大大提高了监控效率,降低了监控成本。

害虫检测

通过检测蟑螂、老鼠等害虫,识别卫生问题。害虫检测能够提高食品安全监管的效率,降低食品安全风险。

智能报警

当检测到害虫时,自动发出警报。智能报警能够及时提醒管理人员处理害虫问题,提高食品安全监管的效率。

卫生监控

通过检测害虫,监控厨房卫生状况。卫生监控能够提高食品安全监管的效率,降低食品安全风险。

4.4 安全防控

在安全防控领域,利用深度学习模型检测烟雾、溢出等火灾或泄漏风险。这是数据集在智能餐饮领域的重要应用。通过训练目标检测模型,可以实现对厨房安全隐患的自动检测和识别。

在实际应用中,安全防控系统可以部署在厨房的监控设备上,实时采集厨房图像并进行安全隐患检测分析。当检测到安全隐患时,系统可以自动记录安全隐患的时间、位置等信息,并及时发出警报,提醒管理人员及时处理。这种自动检测方式大大提高了监控效率,降低了监控成本。

烟雾检测

通过检测烟雾,识别火灾风险。烟雾检测能够提高安全防控的效率,降低安全风险。

溢出检测

通过检测溢出,识别泄漏风险。溢出检测能够提高安全防控的效率,降低安全风险。

风险预警

通过检测安全隐患,发出风险预警。风险预警能够及时提醒管理人员处理安全隐患,提高安全防控的效率。

4.5 AI教学与竞赛数据集

在AI教学与竞赛数据集领域,数据集非常适合目标检测、模型压缩、迁移学习等方向研究。这是数据集在学术研究领域的重要应用。通过使用数据集进行算法研究和性能对比,可以推动计算机视觉技术的发展。

在学术研究中,数据集可以用于验证新算法的性能,探索最优的模型架构。研究人员可以尝试不同的网络结构、损失函数、优化策略等,提升厨房食品卫生与安全检测的性能。

目标检测研究

使用数据集进行目标检测研究,验证新算法的性能。目标检测研究能够推动算法的进步和应用。

模型压缩研究

研究模型压缩技术,提升模型的推理速度。模型压缩研究能够推动算法的进步和应用。

迁移学习研究

研究迁移学习技术,提升模型的泛化能力。迁移学习研究能够推动算法的进步和应用。

五、YOLO目标检测训练示例

使用Ultralytics的YOLO框架,可以快速启动训练流程:

yolo detect train model=yolov8n.pt data=detect_kitchen/data.yaml batch=32 epochs=100 imgsz=640 device=cuda

5.1 参数说明

  • model=yolov8n.pt:选择轻量化模型
  • data=detect_kitchen/data.yaml:指定数据集配置
  • batch=32:每次训练的批次大小
  • epochs=100:训练轮数
  • imgsz=640:输入图像大小
  • device=cuda:启用GPU加速

5.2 训练输出结果示例

指标含义示例结果
mAP50平均准确率(IoU=0.5)0.89
mAP50-95多阈值平均准确率0.81
Precision精确率0.90
Recall召回率0.86

模型在验证集上表现优异,能够准确识别多种厨房安全隐患。

六、实践心得与经验总结

随着AI技术的成熟,智能食品安全检测正逐渐成为餐饮行业数字化升级的重要环节。本数据集的发布,旨在为开发者提供一个高质量、实用的研究基础,加速AI在食品安全、公共卫生监管、工业视觉等领域的应用落地。

在整理和使用这个厨房食品卫生与安全检测数据集的过程中,有以下几点体会:

6.1 数据规模的重要性

数据集包含18万张高质量图像,大规模数据能够为模型训练提供充足的样本,提升模型的泛化能力。数据规模的重要性在于能够为模型训练提供充足的监督信号,提升检测性能。

6.2 类别多样性的价值

数据集包含14个检测类别,涵盖人员行为、卫生状况、安全隐患等多个方面。类别多样性能够为模型训练提供全面的监督信号,提升检测性能。

6.3 标注精确性的重要性

数据集中每张图像均配有精准标注,标注精确性能够为模型训练提供准确的监督信号,提升检测性能。

6.4 数据划分的科学性

数据集按照标准比例划分为训练集和验证集,确保模型训练与评估的科学性。科学的数据划分能够确保模型训练与评估的独立性和可靠性。

6.5 食品安全应用价值的重要性

厨房食品卫生与安全检测技术具有重要的食品安全应用价值。通过自动检测厨房卫生与安全问题,可以及时发现违规行为和安全隐患,提高食品安全监管的效率。这种技术能够为食品安全提供有力支撑,推动智能餐饮的发展。

七、未来发展方向与展望

未来,我们将持续扩展场景类别,增加实时视频样本与实例分割标注,推动厨房智能检测系统向更高精度、更强鲁棒性发展。

数据集可以从以下几个方向进行扩展和优化:

一是增加更多样本数量,提升模型的泛化能力;二是增加更多类别,如更多种类的厨房卫生与安全问题,提供更全面的厨房卫生与安全描述;三是增加更多场景和环境的样本,如不同季节、不同天气条件、不同时间段等,提升模型的泛化能力;四是引入多模态数据,如视频数据、音频数据等,提供更丰富的厨房信息;五是添加实例分割标注,支持更精细的检测和分析。

此外,还可以探索数据集与其他食品安全数据集的融合,构建更全面的食品安全知识库。通过整合厨房数据、食品加工数据、食品安全数据等,可以构建更智能的食品安全决策支持系统,为食品安全和智能餐饮提供更强大的数据支撑。

随着人工智能技术的不断发展,厨房食品卫生与安全检测技术将朝着更高精度、更强鲁棒性、更智能化的方向发展。数据集作为技术发展的基石,将持续发挥重要作用,推动厨房食品卫生与安全检测技术的进步和应用落地。

八、数据集总结

数据集名称:厨房食品卫生与安全检测14类数据集

图片总数:18万张

任务类型:目标检测

推荐模型:YOLO / RT-DETR / Faster R-CNN

该数据集包含18万张高质量图像,全面覆盖厨房环境中与卫生安全相关的场景与目标,共划分为14个检测类别。

该数据集为AI研究者与开发者提供了一个高质量的厨房食品卫生与安全检测任务起点。无论你是刚入门的深度学习初学者,还是希望优化模型性能的研究者,该数据集都能助你快速构建高精度的检测系统。

通过本数据集,你可以快速构建出具有实际应用价值的检测模型,为后续的算法优化与项目部署打下坚实基础。未来,我们将持续更新数据集内容,拓展更多复杂场景与多类别标注,助力AI研究者在目标检测与食品安全领域取得更高成果。

前几天整理储存空间,清理出来几十个 G,然后这两天忙着过年拜年没空关注,昨天一看居然只剩下 13GB 了,有点懵。用 OmniDiskSweeper 来了全盘查,挨个文件夹查看,发现'/Users/username/Library/Application Support/dev.warp.Warp-Stable'这个路径下占了 30 多个 g ,点进去一看,密密麻麻的 dmg 文件,一开始还以为是用这个终端以来历次更新累计的,用了这个终端蛮多年了,就算是这样也很过分吧。再一看,创建时间从 2026 年 2 月 18 号开始,到今天上午为止还在创建,下面图里能看到创建时间,我都怀疑是不是偷偷用我电脑跑训练了。。。,还不知道怎么关这个东西。

CleanShot-2026-02-22-13-32-00@2x.png

在我敲下这些字的时候,我准备去 setting 中找找看有没有关掉更新的地方,被我逮到又在下载更新,此时距上次下载更新只过了 10 分钟。
image2.png
CleanShot-2026-02-22-13-31-23@2x.png

各位也可以检查看看有没有这个情况,我打算先停用一下这个终端了,除非找到怎么关闭自动更新。

昨天喝了 2026 农历年第一杯咖啡,嫖到免单卡,3 块钱,拿到手初喝一口觉得有点水,我打趣说是不是老板看到我 3 块钱的单就给我偷工减料了。

事实证明我错了,起初一小时似乎还毫无感觉,紧接着就是熟悉的心跳加速,不止于此,这次还着实触发了焦虑开关。我不知道该如何向其他人准确描述这种体验,最明显的是两种感觉。一是觉得左右脑互搏,念头会接二连三涌出来通常是不好的念头,这也可能跟 ADHD 有关。二是整个人处于受惊状态,别人大声说话会下意识很害怕,像应激的小猫一样。

早上十点多点的咖啡,上述状态就这么维持到了睡前。我也知道,如果我整天处于这种神经燃烧的状态晚上必失眠了,即使我前一晚也没睡好,这也是我早上点咖啡的原因。爸妈临睡觉还在那吵架,身边的事实真的让我对人类对自己感情驾驭能力的绝望,不只是小孩,成人无法控制愤怒也是绝大多数。当然我肯定不是像个圣人一样指责别人控制不了愤怒,因为我很清楚我自己也控制不了。

有点出乎意料。晚上我倒是好像挺快睡着了,可能半个小时?然而半夜才是主战场,最近都是。近来我的非焦虑、非兴奋型失眠的情况下,我都是入睡容易,但是半夜醒了就很难再睡回去,经常是辗转到看到天亮了,才能再睡过去。而这篇记录,就写在 2026-02-22 06:21 ,因为这次尤其离谱,我感觉翻来覆去有两个小时了,天还没亮,大概是四五点就醒了,我觉得很无奈,很浪费时间,就起来码点字了。

再讲讲我的失眠史吧,失眠的时候我经常会问自己,到底是从什么时候开始的?回忆起来,我好像还打小就这样,不太爱睡觉。

小学的时候,九点多就上床睡觉,实际上是在玩毛绒玩具,跑脑内剧本,估计没个十点多肯定是没睡着。早上起来也是早,包括周末,我现在还记得,以前周末七点起床,打开电视没东西看,出去逛街书店便利店全都没开门,把我无聊死了。

遇到春游,小学初中都一样,前一晚必失眠,最初可能是因为春游兴奋,毕竟一年一度,可以去玩,还能吃好多零食。但是后面已经不能确定是因为兴奋还是纯粹的自证预言了。这种就是我上面说的兴奋型失眠,一直都很常见。例如一年前去马尔代夫,前一晚没睡好,去到那边中转酒店也是听了一整夜的车声。

又例如高考第一天前一晚,也是史诗级失眠。我到现在都无法想象,那一晚,我猜也就睡了顶多四个小时吧。最初在自己床上翻来覆去,然后不知道咋的就去跟我爸一起睡,嗯,也不是单纯是睡,睡不着就聊两句。当时就是整个脑子都很兴奋,感觉直接进考试状态了,完全止不住。真的很难想象我能以四个小时睡眠把第一天高考考完还没想象中拉跨的,还好第二天晚上不知道因为困了还是真正进入考试区间了,印象中没有失眠。

至于焦虑型失眠,原理也类似,忘了以前哪本书说,演讲前你要把心跳加速从焦虑理解成兴奋,这样会发挥得更好。确实,这两者表现确实很像,这些年被社会毒打之后造成的焦虑型失眠跟兴奋型失眠也是基本一样的感觉。也就是毫无睡意,左右脑互搏,有时候还会有一些很具体的意象冒出来,还一直重复。焦虑型还会冒冷汗,上次应该是玩合约的时候,傻傻的上来就 100 倍杠杆,睡前开始亏钱,结果就完全睡不着了,最后还是翻起来平仓了,亏了一百多刀,是的,真的很少,但还是让我焦虑症了……

最后是咖啡因失眠。咖啡这个东西,真是既爱又恨。这又是我记得很清楚的一件事,跟女朋友聊得很晚,没有睡好。然后第二天快下班的时候,也就是五六点,老板带我去见乙方,在猫屎咖啡点了一杯冰拿铁,就是这杯冰拿铁触发了我人生第一次咖啡因崩溃。我是真的整个人都崩溃了,晕得崩溃,那天晚上吃的什么高级西餐都在痛苦中进行,毫无快感。也因为那天下午喝的咖啡,理所当然的当晚也几乎通宵。从这事我才知道,原来我不能喝咖啡啊?那我之前喝的到底是啥?还是说我之前没事的,打工之后变脆皮了?但是回忆起来吧,可能以前高中好几次莫名奇妙的失眠都是因为晚上喝了茶,但是那时候我根本没有意识到咖啡因的威力。

写到这里 07:00 了,天已经亮了。也就是可能从五点醒到现在了,又是离谱的一天,还好不用上班啊……

总之吧,感觉我一生都要跟失眠战斗了,虽然我这也不算严重的了,但是都已经开始考虑在家里备点苯海拉明了,或者再找找有什么副作用更小的药或者补剂。不知道有没有病友,大家交流一下吧😂

Windows Server 2022 OVF (2026 年 2 月更新) - VMware 虚拟机模板

Windows Server 2022 Datacenter x64 OVF, updated Feb 2026 (sysin)

请访问原文链接:https://sysin.org/blog/windows-server-2022-ovf/ 查看最新版。原创作品,转载请保留出处。

作者主页:sysin.org


现在都是自动 sysprep 的版本,版本同步更新。

Windows Server 2022 Datacenter x64 Chinese Simplified / English

Version 21H2, updated Feb 2026

Microsoft Windows Server 2022

Windows Server 2022 OVF

部署截图及说明

计算资源选项

CPU 和内存配置选项,可以部署完毕后任意编辑

用户账号和网络配置

注:本例截图来自 Fusion,在 vSphere 和 Workstation 中展现样式略有差异,内容相同。

请注意:

1.1 此处密码必须符合复杂性要求(系统默认值)

密码必须符合下列最低要求:

  • 不能包含用户的帐户名,不能包含用户姓名中超过两个连续字符的部分
  • 至少有六个字符长
  • 包含以下四类字符中的三类字符:

    • 英文大写字母 (A 到 Z)
    • 英文小写字母 (a 到 z)
    • 10 个基本数字 (0 到 9)
    • 非字母字符 (例如 !、$、#、%)
  • 在更改或创建密码时执行复杂性要求

1.2 删除内置的 sysadmin 账号(此项设置已经不存在,无任何其他非默认账号)

2.2 子网掩码前缀使用 CIDR 表示法,例如掩码 255.255.255.0 填写 24

2.5 Hostname:计算机名称

因部分读者不知道计算机名称怎么填写而报错,这里增加一个计算机名称的描述。

计算机名称包括 NetBIOS 名称和 DNS 名称,MS 官方规则稍显复杂,这里简单概括或者建议使用如下规则:

  • 长度 1-15 个字符
  • 字符使用三种类型或其组合:字母字符 (A-Z,不区分大小写) 、数字字符 (0-9) 、减号或称连字符 (-)
  • 推荐 3 种示例:全部字母,字母和数字组合,字母-数字或者数字-字母(中间允许多个-)
  • 不要全部用数字(NetBIOS 名称可以支持,但 DNS 名称不允许)

如果使用 DHCP 配置,计算机名称将自动随机生成格式如 WIN-xxxxxxxxxxx。

OVF 特性

1. OVF 版本

  1. 默认 VM 硬件版本 11(GuestOS ID 最低要求 10,可升级至最新版),兼容 ESXi 6.0、Fusion 7、Workstation 11 及以上;
  2. 启用 CPU、内存热插拔 (sysin)
  3. VM-Tools 版本:13.0.10.0(当前)✝️➕ 版本更新

2. 系统配置

  1. 时间和货币格式:Chinese (Simplified, China),默认键盘和输入方法:简体中文 - 美式键盘(US)
  2. 系统版本:Windows Server 2022 Datacenter, with DesktopExperience
  3. 分区:System Reserve(100M),Recovery Partition(550M)移到 C 盘之前,C 盘 40G 整数分区(可自由调整),2022年6月及以后的版本已删除恢复分区
  4. 启用远程桌面 (sysin)
  5. 启用 ICMPv4 防火墙规则
  6. 早期版本添加了名为 sysadmin 的管理员账号,现在已经取消该项配置
  7. 添加了 “Command Prompt” 和 “PowerShell” 右键快捷命令菜单(增加图标)
  8. 修改 Windows Update 为手动(可通过 sconfig 恢复,禁用或者启用服务无效)
  9. 添加了 “FileHash” 右键快捷命令菜单(内置 PowerShell 命令实现)
  10. 关闭 Telemetry(遥测)
  11. 设置 Administrator 账号密码永不过期(默认 sysprep 后密码会过期)✝️➕ 新增
  12. 禁用 “Azure Arc Setup” 自动运行 ✝️➕ 新增
  13. 已禁用 Windows Update,通过 Windows Update Blocker ✝️➕ 新增

3. 中英文界面语言切换

提示:该项功能已弃用

英文版添加了简体中文界面语言支持,切换方法如下:

Settings > Time & Language > Language, Windows Display Languages 下拉勾选 ”Chinese (Simplified, China)”

注销登录或者重启生效。

另外,如果再次运行 sysprep,欢迎画面也会提示选择语言(“English” 或者 “中文(简体)”)。

重要更新

2023 年 6 月更新开始,将提供英文版和简体中文版两个独立版本,根据近期的用户反馈,发现了官方产品存在重大 bug:系统文件每月都有一定的更新,但是语言包从未更新(或未同步更新),无论是在线更新语言包或者离线从 iso 安装。这将导致切换到简体中文界面语言后,系统及其自带的应用程序(部分)或报错或功能异常。

4. OEM BIOS 支持

支持 Dell OEM 2.6 及以上版本的 BIOS。推荐使用本站 VMware 定制版启用完整功能,参看下述 “适用的 VMware 软件下载”。

💡 特别提示:这里的 OEM BIOS 是软件技术,并非硬件的 BIOS,可适用于任何品牌的计算机以及任意兼容机。标题中的 Dell 只是采用了最流行的 Dell 产品技术方案。

💡 特别提示:这里的 OEM BIOS 是软件技术,并非硬件的 BIOS,可适用于任何品牌的计算机以及任意兼容机。标题中的 Dell 只是采用了最流行的 Dell 产品技术方案。

5. 系统组件

  1. 添加组件:Telnet Client、SNMP-Service、Windows Backup
  2. 添加组件:.NETFX 3.5 (启用此组件需要系统 ISO 映像,这里预先配置)

6. 远程桌面性能优化

  1. 禁用 Logon Backgroud

    echo 个性化设置:禁用登录背景 Logon Image
    reg add "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\System" /v DisableLogonBackgroundImage /t REG_DWORD /d 1 /f
  2. 更换 Lock Screen 为默认蓝色

    echo 个性化设置:禁用设置中 Lock Screen 功能
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Personalization" /v NoLockScreen /t REG_DWORD /d 1 /f
  3. 替换 Desktop Backgroud 为灰色

7. 应用软件

  1. AutoRuns 14.0、7-Zip 26.00、Unlocker 1.9.2(全部为免费软件) ✝️➕ 版本更新
  2. 浏览器:Firefox 140,通过策略禁用自动更新,默认为所有用户添加开始菜单和桌面快捷方式 ✝️➕ 版本更新
  3. Defender Control,可以快速禁用 Windows Defender(快捷方式在开始菜单)✝️➕ 新增
  4. Windows Update Blocker,可以快速禁用系统自动更新(快捷方式在开始菜单)✝️➕ 新增
说明:以上软件版本描述的是更新版本,旧版 OVF 包含的版本可能略低。

8. 个性化配置

  1. 用户配置(此项配置 sysprep 后无效)

    echo 个性化配置:标题栏显示颜色(仅针对当前用户有效,针对计算机设置无效)(此项可通过 Load Hive 预先配置)
    reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\DWM" /v ColorPrevalence /t REG_DWORD /d 1 /f
  2. 几个关于隐私和使用记录的配置,通过 HKEY_LOCAL_MACHINE 预先配置

    echo 个性化配置:Turn off to Show recently opened items in Jump Lists on Start or the taskbar
    reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Start_TrackDocs /t REG_DWORD /d 0 /f
    
    echo Folder Options:Open File Explorer to: This PC
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v LaunchTo /t REG_DWORD /d 1 /f
    
    echo Folder Options:Turn off to Show recently used files in Quick access
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" /v ShowRecent /t REG_DWORD /d 0 /f
    
    echo Folder Options:Turn off to Show frequently used folders in Quick access
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" /v ShowFrequent /t REG_DWORD /d 0 /f

9. 关于 GuestOS ID

GuestOS ID 默认为 Windows Server 2016 or later,因为需要兼容低版本的 VM Hardware,否则将无法识别 GuestOS,对于支持高版本 VM Hardware 的环境,可以在导入后手动选择。当然也可以忽略,因为目前为止 Windows Server 2016、2019、2022 实际都是 windows9Server64Guest(Windows 10 Server)。

10. sysprep

✝️➕ 新特性

本次更新开始将自动运行 sysprep,生成新的 sid。如果手动配置计算机名称和 IP 地址,系统初始化将重启两次。如果使用 DHCP 配置,计算机名称将自动随机生成格式如 WIN-xxxxxxxxxxx。

适用的 VMware 软件下载

建议在以下版本的 VMware 软件中运行(Linux OVF 无需本站定制版可以正常运行,macOS 虚拟化如果不是 Mac 必须使用定制版才能运行,Windows OVF 需要定制版才能启用完整功能):

OVF 版本兼容性和部署方式

默认使用 VM 硬件版本 11(GuestOS ID 最低要求 10,可升级至最新版),兼容 ESXi 6.0、Fusion 7、Workstation 11、Player 7 及以上版本。

支持通过以下客户端部署:

  • VMware Fusion for Mac:12、13 及更新版本(推荐版本 13 及以上)
  • VMware Workstation for Windows & Linux:16、17 及更新版本(推荐版本 17 及以上)
  • VMware vSphere(vSphere Client):7.0、8.0、9.0 及更新版本(推荐 7.0U3 及以上)
  • ESXi Host Client:内置于 ESXi 7.0U3、8.0、9.0 及更新版本(推荐版本 2.10.1 及以上)
部分已经废弃的客户端如 vSphere Web Cleint(Flash),以及上述客户端旧版不建议使用。

客户端系统和软件要求:

下载地址

保留最近三个版本。

Windows Server 2022 LTSC Datacenter x64 Chinese Simplified / English (updated Feb 2026),现在自动运行 sysprep


原版下载:Windows Server 2022 中文版、英文版下载 (2026 年 2 月更新)

更多:VMware 产品下载汇总