包含关键字 typecho 的文章

官方地址:https://domain.stackryze.com/

1. 注册
首先点击右上角【Get Started】按钮,然后使用使用邮箱注册就行了,注册很简单,就填入姓名,邮箱,密码这三项 就完了,这里懒得截图了,或者是使用 GitHub 登录。登录完成以后进入控制面板如下。然后点击【Register New Domain】按钮

2. 注册域名
然后输入自己想要的域名,这里我输入的 baidu.indevs.in。点击最下面的【Register Domain】就能完成注册了。

该域名是完全免费的,但是有效期只有 1 年,在快要过期的 60 天内续费是免费的 。快到期了官方会发邮件通知你续费的。域名注册完成以后就能在面板看到了,上面也能看到每个账号能注册 5 个域名,目前域名不支持转赠。如下

3.CloudFlare 托管






📌 转载信息
原作者:
user554
转载时间:
2026/1/14 10:30:04

这个主题是由我和 AI 一起开发的 typecho 模板,用了大概几天的时间,这是一款带双主题切换的主题,并且内置了网盘下载功能,全部开源给大家,这个主题后续我会持续更新,使用中有问题可以在此留言,后续我也会持续每周为大家更新一款我与 AI 的故事,最后喜欢我的主题,请在 github 帮我点个 star!

放一个 github 的链接:GitHub - FeiFan86/SeeLTheme: 一款现代化的 Typecho 博客主题,支持简洁化与玻璃态双主题自由切换。


📌 转载信息
原作者:
bybaby
转载时间:
2026/1/14 10:28:46

GLM-Image 技术报告:GLM-Image: Auto-regressive for Dense-knowledge and High-fidelity Image Generation

模型基于昇腾 Atlas 800T A2 设备和昇思 MindSpore AI 框架完成从数据到训练的全流程,是首个在国产芯片上完成全程训练的 SOTA 多模态模型。
GLM-Image 采用自主创新的「自回归 + 扩散解码器」混合架构,实现了图像生成与语言模型的联合,是我们面向以 Nano Banana Pro 为代表的新一代「认知型生成」技术范式的一次重要探索。

新一代图像生成模型 GLM-Image 正式上线并开源!

这一次,图像生成不只 “好看”,更 “写对”

核心亮点:

强理解 × 准文字:理解复杂指令,文字绘制更精准,特别适合海报、插画等知识密集型场景

架构革新:面向以 Nano Banana Pro 为代表的新一代技术范式打造

硬核突破:首个在国产芯片上完成全程训练的 SOTA 图像模型

极致性价比:API 生成一张图仅 0.1 元

Bigmodel 已就位,欢迎大家上手体验,一起玩出新高度

详情 i3z.cc/v-8na7u

消息转发自官方开发者社群


📌 转载信息
原作者:
zhongruan
转载时间:
2026/1/14 10:25:43

  1. 一定要美国 IP
  2. 历史账号有重复操作过没成功的这个账号大概率用不了,(我就是)换了新账号
    3. 使用 https://www.adspower.net 浏览器进行认证
  3. https://batch.1key.me 这个地址认证,我发现最后一次页面显示认证失败,但是实际成功了
    5. 没有信用卡的,在海鲜市场买一个 3.99

📌 转载信息
原作者:
yxd
转载时间:
2026/1/14 10:25:10

开源微信推送服务

使用 Spring Boot 4.0 和 GraalVM Native

通过企业微信(WeCom),将系统消息稳定、合规地推送到用户的微信中接收。

整体消息流转路径如下:

HTTP 请求

企业微信 API

业务系统 / 服务

push-server

企业微信服务端

微信 App

最终效果是: 用户在微信中收到消息,但技术通道使用的是企业微信。

为什么选择企业微信?
相比微信公众号,企业微信具备天然的系统通知优势:

无缝触达:消息最终可到达 微信 App(需关注插件)。
主动推送:支持无限制的主动消息推送,适合通知。
稳定合规:官方允许的系统消息通道,不涉及内容风控。
简单易用:无需复杂的模板消息申请,开发接口清晰。

有什么需要的或者想法可以提,交流一下

项目地址

教程

1. 注册企业微信

谁都可以注册企业微信,无需认证,按说明注册并使用微信扫二维码完成管理员绑定

2. 微信插件

选择我的企业,点击微信插件,使用手机扫码关注

3. 添加应用

添加 logo 和应用名称以及可见范围,选择一个部门或者自己都行,创建应用

4. 配置应用

4.1 查看 Secret

创建完成后会进入当前页面,点击查看可以看 Secret

点击发送,可前往企业微信查看消息

点击查看,保存好,不要泄露,至关重要

4.2 配置可信 IP

在配置可信 IP 之前,我们需要先设置可信域名

可信域名需要校验域名,点击 申请校验域名 获得认证信息

下载文件放置到一个网站的根目录下,我这里放置到了自己在 cloudflare 的 Workers 和 Pages 博客上 https://mazepeng.com/

当文件可以访问到的时候就可以设置可信域名了


现在推送消息的服务必须有可信 IP,如何获得自己的 IP 呢

访问 https://ifconfig.me/ 或者直接百度 IP 就可以看到自己的公网 IP 了

点击应用管理,点击应用,拉倒最下面,配置可信 IP

5. 运行 push-server

支持 docker 部署和本地应用部署,这里我就介绍一下 docker 部署

5.1 docker 命令部署

  docker run -d \
  --name push-server \
  -p 8000:8000 \
  -e PUSH_AUTH_KEY="替换为自己的key" \
  -e PUSH_WECOM_APP_KEY="你的应用AppKey" \
  -e PUSH_WECOM_APP_SECRET="你的应用AppSecret" \
  -e PUSH_WECOM_AGENT_ID="1000001" \
  qingzhoudev/push-server:latest
  
#安全设置,默认值为下方值,需要修改添加环境变量修改
  docker run -d \
  --name push-server \
  -p 8000:8000 \
  -e PUSH_AUTH_KEY="替换为自己的key" \
  -e PUSH_WECOM_APP_KEY="你的应用AppKey" \
  -e PUSH_WECOM_APP_SECRET="你的应用AppSecret" \
  -e PUSH_WECOM_AGENT_ID="1000001" \
  -e PUSH_SECURITY_BLOCK_MINUTES="30" \
  -e PUSH_SECURITY_FAIL_WINDOW_MINUTES="5" \
  -e PUSH_SECURITY_MAX_FAILS="5" \
  -e PUSH_SECURITY_RATE_LIMIT_CAPACITY="10" \
  -e PUSH_SECURITY_RATE_LIMIT_QPS="1" \
  qingzhoudev/push-server:latest

  • PUSH_AUTH_KEY 请求头密钥,需要自己设置一个复杂的即可
  • PUSH_WECOM_APP_KEY 就是企业 ID
  • PUSH_WECOM_APP_SECRET 就是保存的 Secret
  • PUSH_WECOM_AGENT_ID 应用 ID

替换后直接 docker 启动

5.2 使用 Docker Compose

services: push-server:  qingzhoudev/push-server:latest container_name: push-server ports: - "8000:8000" volumes: - ./application-prod.yml:/app/config/application-prod.yml:ro restart: unless-stopped 

application-prod.yml 文件

push: auth: key: "CHANGE_ME" security: block-minutes: 30 fail-window-minutes: 5 max-fails: 5 rate-limit-capacity: 10 rate-limit-qps: 1 wecom: app-key: "CHANGE_ME" app-secret: "CHANGE_ME" agent-id: 1000001 webhook-url: server: port: 8000 

5.3 企业 ID

5.4 应用 ID

6 推送消息

和正常接收微信消息一样,没有什么区别

curl -X POST http://localhost:8000/api/v1/push \
  -H "X-API-Key: 替换为自己的key" \
  -H "Content-Type: application/json" \
  -d '{
"target": "ZhangSan|LiSi",
"type": "TEXT",
"content": "系统通知:您的任务已构建完成。"
}'
curl -X POST http://localhost:8000/api/v1/push \ -H "X-API-Key: 替换为自己的key" \ -H "Content-Type: application/json" \ -d '{
"target": "MaZePeng",
"type": "TEXT_CARD",
"title": "测试Push Server",
"content": "我是 Push Server,这是我作为服务端的第一条消息",
"url": "https://www.mazepeng.com"
}'
curl -X POST http://localhost:8000/api/v1/push \ -H "X-API-Key: 替换为自己的key" \ -H "Content-Type: application/json" \ -d '{
"target": "MaZePeng",
"type": "NEWS",
"articles": [
{
"title": "测试 Article",
"description": "我是描述",
"url": "https://www.mazepeng.com",
"picUrl": "https://mazepeng.com/img/bg/a_larger_image_of_the_homepage.jpg"
}
]
}'

类型有:

  • TEXT
  • MARKDOWN(微信不支持)
  • TEXT_CARD
  • NEWS

📌 转载信息
原作者:
mazp
转载时间:
2026/1/14 10:25:03

本文仅为 孙佬 CCG 模式进行升级 而写

【CCG 自动化流 安装教程】 三合一自动化编程 ,助力每一位佬友 享受 [自动化流] 氛围编程时代(谁再说 AI 代替程序员,我就要开始闹了) - 开发调优 - LINUX DO

若初次使用,可直接跟着风佬教程走(风佬写的够细了)

前言

今天早上起来,风佬告诉我 CCG 整体优化和 BUG 修复已经完成,邀请我体验 CCG 。
收到这个消息的时候真的挺激动,毕竟我从风佬 CCG 刚开贴就一直在关注和观望。
目前等到可以成熟使用,怎么会不兴奋呢?
于是一早就开始着手升级了
在升级的时候发现居然还适配孙佬 CCG, 这一波无痛升级,我更亢奋了!
看我 CCG 第二篇!升级篇!!!

什么?! 还在凹战力?

开始升级之前,我先标一下孙佬和风佬的原文
(关于孙佬CCG的安装教程在上面那个链接)

孙佬 CCG: 【自己动手,丰衣足食 04】一个更现代的 SKILLs 集合,一个更省时的并行化 workflow。好的 agent 怎能局限于线性 cc+codex+gemini? - 开发调优 - LINUX DO
风佬 CCG: 【开源】CCG v1.7.24 : Claude Code 编排三 CLI 协作 | Codex + Gemini + Claude - 开发调优 - LINUX DO

相信关于 CCG 是什么,各位佬已经都熟悉了(如果不熟悉,那就借用风佬的截图)

最近不仅仅是 CCG, 还出现了 CCW 等其他同类型的协作整合,我们当然也不能落后!
(落后就要挨打 )

废话懒得说了,开始吧

CCG 升级正文

  1. 安装风佬 CCG-workflow :
    npx ccg-workflow

  2. 选择初始化 CCG 配置

  3. 测试安装
    控制台输入 Claude
    在 claude 中 测试以下指令是否可用:

  4. 结果分享


好了安装完了

你还在看什么?

怎么还不走?

就是这么简单啊,还能怎样?

快给风佬上 star,还有, 给我点赞


📌 转载信息
原作者:
akirann
转载时间:
2026/1/14 10:22:44

背景

你是不是也有这种痛苦:
每天在 PowerShell + 各种编辑器的 Terminal 里库库手打命令,输错一个字母就重来;
想找上一条命令只能疯狂按 ↑ ↓;
更离谱的是 —— 还没有自动补全,每条命令都得从头敲!

如果你也被这些折磨过 —— 恭喜你,今天这个工具能让你直接起飞:
装上它,PowerShell + 各种编辑器的 Terminal 的命令提示 / 补全体验立刻提升一大截,常见命令、参数、历史记录都能更顺手地调用。
一条命令安装,立刻告别重复手打!

工具

重磅推荐 PSReadLine (大家不会认为是我自己写的工具吧)

PSReadLinePowerShell 里用来 “增强命令行交互体验” 的组件(模块)。你可以把它理解成:给 PowerShell 的输入框加上更聪明的编辑器能力。

PSReadLine 支持:

  • 历史与搜索:支持 Ctrl + R 反向搜索历史命令,也能做 “按前缀翻历史”(输入 git 再按 ↑ 只找以 git 开头的历史)。
  • 智能补全 / 预测:根据你的历史记录(以及配置)在你输入时给出建议,减少重复敲命令。
  • 更好用的编辑体验:更顺手的光标移动、选中、剪切 / 复制、撤销等快捷键,输入长命令不再痛苦。
  • 可自定义键位和行为:你可以把常用操作绑定到自己习惯的按键上,甚至把补全、历史搜索的逻辑改成你想要的样子。

大家是不是已经等不及要安装了,安装非常简单,在 powellshell 中执行一行命令即可安装

Install-Module PSReadLine -Force

弹窗提示直接回车,等待安装完成。

提示:需要打开新的 shell 命令才会起作用哈。

展示效果

附录

VS Code 里把默认命令行设为 PowerShell

  1. Ctrl + Shift + P
  2. 输入并选择:Terminal: Select Default Profile
  3. PowerShell(一般会显示 PowerShellWindows PowerShell

📌 转载信息
原作者:
wangguodong
转载时间:
2026/1/14 10:22:05

第五代抽象

软件工程历史上的每一次重大转变都是由一种一致的力量驱动的:抽象的兴起。最早一代的软件是用原始机器代码编写的,后来汇编语言引入了可读性和控制层。更高级的语言已经跨越多个不同的范式发展,使得像 C、Java 和 Python 这样的通用语言及其衍生品得以发展。

 

这些语言使得抽象得以进步,其中像内存管理和特定平台的怪癖这样的概念在日常工作流程中被掩盖,并且由开发者代表进行处理。这种级别的可访问性允许更广泛的生态系统发展,因为随着每一代语言的出现,相应的支持工具链也在发展。 

图 1:编程语言的世代

 

第五代,即使用自然语言的第五代,长期以来一直是编程语言的目标演变,其中人类用他们的母语交谈,并且以可执行的方式进行解释。这种演变直到最近才真正成为主流。推动这一点的是人工智能(AI)的代际能力,现在已经成熟到可以接收以人为中心的输入,并用你选择的编程语言构建解决方案。几十年的学术研究记录了这一进化过程,博客也非正式地对此进行了讨论。

 

这些转变中的一个共同主题是开发人员角色的演变。每一次抽象提升都允许开发人员更多地关注意图,而不是机制,我们现在进入了另一个拐点。第五代不仅因为广泛使用生成式 AI 而加速,而且与行业主导的采用相吻合。这代表了开发者如何从根本上接近他们手艺的新纪元。

 

随着前几代的成熟,支持它的工具链也出现了。在前几代中,工具是在一段时期稳定后出现的;然而,随着 AI 研究和产出的快速发展,工具链现在有望塑造和定义这一代,而不仅仅是支持它。

 

作为这些进步的一部分,一套关键的工具出现了,集中在规范驱动开发(SDD)上。这种趋势是由 AI 辅助代码生成的接受所驱动的,它允许开发人员提升自己的抽象,并表达系统应该做什么,而智能工具则实现了它的实际完成方式。

 

这种转变重新定义了我们如何接近系统的架构和设计。现在,团队维护的是活的规范,而不是随着时间的推移而偏离原始意图的静态架构图。这些定义了系统契约、边界、不变量和行为。这些规范在设计上是可执行的;它们可以生成代码、文档、SDK、模拟甚至服务基础设施。AI 智能体,通过角色映射的能力来播种它们的上下文,其中角色的专业知识被捕捉为智能体的可消费输入,现在可以作为解释器、验证器和特定于领域的协作者行使权威。

 

在本文中,我们将 SDD 作为一种架构范例进行研究,详细说明规范如何成为系统的可执行支柱,漂移检测和持续验证如何将架构转变为运行时不变量,AI 和代理工具如何重塑生成和管理,以及这种模型如何代表软件抽象长期演变中的下一个主要拐点。

 

SDD 架构

规范驱动开发(SDD)这个名字可能暗示了一种方法论,类似于测试驱动开发。然而,这种框架低估了它的重要性。更准确的理解是,SDD 是一种架构模式,它通过将可执行规范提升到代码本身之上,从而颠倒了传统的事实来源。

 

SDD 代表了软件系统架构、治理和演变方式的根本转变。在技术层面上,它引入了一个声明性的、以契约为中心的控制平面,将规范重新定位为系统的主要可执行工件。相比之下,实现代码成为了次要的、生成的架构意图表示。

 

传统架构依赖于源代码作为规范的控制面。在 SDD 中,控制面向上移动到规范控制面。这个控制面正式允许我们定义诸如:

  • 接口契约(功能、输入/输出、行为保证)

  • 数据模式和不变量(结构、约束、验证规则)

  • 事件拓扑(允许的流、排序、传播语义)

  • 安全边界(身份、信任区域、策略实施)

  • 兼容性规则(包括向后和向前)

  • 版本控制语义(演进、降级、迁移)

  • 资源和性能约束(延迟、吞吐量、成本)

 

这一变化涵盖了跨行为和治理的经典体系结构表面区域的组合,并具有正确性的时间维度。SDD 不是独立地在服务和存储库之间协调这些领域,而是将它们集中到一个单一的权威模型中。这种模式更接近于语言类型系统或编译器:它不执行程序本身,而是定义了什么是可表达的,拒绝什么是无效的,并限制演变以保持随时间的正确性和兼容性。架构不再是咨询性的;它现在变得可实施和可执行。

 

尽管越来越多的工具被冠以 SDD 的标签,但从根本上说,它不是一个产品、框架或正式语言。相反,它是一个架构构造,以惊人的一致性作为一个五层执行模型重新出现。

 

以我们的订单管理服务为例,在规范层中,我们声明什么必须为真,而不是如何实现它。这是一个简单订单的伪规范可能看起来像:

 

图 2:SDD 5 层执行模型

 

这些层次共同构成了一个封闭的、由规范控制的控制系统,其中意图不断塑造执行,而执行不断地验证意图。由此产生的并不是对现有架构的渐进式改进,而是权威、控制和真实性所在位置的根本倒置。

 

现在让我们来看看这五个层次。在整个过程中,我们将遵循一个经典的订单管理服务的简化示例,以展示各层之间的进展以及它们是如何相互加强的。

 

规范层

这是系统行为的权威定义。它捕获了系统的声明性意图,而不是如何实现。这一层通常包含 API 模型、消息传递契约、领域模式和特定于系统、以策略为中心的约束。从抽象的角度来看,它既是人类可读的,也是机器可执行的,同时作为设计工件和操作控制面。

 

以我们的订单管理服务为例,在规范层,我们声明什么必须为真,而不是如何实现它。这是一个简单订单的伪规范可能的样子:

service: Ordersapi:     POST /orders:      request:               Order:                   id: uuid                   quantity: int > 0           responses:               201: OrderAccepted               400: ValidationError  policies:     compatibility:   backward-only     security:         auth: mTLS
复制代码

 

这个规范明确声明了我们的期望:

  • 订单必须是正数

  • API 不得引入破坏性变更

  • 请求必须经过认证

 

这里没有引用任何语言、框架或基础设施。

 

生成层

这一层将声明性系统意图转化为可执行的形式。它作为一个多目标系统编译器,但与发出机器指令的经典编译器不同,这一层发出系统形状和跨语言、框架和平台的可执行运行时界面。在这里,问题空间由规范层声明,工具将其操作形式具体化。典型的输出包括类型模型、契约存根、验证中间件、文档以及一系列集成和一致性测试。

 

以我们的订单示例为例,规范被摄取并发出可执行的系统表面。从概念上讲,这看起来像:

 

spec.yamlType models (Java, TypeScript)   → Request validators      → API stubs     → Contract tests
复制代码

 

工具将声明的意图转化为具体的、可执行的形式。

 

构件层

这一层包含了生成阶段的具体输出:生成的服务、组件、客户端、数据模型和适配器。关键的是,这些工件不被视为主要资产。相反,它们是可再生的、可丢弃的、可替换的,并且可以持续协调。这颠覆了传统软件架构的一个基本假设:代码不再是系统的记录;规范是。随着代码变得无限可复制和按需生成,新出现的术语环境代码恰如其分地抓住了这种范式转变。

 

我们的订单的形状现在可以用生成的一次性代码实现了。这可以看到类似于类型化模型的输出:

 

export interface Order{   id: string;   quantity: number; }With a validator:if (order.quantity <= 0) {    throw new ValidationError("quantity must be greater than zero"); }
复制代码

 

这些构件不是真相的来源。如果规范发生变化,它们将被重新生成。如果它们被删除,什么也不会丢失。

 

验证层

这一层强制执行意图和执行之间的持续一致性。它由契约测试、模式验证、有效载荷检查、向后兼容性分析和架构漂移检测机制组成。它在结构上扮演了编程语言的类型系统和管理程序对虚拟机所扮演的角色:积极防止架构违规传播到运行时。

 

我们的生成层创建的工件最终在这里进行管理,其中验证确保运行时不能偏离意图:

 

✓ Reject requests with quantity <= 0
复制代码

 

违规行为在构建时、部署期间以及我们的持续集成系统中被检测到。架构正确性是持续强制执行的,而不是手动审查的。

 

运行时层

这是操作系统本身,由典型的一系列构件组成,例如:

  • API

  • 消息代理和流处理管道

  • 函数、方法和等效结构

  • 集成服务

 

至关重要的是,运行时的形状完全受到上游规范和验证层的约束。因此,运行时行为在架构上是确定的,而不是涌现性的。

 

如果我们尝试在我们的订单服务使用负数量,如下所示:

 

POST /orders {   "id": "123",   "quantity": -1 }
复制代码

 

我们返回了一个 400 ValidationError,并不是因为运行时拒绝了请求,而是因为在系统执行任何请求之前,该行为在规范层中声明,由生成层具体化,由构件层实例化,并由验证层持续强制执行。

 

架构反转

几十年来,软件架构一直在一个基本上未受挑战的假设下运作,即代码是最终的权威。架构图、设计文档、接口契约和需求规范都是用来指导实现的。然而,运行中的系统总是从最终部署的内容中获得其真相。当出现不匹配时,标准的反应是“更新文档”。

 

SDD 完全颠覆了这种关系。规范成为系统现实的权威定义,实现是持续派生、验证的,并且在必要时重新生成以符合该真实性。这不是一个哲学上的区别;它是软件系统治理的结构性反转。

 

传统的软件交付遵循线性、有损失的管道,如图 3 所示。

图 3:传统的软件交付管道

 

每一步翻译都引入了重新解释、手动适应和隐藏的假设。因此,不能阻止架构漂移;它是在晚期被发现的,通常是通过生产事件、失败的集成、安全审计或合规性违规。当检测到不一致时,它是取证而不是纠正。

 

SDD 从根本上将这种流程重构为一个受控的控制循环:

图 4:SDD 受控的软件交付管道

 

这个控制循环用积极的架构强制执行取代了延迟发现。漂移检测不会修补运行时行为;它纠正规范权威,并触发系统的受控再生。传统架构假设代码随时间的推移成为事实;SDD 通过确保规范保持永久的事实来源,并且运行时持续被迫符合它,从而颠覆了这一点。

 

这种架构反转可以概括如下几点:

 

 

在 SDD 中,代码不再是真相出现的地方,而成为真相仅仅被实现的地方。

 

这种反转在结构上等同于早期的范式转变,即从人的责任中移除整个类别的正确性约束,并使其在机械上可执行:

  • 从手动内存管理到垃圾收集,内存安全成为运行时不变量

  • 从裸机到虚拟机,隔离和资源边界成为平台保证

  • 从物理服务器到声明性基础设施,其中配置漂移和拓扑正确性不断得到协调

  • 从无类型语言到静态类型系统,在编译时强制执行结构正确性

  • 从非正式的接口协议到模式和契约强制执行的 API,交互正确性被机械地验证

 

在每种情况下,正确性都从传统上由人类强制执行转变为由平台结构性强制执行。SDD 将这一原则应用于系统边界、架构和行为本身。

 

漂移检测:使架构自我强制执行

一旦规范成为权威,漂移检测不再是一种测试便利;它成为一种强制性的架构能力。它是将意图转化为不变性的执行机制。在这个模型中,漂移不仅仅是模式不匹配;它是声明的系统意图和观察到的系统行为之间的任何偏差。这种偏差可能是结构性的、行为性的、语义性的、与安全相关的或进化性的。我们在实验中遇到的一些例子包括:

  • 一个 API 返回了规范中未声明的字段

  • 一个服务在重构过程中默默地省略了必需的字段

  • 消息负载在没有协调的模式版本控制的情况下不断演变

  • 错误处理偏离了合同保证

  • 相对于最初的策略意图,安全范围正在退化

 

没有漂移检测,SDD 就会退回到文档驱动的开发。有了它,系统就变成了自我监管。漂移检测形成了一个闭环反馈控制系统。它不断地比较系统声称要做的事情和它实际做的事情。这与古典测试相比,后者只提供周期性的、基于样本的保证,是一种根本不同的操作姿态。

 

在传统架构中,意图的偏差会悄无声息地传播,通常数月之后才会以中断、审计失败或安全漏洞的形式显现出来。在 SDD 系统中,漂移变成了机器默认可以检测到的。规范验证器可以直接嵌入我们的 CI 管道中,运行时执行层:模式验证、有效负载检查、契约验证和规范差异引擎都成为了一等的架构组件。当输出违反规范时,系统会快速失败,并允许进行航向修正。

 

这种强制要求在一个固有的多模型未来中变得更加重要。软件系统将越来越多地受到人类驱动开发和机器驱动生成的影响,通常在同一规范表面上并行操作。系统中不再有单一的线性路径。更改可能来自开发者、AI 代理、自动化重构工具或政策驱动的生成器。这种进化路径的多样性极大地放大了漂移问题:分歧不再是边缘情况;它是必须持续治理的自然状态。

 

总体效果是治理方式的深刻转变。架构不再是设计阶段的产物;它变成了一个持续执行的运行时不变量。规范从被动的参考资料转变为主动的控制表面,漂移检测作为反馈信号,保持系统与意图一致。

 

然而,这并不意味着一个完全自主的系统,机器单方面定义正确性。规范不仅仅是一个机械合同;它是人类对目的、风险容忍度和权衡的表达。漂移检测可以识别系统已经偏离,但它不能单独决定这种偏离是可以接受的、偶然的还是可取的。一些漂移代表缺陷,而其他漂移代表进化。在这个边界上,当自动化执行遇到解释性判断时,人类的角色再次变得至关重要。不是作为失败后被动审查日志的审查者,而是作为治理意义、意图和受控变更的积极参与者。这就是 Human-in-the-Loop(人在循环中)不再只是一个安全网,而是一个一等的设计原则。

 

人在循环中:在自动化架构中保留意图

当我们最初探索这种系统设计模式时,我们以一种天真的“氛围编码”心态来接受生成的变化,最小化阻力,并信任 SDD 工具链为我们处理边缘情况。那个假设很快就失败了。取而代之的是一个更强大的认识:SDD 并没有将人类从循环中移除;它将人类判断重新定位到更高的控制层面。问题不再是人类如何实现系统,而是如何以及在哪里治理系统。

 

SDD 并没有消除人类在软件设计中的参与。它重新分配了人类认知的应用领域。传统上,一旦功能实现,开发人员就会花费大量的精力来解决不匹配、调试集成故障、协调分散的服务以及修复更改的意外副作用。随着时间的推移,这被错误地等同于软件工程本身的手艺。实际上,这是维护大型、长期、面向生产的系统的负担。SDD 将这个负担转移到机器上,同时故意保留人类对意图、策略和意义的权威。

 

这引入了一种新型的人机界面。人类仍然是领域语义、风险容忍度、安全范围和系统进化方向的最终守护者。这种权威也扩展到隐含地塑造工程决策的法律、伦理和道德框架中。这些维度不能仅从执行跟踪或行为观察中推断出来。它们存在于机器无法完全拥有的抽象层次上。

 

相反,人类将这些约束明确编码到规范层中,机器承担起执行、生成和持续一致性的责任。这反映了我们技术的历史演变:就像我们曾经将手动内存管理交给垃圾收集一样,我们现在正在将结构性执行和机械一致性委托给 SDD。取代这种委托的不是盲目的自动化,而是明确的审批边界:

  • 破坏模式更改需要人工批准

  • 策略转变需要人工授权

  • AI 提出的重构需要人工确认

  • 兼容性降级需要人工解释

 

因此,SDD 实现了有限的自主性,而不是完全自动化,并且在这些限制内,长期架构意图可以得以保留。

 

通过强制漂移检测和人工意图监督,SDD 在人和机器之间建立了新的责任分工。执行变得自动化。意义仍然是人类的。这种分离不是哲学上的;它是架构上的,正是这种分工产生了一类新的基础设施能力。一个的规范原生系统现在必须将执行、演化、验证和治理直接编码到其核心原语中。我们接下来探讨这些能力,以及它们为什么在结构上与经典软件架构中的能力不同。

 

规范原生系统的核心能力

SDD 不是由单一工具、框架或平台启用的。它源于一组紧密耦合的架构能力,这些能力共同允许规范变得可执行、可强制和可扩展。当这些能力中的任何一个缺失时,SDD 就会退回到文档驱动开发或临时代码生成。要从理论进入操作范式,系统必须内化五个核心能力:

  1. 规范编写作为一等工程表面

  2. 正式验证和类型强制

  3. 确定性生成和组合

  4. 持续的一致性和漂移执行

  5. 受控演化和兼容性控制

 

我们将这种操作规程称为 SpecOps,即规范操作。从 SpecOps 的角度来看,规范被视为一等的、可执行的系统资产,这些能力并没有定义一个产品类别;它们代表了软件意图的控制平面。在规范原生系统中,规范编写不是在实现之前进行的活动;它就是实现活动。因此,系统必须支持多模型规范,其中结构、行为和策略定义共存于统一的模式空间内。这需要可组合的领域建模,使得分层规范成为一种可行的架构策略,而不是文档便利。

 

随着规范成为主要的系统构件,它们必须像源代码一样被严格地处理:版本控制、同行评审、分支和受控合并策略都要是强制性的。此时,规范不再是描述性的,而是成为系统本身的可编程模型。

 

一旦规范是可执行的,它还必须是机器可验证的,就像编译器前端或类型系统一样严格。这种执行涵盖了结构验证、语义一致性和领域不变性执行。条件约束、引用完整性和跨规范一致性必须是可证明的。效果不仅仅是提高了正确性,而是从可以表示的所有内容的空间中消除了整个类别的系统故障,就像静态类型限制非法程序一样。

 

在这个范式中,生成不是脚手架的一种形式。它是声明的系统真理的具体化。这需要严格确定性行为。一个生产级别的规范原生系统必须保证输入的确定性:相同的规范总是产生相同的构件。它必须是目标无关的,跨语言、平台和运行时环境产生一致的输出。最关键的是,生成必须是逻辑可逆的。系统必须始终能够回答一个简单但基础的问题:哪个规范状态产生了这种行为?这种决策的谱系可追溯性是将生成从生产力辅助提升到架构权威的关键。

 

一旦生成自动化,执行就必然变得连续。运行时系统不能再悄悄地偏离声明的意图。实现不能引入未记录的行为。消费者不能依赖于未定义的属性。因此,架构从设计时断言转变为运行时不变性,由系统本身积极维护。

 

SDD 中最困难的能力不是生成或验证,而是不断裂的更改。规范原生系统必须自动将更改分类为添加性、兼容性、破坏性或模糊性,并执行明确的兼容性策略。这引入了受控演化的正式概念:需要并行版本表面、已知的兼容性窗口、受控的弃用曲线和用于破坏性更改的显式批准门。没有这个,SDD 在架构上就会变得脆弱。有了它,系统可以在不违反自己的正确性保证的情况下进行演化。

 

这五个能力引入的最深刻的转变不是技术上的;它是结构上的。

 

交付的单元不再是服务或代码库。交付的单元变成了规范本身。这将结果与产出重新对齐:声明的是什么,交付的就是什么。这与以氛围驱动、生成性编码方法形成鲜明对比,在这些方法中,偏差是创造力(或幻觉)的涌现属性,而不是设计中受控的行为。

 

结论:存在的工程权衡和挑战

软件工程中每一次重大的抽象飞跃都带来了非凡的生产力提升,同时引入了全新的系统性风险类别。垃圾收集消除了大量内存错误,同时引入了暂停时间行为和新的故障模式。虚拟机简化了部署,同时增加了业务编排的复杂性。云平台消除了基础设施负担,同时引入了深层操作耦合。规范驱动开发也不例外。

 

通过将系统的真实来源提升到规范和生成器中,SDD 并没有消除复杂性;它只是简单地重新定位了复杂性。下面的权衡定义了我们在大规模采用这种范式时所经历的真实工程成本。

 

规范成为主要的复杂性表面

在 SDD 中,规范不再是文档构件,而是成为长期存在的可执行基础设施。因此,它们获得了传统上与源代码相关的属性。它们继承了通常与源代码相关的所有属性:技术债、跨团队耦合、兼容性惯性和架构引力。因此,模式工程成为了与数据建模和分布式系统设计同等重要的一级架构学科。

 

生成器信任成为供应链问题

在 SDD 中,AI 代码生成器不再是开发者的便利工具。它们成为系统可信计算基础的结构组件。确定性、可重复性、可审计性、沙箱执行和可验证的出处不再是可选属性;它们是强制性的。代码生成从工具提升为关键基础设施。

 

运行时执行有实际成本

SDD 将执行从社会过程转移到技术控制。这种转变是强大的,但不是免费的。运行时契约验证引入了实际的计算开销。在小规模上,这个成本是微不足道的。在大规模上,我们需要考虑系统的目的,无论是高频 API、实时流还是对延迟敏感的系统。这成为了一个明确的架构预算项目。正确性成为了计量资源,而不是默认的免费属性。

 

认知转变非同小可

SDD 用契约优先推理取代了实现优先的思维。这要求工程师采用新的心智模型:

  • 用不变量而不是行为来思考

  • 关于兼容性而不是功能的推理

  • 用声明式而不是过程式表达意图

  • 将模式视为可执行程序

 

历史上每一次抽象的转变都扩大了人类的影响力,同时引入了不熟悉的失败模式,需要多年才能掌握。SDD 现在正进入相同的成熟曲线。

 

架构权威的价格

虽然新的范式转变通常令人兴奋,但最终是否采用这一转变归结于平衡所涉及的实际权衡。

 

一方面,SDD 提供了:

  • 架构确定性

  • 持续的正确性执行

  • 系统性减少漂移

  • 多语言平价

  • 可复制的系统边界

 

但它以以下代价:

  • 模式复杂性

  • 生成器信任要求

  • 运行时验证成本

  • 长期兼容性负担

  • 工程角色的认知转变

 

这不是避免 SDD 的理由。这是一个有意识地采用它的理由,要有明确的治理、有纪律的规范实践,以及对其成本的清醒认识。每一次抽象的飞跃都需要新的严谨形式。

 

SDD 只是将这种严谨重新定位到它一直属于的地方:系统真理本身的定义。

 

原文链接:

https://www.infoq.com/articles/spec-driven-development/

大家好,我是咕咚。

以前写技术博客,插入图片绝对是最烦的事之一。

流程大概是:

  1. 截图 / 导出图片
  2. 打开浏览器,登录图床
  3. 拖拽上传
  4. 等待上传完成
  5. 复制图片链接
  6. 回到编辑器,粘贴链接

一遍两遍还好,写一篇长文章要插入十几张图片,真的会让人崩溃。


现在的方案

最近在玩 Claude Code,发现它的技能系统特别好玩。

简单说,Claude Code 是 Anthropic 官方的 CLI 工具,你可以在终端里直接和 Claude 对话来编程。它的技能系统允许用户自定义功能扩展。

于是我就写了一个小技能:Image Publisher

把这个流程简化成一句话:

"上传图片 ~/Desktop/screenshot.png"

就这。完事。


功能介绍

Image Publisher 是一个 Claude Code 技能,让你用一句话就能上传图片到图床。

支持的图床:

  • GitHub 图床(免费,自带 jsDelivr CDN )
  • S3 兼容存储(七牛、阿里云 OSS 、腾讯云 COS 等)

特点:

  • 专注:只做图片上传
  • 简单:配置一次,永久使用
  • 开源:MIT 许可,随便改随便用
  • 集成:和 Claude Code 无缝集成


怎么用

git clone https://github.com/maoruibin/image-publisher.git
cp -r image-publisher ~/.claude/skills/
cd image-publisher
cp .env.example .env
# 编辑 .env 配置你的图床信息

然后在 Claude Code 里说:

我:上传图片 ~/Desktop/screenshot.png

Claude:上传成功!
     https://cdn.jsdelivr.net/gh/user/repo@master/images/screenshot.png


关于 AI 时代的一点思考

以前我要做图床,得开发一个 APP (咕咚云图就是我当时做的)。

现在有了 AI ,只需要写一个技能就够了。

不是写代码,是写"能力"。

这个感觉很奇妙。


项目地址

GitHubhttps://github.com/maoruibin/image-publisher

如果觉得有用,给个 Star ⭐️

有问题欢迎交流!

演示效果图


标签建议

#工具 #Claude #AI #开源 #GitHub

在开发者工具 Claude Code 推出之后,Anthropic 团队很快意识到一个出乎预料的现象:开发者并没有把它局限在“写代码”这件事上。相反,Claude Code 被迅速用于整理资料、撰写文档、生成报告、分析数据,甚至承担起类似“数字同事”的角色。

这种使用方式的外溢,最终促使 Anthropic 做出一个更激进的产品判断——如果大模型已经被当作工作伙伴使用,那么是否应该为“所有人”,而不仅仅是开发者,提供一种真正面向日常工作的智能协作形态?

于是今天,Anthropic 正式推出了 Cowork。

Anthropic 工程师、Claude Code 创建者 Boris Cherny 在 X 上发帖宣布了该消息。他写道:

自 Claude Code 发布以来,我们发现用户将其用于各种非编码工作:例如进行度假研究、制作幻灯片、清理电子邮件、取消订阅、从硬盘恢复婚礼照片、监测植物生长、控制烤箱等等。这些应用场景丰富多样,令人惊喜——原因在于底层 Claude Agent 是最佳代理,而 Opus 4.5 是最佳模型。

今天,我们非常激动地推出 Cowork,这是我们让 Claude Code 服务于所有非编码工作的第一步。该产品目前仍处于早期阶段,功能尚不完善,与 Claude Code 最初发布时的状态类似。Cowork 包含许多我们认为使其真正与众不同的创新用户体验和安全功能:内置虚拟机用于隔离、开箱即用的浏览器自动化支持、以及对所有非编码工作的支持。

据介绍,Cowork 是一款基于 Claude Code 底层架构构建的全新产品,目前以“研究预览版”的形式,率先面向 macOS 平台上的 Claude Max 订阅用户开放。与传统对话式 AI 不同,Cowork 的核心定位并非“聊天”,而是“协作”:它试图让 Claude 从一个被动响应指令的助手,转变为能够理解任务、制定计划、持续执行,并与用户保持协同关系的智能工作体。

从“对话助手”到“数字同事”

长期以来,大模型产品的主流交互形态仍然是对话。用户输入问题,模型生成回答;用户提出修改,模型再次响应。这种模式在信息查询、文本生成等场景下行之有效,但在真实工作流中却暴露出明显局限——上下文需要反复提供,文件需要人工整理,输出结果往往还要用户自行转换为可用格式。

Cowork 试图解决的,正是这一断裂问题。

在 Cowork 模式下,用户可以直接授予 Claude 对本地指定文件夹的访问权限。需要强调的是,这种访问并非“全盘授权”,而是由用户明确选择、逐一控制的结果。Claude 只能看到、读取、编辑或创建那些被允许的文件和目录,而无法触及任何未授权内容。

一旦获得权限,Claude 的能力边界就发生了质变。它不再只是基于文本上下文“想象”文件内容,而是可以直接操作真实存在的工作材料。例如,它可以扫描一个杂乱无章的下载文件夹,按照文件类型、时间或用途进行分类和重命名;可以从大量截图中提取关键信息,自动生成一份结构化的费用清单;也可以将零散的会议笔记、草稿和片段,整理成一份逻辑清晰的报告初稿。

这种能力的本质,并不是简单的“更聪明”,而是 Claude 被嵌入进了用户的实际工作环境之中。

Anthropic 在产品说明中多次强调,Cowork 的体验更接近“给同事布置任务”,而不是与机器人来回对话。一旦任务被下达,Claude 会自行拆解步骤、规划执行路径,并在执行过程中持续向用户同步进展。用户无需等待任务完成即可插入新的反馈或补充想法,这些指令会被自动排队、并行处理。

这也是 Cowork 与普通对话模式最根本的差异之一:它默认假设用户的工作是多线程的,而不是线性的。

当然,“更自主”的能力,意味着更高的风险。

让 AI 进入文件系统,甚至具备修改、创建和删除文件的能力,无疑是一种能力跃迁,同时也是风险跃迁。Anthropic 并未回避这一点,反而在产品介绍中反复提醒用户保持警惕。

首先是操作层面的风险。如果收到明确指令,Claude 确实可以执行具有破坏性的操作,例如删除本地文件或批量修改内容。一旦指令本身存在歧义,或者模型误解了用户意图,后果可能是不可逆的。

因此,在 Cowork 中,Claude 在执行任何“重要操作”之前,都会主动征求用户确认。这种设计并非形式上的“弹窗提示”,而是希望用户在关键节点重新审视任务目标,必要时进行纠正或细化指令。Anthropic 也明确建议,在涉及高风险操作时,用户应提供尽可能清晰、具体的指示,而不是依赖模糊的自然语言。

另一类更复杂、也更具行业共性的风险,是“提示注入”(Prompt Injection)。

在 Cowork 的工作过程中,Claude 可能会接触来自互联网的内容,例如网页、文档或第三方信息源。如果这些内容中被恶意嵌入了指令,试图诱导模型偏离原本的任务计划,就可能引发安全问题。Anthropic 表示,他们已经构建了针对提示注入的多层防御机制,但也坦言,“代理安全”——即确保 AI 在现实世界中执行操作时的可控性——仍然是整个行业正在积极探索的前沿问题。

从这个角度看,Cowork 并不是一个“已经完全成熟”的产品,而更像是一次对未来工作方式的现实实验。

Anthropic 也明确指出,这些风险并非 Cowork 独有,而是所有具备“行动能力”的 AI 工具都会面临的问题。只是对许多用户来说,Cowork 可能是第一次接触到一个超越简单对话、真正能够影响本地环境的 AI,因此更需要建立正确的使用习惯和风险意识。

研究预览版背后的产品逻辑

Cowork 目前被定义为“研究预览版”,这一定位本身就释放了明确信号:Anthropic 并不认为自己已经找到了最终形态,而是希望通过真实用户的使用反馈,加速产品迭代

根据官方披露,Anthropic 计划在后续版本中引入多项重要改进。其中包括跨设备同步能力,使 Cowork 不再局限于单一终端;以及将其移植到 Windows 平台,从而覆盖更广泛的办公人群。同时,安全机制也将持续强化,尤其是在代理行为可解释性和可控性方面。

从产品路径上看,Cowork 与 Claude Code 之间存在清晰的继承关系。两者共享相同的底层架构,这意味着 Cowork 在能力上,理论上可以完成 Claude Code 已经证明可行的许多复杂任务。不同之处在于,Cowork 将这些能力重新封装为更偏向非技术用户的交互方式,降低了使用门槛。

如果说 Claude Code 面向的是“愿意为效率付出学习成本”的开发者群体,那么 Cowork 的目标人群显然更加广泛:内容创作者、产品经理、运营人员、行政人员,乃至任何需要与文件、资料和信息打交道的知识工作者。

在掌握 Cowork 的基本使用方式后,用户还可以进一步扩展 Claude 的能力边界。

首先是连接器。Claude 可以通过用户已有的连接器,访问外部信息源,从而将本地任务与外部数据打通。这使得 Cowork 不再只是一个“本地整理工具”,而是可以承担跨系统的信息整合角色。

其次是新增的一系列技能。这些技能专门用于提升 Claude 在创建文档、演示文稿以及其他常见办公文件时的表现,使其输出更加贴近真实工作场景的格式和标准。

此外,如果用户在 Chrome 浏览器中将 Cowork 与 Claude 配对使用,Claude 还可以完成需要访问浏览器的任务。这一步,实际上进一步模糊了“对话 AI”“自动化工具”和“数字员工”之间的界限。

从整体设计来看,Cowork 试图减少用户在“提供上下文”和“整理结果”上的认知负担。用户无需手动拼接背景信息,也无需将 Claude 的输出再加工成可用成果。更重要的是,用户不必为了等待 AI 完成某个任务而中断自己的工作节奏——任务可以被连续布置、并行执行。

Anthropic 在描述这种体验时,用了一个耐人寻味的比喻:这更像是给同事留言,而不是来回沟通。

用户:没有 Linux 版本,差评!

在 Cowork 发布之后,迅速在开发者社区、AI 产品圈以及更广泛的知识工作者群体中引发讨论。与以往单纯围绕模型能力、跑分或价格的争论不同,这一次的焦点明显转向了一个更现实的问题:“AI 是否真的开始成为一个可以被信任、被授权的工作参与者?”

在 Reddit 上的最新讨论串里,有用户评论指出他们“很期待尝试这个功能”,认为 Anthropic 近来在产品和用户信任构建上做得不错。

**因为仅限 macOS 和订阅计划,部分用户感到遗憾。**在另一个 Reddit 讨论串中,有用户对 Cowork 的平台限制表达了不满或遗憾,评论集中在“只支持 macOS”这一点上。

此外,值得注意的是,有些评论虽然不是专门针对 Cowork,但有一些用户还是对 Anthropic 近期产品策略与沟通的不满,对 Cowork 的发布背景和用户关系具有间接关联语境。

在 Reddit 平台,有长期用户表示,自己已经从忠实支持者变成对 Anthropic 的信任下降甚至不满。该用户指出:

“作为很早一批用户,我原本极力推荐 Claude,但最近几个月感觉 Anthropic 的产品质量沟通都变差了。”

参考链接:

https://claude.com/blog/cowork-research-preview

https://x.com/bcherny/status/2010809450844831752

https://www.reddit.com/r/singularity/comments/1qb6qv1/introducing_cowork_claude_claude/?utm_source=chatgpt.com

亚马逊云科技(AWS)最近推出了VPC加密控制功能,允许客户验证 VPC 内部和 VPC 之间的流量是否加密,并在支持的地方要求加密。该功能提供了对未加密流量的可见性,支持使用兼容的基于 Nitro 的基础设施进行强制执行,并允许排除无法加密流量的资源。

 

据云服务提供商称,这项新功能有助于组织在他们的 AWS 环境中应用一致的加密标准,并展示符合 HIPAA、PCI DSS 和 FedRAMP 等监管框架的合规性,这些框架要求全面加密。AWS 的首席开发者倡导者Sébastien Stormacq解释道

 

金融服务、医疗保健、政府和零售等行业的组织在维护云基础设施的加密合规性方面面临着重大的操作复杂性。传统方法需要将多个解决方案拼凑在一起,并管理复杂的公钥基础设施(PKI),同时手动使用电子表格跟踪不同网络路径上的加密。

 

虽然社区的反应大多是积极的,但许多人最初对定价方法表示困惑,或者质疑为什么应该为安全控制付费。用户 kei_ichi 写道:

 

这个功能应该默认启用并且免费。

 

管理员可以为现有的 VPC 启用该功能,以监控流量流的加密状态,并识别无意中允许明文流量的 VPC 资源。云安全顾问和 AWS 安全英雄Chris Farris在他的re:Invent概述中写道:

 

让我们从为什么应该避免这种情况开始——每个非空 VPC 每月 110 美元。如果你需要“满足像 HIPAA 和 PCI DSS 这样严格的合规标准”和“展示符合加密标准”,这绝对是值得的。

 

VPC 加密控制有两种操作模式:监控和强制执行。激活后,强制执行模式确保所有新资源仅在兼容的 Nitro 实例上创建,并且在检测到错误的协议或端口时丢弃任何未加密的流量。

 

来源:AWS 博客

 

管理员只有将所有资源迁移到兼容加密的基础架构后,才能启用强制模式。Farris 指出:

 

如果你的 VPC 中有未加密传输的资源,你不能启用强制执行模式。这里的迁移工作将非常巨大,但如果你的审计员要求你手工完成这项工作,这些成本是值得的。

 

这需要首先升级到支持的硬件和通信协议。可以为不支持加密的资源(如互联网或 NAT 网关)配置特定的排除,因为它们的流量离开了 AWS 网络。在“理解现代云安全中的 VPC 加密”的文章中,Anish Kumar补充道

 

对于你的云安全态势,你可以自信并有证据地回答这个问题:“我所有的 VPC 中的流量都加密了吗?”从合规审计的角度来看,你可以在流量日志和排除列表中展示加密状态。

 

这项新功能目前在 AWS 的一些区域可用,包括弗吉尼亚北部、爱尔兰、伦敦和新加坡。在 3 月 1 日之前,VPC 加密控制将免费使用,之后将对每个非空 VPC 收取固定的小时费,每小时 0.15 美元起。

 

原文链接:

https://www.infoq.com/news/2026/01/aws-vpc-encryption-controls

模力工场新鲜事

  • 模力工场将亮相 OceanBase 社区嘉年华!诚邀您加入我们的上海现场展位。作为 OceanBase 合作的创新社区,模力工场将于 1 月 31 日 登陆上海社区嘉年华,并拥有专属展位。这不仅是一次技术交流——我们更希望和您一起,在现场用 AI Coding 展现创造力、在开放麦分享您的项目故事、与行业先锋面对面切磋、在开源市集交换灵感。我们为您预留了专属席位,期待与您共同呈现:当开源精神遇上 AI 创造力,能碰撞出多少令人惊艳的可能。立即报名,锁定与数百位技术同行深度连接的一天!

028 周榜单总介绍

模力工场第 028 周 AI 应用榜来啦!本周上榜的应用大多来自美国 CES 展及阿里云通义智能硬件展,从优必选的集群物流调度系统到银河通用的零样本抓取机器人,从众擎的拟人步态双足机器人到 Walulu 的情感陪伴毛绒玩具——这些应用共同见证了一场时代风暴:AI 硬件正在集体跨越“工具”属性,进化为真正的“智能体”。它们不再是被动响应指令的机械装置,而是具备了理解环境、自主规划、闭环执行乃至情感交互能力的“数字生命体”。这场从“功能叠加”到“语音助手”再到“智能体化”的范式革命,正同时重塑生产力与生产关系:在工业场景成为可靠的“数字员工”,在消费领域则成为可建立羁绊的“数字伙伴”,标志着人机协同进入了全新的历史阶段。

  • OiiOii: 一款面向创作者与普通用户的 AI 互动式内容生成应用,通过自然语言或轻量交互,快速生成有趣、可分享的内容。

  • 云深处巡检机器人: 专注于工业复杂环境的自主巡检解决方案。其四足机器人具备强运动与感知能力,可在无网络支持下独立完成巡检任务并安全返回,已在电力、能源等领域实现落地应用。

  • 优必选(UBTECH)搬运/物流机器人: 提供从智能搬运机器人到集群调度系统的软硬件一体化智慧物流方案,帮助企业实现仓储搬运环节的自动化升级与效率提升。

  • 众擎机器人: 聚焦高动态双足人形机器人的研发,致力于突破拟人步态与平衡控制技术,为未来机器人在人类环境中的通用移动能力提供底层支撑。

  • walulu 📍成都: 一款具备情感交互与离线记忆能力的 AI 智能毛绒玩具,通过多模态交互设计,为用户提供个性化、可长期互动的陪伴体验。

  • 银河通用机器人: 研发面向仓储、零售等场景的通用移动操作机器人,具备视觉识别与自主抓取能力,可在动态环境中完成物品拣选、搬运等任务。

  • 千寻智能Spirit AI: 从事通用人形机器人系统研发,整合高性能硬件平台与 AI 算法栈,探索机器人在多场景下的感知、决策与执行能力。

本周必试应用

应用名称:OiiOii

关键词:全流程托管|零门槛动画|AI 协同创作

模力小 A 推荐:通过七个 AI 智能体(导演、编剧、美术等)分工协作,将你的文字想法自动转化为包含分镜、角色与场景的动画视频,大幅降低了专业动画内容的制作门槛。

上榜冷门但有趣的应用

应用名称:walulu

关键词:AI 硬件|可成长陪伴|离线记忆

模力小 A 推荐:一款结合了情感计算模型的智能玩具。它能够记住与你的互动,并做出个性化的反应,提供一种注重私密性与持续性的陪伴体验。

本周上榜应用趋势解读

AI 正在从虚拟世界走向物理世界,为自己寻找真实的“身体”。本周模力工场榜单上的应用清晰地展示了这一趋势——AI 不再是停留在软件层面的算法,更是成为驱动各类硬件的“大脑”。这次上榜的八大应用,集中体现了 AI 硬件在两大关键赛道的爆发:工业效率革命与情感陪伴需求。

在工业领域,AI 机器人正从简单的机械臂进化为真正的“智能员工”。云深处的巡检机器狗能够在无网络环境的复杂场景中自主完成巡检任务,实现了从“自动化”到“自主化”的跨越;优必选的智慧物流方案已超越单台设备,提供机器人群调度与仓储管理系统深度集成的整套解决方案;银河通用的物流机器人则实现了“零样本抓取”能力,即使面对全新商品也能准确识别搬运。这些进展表明,工业机器人正从实验室原型走向工程化落地,其核心价值在于可量化的投资回报。

在消费领域,情感陪伴型机器人正开辟全新市场。Walulu 的 AI 毛绒宠物通过情感模型与离线记忆技术,创造出能随互动成长的“伙伴关系”,本质是在贩卖情感价值而非功能价值。这反映了 AI 正从解决效率问题,转向满足更深层的心理需求。未来,能否建立稳定、专属的“数字亲密关系”,或将成为此类产品发展的关键。

特别值得关注的是众擎的人形机器人——虽然步态尚显蹒跚,但其对双足行走、自然步态的追求,瞄准的是机器人无缝进入人类环境的终极目标。这种对“通用形态”的前瞻布局,代表着产业在为更广阔的未来场景做技术储备。

除了实体硬件产品,OiiOii 这款 AI 动画创作应用近期也备受瞩目。其“全流程托管模式”尤为亮眼——平台将传统动画制作中的艺术总监、编剧、分镜师、角色设计师、场景设计师、动画师、音效总监等七个核心角色,分别由七个 AI 智能体担任。这些智能体不仅形象亲切可爱,更如导师般指引用户一步步完成创作。用户只需输入创意想法,并在关键节点进行确认,即可产出完整动画作品。这极大降低了创作门槛,让普通用户也能轻松上手动画制作。

综上,AI 硬件已越过“加个语音模块”的简单升级阶段,进入以智能体化为特征的第三阶段。产业不再满足于制造“能联网的工具”,而是致力于创造“能自主行动的数字生命体”。从工业现场到家庭空间,AI 正在改写生产力与生产关系的定义——在工厂成为可靠的数字员工,在生活场景成为温暖的数字伙伴。当 AI 真正获得在物理世界中感知、决策和执行的能力,人机协同或将进入一个前所未有的新纪元。

这两天在网络上又有一个东西火了,Twitter 的创始人 @jack 新的社交 iOS App  Damus 上苹果商店(第二天就因为违反中国法律在中国区下架了),这个软件是一个去中心化的 Twitter,使用到的是 nostr – Notes and Other Stuff Transmitted by Relays 的协议(协议简介协议细节),协议简介中有很大的篇幅是在批评Twitter和其相类似的中心化的产品,如:MastodonSecure Scuttlebutt 。我顺着去看了一下这个协议,发现这个协议真是非常的简单,简单到几句话就可以讲清楚了。

目录

通讯过程

  • 这个协议中有两个东西,一个是 client,一个是 relay,client 就是用户社交的客户端,relay 就是转发服务器。
  • 用户不需要注册,用户只需要有一个密钥对(公钥+私钥)就好了,然后把要发的信息做签名,发给一组 relays
  • 然后你的 Follower 就可以从这些 relays 上订阅到你的信息。

技术细节摘要

  • 技术实现上,nostr 使用 websocket + JSON 的方式。其中主要是下面这么几个指令
    • Client 到 Relay主要是下面这几个指令:
      • EVENT。发出事件,可以扩展出很多很多的动作来,比如:发信息,删信息,迁移信息,建 Channel ……扩展性很好。
      • REQ。用于请求事件和订阅更新。收到REQ消息后,relay 会查询其内部数据库并返回与过滤器匹配的事件,然后存储该过滤器,并将其接收的所有未来事件再次发送到同一websocket,直到websocket关闭。
      • CLOSE。用于停止被 REQ 请求的订阅。
    • Relay 到 Client 主要是下面几个指令:
      • EVENT。用于发送客户端请求的事件。
      • NOTICE。用于向客户端发送人类可读的错误消息或其他信息
  • 关于 EVENT 下面是几个常用的基本事件:
    • 0: set_metadata:比如,用户名,用户头像,用户简介等这样的信息。
    • 1: text_note:用户要发的信息内容
    • 2recommend_server:用户想要推荐给关注者的Relay的URL(例如wss://somerelay.com

如何对抗网络审查

那么,这个协议是如何对抗网络审查的?

  • 识别你的身份是通过你的签名,所以,只要你的私钥还在,你是不会被删号的
  • 任何人都可以运行一个或多个relay,所以,就很难有人控制所有的relay
  • 你还可以很方便的告诉其中的 relay 把你发的信息迁到另一个 relay 上
  • 你的信息是一次发给多个relay的,所以,只要不是所有的热门realy封了你,你就可以发出信息
  • 每个relay的运营者都可以自己制定规则,会审查哪些类型内容。用户据此选择即可。基本不会有一个全局的规则。
  • 如果你被全部的relay封了,你还是可以自建你的relay,然后,你可以通过各种方式告诉你身边的人你的relay服务器是什么?这样,他们把这个relay服务器加到他们的client列表中,你又可以从社死中复活了。

嗯,听起来很简单,整个网络是构建在一种 “社区式”的松散结构,完全可能会出现若干个 relay zone。这种架构就像是互联网的架构,没有中心化,比如 DNS服务器和Email服务器一样,只要你愿意,你完全可以发展出自己圈子里的“私服”。

其实,电子邮件是很难被封禁和审查的。我记得2003年中国非典的时候,我当时在北京,当时的卫生部部长说已经控制住了,才12个人感染,当局也在控制舆论和删除互联网上所有的真实信息。但是,大家都在用电子邮件传播信息,当时基本没有什么社交软件,大家分享信息都是通过邮件,尤其是外企工作的圈子,当时每天都要收很多的非典的群发邮件,大家还都是用公司的邮件服务器发……这种松散的,点对点的架构,让审查是基本不可能的。其实,我觉得 nostr 就是另外一个变种或是升级版的 email 的形式

如何对抗Spam和骗子

但是问题来了,如果不能删号封人的话,那么如何对抗那些制造Spam,骗子或是反人类的信息呢?nostr目前的解决方案是通过比特币闪电网络。比如有些客户端实现了如果对方没有follow 你,如果给他发私信,需要支付一点点btc ,或是relay要求你给btc才给你发信息(注:我不认为这是一个好的方法,因为:1)因为少数的坏人让大多数正常人也要跟着付出成本,这是个糟糕的治理方式,2)不鼓励那些生产内容的人,那么平台就没有任何价值了)。

不过,我觉得也有可以有下面的这些思路:

  • 用户主动拉黑,但很明显这个效率不高,而且体验不好
  • 社区或是同盟维护一个黑名单,relay定期更新(如同email中防垃圾邮件也是这样搞的),这其实也是审查。
  • 防Spam的算法过滤垃圾信息(如同email中干的),自动化审查。
  • 增加发Spam的成本,如: PoW 工作量证明(比特币的挖矿,最早也是用于Email),发信息要花钱(这个对正常用户伤害太大了)等。
  • ……

总之,还是有相应的方法的,但是一定没有完美解,email对抗了这么多年,你还是可以收到大量的垃圾邮件和钓鱼邮件,所以,我觉得 nostr 也不可能做到……

怎么理解审查

最后,我们要明白的是,无论你用什么方法,审查是肯定需要的,所以,我觉得要完全干掉审查,最终的结果就是一个到处都垃圾内容的地方!

我理解的审查不应该是为权力或是个体服务的,而是为大众和人民服务的,所以,审查必然是要有一个开放和共同决策的流程,而不是独断的

这点可以参考开源软件基金会的运作模式。

  • 最底端的是用户(User)参与开源社区的使用并提供问题和反馈。
  • 用户在使用过程中了解项目情况后贡献代码和文档就可以晋升为贡献者(Contributors),
  • 当贡献者提交一定数量贡献之后就可以晋升为提交者(Committers),此时你将拥有你参与仓库的代码读写权限。
  • 当提交者Committers在社区得到认可后,由项目管理委员会(PMC)选举并产生PMC成员(类似于议员),PMC成员拥有社区相关事务的投票、提名和共同决策权利和义务。

注意下面几点

  • 整个社区的决策者,是要通过自己贡献来挣到被选举权的。
  • 社区所有的工作和决定都是要公开的。
  • 社区的方向和决策都是要投票的,PMC成员有binding的票权,大众也有non-binding的投票权供参考。
  • 如果出现了价值观的不同,那么,直接分裂社区就好了,不同价值观的人加入到不同的社区就好了

如果审查是在这个框架下运作的话,虽然不完美,但至少会在一种公允的基础下运作,是透明公开的,也是集体决策的。

开源软件社区是一个很成功的示范,所以,我觉得只有技术而没有一个良性的可持续运作的社区,是不可能解决问题的,干净整齐的环境是一定要有人打扫和整理的

 

欢迎关注我 npub1w6r99545cxea6z76e8nvzjxnymjt4nrsddld33almtm78z7fz95s3c94nu
欢迎关注我 npub1w6r99545cxea6z76e8nvzjxnymjt4nrsddld33almtm78z7fz95s3c94nu

两个月前,我试着想用 ChatGPT 帮我写篇文章《eBPF 介绍》,结果错误百出,导致我又要从头改一遍,从那天我觉得 ChatGPT 生成的内容完全不靠谱,所以,从那天开始我说我不会再用 ChatGPT 来写文章(这篇文章不是由 ChatGPT 生成),因为,在试过一段时间后,我对 ChatGTP 有基于如下的认识:

  1. ChatGPT 不是基于事实,是基于语言模型的,事实对他来说不重要,对他重要的是他能读懂你的问题,并按照一定的套路回答你的问题。
  2. 因为是基于套路的回答,所以,他并不能保证内容是对的,他的目标是找到漂亮的精彩的套路,于是,你会发现,他的内容组织能力和表述还不错,但是只要你认真玩上一段时间,你会发现,ChatGPT 那些表述的套路其实也比较平常一般。它的很多回答其实都不深,只能在表面上。就像 Github 的 Copilot 一样,写不了什么高级的代码,只能帮你写一些常规格式化的代码(当然,这也够了)
ChatGPT 就是一个语言模型,如果不给他足够的数据和信息,它基本就是在胡编乱造

所以,基于上面这两个点认识,以发展的眼光来看问题,我觉得 ChatGPT 这类的 AI 可以成为一个小助理,他的确可以干掉那些初级的脑力工作者,但是,还干不掉专业的人士,这个我估计未来也很难,不过,这也很帅了,因为大量普通的工作的确也很让人费时间和精力,但是有个前提条件——就是ChatGPT所产生的内容必需是真实可靠的,没有这个前提条件的话,那就什么用也没有了

今天,我想从另外一个角度来谈谈 ChatGPT,尤其是我在Youtube上看完了微软的发布会《Introducing your copilot for the web: AI-powered Bing and Microsoft Edge 》,才真正意识到Google 的市值为什么会掉了1000亿美元,是的,谷歌的搜索引擎的霸主位置受到了前所未有的挑战……

我们先来分析一下搜索引擎解决了什么样的用户问题,在我看来搜索引擎解决了如下的问题:

  • 知识或信息索引。查新闻,查股票,查历史,查文档,找答案……
  • 找服务提供商。找卖东西的电商,找帮你修东西的服务,找软件……
  • 信息的准确和可靠。搜索引擎的rank算法保证了最准确、最有用、最权威的信息出现在最前面……(作恶的百度不在此列)

基本上就是上面这几个,搜索引擎在上面这几件事上作的很好,但是,还是有一些东西搜索引擎做的并不好,如:

  • 搜索引擎是基于关键词的,不是基于语义的。所以,搜索引擎并不知道你的真实需求,因此,你会不可避免地要干下面的事,
    • 你经常要不断地增加或调整不同的关键词来提高查询信息的准确度……
    • 你经常要在你查找的信息中进行二次或多次过滤和筛选……
  • 搜索引擎是只能呈现内容,无法解读内容。所以,你找到相关的链接后,你还要花大量的时间来阅读理解,经常性的你不可避免的要干下面的事:
    • 打开一个链接,读到了一大半后,发现你要的内容不在其中,只能关掉再打开一个……
    • 你想要的内容是在的,但是太晦涩,看不懂,太费解,你要找小白友好的版本……
    • 你想要的内容不完整,你需要在很多个链接和网页上做拼图游戏……
    • 内容是无法结构化的展示的,你搜到的东西全都是碎片信息
  • 搜索引擎没有上下文关联,两次搜索是没有关系的。也就是说,人知道的越多,问题也就越多,所以,我们经常会面临下面的问题:
    • 随着我了解的越多,我的信息搜索的会出现分支,这个分支只有我自己的管理,搜索引擎是不关心的,导致我每次都相当于从头开始……
    • 你做计划的时候,你需要从多个不同的搜索中获取你想要的东西,最终组合成你定制化的东西,比如做旅游计划……

好了,我们知道,ChatGPT 这类的技术主要是用来根据用户的需求来按一定的套路来“生成内容”的,只是其中的内容并不怎么可靠,那么,如果把搜索引擎里靠谱的内容交给 ChatGPT 呢?那么,这会是一个多么强大的搜索引擎啊,完全就是下一代的搜索引擎,上面的那些问题完全都可以解决了:

  • 你可以打一段话给搜索引擎,ChatGPT 是读得懂语义的。
  • 因为知道语义,于是在众多搜过结果中,他更知道哪些是你想要的内容。
  • ChatGPT 可以帮你生成 TL;DR,把长文中的要求总结出来形成更易读的短文
  • ChatGPT 可以帮你整理内容,在多个网页中帮你整合和结构化内容
  • ChatGPT 可以有上下文对话,你可以让他帮你不断通过更多的关键词搜索信息,并在同一个主题下生成、组织和优化内容

一旦 ChatGPT 利用上了搜索引擎内容准确和靠谱的优势,那么,ChatGPT 的能力就完全被释放出来了,所以,带 ChatGPT 的搜索引擎,就是真正的“如虎添翼”!

因此,微软的 Bing + ChatGPT,成为了 Google 有史以来最大的挑战者,我感觉——所有跟信息或是文字处理相关的软件应用和服务,都会因为 ChatGPT 而且全部重新洗一次牌的,这应该会是新一轮的技术革命……Copilot 一定会成为下一代软件和应用的标配!

这两天技术圈里热议的一件事就是Amazon的流媒体平台Prime Video在2023年3月22日发布了一篇技术博客《规模化Prime Video的音视频监控服务,成本降低90%》,副标题:“从分布式微服务架构到单体应用程序的转变有助于实现更高的规模、弹性和降低成本”,有人把这篇文章在五一期间转到了reddithacker news 上,在Reddit上热议。这种话题与业内推崇的微服务架构形成了鲜明的对比。从“微服务架构”转“单体架构”,还是Amazon干的,这个话题足够劲爆。然后DHH在刚喷完Typescript后继续发文《即便是亚马逊也无法理解Servless或微服务》,继续抨击微服务架构,于是,瞬间引爆技术圈,登上技术圈热搜。

今天上午有好几个朋友在微信里转了三篇文章给我,如下所示:

看看这些标题就知道这些文章要的是流量而不是好好写篇文章。看到第二篇,你还真当 Prime Video 就是 Amazon 的全部么?然后,再看看这些文章后面的跟风评论,我觉得有 80%的人只看标题,而且是连原文都不看的。所以,我想我得写篇文章了……

原文解读

要认清这个问题首先是要认认真真读一读原文,Amazon Prime Video 技术团队的这篇文章并不难读,也没有太多的技术细节,但核心意思如下:

1)这个系统是一个监控系统,用于监控数据千条用户的点播视频流。主要是监控整个视频流运作的质量和效果(比如:视频损坏或是音频不同步等问题),这个监控主要是处理视频帧,所以,他们有一个微服务主要是用来把视频拆分成帧,并临时存在 S3 上,就是下图中的 Media Conversion 服务。

2)为了快速搭建系统,Prime Video团队使用了Serverless 架构,也就是著名的 AWS Lambda 和 AWS Step Functions。前置 Lambda 用来做用户请求的网关,Step Function 用来做监控(探测器),有问题后,就发 SNS 上,Step Function 从 S3 获取 Media Conversion 的数据,然后把运行结果再汇总给一个后置的 Lambda ,并存在 S3 上。

整个架构看上去非常简单 ,一点也不复杂,而且使用了 Serverless 的架构,一点服务器的影子都看不见。实话实说,这样的开发不香吗?我觉得很香啊,方便快捷,完全不理那些无聊的基础设施,直接把代码转成服务,然后用 AWS 的 Lamda + Step Function + SNS + S3 分分钟就搭出一个有模有样的监控系统了,哪里不好了?!

但是他们遇到了一个比较大的问题,就是 AWS Step Function 的伸缩问题,从文章中我看到了两个问题(注意前方高能):

  1. 需要很多很多的并发的 AWS Step Function ,于是达到了帐户的 hard limit。
  2. AWS Step Function 按状态转换收费,所以,贵得受不了了。

注意,这里有两个关键点:1)帐户对 Step Function 有限制,2)Step Function 太贵了用不起

然后,Prime Video 的团队开始解决问题,下面是解决的手段:

1) 把 Media Conversion  和 Step Function 全部写在一个程序里,Media Conversion 跟 Step Function 里的东西通过内存通信,不再走S3了。结果汇总到一个线程中,然后写到 S3.

2)把上面这个单体架构进行分布式部署,还是用之前的 AWS Lambda 来做入门调度。

EC2 的水平扩展没有限制,而且你想买多少 CPU/MEM 的机器由你说了算,而这些视频转码,监控分析的功能感觉就不复杂,本来就应该写在一起,这么做不更香吗?当然更香,比前面的 Serverless 的确更香,因为如下的几个原因:

  1. 不再受 Step Function 的限制了,技术在自己手里,有更大的自由度。
  2. 没有昂贵的 Step Function 云成本的确变得更低了,如果你把 Lambda 换成 Nginx 或 Spring Gateway 或是我司的 Easegress,你把 S3 换成 MinIO,你把 SNS 换成 Kafka,你的成本 还能再低。

独立思考

好了,原文解读完了,你有自己的独立思考了吗?下面是我的独立思考,供你参考:

1)AWS 的 Serverless 也好, 微服务也好,单体也好,在合适的场景也都很香。这就跟汽车一样,跑车,货车,越野车各有各的场景,你用跑车拉货,还是用货车泡妞都不是一个很好的决定。

2)这篇文章中的这个例子中的业务太过简单了,本来就是一两个服务就可以干完的事。就是一个转码加分析的事,要分开的话,就两个微服务就好了(一个转码一个分析),做成流式的。如果不想分,合在一起也没问题了,这个粒度是微服务没毛病。微服务的划分有好些原则,我这里只罗列几个比较重要的原则:

  • 边界上下文。微服务的粒度不能大于领域驱动里的 Bounded Context(具体是什么 大家自行 Google),也就是一个业务域。
  • 单一职责,高内聚,低耦合。把因为相同原因变化的合在一起(内聚),把不同原因变化的分开(解耦)
  • 事务和一致性。对于两个重度依赖的功能,需要完成一个事务和要保证强一致性的,最好不要拆开,要放在一起。
  • 跟组织架构匹配。把同一个团队的东西放在一起,不同团队的分开。

3)Prime Video 遇到的问题不是技术问题,而是 AWS  Step Function 处理能力不足,而且收费还很贵的问题。这个是 AWS 的产品问题,不是技术问题。或者说,这个是Prime Video滥用了Step Function的问题(本来这种大量的数据分析处理就不适合Step Function)。所以,大家不要用一个产品问题来得到微服务架构有问题的结论,这个没有因果关系。试问,如果 Step Funciton 可以无限扩展,性能也很好,而且白菜价,那么 Prime Video 团队还会有动力改成单体吗?他们不会反过来吹爆 Serverless 吗?

4)Prime Video 跟 AWS 是两个独立核算的公司,就像 Amazon 的电商和 AWS 一样,也是两个公司。Amazon 的电商和 AWS 对服务化或是微服务架构的理解和运维,我个人认为这个世界上再也找不到另外一家公司了,包括 Google 或 Microsoft。你有空可以看看本站以前的这篇文章《Steve Yegg对Amazon和Google平台的吐槽》你会了解的更多。

5)Prime Video 这个案例本质上是“下云”,下了 AWS Serverless 的云。云上的成本就是高,一个是费用问题,另一个是被锁定的问题。Prime Video 团队应该很庆幸这个监控系统并不复杂,重写起来也很快,所以,可以很快使用一个更传统的“服务化”+“云计算”的分布式架构,不然,就得像 DHH 那样咬牙下云——《Why We’re Leaving the Cloud》(他们的 SRE 的这篇博文 Our Cloud Spend in 2022说明了下云的困难和节约了多少成本)

后记

最后让我做个我自己的广告。我在过去几年的创业中,帮助了很多公司解决了这些 分布式,微服务,云原生以及云计算成本的问题,如果你也有类似问题。欢迎,跟我联系:[email protected]

另外,我们今年发布了一个平台 MegaEase Cloud,就是想让用户在不失去云计算体验的同时,通过自建高可用基础架构的方式来获得更低的成本(至少降 50%的云计算成本)。目前可以降低成本的方式:

  1. 基础软件:通过开源软件自建,
  2. 内容分发:MinIO + Cloudflare 的免费 CDN,
  3. 马上准备发布的直接与底层IDC合作的廉价GPU计算资源…

欢迎大家试用。

如何访问

注:这两个区完全独立,帐号不互通。因为网络的不可抗力,千万不要跨区使用。

产品演示

介绍文章

 

一、

最近,我写了好几篇 AI 教程,就收到留言,要我谈谈我自己的 AI 编程。

今天就来分享我的 AI 编程,也就是大家说的"氛围编程"(vibe coding)。

声明一下,我只是 AI 初级用户,不是高手。除了不想藏私,更多是为了抛砖引玉,跟大家交流。

二、

平时,我很少用 AI 生成新项目。因为每次看 AI 产出的代码,我总觉得那是别人的代码,不是我的。

如果整个项目都用 AI 生成,潜意识里,我感觉不到那是自己的项目。我的习惯是,更愿意自己写新项目的主体代码。

我主要把 AI 用在别人的项目和历史遗留代码,这可以避免读懂他人代码的巨大时间成本。

就拿历史遗留代码为例,(1)很多时候没有足够的文档,也没有作者的说明,(2)技术栈和工具库都过时了,读懂代码还要翻找以前的标准,(3)最极端的情况下,只有构建产物,没有源代码,根本无法着手。

AI 简直就是这类代码的救星,再古老的代码,它都能读懂和修改,甚至还能对构建产物进行逆向工程。

下面就是我怎么用 AI 处理历史遗留代码,平时我基本就是这样来 AI 编程。

三、

我的 AI 编程工具是 Claude Code。因为命令行对我更方便,也容易跟其他工具集成。

我使用的 AI 模型,大部分时间是国产的 MiniMax M2。我测过它的功能,相当不错,能够满足需要,它的排名也很靠前。

另外,它有包月价(29元人民币),属于最便宜的编程模型之一,可以放心大量使用,反复试错。要是改用大家都趋之若鹜的 Claude 系列模型,20美元的 Pro 套餐不够用,200美元的 Max 套餐又太贵。

MiniMax 接入 Claude Code 的方法,参考我的这篇教程

四、

就在我写这篇文章的时候,MiniMax 本周进行了一次大升级,M2 模型升级到了 M2.1

因为跟自己相关,我特别关注这次升级。

根据官方的发布声明,这次升级特别加强了"多语言编程能力",对于常用编程语言(Rust、Java、Golang、C++、Kotlin、Objective-C、TypeScript、JavaScript 等)有专门强化。

它的 WebDev 与 AppDev 开发能力因此有大幅提升,可以用来开发复杂的 Web 应用和 Android/iOS 的原生 App。

"在软件工程相关场景的核心榜单上,MiniMax M2.1 相比于 M2 有了显著的提升,尤其是在多语言场景上,超过 Claude Sonnet 4.5 和 Gemini 3 Pro,并接近 Claude Opus 4.5。"

根据上面这段介绍,它的编程能力,超出或接近了国外旗舰模型。

这个模型已经上线了,现在就能用。那么,这篇文章正好测一下,官方的介绍是否准确,它的 Web 开发能力到底有没有变强。

至于价格,跟原来一样。但是,官方表示"响应速度显著提升,Token 消耗明显下降",也算变相降价了。

M2.1 接入 Claude Code,我的参数如下。

五、

我这次选择的历史遗留项目是 wechat-format,一个 Web 应用,将 Markdown 文本转为微信公众号的样式。

上图左侧的文本框输入 Markdown 文本,右侧立刻显示自动渲染的结果,可以直接复制到微信公众号的编辑器。

它非常好用,大家可以去试试看。我的公众号现在就用它做排版,效果不错(下图)。

问题是,原作者六年前就放弃了,这个项目不再更新了。我看过源码,它用的是老版本的 Vue.js 和 CodeMirror 编辑器,没有任何文档和说明,还经过了编译工具的处理,注释都删掉了。

如果不熟悉它的技术栈,想要修改这些代码是很困难的,可能要投入大量时间。

那么废话少说,直接让 AI 上场,把这些代码交给 MiniMax M2.1 模型。

六、

接手老项目的第一步,是对项目进行一个总体的了解。

我首先会让 AI 生成项目概述。大家可以跟着一起做,跟我的结果相对照。


# 克隆代码库
$ git clone [email protected]:ruanyf/wechat-format.git

# 进入项目目录
$ cd wechat-format

# 启动 Claude Code
$ claude-minimax

上面的claude-minimax是我的自定义命令,用来在 Claude Code 里面调用 MiniMax 模型(参见教程)。

输入"生成这个仓库的概述"。

AI 很快就给出了详细说明,包括项目的总体介绍、核心功能、技术栈和文件结构(下图)。

有了总体了解以后,我会让 AI 解释主要脚本文件的代码。

【提示词】解释 index.html 文件的代码

它会给出代码结构和页面布局(上图),然后是 JS 脚本加载顺序和 Vue 应用逻辑,甚至包括了流程图(下图),这可是我没想到的。

做完这一步,代码库的大致情况应该就相当了解了,而 AI 花费的时间不到一分钟。

七、

既然这个模型号称有"多语言编程能力",我就让它把项目语言从 JavaScript 改成 TypeScript。

对于很多老项目来说,这也是常见需求,难度不低。

它先制定了迁移计划,然后生成了 tsconfig.json 和 types.d.ts,并逐个将 JS 文件转为对应的 TS 文件(下图)。

修改完成后,它试着运行这个应用,发现有报错(下图),于是又逐个解决错误。

最终,迁移完成,它给出了任务总结(下图)。

我在浏览器运行这个应用,遇到了两个报错:CodeMirror 和 FuriganaMD 未定义。

我把报错信息提交给模型,它很快修改了代码,这次就顺利在浏览器跑起来了。

至此,这个多年前的 JavaScript 应用就成功改成了 TypeScript 应用,并且所有内部对象都有了完整的类型定义。

你还可以接着添加单元测试,这里就省略了。

八、

简单的测试就到此为止,我目前的 AI 编程大概就到这个程度,用 AI 来解释和修改代码。我也建议大家,以后遇到历史遗留代码,一律先交给 AI。

虽然这个测试比较简单,不足以考验 MiniMax M2.1 的能力上限,但如果人工来做上面这些事情,可能一个工作日还搞不定,但是它只需要十几分钟。

总体上,我对它的表现比较满意。大家都看到了,我的提示词很简单,就是一句话,但是它正确理解了意图,如果一次没有成功,最多再修改一两次就正确了。

而且,就像发布说明说的一样,它运行速度很快,思考过程和生成过程最多也就两三分钟,不像有的模型要等很久。

另外,不管什么操作,它都会给出详细的讲解和代码注释。

总之,就我测试的情况来看,这个模型的 Web 开发能力确实很不错,可以用于实际工作。

最后,说一点题外话。著名开发者 Simon Willison 最近说,评测大模型越来越困难,"我识别不出两个模型之间的实质性差异",因为主流的新模型都已经足够强大,足以解决常见任务,只有不断升级评测的难度,才能测出它们的强弱。

这意味着,对于普通程序员的常见编程任务,不同模型不会构成重大差异,没必要迷信国外的旗舰模型,国产模型就很好用。

(完)

AIPex 最新发布了新版本,其中最重要的能力之一,是浏览器任务可以在后台运行,而不打断用户的正常工作流

这一能力并非来自某个“技巧”,而是源于一个明确的工程选择:
我们有意识地避免将浏览器控制建立在 debugger ( Chrome DevTools Protocol )之上。

本文将解释为什么主流方案普遍选择 debugger ,以及 AIPex 为什么在多数智能代理与日常自动化场景中,选择了一条不同的路线。

为什么大多数浏览器控制方案选择 debugger ( CDP )

在当前无需迁移的浏览器自动化插件或 Agent 中,常见方案包括:

  • Manus 的 Manus Browser Operator
  • Claude 推出的 Claude in Chrome
  • 开源社区的 nano browser
  • 以及 Puppeteer / Playwright 等自动化工具的扩展形态

这些方案通常基于 Chrome DevTools Protocol ( CDP ),尤其是其 debugger 能力来实现浏览器控制,原因并不复杂:

1. 能力覆盖完整

CDP 提供了浏览器内部几乎所有关键能力,包括:

  • 页面导航与生命周期控制
  • DOM 与 AXTree ( Accessibility Tree )访问
  • 事件注入(鼠标、键盘、滚轮)
  • 网络拦截与修改
  • 截图、录屏、性能采样

对于复杂自动化而言,CDP 是一个“开箱即用”的全能力接口。


2. 可访问性树( AXTree )高度语义化

通过 CDP ,可以直接获取浏览器构建的 Accessibility Tree

  • 每个节点都具备 role / name / state
  • 天然适合语音辅助与 AI 理解
  • 在理想 ARIA 实现下,语义质量很高

因此,AXTree 成为了许多 AI Agent 的主要页面表达形式。


3. 工程生态成熟

围绕 CDP 已经形成成熟工具链:

  • Puppeteer 、Playwright 等底层实现
  • 完整的文档、示例与社区经验
  • 对自动化工程师而言,学习与接入成本明确


debugger ( CDP )在桌面场景中的现实代价

尽管 CDP 能力强大,但在“与用户并行工作的桌面场景”中,它也带来了一些难以忽视的问题。

1. 前台焦点与用户体验问题

CDP 并非以“后台无打扰”为设计目标。

在真实桌面环境中:

  • debugger attach 往往会触发 Tab 激活或窗口前置
  • 输入与视觉焦点可能被强制抢占
  • 即使通过 headless 或参数规避,也难以在不同平台与浏览器上保证一致行为

结果是:
当用户正在使用其他应用或标签页时,自动化任务可能打断其当前操作,严重影响体验。


2. 浏览器与运行环境耦合

使用 CDP 通常意味着:

  • 需要启用调试端口
  • 强绑定 Chrome / Chromium
  • 对部分嵌入式 WebView 、受限环境或非 Chromium 浏览器支持不佳

在企业环境或多浏览器生态中,这种耦合会显著增加部署与维护成本。


3. 安全与权限摩擦

调试端口、进程权限、证书配置等问题,在企业与受管环境中常常触发:

  • 安全策略拦截
  • 合规审查
  • IT 运维阻力

这类问题并非技术不可解,而是部署摩擦成本过高


为什么浏览器控制不一定需要 debugger

AIPex 的核心设计目标是:

让浏览器任务像“背景思考”一样运行,而不是像“远程操控”一样打断用户。

为此,我们选择了一条不以 debugger 为中心的路径。


AIPex 的方案:DOM 语义快照 + 轻量交互

在页面侧,AIPex 采用纯 JavaScript / TypeScript 能力,实现:

  • 语义化页面快照
  • 稳定节点映射
  • 轻量级事件交互

而不是依赖 CDP 的 AXTree 与调试通道。

1. 语义快照,而非调试树

AIPex 基于 @aipexstudio/dom-snapshot

  • 直接遍历 DOM Tree
  • 提取可访问性相关语义( role / name / state )
  • 不依赖 CDP 的 Accessibility Tree ( AXTree )

该库在 README 中明确说明:
它是一个纯 DOM 方案,而非 CDP 的替代封装。


2. 稳定、可复用的节点 ID

自动为页面元素生成稳定的:data-aipex-nodeid

这使得:

  • “语义快照中的节点”与“真实 DOM 元素”之间的映射可长期复用
  • 避免调试态下常见的选择器漂移问题
  • 支持从文本命中直接反查到可操作元素


3. 面向可交互对象的快照策略

语义快照优先关注:

  • 按钮、链接、输入框等可操作元素
  • 对话与任务相关的界面子集

并过滤:

  • display: none
  • visibility: hidden
  • aria-hidden
  • inert

从而避免将无意义或不可见节点暴露给 Agent 。


4. 文本化表达与语义搜索

快照可被转换为可朗读、可搜索的文本形式( TextSnapshot ):

→uid=dom_abc123 RootWebArea "My Page" <body>
uid=dom_def456 button "提交" <button>
uid=dom_ghi789 textbox "邮箱" <input> desc="请输入邮箱"
StaticText "欢迎回来"
*uid=dom_jkl012 link "了解更多" <a>

其中:

  • 表示当前聚焦元素

→ 表示焦点祖先

该表示既适合 TTS / 语音播报,也支持自然语言驱动的检索。

  1. 语义搜索示例
    支持管道分隔与 glob 搜索:
searchSnapshotText(formatted, '登录 | Login | Sign In');
searchSnapshotText(formatted, 'button* | *submit*', {
  useGlob: true,
  contextLevels: 2
});

命中的文本行可通过 data-aipex-nodeid 精确映射回 DOM 元素。

  1. 页面侧事件,而非调试注入

交互通过页面侧事件完成(如 click 、focus 、input ):

  • 通过内容脚本或扩展消息通道触发

  • 与后台任务调度通信

  • 无需调试端口

  • 不强制拉起前台窗口

网页语义表达的工程视角

在浏览器自动化与 AI Agent 场景中,最常被用作页面表达的主要有两类:

DOM Tree

来源:浏览器原生文档对象模型

特点:信息完整但冗余,语义弱

直接使用不利于 AI 理解与操作

Accessibility Tree ( AXTree )

来源:ARIA 语义派生

特点:高度语义化

局限:

  • 依赖站点 ARIA 实现质量

-节点信息并不完备

  • 远程访问通常依赖 CDP

在实践中,如果完全依赖 AXTree ,Agent 的“感知能力”往往受限于目标网站的可访问性水平——这在现实 Web 中并不理想。

AIPex 的选择与边界

通过对 DOM Tree 进行语义化处理,AIPex 在不依赖 debugger 的前提下,实现了:

  • 后台运行、不打断用户

  • 更完整的页面信息表达

需要说明的是:

对于涉及浏览器特权能力的场景(如网络拦截、性能采样、权限弹窗、文件系统访问等),CDP 仍然具有不可替代的价值。

AIPex 并非否定 debugger ,而是在日常自动化与智能代理场景中,优先选择对用户体验更友好的工程解法。

参考与来源

这里记录每周值得分享的科技内容,周五发布。([通知] 下周元旦假期,周刊休息。

本杂志开源,欢迎投稿。另有《谁在招人》服务,发布程序员招聘信息。合作请邮件联系[email protected])。

封面图

哈尔滨19米大雪人,完工之前的样子。(via cgtn@instagram

《硅谷钢铁侠》摘录

最近,我读了一本十年前的马斯克传记《硅谷钢铁侠》(中信出版社,2016)。

按理说,这本书已经过时了,这十年马斯克发生太多事情了。

我是睡觉前随手拿起来,翻了几页,看得津津有味,就读完了。

这本是马斯克的授权传记,他本人亲自接受了采访,还挺有料的。而且,因为我已经知道后续的发展,所以读到十年前的采访,反而有更多启发。

他的人生确实传奇,白手起家,家里给的最大帮助就是从南非移民到加拿大,后面都是自己奋斗出来的。

他创立了 Paypal,然后把卖掉它的钱拿来又创办了三家公司:特斯拉、SpaceX 和 SolarCity。

这太疯狂了,他一个外行同时进入了三个不同的行业----电动汽车、宇宙航天和太阳能----这些行业都刚萌芽,没有任何个人创业成功的先例。

更疯狂的是,他居然把这三家公司都做成了,而且都做到了世界第一(SolarCity 后并入特斯拉),他也因此变成了世界首富,你说神奇不神奇。

读完全书,我的最大感受是,还是要动手做事,没准真能做成。想他人不敢想,做他人不敢做。即使最狂野的梦想,只要全心投入,用力去做,也是有可能成功的。

下面就是我的一点摘录。

(1)

特斯拉最艰难的时候,非常接近于破产倒闭。

马斯克对外宣传,特斯拉是一家汽车公司,但实际上,他们只是一群年轻人租了一间大厂房,更像是在捣鼓汽车的大型实验室。

(2)

马斯克非常不理解,为什么有人设计了车灯开关。

他说:"真是多此一举。天黑时车灯自动打开,就这么简单。"

(3)

特斯拉的第一版设计稿,因为设计师没想好门把手的形状,就没画上去。

没想到马斯克很喜欢这个没有门把手的车型,就决定门把手应该在有需要的时候自动弹出。

(4)

马斯克认为,未来会有人口危机,主张多生孩子。

他认真考虑了,怎么在特斯拉后排安装婴儿座椅。传统的车门设计,使得把婴儿座椅和小孩安置在后排非常不方便,所以特斯特的车门设计采用了"鹰翼门"。

(5)

特斯拉的第一款车型是跑车,但没有大量生产。真正大量生产的第一款车型是 Model S,最初的名字是 Model Sedan。

Sedan 这个词的意思就是轿车,用来跟跑车相区别。但是马斯克认为这个词太平淡了。英国人习惯称轿车为 Saloon,这听上一样不伦不类。最后,就索性只保留第一个字母,称为 Model S。

(6)

马斯克对员工的要求是,全情投入你的工作,并把事情搞定。

不要等待上级的指导和详细指示,也不要等待别人的反馈意见,你要主动想办法把工作完成。

(7)

他认为,一个人独立工作,是最佳的工作状态。

一个人不需要开会、不需要与谁达成共识,也不需要在项目中帮助其他人。你一个人就可以持续地工作、工作、再工作。

(8)

特斯拉员工最害怕的事情,就是向马斯克申请额外的时间或者经费。

你一定要事先做好详细准备,跟他解释为什么必须招更多的人,以及需要追加的时间和资金预算。如果有招聘目标,还要准备那个人的简历。

(9)

如果你一上来就告诉马斯克,某件事情做不了,他会马上把你轰出办公室,甚至可能当场解雇你。

在马斯克看来,某件事办不成的唯一原因,就是违背了基本的物理原理。但是即使这样,你也必须做足了功课,深入每一个技术环节,向他解释为什么行不通。

(10)

马斯克要求员工,项目没完成之前,周六和周日依然要努力工作,并睡在桌子底下。

有些人反对,表示员工也需要休息,有时间陪陪家人。

马斯克说:"我们破产之后,你们会有大量时间陪家人。"

(11)

马斯克有自己计算时间价值的方法。他预期10年后,公司的日营收可以达到1000万美元,所以进度每拖延一天,就相当于多损失1000万美元。

(12)

马斯克的根本想法是改变这个世界,他总是喜欢谈论人类的生存问题。

早在他开始创业的时候,就已经得出了结论,那就是生命是短暂的。如果你真的意识到这一点,你就会知道,活着的时候工作越努力越好。

科技动态

1、黑色圣诞卡

爱沙尼亚交通警察向800多名危险驾驶者,寄送了黑色圣诞卡,提醒他们新的一年必须安全驾驶。

这些人都是过去违反交通规则的司机,最常见的问题是超速和不系安全带。

圣诞卡上是一起交通事故的现场,黑漆漆的深夜,天空中有明亮的月亮,公路上有交通事故后的车辆残骸,远处还有车灯的亮光。

一个有趣的统计是,虽然人们常说女司机是"马路杀手",但是这800多个危险驾驶者里面,只有33名女性。

2、2025全球互联网报告

世界最大 CDN 服务商 Cloudflare,发布了《2025全球互联网报告》,公布了它的统计数据。

2025年,全球互联网流量上升19%,由于网民数量基本没变,所以多出来的流量来自 AI 爬虫。

流量最大的前10大互联网服务:谷歌、脸书、苹果......

移动流量中,苹果设备占35%,安卓设备占65%。

浏览器排行是,Chrome 66%,Safari 15.4%,Edge 7.4%。

3、违停巡逻车

上海警方启用无人驾驶的违章停车巡逻车。

这辆小车自动在马路上巡逻,对路面进行抓拍。

一旦发现违停车辆,它就会识别车牌,将其上传警务系统,系统后台会发送提醒短信给车主,要求在12分钟内驶离。

12分钟后,小车就会返回点位进行检查,将相关信息回传后台,并经民警审核后开罚单。

据报道,12月18日一天,它共发现违停车辆119辆次。

4、室内过山车

一家瑞典的创意工作室,在他们的办公室建造了世界唯一的室内过山车。

这个过山车途径办公室的各个角落,总长60米,最高的地方距离地面有3米。

坐上这个过山车,你就能游览一圈办公室,看到同事们在干什么。

工作室负责人说,建造它的目的是"促进员工之间的互动,以及打破常规,培养创造力。"

文章

1、分布式架构的演化(英文)

本文将分布式架构分成三种:P2P、联邦式(比如 Mastodon)、中继式(比如 Nostr)。作者认为,对于大型分布式应用,中继式架构才是未来方向。

2、什么是 GitHub 自托管 Runner?(中文)

GitHub Actions 有一个 self-hosted runner 功能,让 action 运行在你自己的服务器。本文详细介绍它的概念、原理,并结合案例进行实践。(@luhuadong 投稿)

3、CSS Grid Lanes 布局(英文)

浏览器开始支持 CSS 的 Grid Lanes 布局了,大大方便了瀑布流的实现。

4、6502 指令集适用汇编语言初学者(英文)

6502 是一块诞生于1975年的 CPU,很多早期电脑(比如 Apple II)都使用它。作者解释,为什么你应该用它,作为学习汇编语言的第一个指令集。

5、你应该多用/tmp目录(英文)

作者提出,Linux 系统的/tmp目录用起来很方便,完全可以把它当作自己的临时性目录。

6、中国的清洁能源战略(英文)

《纽约时报》驻华记者的长文,体验当代中国的生活,比如无人驾驶、无人机送餐,他说"感觉像生活在未来"。

工具

1、MADOLA

一种新的数学脚本语言,像编程一样写数学公式,可以编译成 HTML 格式作为文档,也可以编译成 C++ 或 WebAssembly 直接运行。(@AI4Engr 投稿)

2、CattoPic

一个基于 Cloudflare Worker 的图片托管服务,将图片上传到 Cloudflare 进行推过,支持自动格式转换、标签管理。(@Yuri-NagaSaki 投稿)

3、termdev

直接在终端,通过连接 Chrome Devtool 调试网页。(@taotao7 投稿)

4、tui-banner

为 Rust 语言的命令行项目添加一个横幅图案。(@coolbeevip 投稿)

5、Alertivity

macOS 菜单栏的资源监控工具,监控 CPU、内存、磁盘、网络和进程活动。(@nobbbbby 投稿)

6、cpp‑linter

C/C++ 代码的静态检查工具,可以接入 CI/CD 流程,简化代码质量管理。(@shenxianpeng 投稿)

7、Rote

开源的 Web 笔记软件,需要自己架设。(@Rabithua 投稿)

8、Infographic

JS 的数据可视化框架,用于在网页生成各种信息图,内置200多种模板。(@Aarebecca 投稿)

9、Clock Dashboard

天气时钟看板,适合老旧的电子设备再利用。(@teojs 投稿)

10、离线版问卷

开源 Web 应用,用来设计和托管调查问卷/报名表。(@chenbz777 投稿)

11、Xget

基于边缘计算(如 Cloudflare Workers/Vercel/Netlify)的加速引擎,可以加速程序员网站的访问速度,比如将github.com域名替换成xget.xi-xu.me/gh。(@xixu-me 投稿)

12、BoxLite

一个 Python 库,可以在脚本中运行一个微型虚拟机,提供硬件隔离。(@DorianZheng 投稿)

13、Green Wall

生成你的 GitHub 年度报告。(@Codennnn 投稿)

14、edge-next-starter

面向出海项目的 Next.js + Cloudflare 全栈项目模板,集成 Edge Runtime、D1 数据库、R2 存储。(@TangSY 投稿)

AI 相关

1、Chaterm

带有 AI 功能的智能终端工具,可以用自然语言完成命令行操作。(@zhouyu123666 投稿)

2、miniCC

网友开发的 AI 编程工具 Claude Code 替代品,主要用于学习目的。(@Disdjj 投稿)

3、Android Trans Tool Plus

一个开源的纯前端应用,通过 AI 翻译安卓资源文件,支持多语言同步、差异校验。(@huanfeng 投稿)

4、octopus

个人用户的大模型 API 聚合工具,支持接入多个模型供应商,提供负载均衡、分组名称、使用量统计等功能。(@bestruirui 投稿)

5、Vexor

一个 Python 工具,对当前目录的文件进行向量嵌入,用来语义搜索。(@scarletkc 投稿)

6、Tada

开源的任务管理应用,带有 AI 总结功能。(@Leaomato 投稿)

资源

1、大模型原理(英文)

一篇相对好懂的大模型原理解释,文章不长,并且还有大量的互动图形,写得非常好,推荐阅读。

2、编程语言速度比较

这个网站使用不同的计算机语言,通过莱布尼茨公式计算 π 值,然后给出运行速度的排名,最快是 C++(clang++),最慢是 Python (CPython)。

3、更好的 ZIP 炸弹

这个网页提供三个 ZIP 炸弹文件的下载,其中最小一个只有 42KB,但是解压后的大小是 5.5GB。

图片

1、2025年最佳科学图片

《自然》杂志评选的一组2025年最佳科学图片。

两只争夺领地的青蛙。

南非废弃天文台长出的蘑菇。

2、帽子,乌龟和幽灵

2022年,一个业余数学家 David Smith 发现了一个有点像帽子的奇特形状。

这个形状的奇特之处在于,它可以无限不重复地铺满整个空间,且不形成周期性的重复图案。

不久后,他又发现了两种稍加变化的形状,称为乌龟和幽灵,也可以不重复地平铺平面。

下面就是这三种形状各自平铺的图案。

言论

1、

我使用氛围编程会感到疲惫,AI 生成代码的速度太快了,我的大脑跟不上,无法及时完成代码验收或审查。我必须休息一段时间,才能重新开始。

-- 《氛围编程疲劳》

2、

制造汽车是非常困难的一件事。一辆车大约有3万个独立零部件,公司可能只会采购3000个,因为像车头灯这样的部件,是作为一个整体采购的,但它实际上包含很多组件。

里面的二级、三级、四级供应商提供的零部件,任何一个出现问题都可能导致整车的问题。

-- 汽车创业公司 Rivian 的 CEO 专访

3、

数码世界的现状是,很多人(尤其是大多数老年人)已经放弃了抵抗,任由电子设备将他们带到任何地方。

因为一旦你想搞清楚电子设备的运作,就会发现,在便利的幌子下,一切都充满了敌意,暗箱操作无处不在,不可能完全理清。你想从它们手中夺回个人数据和隐私会非常艰苦,而且注定失败,最终只会带来更大的挫败感。

-- 《一切并非必然》

4、

现在的学生拥有前所未有的优质教育资源,但他们却陷入成千上万种选择中不知该学什么、该用什么资源的困境。拥有资源并不意味着就能找到方向。

-- 《不要关闭你的大脑》

5、

危险并非来自中国的崛起,而是美国的思维模式。如果把科学视为零和博弈,那么每一项中国专利看起来都像是美国的损失。但创意是非竞争性的:中国的科研突破不会让美国人变穷,而是会让世界变得更富有。多极化的科学世界意味着更快的增长、更大的财富和加速的技术进步。

-- 《中国的创新》

往年回顾

西蒙·威利森的年终总结,梁文锋的访谈(#332)

电动皮卡 Cybertruck 的 48V 供电(#282)

好用的平面设计软件(#232)

新人优惠的风险(#182)

(完)

这里记录每周值得分享的科技内容,周五发布。

本杂志开源,欢迎投稿。另有《谁在招人》服务,发布程序员招聘信息。合作请邮件联系[email protected])。

封面图

中法合作的一个艺术项目《挑战第841次》,让路过的行人在黄浦江边的一个玻璃亭子里,弹奏法国作曲家的一个钢琴作品。(via

为什么人们拥抱"不对称收益"

前两周,我跟大家说,美国现在最流行"预测市场"。我当时没有统计数字,现在有了。

2025年11月,美国前两大预测市场---- PolymarketKalshi ---- 一共成交了超过100亿美元。

看这个数字,大家可能没感觉。作为对比,美国全国的体育彩票,2024年的销售额是137亿美元。

这就是说,预测市场一个月的交易量,接近了体育彩票全年的销售额。要知道,这两个网站6年前都还不存在!

这么恐怖的增长速度,难怪美国各大公司现在都想挤入这个市场,分一杯羹。

预测市场就是变相的网络彩票,它的火爆只能说明一件事情,美国正出现疯狂的"彩票热"。

本周,我看到一篇文章(上图),一位风险投资家分析这个现象。我想分享他的观点,他认为,预测市场火爆的根本原因,是社会心态的焦虑和绝望

(1)财富转移机制失效了,通过正常工作致富,越来越不可能。工资的增长速度,低于消费的增长速度,个人债务正在变多。

虽然资产的价格(比如股票、黄金、房产)也在上涨,但只是让那些拥有资产的人受益,对于没有这些资产的穷人,只是变得更贫穷。

(2)传统的人生模式也失效了。以前的模式是,找一家大公司,每天按时上班,努力工作,对公司忠心耿耿,坚持多年就会得到回报。你会收到公司的奖励,退休后还有养老金。

这种模式现在行不通了。公司的经营短期化,能存活20年的公司并不多,更不要说你的岗位了。一旦失去现在的工作,再次就业非常困难,以前的工作经验很可能用处不大。

(3)AI 的出现,加剧了前两种情况的发展速度。AI 让一切加速了,压缩了时间。以前,你有五年的时间奋斗,AI 让你感到必须在一年里拿到结果,否则就可能为时已晚。

(4)社交媒体则使得人们永远不会对现状满意。

以前,你的参照群体只是周围人群,现在的参照群体是全世界。你每天看到的都是收入高、赚钱容易、生活优渥的人群,永远会让你感到自己的生活不够好,而无论你已经取得了怎样的成就。

(5)结果就是,越来越多的人失去了耐心,不再相信长期投入,不再幻想长期的劳动积累会通往圆满的人生,社会也不奖励耐心。

为什么要苦苦奋斗20年,去争取10年后可能根本不存在的晋升机会?我要的是一条快速的道路,摆脱日常生活的困境,而且越快越好。

(6)这种心态下,人们的风险偏好发生了变化。为了快速摆脱困境,在风险更大的选项上放手一搏,成了合理的选择

即使只有5%的希望,也比100%的停滞不前更有吸引力。这就是彩票在贫困社区更畅销的原因。

这在经济学上称为"不对称收益"(asymmetric returns),就是风险和收益不对称。失败的可能性很大,但只会损失一小笔钱,成功的可能性很小,但是一旦成功,就会获得巨大收益,简单说就是"小亏大赚"。

追求不对称收益,已经成了一种普遍的心态。它推动了前几年的加密货币和 NFT 的热潮,现在又推动了预测市场。

可以确定,凡是能够产生"不对称收益"的事情,今后都会迅速成为热点。

新人上手 Claude Code 的简单方案

AI 编程工具,我用的是 Claude Code。以前推荐过,非常好用,功能很强。

我现在依然这样认为,但是必须说,Claude Code 不适合所有人,有使用门槛

它要求用户熟悉命令行,而且 Windows 安装不方便,需要启用 Linux 子系统 WSL。另外,如果在外面,没有自己的计算机,临时想用一下,也很麻烦。

元旦的时候,我在广东听说,有人做了"云端 Claude Code 客户端",解决了这些痛点,就很感兴趣。

他们团队叫做 302.AI,我以前就有接触。他们做云端服务很多年了,现在专注于 AI 模型接入。大家可以去官网看一下,用他们的 API 能够接入几乎所有主流模型,数量有几百个。

他们跟我一样,也感到 Claude Code 的诸多不便,就想能不能再开发一个它的客户端,封装所有复杂性,提供最好用的 AI 编程体验。

(1)跨平台桌面应用。他们提供 Win/Mac/Linux 安装程序,通过桌面窗口去使用云端的 Claude Code。

(2)零配置的云端沙盒。云端的 Claude Code 预装在一个沙盒里,集成了 Node.js、Python、Git、CMake、build-essential 等开发工具,不需要任何本地环境配置,开箱即用。

同时,沙盒也保障了安全,跟本地电脑是隔离的,AI 就不会误删本地文件。

(3)对话界面。对于不习惯命令行的用户,他们提供对话式交互界面(Chat UI),以聊天方式完成编程。

(4)随意更换模型。Claude Code 更换底层模型,需要配置环境变量,他们的客户端不需要这么麻烦,只需要鼠标选中即可。

你可以直接用他们的 API,也可以配置自己的 API Key。

(5)一键部署。他们还提供了部署功能,AI 生成的结果可以一键发布到公网,直接访问,无需购买服务器或配置域名。

可以说,这个方案完全针对 Claude Code 的各种痛点,目标是打造新手最容易上手的 Vibe Coding 工具。

感兴趣的朋友可以去 studio.302.ai 下载,体验一下。(提醒:使用前需要注册/登录 302.AI 账号。)

科技动态

1、乔布斯写的程序

乔布斯创立苹果公司之前,当过短时间的程序员。1975年,他20岁,从大学退学后,进入雅达利公司写电子游戏。

人们一直不知道,他的编程水平如何,现在终于曝光了。

本周,乔布斯的一些个人档案公开拍卖,其中就有当年他写的程序,打印纸上还有他的亲笔注释。

有人把这个程序还原出来,放到虚拟机上跑,终于让我们看到了乔布斯的软件作品。

这个程序叫做 AstroChart,跟星座有关。用户提供出生的时间地点,它会显示太阳系主要天体的位置。

从代码来看,乔布斯的编程水平可以,他使用三角函数计算行星位置,并且绕过当年硬件没有双精度浮点数的限制,用整数除法代替。

2、世界最大电动船

澳大利亚建造了世界最大的电力轮船,长度130米,里面的电池重达250吨。

这艘船将用作阿根廷与乌拉圭之间的轮渡,可以搭载多达2100名乘客和225辆汽车。

这艘船不仅是史上最大的电动船,可能也是史上最大的电动装置,一次可以携带超过4万度电。

3、最高过山车

2025年的最后一天,沙特阿拉伯在距离首都利雅得40分钟车程的地方,开张了一个乐园。

这个乐园有27个游乐设施,很多都是世界之最,其中就有目前世界最高的过山车。

这个过山车高达195米,相当于60层楼,比先前的世界纪录高出了55米。

整个过山车的长度是4.2公里,最高速度可以达到240公里/小时,全程只有3分多钟。

网上有很多这个过山车的视频,不要说坐在车上,就是看视频都觉得惊心动魄。

文章

1、2025年大模型回顾(英文)

西蒙·威利森(Simon Willison)的 AI 年度回顾,过去一年的大事件基本都提及了,总结和评点得非常好,推荐阅读。

2、华为的 5nm 制程怎么样?(英文)

这是一家美国技术媒体对华为麒麟9030芯片(搭载于最新的 Mate 80 手机)的分析文章。

该文认为,该芯片比早先的 7nm 制程有提升,是大陆制造的最先进芯片,但从跑分看,还没达到台积电的 5nm 水平。文章有中文版

3、Opus 4.5 将会改变一切(英文)

作者不相信 AI 会取代程序员,直到遇到 Anthropic 公司的 Opus 4.5 模型。本文是他的4个项目的编程体会,他现在确信程序员会被替代。

4、HTTP caching, a refresher(英文)

对于 HTTP 缓存机制的一个总体介绍,梳理浏览器缓存的处理逻辑。

5、Vitest 的浏览器模式介绍(英文)

JS 测试框架 Vitest 4.0 引入了浏览器模式,可以进行浏览器自动化,类似于 Playwright,进行 UI 测试,本文是一个简单介绍。

6、如何提高 JS 数组的读写速度(英文)

一篇 JavaScript 中级教程,介绍通过为 JS 数组分配连续内存,提高数组的读写速度。

工具

1、ZenOps

一个命令行工具,在本地终端里查询阿里云/腾讯云等云平台的运行数据,并提供钉钉、飞书、企微机器人,进行自然语言查询。(@eryajf 投稿)

2、白虎面板

轻量级的服务器定时任务管理系统,适合低配置的服务器。(@engigu 投稿)

3、OnlinePlayer

一个网页播放器,可以播放本地视频和云盘视频。(@13068240601 投稿)

4、gitstats

命令行工具,生成 Git 仓库的统计数据。(@shenxianpeng 投稿)

5、云图

一个极简风格的图床,可以搭建到自己的 NAS,提供灵活的 API。(@qazzxxx 投稿)

6、KeyStats

开源的 macOS 小工具,对按键行为进行统计。(@debugtheworldbot 投稿)

7、py2dist

这个工具可以将 Python 脚本编译成二进制模块,方便隐藏源码。(@xxnuo 投稿)

8、Stream Panel

Chrome 浏览器开发者工具的一个扩展,用来调试服务器发送事件 (SSE) 和 Fetch 的流式连接。(@bywwcnll 投稿)

9、Zedis

Redis 的图形客户端,跨平台的桌面应用,不使用 Electron,而是使用 Rust + GPUI,性能更好。(@vicanso 投稿)

10、QDav

这个网站可以为夸克网盘加入 WebDAV 协议,从而挂载到网盘播放器来播放夸克网盘的视频。(@ZhouCai-bo 投稿)

11、XApi

开源的 Chrome 浏览器插件,自动捕获当前网页的 Fetch 与 XHR 网络请求,支持改写 Cookie、Origin、Referer 字段,方便开发调试。(@lustan 投稿)

12、PDFCraft

纯浏览器的 PDF 开源工具集,目前有80多个工具。(@pccprint 投稿)

AI 相关

1、Open-AutoGLM

智源公司的开源安卓应用,使用自然语言,让 AI 操作手机,进行手机自动化,可以接入各种模型,无需电脑端。(@Luokavin 投稿)

2、Claude-Ally-Health

一个基于 Claude Code 的个人医疗数据中心,定义了一组自己的命令和技能,用 AI 分析个人医疗数据(体检报告、影像片子、处方单、出院小结)。(@huifer 投稿)

3、灵猫

免费的 AI 图片去水印网站,但只是去除视觉水印,嵌入的数字水印还在。(@pangxiaobin 投稿)

4、DeepDiagram AI

开源的 AI 应用,用自然语言驱动内置的 mermaid、echarts、mindmap、Draw.io 等绘图工具生成图表。(@twwch 投稿)

资源

1、100万首页截图

这个网站收集了100万个热门网站的首页截图,将它们做在一个页面,可以放大查看。

2、Emulator Gamer

各种老游戏机的经典游戏,通过模拟器免费在线游玩。(@SinanWang 投稿)

图片

1、如今的 Mozilla

Mozilla 浏览器的新任 CEO 宣称,公司的发展方向是AI 浏览器

这让 Mozilla 社区感到担忧,因为没人是为了 AI 而使用它。一位使用者就画了下面这张图。

Mozilla 的吉祥物----一只小狐狸拿着锯子,把自己正坐着的树枝锯断,旁边还有一只鸟,为它递上更锋利的电动锯子,上面写着"AI"。

这张图比喻 Mozilla 一直在自寻死路,全力转向 AI 只会死得更快。

文摘

1、外卖应用的秘密

我是一个大型外卖应用的开发者,受一项严格的保密协议约束。但是,我已经不在乎了,我昨天向公司递交了离职报告。

说实话,我希望公司能起诉我,这样一来,这些事情就会曝光。

我已经消极工作大约八个月了,只是看着代码被推送到生产环境。一想到自己参与了这台机器,我夜里都睡不着。

人们总怀疑算法对用户不利,现实比这更糟。我是一名后端工程师,每周参加产品会议,产品经理(PM)讨论如何才能挤出额外0.4%的利润,他们把用户当成有待开发的资源。

公司有一个"优先配送"服务,你多付2.99美元,就可以更快拿到外卖。这完全是个骗局,根本没有加快派送的速度,而是人为把非优先订单延迟5到10分钟,让你感觉优先订单更快。我们仅仅通过让标准服务变差,就赚取了数百万美元的纯利润,而不是真正改善服务。

最让我恶心的是"绝望分数",这是一个隐藏的外送员指标,根据外送员的行为判断他们多想赚钱。

如果外送员在晚上10点登录系统,毫不犹豫地立即接下每一个3美元的垃圾订单,算法会将他们标记为"高度绝望"。一旦被标记,系统就会停止向他们显示高价订单,理由是"既然我们知道他绝望到愿意接受3美元,为什么还要让他看到15美元的订单呢?"。系统把高价订单留给"休闲"外送员,即那些不愿接低价单的外送员,吸引他们接单,而全职外送员则被碾压成尘埃。

公司还会从用户的账单扣除一笔1.50美元的"外送员福利费",这个名字让用户感觉在帮助外送员。实际上,这笔钱流入了游说反对外送员成立工会的基金,这是公司用于"政策防御"的费用。用户实际上是在为那些高端律师付费,那些律师为削弱外送员的权益而工作。

最后,虽然公司不再从外送员的小费里面提成,因为被起诉过,但是使用其他方法窃取小费。

如果算法预测你是"可能支付小费的用户",而且你很可能会给10美元小费,那么公司只会给外送员可怜的2美元基本派送费。如果你给了0美元小费,公司会给外送员8美元的基本派送费。结果是用户的小费并没有奖励外送员,而是在补贴公司。用户给外送员付工资,这样我们就不用付了。

言论

1、

在美国东海岸(纽约和华盛顿),人们会问:"中国是否就要失败了",而在西海岸(洛杉矶和旧金山),人们更倾向于问:"万一中国成功了会怎样?"

这一定程度上反映了硅谷的特点:更注重收益最大化,而非风险最小化。东海岸的问题也值得认真对待,但过分关注中国是否失败,会助长一种美国无需做出任何改变就能击败对手的论调,从而削弱美国改革的紧迫性。

-- Dan Wang《2025年度信件》

2、

如果美国或中国在某个方面落后太多,落后者就会奋起直追。这将是未来数年甚至数十年世界变化的动力。

-- Dan Wang《2025年度信件》

3、

程序员对待 AI 有两种态度:一种以结果为导向,渴望通过 AI 更快拿到结果;另一种以过程为导向,他们从工程本身获得意义,对于被剥夺这种体验感到不满。

-- Ben Werdmuller

4、

AI 数据中心的建设热潮,导致内存价格暴涨,进而产生一系列连锁反应。

手机和电脑厂商别无选择,只能提价。我们估计,2026年全球的手机市场和电脑市场都会萎缩。手机萎缩2.9%到5.2%,电脑萎缩4.9%到8.9%。

-- IDC 公司的预测

5、

eSIM 手机卡一旦更换就可能失效,相比之下,实体 SIM 卡可以随意插上插下,几乎不会出现故障。推广 eSIM 的后果就是,手机号丢失的事件会大大增多。

-- 《我后悔使用 eSIM》

往年回顾

一切都要支付两次(#333)

没有目的地,向前走(#283)

生活就像一个鱼缸(#233)

腾讯的员工退休福利(#183)

(完)

模力工场新鲜事

  • 模力工场将亮相 OceanBase 社区嘉年华!诚邀您加入我们的上海现场展位。作为 OceanBase 合作的创新社区,模力工场将于 1 月 31 日 登陆上海社区嘉年华,并拥有专属展位。这不仅是一次技术交流——我们更希望和您一起,在现场用 AI Coding 展现创造力、在开放麦分享您的项目故事、与行业先锋面对面切磋、在开源市集交换灵感。我们为您预留了专属席位,期待与您共同呈现:当开源精神遇上 AI 创造力,能碰撞出多少令人惊艳的可能。立即报名,锁定与数百位技术同行深度连接的一天!

028 周榜单总介绍

模力工场第 028 周 AI 应用榜来啦!本周上榜的应用大多来自美国 CES 展及阿里云通义智能硬件展,从优必选的集群物流调度系统到银河通用的零样本抓取机器人,从众擎的拟人步态双足机器人到 Walulu 的情感陪伴毛绒玩具——这些应用共同见证了一场时代风暴:AI 硬件正在集体跨越“工具”属性,进化为真正的“智能体”。它们不再是被动响应指令的机械装置,而是具备了理解环境、自主规划、闭环执行乃至情感交互能力的“数字生命体”。这场从“功能叠加”到“语音助手”再到“智能体化”的范式革命,正同时重塑生产力与生产关系:在工业场景成为可靠的“数字员工”,在消费领域则成为可建立羁绊的“数字伙伴”,标志着人机协同进入了全新的历史阶段。

  • OiiOii: 一款面向创作者与普通用户的 AI 互动式内容生成应用,通过自然语言或轻量交互,快速生成有趣、可分享的内容。

  • 云深处巡检机器人: 专注于工业复杂环境的自主巡检解决方案。其四足机器人具备强运动与感知能力,可在无网络支持下独立完成巡检任务并安全返回,已在电力、能源等领域实现落地应用。

  • 优必选(UBTECH)搬运/物流机器人: 提供从智能搬运机器人到集群调度系统的软硬件一体化智慧物流方案,帮助企业实现仓储搬运环节的自动化升级与效率提升。

  • 众擎机器人: 聚焦高动态双足人形机器人的研发,致力于突破拟人步态与平衡控制技术,为未来机器人在人类环境中的通用移动能力提供底层支撑。

  • walulu 📍成都: 一款具备情感交互与离线记忆能力的 AI 智能毛绒玩具,通过多模态交互设计,为用户提供个性化、可长期互动的陪伴体验。

  • 银河通用机器人: 研发面向仓储、零售等场景的通用移动操作机器人,具备视觉识别与自主抓取能力,可在动态环境中完成物品拣选、搬运等任务。

  • 千寻智能Spirit AI: 从事通用人形机器人系统研发,整合高性能硬件平台与 AI 算法栈,探索机器人在多场景下的感知、决策与执行能力。

本周必试应用

应用名称:OiiOii

关键词:全流程托管|零门槛动画|AI 协同创作

模力小 A 推荐:通过七个 AI 智能体(导演、编剧、美术等)分工协作,将你的文字想法自动转化为包含分镜、角色与场景的动画视频,大幅降低了专业动画内容的制作门槛。

上榜冷门但有趣的应用

应用名称:walulu

关键词:AI 硬件|可成长陪伴|离线记忆

模力小 A 推荐:一款结合了情感计算模型的智能玩具。它能够记住与你的互动,并做出个性化的反应,提供一种注重私密性与持续性的陪伴体验。

本周上榜应用趋势解读

AI 正在从虚拟世界走向物理世界,为自己寻找真实的“身体”。本周模力工场榜单上的应用清晰地展示了这一趋势——AI 不再是停留在软件层面的算法,更是成为驱动各类硬件的“大脑”。这次上榜的八大应用,集中体现了 AI 硬件在两大关键赛道的爆发:工业效率革命与情感陪伴需求。

在工业领域,AI 机器人正从简单的机械臂进化为真正的“智能员工”。云深处的巡检机器狗能够在无网络环境的复杂场景中自主完成巡检任务,实现了从“自动化”到“自主化”的跨越;优必选的智慧物流方案已超越单台设备,提供机器人群调度与仓储管理系统深度集成的整套解决方案;银河通用的物流机器人则实现了“零样本抓取”能力,即使面对全新商品也能准确识别搬运。这些进展表明,工业机器人正从实验室原型走向工程化落地,其核心价值在于可量化的投资回报。

在消费领域,情感陪伴型机器人正开辟全新市场。Walulu 的 AI 毛绒宠物通过情感模型与离线记忆技术,创造出能随互动成长的“伙伴关系”,本质是在贩卖情感价值而非功能价值。这反映了 AI 正从解决效率问题,转向满足更深层的心理需求。未来,能否建立稳定、专属的“数字亲密关系”,或将成为此类产品发展的关键。

特别值得关注的是众擎的人形机器人——虽然步态尚显蹒跚,但其对双足行走、自然步态的追求,瞄准的是机器人无缝进入人类环境的终极目标。这种对“通用形态”的前瞻布局,代表着产业在为更广阔的未来场景做技术储备。

除了实体硬件产品,OiiOii 这款 AI 动画创作应用近期也备受瞩目。其“全流程托管模式”尤为亮眼——平台将传统动画制作中的艺术总监、编剧、分镜师、角色设计师、场景设计师、动画师、音效总监等七个核心角色,分别由七个 AI 智能体担任。这些智能体不仅形象亲切可爱,更如导师般指引用户一步步完成创作。用户只需输入创意想法,并在关键节点进行确认,即可产出完整动画作品。这极大降低了创作门槛,让普通用户也能轻松上手动画制作。

综上,AI 硬件已越过“加个语音模块”的简单升级阶段,进入以智能体化为特征的第三阶段。产业不再满足于制造“能联网的工具”,而是致力于创造“能自主行动的数字生命体”。从工业现场到家庭空间,AI 正在改写生产力与生产关系的定义——在工厂成为可靠的数字员工,在生活场景成为温暖的数字伙伴。当 AI 真正获得在物理世界中感知、决策和执行的能力,人机协同或将进入一个前所未有的新纪元。

defaults -currentHost write -globalDomain NSStatusItemSpacing -int 4

defaults -currentHost write -globalDomain NSStatusItemSelectionPadding -int 2 

killall ControlCenter     

bartender 类的用起来不太顺手,调整顺序的时候乱跳,但是搜索的功能挺好用的
(苹果公司不打算修这个吗,icon 在刘海儿超出直接没了