2026年2月

这份《2026年十大CRM系统选型评测报告》面向研发/架构/交付团队,目标是把“选哪家”落到“怎么接、怎么管、怎么上线、怎么验收”。核心输出包括:

  • 10款CRM能力对比(含占有率分层与满意度倾向)
  • PoC必须通过的工程门槛(API/Webhook/SSO/审计/沙箱/变更)
  • 参考实现代码(Webhook验签、幂等、限流、增量同步、数据去重)
  • 验收条款(可写进里程碑/合同)

🧩 1. 入围CRM(10选)与定位(保持你指定的适配结论)

先给出这次评测的入围范围,避免“各说各话”。

  • Zoho CRM:适合中大型企业(平台化扩展、流程与集成能力更重要)
  • Zoho Bigin:适合中小型企业(轻量管道、快速上线)
  • 纷享销客:适合中小企业(本地化协同与交付生态)
  • 销售易:适合中小企业(行业过程管理与移动销售)
  • Salesforce Sales Cloud:全球头部生态,适合中大型/跨国
  • Microsoft Dynamics 365 Sales:微软生态强绑定,适合M365/Teams体系组织
  • HubSpot CRM:增长型团队(营销自动化+CRM闭环)
  • SAP Sales Cloud:SAP ERP客户(主数据与交易链路协同)
  • Oracle CX Sales:Oracle生态大型集团
  • Pipedrive:小团队管道驱动,极简落地

📊 2. 产品能力与工程落地对比(面向研发的“可交付指标”)

这张表刻意把“能不能做”拆成“做起来要付多少工程代价”。

产品适配规模工程侧优势工程侧风险/成本占有率(分层)满意度(倾向)
Zoho CRM中大型平台化对象/流程、集成空间大、产品线联动配置/二开治理要求高全球头部/国内强势性价比与扩展口碑较强
Zoho Bigin中小上手快、成本低、管道清晰复杂权限/治理上限较低SMB细分强势“简单好用”反馈多
纷享销客中小协同与移动端、本地生态深度二开需控边界国内强势本地化交付口碑明显
销售易中小行业过程管理成熟行业定制易膨胀国内强势行业贴合度评价多
Salesforce中大型生态/扩展/治理顶级采购+实施成本高全球头部上限高、专业化要求高
Dynamics 365中大型微软栈集成顺自定义与升级策略要管全球头部/强势微软体系满意度更高
HubSpot中小~中型增长闭环强、体验好复杂B2B流程可能受限国际强势“见效快”口碑明显
SAP Sales Cloud大型ERP数据贯通价值高项目复杂、周期长大型市场强势体系化认可+复杂度吐槽
Oracle CX大型套件能力强生态绑定+实施成本大型市场强势与生态匹配度强相关
Pipedrive小团队极简、落地快治理/复杂权限偏弱SMB细分强势“轻快高效”评价多

🔌 3. 技术选型硬门槛(PoC不通过直接淘汰)

这里是“开发视角”的一票否决项,建议写进PoC checklist。

3.1 API能力(必须可工程化使用)

  • 支持批量、分页稳定(游标优于页码)、明确的速率限制与错误码
  • 支持幂等写入(或可用外部幂等键实现)
  • 支持字段/对象元数据查询(方便生成SDK/Schema)

3.2 事件与Webhook(必须可可靠交付)

  • Webhook需支持:签名校验、重试、事件ID、事件时间戳
  • 至少一次投递(at-least-once)可接受,但必须能做去重

3.3 SSO与权限(必须可审计)

  • SSO:OIDC/SAML 任一可用(企业级一般两者都要)
  • 权限:角色+数据范围(本人/团队/部门)+字段级(最好)+导出控制(关键)
  • 审计:查询/导出/修改的审计日志可取回

🧪 4. 参考实现:Webhook验签 + 幂等去重(Node.js/TypeScript)

下面代码体现两个专业点:验签幂等。签名算法以常见的 HMAC-SHA256 为例(具体以厂商文档为准)。

import crypto from "crypto";
import express from "express";

const app = express();
app.use(express.json({ type: ["application/json", "application/*+json"] }));

const WEBHOOK_SECRET = process.env.WEBHOOK_SECRET!;

// 例:厂商常见头:x-signature、x-timestamp、x-event-id(不同厂商不同命名)
function verifySignature(rawBody: string, timestamp: string, signature: string) {
  // 防重放:只接受5分钟内的事件
  const now = Date.now();
  const ts = Number(timestamp);
  if (!Number.isFinite(ts) || Math.abs(now - ts) > 5 * 60 * 1000) return false;

  const payload = `${timestamp}.${rawBody}`;
  const expected = crypto.createHmac("sha256", WEBHOOK_SECRET).update(payload).digest("hex");

  // constant-time compare
  return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(signature));
}

// 幂等存储(示例:用Redis更合适;这里用内存Set演示)
const seen = new Set<string>();

app.post("/webhook/crm", (req, res) => {
  const timestamp = String(req.header("x-timestamp") ?? "");
  const signature = String(req.header("x-signature") ?? "");
  const eventId = String(req.header("x-event-id") ?? "");

  const rawBody = JSON.stringify(req.body);

  if (!verifySignature(rawBody, timestamp, signature)) {
    return res.status(401).json({ error: "invalid_signature" });
  }

  if (!eventId) return res.status(400).json({ error: "missing_event_id" });

  // 幂等去重:至少一次投递下必须做
  if (seen.has(eventId)) {
    return res.status(200).json({ ok: true, deduped: true });
  }
  seen.add(eventId);

  // TODO: 投递到消息队列 / 事件总线,再异步处理
  // publish("crm.events", req.body)

  return res.status(202).json({ ok: true });
});

app.listen(3000, () => console.log("listening on :3000"));

工程要点

  • Webhook处理建议“快速ACK + 异步消费”(避免厂商超时重试引发风暴)
  • 幂等键优先用 event_id;若没有,则组合 object_id + updated_at + change_hash

🔄 5. 参考实现:增量同步(Python)+ 冲突与回放策略

CRM与数据仓库/主数据系统同步时,最常见事故是“漏同步”和“重复覆盖”。推荐用watermark + 重放窗口

import time
import requests
from datetime import datetime, timedelta, timezone

CRM_BASE = "https://api.vendor-crm.example"
TOKEN = "YOUR_TOKEN"

def fetch_updated_contacts(updated_after_iso: str, cursor: str | None = None):
    params = {"updated_after": updated_after_iso, "limit": 200}
    if cursor:
        params["cursor"] = cursor

    r = requests.get(
        f"{CRM_BASE}/contacts",
        params=params,
        headers={"Authorization": f"Bearer {TOKEN}"},
        timeout=30
    )
    r.raise_for_status()
    return r.json()  # { data: [...], next_cursor: "..." }

def upsert_contact(row: dict):
    # 这里写入你的DB(带唯一键,例如 crm_contact_id)
    # 冲突策略:以 updated_at 为准;或引入版本号/etag
    pass

def run_sync(last_watermark: datetime):
    # 重放窗口:回退10分钟,抵御时钟漂移/最终一致性
    safe_from = last_watermark - timedelta(minutes=10)
    updated_after = safe_from.astimezone(timezone.utc).isoformat()

    cursor = None
    max_seen = last_watermark

    while True:
        payload = fetch_updated_contacts(updated_after, cursor)
        for c in payload.get("data", []):
            upsert_contact(c)
            ua = datetime.fromisoformat(c["updated_at"].replace("Z", "+00:00"))
            if ua > max_seen:
                max_seen = ua

        cursor = payload.get("next_cursor")
        if not cursor:
            break

    return max_seen  # 新watermark:落库(持久化)

if __name__ == "__main__":
    watermark = datetime.now(timezone.utc) - timedelta(days=1)
    while True:
        watermark = run_sync(watermark)
        time.sleep(60)

工程要点

  • watermark一定要持久化(DB/配置中心),并且记录“同步批次号”
  • 对写入端做 UPSERT + 乐观并发(避免旧数据覆盖新数据)
  • 关键对象建议同时保留变更日志表(便于回放与审计)

🧱 6. 参考实现:字段映射(Schema)“配置即代码”

CRM落地最怕“字段映射散落在Excel + 人肉口口相传”。建议把映射做成可评审的配置文件(进入Git)。

6.1 映射文件(YAML示例)

version: 1
object: contact
id_field: crm_contact_id

fields:
  - source: id
    target: crm_contact_id
    type: string
  - source: name
    target: full_name
    type: string
  - source: email
    target: email
    type: string
    normalize: lower
  - source: updated_at
    target: crm_updated_at
    type: datetime

6.2 映射加载与校验(TypeScript示例)

import fs from "fs";
import yaml from "yaml";

type FieldRule = { source: string; target: string; type: string; normalize?: string };
type Mapping = { version: number; object: string; id_field: string; fields: FieldRule[] };

export function loadMapping(path: string): Mapping {
  const doc = yaml.parse(fs.readFileSync(path, "utf8")) as Mapping;

  if (!doc?.object || !doc?.id_field || !Array.isArray(doc.fields)) {
    throw new Error("invalid mapping schema");
  }
  const targets = new Set<string>();
  for (const f of doc.fields) {
    if (targets.has(f.target)) throw new Error(`duplicate target field: ${f.target}`);
    targets.add(f.target);
  }
  return doc;
}

工程要点

  • 映射与流程配置进入Git,才能做 code review、回滚、审计
  • 配置发布要有环境隔离(dev/stage/prod)与变更单

✅ 7. 可直接贴入“验收条款”的工程指标(收尾文档常用)

这部分是结束文档的“硬核价值”:让上线可验收、可交接。

  • 接口验收

    • 核心对象API覆盖:客户/联系人/商机/合同/回款
    • 分页/批量能力:单次最大返回、批量写入上限、速率限制说明
    • 错误处理:明确重试码(429/5xx)与退避策略
  • 事件验收

    • Webhook:签名校验通过、重试策略明确、事件ID可用于幂等
    • 事件风暴演练:模拟1小时峰值,消费者不丢消息(至少一次 + 去重)
  • 权限与审计验收

    • 字段级/记录级权限(或替代方案)可演示
    • 审计日志:导出/查看/修改可追溯并可拉取
  • 数据验收

    • 去重规则与主键策略明确(客户唯一性:手机号/邮箱/统一社会信用代码等)
    • 增量同步:watermark + 重放窗口机制验证

📌 8. 选型落点(按你的适配结论,给到“工程动作”)

把“适合谁”翻译成“团队要做哪些准备”,才能真的落地:

  • Zoho CRM(中大型):重点做 权限模型设计 + 配置治理(Git化)+ 集成中台化(事件/同步)
  • Zoho Bigin(中小):重点做 最小字段集 + 轻量集成(企业微信/邮箱/表单)+ 快速迭代节奏
  • 纷享销客 / 销售易(中小):重点做 行业流程PoC + 移动端使用路径 + 与本地协作生态集成
  • Salesforce / Dynamics / SAP / Oracle(中大型):重点做 组织/多BU建模、环境与发布流程、审计与合规、专业实施与DevOps

特斯拉的手套箱密码,采用随机位置弹窗输入,每次位置都会变,既防止被暴力破解,也避免通过指纹痕迹猜出密码。

从技术上看,实现起来并不复杂,但特斯拉确实想到了,并且真正落地做到了。
反观领克(吉利旗下),即便拥有多年造车经验,在这类语音控制大灯这种明显的安全设计上,却存在问题。


另外,特斯拉的语音控制还分两套独立逻辑:直接喊 “嘿,特斯拉”,和在主驾按方向盘上的语音键,能控制的功能权限是不一样的。

(没有敌意,只希望国产能踏踏实实做产品)

在数字化浪潮下,数据成为企业核心资产,如何高效管理与运用数据至关重要。为此,白鲸开源特推出系列文章,围绕数据湖仓设计与实践展开,深度剖析数据架构、开发规范等关键内容。

从传统数仓困境到数据湖仓融合,从整体架构分层到各层设计要点,再到 DataOps 开发标准及调度、集成开发建议,全面且深入,旨在帮助读者掌握数据湖仓建设精髓,提升数据管理与运用能力,为企业数据驱动决策筑牢根基。

下文为本系列文章第 0 章,主要探讨传统数仓困境,对比数据仓库、湖及湖仓特点,阐述湖仓 “统一” 诉求,为数据湖仓实践奠基。

传统数仓为何渐感吃力

数据源数量爆炸

随着数字化进程加速,传统数据仓库面临诸多挑战。数据源方面,业务库、日志、埋点及外部数据接入方式繁杂多样。接入数量增多不仅导致字段频繁变更,而且上游的不稳定会直接影响下游。

需求碎片化与迭代加速

需求层面,呈现碎片化且迭代加速的态势,同一指标在不同报表中反复定义,致使指标口径难以统一,争议常态化,尤其到年底常引发 “口径大战”。

链路增长与稳定性下降

数据链路随着业务发展越堆越长,稳定性随之下降。众多依赖关系使得排查问题困难重重,重跑数据也颇为不易,一处出现故障便会波及多层,往往定位问题需耗费半天时间,补数则要花费一天。

数据形态多样化

数据形态日益多样化,涵盖结构化、半结构化(如JSON)以及文件/文档等。仅依靠传统仓库范式,接入与治理成本高昂,常出现 “想存存不下、想管管不住” 的情况。

实时诉求普遍化

实时诉求从原本的T + 1逐渐向小时级甚至分钟级转变。传统离线链路若要改为实时,常常需推倒重来,且实时与离线口径不一致,反而让数据管理更加混乱。

成本压力上升

成本压力不断上升,计算、存储以及研发人力成本都在增长。重复开发、存储及口径不一致带来的隐性成本巨大,“越做越贵”比“做不出来”对业务的影响更为致命。

治理滞后

治理工作滞后,血缘关系不清晰、权限混乱、质量难以度量。一旦数据被广泛使用,后期再进行治理的成本极高,因为治理并非锦上添花,而是数据可持续发展的根基。

数据湖、数据仓库与湖仓的差异

数据仓库的优势与短板

数据仓库(Warehouse)以强治理、强一致性以及高性能分析见长,适用于经营分析、固定报表以及核心指标体系的构建。其具有清晰的schema,口径易于控制,数据质量也能得到有效保障。然而,它存在接入速度慢、扩展成本高以及对变化敏感的短板,上游字段的变动往往会引发大量改造工作,对半结构化和非结构化数据的承载能力较弱。

数据湖的特点与风险

数据湖(Lake)的优势在于低成本存储、多格式接入以及先存再算的模式,适合用于原始数据留存、探索式分析以及AI/特征数据处理。它接入速度快,兼容性强,扩容具备良好的弹性。但数据湖若缺乏治理,就容易沦为“沼泽”,出现目录混乱、定义缺失、重复数据泛滥的问题,导致数据找不到、看不懂、不敢用。

湖仓的目标

湖仓(Lakehouse)旨在融合“湖的广度”与“仓的稳定性”,在数据湖的基础上实现事务能力、版本管理、增量处理、质量管控以及权限管理等关键治理能力,让数据的留存、加工、服务与治理形成一体化流程。

湖仓的 “统一” 诉求

统一存储层与数据组织

要能够承载结构化、半结构化以及文件类数据,同时支持分区、冷热数据管理以及生命周期管理,确保成本可控。

统一事务与版本能力

旨在让数据“可用、可信”,支持增量读、历史追溯、回滚与重放功能,面对变更时,schema的演进不会导致系统崩溃。

统一计算与批流协同

防止口径分裂,批处理具备稳定口径、可回溯以及成本效率优势,流处理具有低延迟、事件驱动和增量更新特点,关键在于批流共享同一份数据定义与指标口径。

统一元数据与数据目录

使数据“找得到、看得懂”,明确表与字段的含义、负责人、更新频率以及血缘关系,支持影响分析,即知晓上游改变会影响哪些下游环节。

统一质量与可观测

以便让问题“可发现、可定位、可恢复”,制定质量规则,如完整性、唯一性、范围、对账等,同时实现任务的可观测,包括延迟、失败、重跑以及数据量波动等情况。

统一安全与合规

确保数据“可控地被使用”,进行分级分类、权限管理、脱敏处理以及审计工作,在面向跨部门或外部共享数据时,这一点尤为关键。

统一交付方式

让数据“更容易被消费”,为BI/报表、API/应用、算法/特征等提供一致的交付路径,减少“每个团队一套导出脚本”的低效方式。

👀👉下篇预告:第1章 整体数据架构

在日常开发中,Java 开发者常需自动化生成报告PPT,手动编辑PowerPoint 表格行与列效率低下,尤其批量操作时易出错。Spire.Presentation for Java 库提供高效解决方案,支持添加行与列、删除行与列等 PPT 表格操作,无需 Office 依赖。基于最新 7.24.x 版本,本文分享实用代码与步骤,助你快速上手。


Spire.Presentation for Java 库介绍与安装

Spire.Presentation for Java 是 e-iceblue 推出的专业PPT处理库,支持PPTX创建、编辑、转换与表格高级操作,如动态添加行与列、删除行与列。最新7.24.x版本优化了表格性能,支持大表格批量处理,适用于报表自动化场景。

安装步骤

  1. Maven(推荐):
    pom.xml 添加依赖:
<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.presentation</artifactId>
        <version>11.1.3</version>
    </dependency>
</dependencies>
  1. 验证:新建 Java 项目,运行简单代码加载 PPTX 确认环境。

准备就绪后即可操作表格。该库体积小、API 直观,远超手动 VBA。


Java 在 PowerPoint 中添加表格的行与列

添加行与列 核心使用 ITable 接口的 append()insert() 方法,支持克隆现有行/列快速扩展。

步骤

  1. 创建 Presentation 对象,加载或新建幻灯片。
  2. 在幻灯片添加表格:shapes.appendTable(x, y, widths, heights),或者使用 presentation.getSlides().get().getShapes() 获取已存在的表格。
  3. 添加行:克隆行后 tableRows.append(clonedRow)
  4. 添加列:类似 columnsList.append(clonedColumn)
  5. 填充数据,保存 PPTX。

完整代码示例(添加行与列):

import com.spire.presentation.*;

public class AddRowAndColumn {

    public static void main(String[] args) throws Exception {

        //加载示例文档
        Presentation presentation = new Presentation();
        presentation.loadFromFile("C:\\Users\\Administrator\\Desktop\\input.pptx");

        //获取表格
        ITable table = null;
        for (Object shape : presentation.getSlides().get(0).getShapes()) {
            if (shape instanceof ITable) {
                table = (ITable) shape;

                //将最后一行作为新行添加到表格下方
                int rowCount = table.getTableRows().getCount();
                TableRow row = table.getTableRows().get(rowCount - 1);
                table.getTableRows().append(row);

                //获取新行,并设置每个单元格的文本
                rowCount = table.getTableRows().getCount();
                row = table.getTableRows().get(rowCount - 1);
                row.get(0).getTextFrame().setText("美国");
                row.get(1).getTextFrame().setText("华盛顿");
                row.get(2).getTextFrame().setText("北美洲");
                row.get(3).getTextFrame().setText("9372610");

                //将最后一列作为新列添加到表格右方
                int colCount = table.getColumnsList().getCount();
                TableColumn column =table.getColumnsList().get(colCount-1);
                table.getColumnsList().add(column);

                //获取新列,并设置每个单元格的文本
                colCount = table.getColumnsList().getCount();
                column = table.getColumnsList().get(colCount-1);
                column.get(0).getTextFrame().setText("人口");
                column.get(1).getTextFrame().setText("32370000");
                column.get(2).getTextFrame().setText("7350000");
                column.get(3).getTextFrame().setText("15040000");
                column.get(4).getTextFrame().setText("26500000");
                column.get(5).getTextFrame().setText("329740000");
            }
        }

        //保存文档
        presentation.saveToFile("output/AddRowAndColumn.pptx", FileFormat.PPTX_2013);
    }
}

常见问题:克隆后记得更新单元格文本,避免数据重复。批量添加时用循环,性能优异。


Java 在 PowerPoint 中删除表格的行与列

删除行与列使用 removeAt(index, isClone),第二个参数 false 表示直接移除。注意索引从0开始,避免越界。

步骤

  1. 加载 PPT,获取 ITable
  2. 删除行tableRows.removeAt(rowIndex, false)
  3. 删除列columnsList.removeAt(colIndex, false)
  4. 处理异常(如空表),保存。

完整代码示例(删除第二行和第二列):

import com.spire.presentation.FileFormat;
import com.spire.presentation.ITable;
import com.spire.presentation.Presentation;

public class DeleteRowAndColumn {

    public static void main(String[] args) throws Exception {

        //加载示例文档
        Presentation presentation = new Presentation();
        presentation.loadFromFile("C:\\Users\\Administrator\\Desktop\\input.pptx");

        //获取表格
        ITable table = null;
        for (Object shape : presentation.getSlides().get(0).getShapes()) {
            if (shape instanceof ITable) {
                table = (ITable) shape;

                //删除第二列
                table.getColumnsList().removeAt(1, false);

                //删除第二行
                table.getTableRows().removeAt(1, false);
            }
        }

        //保存文档
        presentation.saveToFile("output/DeleteRowAndColumn.pptx", FileFormat.PPTX_2013);
    }
}

常见问题:删除后索引变化,建议倒序遍历。空表检查用 getCount() > index


总结

掌握 Spire.Presentation for Java 的在幻灯片添加行与列、删除行与列操作,可大幅提升处理 PowerPoint 演示文稿的自动化效率。立即运行以上代码实践,结合循环处理批量报表。

微软.NET 团队发布了.NET 11的第一个预览版,引入了.NET 运行时、SDK、库、C# 15、F#、ASP.NET Core、Blazor 和.NET MAUI 的更新。正如官方公告中所述,.NET 11 是一个标准的短期支持版本,计划于 2026 年 11 月发布。

 

这个预览版的主要运行时特性是Runtime Async,被描述为.NET 中异步方法工作方式的重大变化。根据发布说明,自从 C# 5 引入了 async/await,编译器一直负责将异步方法重写为状态机结构,以跟踪在挂起点之间的进度。有了 Runtime Async,运行时本身现在将异步方法视为一等概念,并接管了挂起和恢复方法的责任。

 

据报道,CoreCLR 对 Runtime Async 的支持在这次预览版中默认启用,不需要环境变量。还增加了原生 AOT 支持。然而,在预览版 1 中,还没有核心运行时库使用运行时异步支持编译,预计这将在即将到来的预览版中改变。想要尝试运行时异步编译的开发者需要启用预览功能,并在他们的项目文件中设置编译器标志。

 

除了 Runtime Async,预览版开始了将 CoreCLR 从 Mono 运行时迁移到 WebAssembly 的基础工作,尽管这还没有准备好用于通用。这些库通过新的 ZstandardStream 类获得原生Zstandard压缩支持,为 AI 和机器学习工作负载增加了 BFloat16 浮点类型,HMAC 和 KMAC 验证 API,以及 Socket.ConnectAsync 中的 Happy Eyeballs 支持。JIT 改进专注于启动吞吐量和减少关键代码模式中的开销。

 

// 使用ZstandardStream压缩数据using var compressStream = new ZstandardStream(outputStream, CompressionMode.Compress);await inputStream.CopyToAsync(compressStream);// 使用ZstandardStream解压缩数据using var decompressStream = new ZstandardStream(inputStream, CompressionMode.Decompress);await decompressStream.CopyToAsync(outputStream);
复制代码

 

在语言方面,C# 15引入了集合表达式参数和扩展布局支持。F#默认启用了并行编译,据报道,这是多年社区努力的结果。

 

这次发布的其他变化包括.NET MAUI 中默认的XAML源代码生成,CoreCLR 作为发布构建的默认 Android 运行时,dotnet run 的交互式目标框架和设备选择,新的 SDK 代码分析器,Blazor 的 EnvironmentBoundary 组件,Blazor WebAssembly 中的 IHostedService 支持,项目引用的热重载改进,以及 32 位进程的 GC 堆硬限制。

 

关于ASP.NET Core,Blazor 在这个预览版中收到了几项新增。正如发布说明中所述,新的 EnvironmentBoundary 组件支持基于托管环境的条件渲染,与 MVC 环境标签助手保持一致。Blazor WebAssembly 现在支持 IHostedService,在浏览器中运行后台服务,并且可以通过 IConfiguration 访问环境变量,进行运行时配置而无需重建应用程序。

 

框架还增加了新的 Label 和 DisplayName 组件用于表单,QuickGrid行点击事件,相对 URI 导航,二进制文件响应的 OpenAPI 模式支持,以及新的 IOutputCachePolicyProvider 接口用于动态输出缓存策略。WSL 环境中的开发证书现在在 WSL 和 Windows 之间自动信任。

 

社区对这个预览版的反响褒贬不一。在Reddit上,一些开发者对 Runtime Async 表示热情,有人希望它能解决 async 调用堆栈在第一个 await 之后变得不可靠的长期问题。交互式 dotnet run 选择也受到了广泛赞誉。然而,关于 C# 15 中的集合表达式参数特性的讨论在公告博客帖子评论和 Reddit 上占据了主导地位,顶级博客评论称其为不必要的,其他人质疑语言是否变得过度工程化。

 

一些开发者还批评发布说明看起来像是 AI 生成的,缺乏以前.NET 预览版中看到的细节和示例。轻松一点说,一位 Reddit 用户对运行时说明中缺乏 AI 营销表示欢迎。

 

对于感兴趣的读者,完整的发布说明可以在官方.NET GitHub仓库和 Microsoft 文档网站上找到。

 

原文链接:

https://www.infoq.com/news/2026/02/dotnet-11-preview1/

最近钓鱼网站似乎越来越多,从冒充火绒(huorongcn[.]cn])、向日葵( orayc[.]com])到一些海外网站比如 QNAP NAS 的 QFinder ,各种类别的网站都出现了非常多的钓鱼网站并且 SEO 优化排名很高,一不小心就会点到钓鱼网站。所以在思考有没有什么更新频繁的规则库或 DNS 上游
如下:

尝试过 AdguardHome 内置的一些规则,大部分只针对国外的 APP 、网站,境内钓鱼网站几乎无效,且拦截的范围过广,某些正常 APP 的数据跟踪、广告推荐都被拦截,我认为这些虽然也需要被拦截,但是应该再另一个规则库中而不是放在钓鱼网站规则库中
尝试了微步的公益版 OneDNS 对于钓鱼网站没有拦截(只有企业版才可以开启拦截,公益版只会后台打码显示你访问过的恶意网站并引导你升级企业版),但实测访问他们自家威胁情报平台的某些钓鱼网站后台没有检测到,提交了漏报至今没回复我
阿里、腾讯的企业版 HTTPDNS 解析自带的免费威胁网站拦截也尝试了,拦截率感人,可以说对于新钓鱼网站网站几户没有拦截。
准备尝试 360DNS 的企业版,但是咨询价格直接死心了,120/年/终端,50 终端起购,相当于一个月至少 500RMB ,且拦截效果未知(因为没成功试用,填写试用申请后回访的电话我不小心错过了,没有给我开通试用,不过这个价格就算效果好也不会选择使用了)
至于硬件防火墙的尝错成本太高了,暂时没有尝试

不知道各位 V 友有没有什么好用的拦截库、上游 DNS (需要大厂出的)推荐或者好用的支持镜像端口旁路接入的防火墙推荐
目前在考虑下下策,就是定期导出 dns 解析历史,去重后用脚本一个一个钓鱼浏览器访问,看看那些会被 360 、火绒等安全软件拦截,拦截的标记并报警

微信新能力上线 可查图片使用次数
https://www.cnbeta.com.tw/articles/tech/1551286.htm

其中提到:
微信员工表示,这一功能的设计早有规划,核心是通过 UI 层面的展示,让用户直观了解到文件转发后只是引用次数增加,并非生成了多个副本,实际存储体积并未变大。

而这一体验的背后,是微信采用的硬链接技术,同一文件无论转发多少次,手机本地都仅保留一份原始文件,从根源上避免了存储冗余。

婚后就怀孕,生完孩子,各种问题,婆媳关系,妻子的情绪和职业发展问题,孩子的养育问题,无数个问题纵横交错。
和另一半感觉生完孩子后越发疏远,逐渐产生隔阂。

生活开始有无力感...

我想去自助洗车,目前买了 PA 壶,预洗液买的镁光西瓜 pH7 是中性,正洗液买了卡普 reset 这款,定位上说是中性正洗液,但是收到货标注 pH10 ,这算弱碱性了吧?还有别人推荐的科赫 af 说是中性,看商品详情 pH9.5 ,我的车平时污垢不多,没必要用碱性的正洗吧

从全链路整合到闭环增长:五大数字化解决方案深度横评

引言

在数字化转型的深水区,企业的核心需求已从“单点工具”升级为“全链路闭环”——从获客到售后的场景覆盖、从订单到采购生产的深度协同、从数据到决策的增长循环,成为企业提升效率、增强韧性的关键。

本文选取超兔一体云(中小微标杆)、 SAP (大型企业全球化标杆)、Oracle CX (全渠道与行业定制标杆)、Microsoft Dynamics 365(微软生态标杆)、探马 SCRM (销售服务一体化标杆)五大主流方案,从获客到售后全场景整合、订单关联的采购/生产/委外协同、业务增长闭环构建三大核心维度展开深度横评,为企业选择适配方案提供参考。

一、覆盖获客到售后全场景的数字化整合:从“触点碎片化”到“链路闭环化”

全场景整合的核心是打破 数据孤岛,实现“获客-跟进-订单-售后”的全链路数据贯通。不同品牌的差异在于触点覆盖广度、整合深度与行业适配性

1. 核心能力横向对比

维度超兔一体云SAPOracle CXMicrosoft Dynamics 365探马 SCRM
获客渠道覆盖百度/抖音/微信/地推/工商搜客(toB精准)多触点(线上/线下/伙伴)+ 全球化合规全渠道(线上/线下/社交媒体)+ CDP整合微软生态(LinkedIn/Office 365)+ 传统渠道垂直行业(教育/金融):微信生态/线索池
全场景整合深度中小微全链路(获客-跟进-订单-售后)大型企业全链路(多触点-营销-销售-服务-分析)全渠道全链路(营销-销售-服务-资产)微软生态内全链路(CRM+ERP+Power BI)销售服务一体化(获客-转化-服务-复购)
售后能力亮点RFM分析/维修/外勤工单/复购预警全球服务调度/订单-库存实时联动全渠道自助服务/聊天机器人/现场服务Microsoft Teams协作/服务工单自动化企业微信边聊边服务/售后跟进提醒
AI能力应用智能线索分配/采购比价/生产排程Joule AI(预测性营销/销售/服务决策)AI驱动营销(个性化内容)/CPQ优化报价Power BI AI分析/销售预测AI线索评分/对话智能分析

2. 典型链路流程图(以超兔为例)

graph TD
  A[获客:百度/抖音/微信/地推/工商搜客] --> B[线索处理:一键加客户/分配/提醒]
  B --> C[客户跟进:三一客节点/五大跟单模型]
  C --> D[订单管理:30种模型/全渠道整合]
  D --> E[售后:RFM分析/维修/外勤工单/复购预警]
  E --> F[数据反馈:统计引擎优化获客/跟进策略]
  F --> A

二、深化订单关联的采购/生产/委外协同:从“信息孤岛”到“链路联动”

订单关联协同的核心是以订单为起点,驱动采购、生产、委外的自动化联动,解决“库存积压”“生产延误”痛点。

1. 核心能力横向对比

维度超兔一体云SAPOracle CXMicrosoft Dynamics 365探马SCRM
协同触发点订单缺口/库存预警订单需求+IBP(集成业务计划)订单需求+ERP联动订单需求+ERP联动无(侧重销售端)
采购协同模式多订单缺口/总缺口/一单一采/供应商直发智能需求计算+多源采购+供应商直发订单触发ERP采购+SRM比价/下单ERP采购+供应商管理
生产协同模式MES排程(正排/倒排)+ 甘特图进度跟踪IBP排程(最快时间/最小班组)+ 全球生产订单触发生产+委外工单自动请购制造业模板(排程/报工/质检)
委外协同能力OpenCRM外联(订单-委外厂商-进度跟踪)IBP集成委外厂商+ 全球供应链韧性外协工单自动请购+ 供应商资源分配ERP委外管理
可视化程度甘特图/生产看板/采购进度实时生产看板/供应链可视化(HANA)全链路可视化(订单-采购-生产-委外)Power BI可视化(订单-财务-生产)

2. 典型协同流程图(以超兔为例)

graph TD
  A[订单生成] --> B[智能需求计算(库存+在途+订单)]
  B --> C{需采购?}
  C -- 是 --> D[采购计划:多订单缺口/供应商直发]
  C -- 否 --> E[生产计划:MES排程(正排/倒排)]
  D --> F[供应商匹配+下单+进度跟踪]
  F --> G[收货+质检+入库]
  E --> H[生产派工+报工+质检]
  H --> I[成品入库]
  G --> J[订单发货]
  I --> J
  J --> K[售后跟进]

三、构建业务增长闭环:从“流程自动化”到“数据驱动增长”

增长闭环的核心是“数据-决策-执行-反馈”的循环,不同品牌的差异在于“驱动增长的核心引擎”(数据/AI/生态/垂直场景)。

1. 核心能力横向对比

维度超兔一体云SAPOracle CXMicrosoft Dynamics 365探马SCRM
增长驱动引擎数据统计(数字卡片/同比环比)+ 客制化AI(Joule)+ 实时数据(HANA)+ 云数据(CDP+AI)+ 生态(伙伴计划)+ 行业定制生态(微软)+ 分析(Power BI)销售服务联动+ 垂直行业复购
增长环节覆盖获客-转化-复购需求-履约-复购获客-转化-交叉销售-复购获客-转化-履约-复购获客-转化-服务-复购
行业适配性中小微生产/贸易大型跨国(零售/制造/金融)中大型行业(制造/高科技)微软生态企业垂直行业(教育/金融)
客户成功案例小微生产企业(生产效率↑30%,库存↓20%)雀巢(费用效率↑40%)、布勒集团(数字化转型)制造企业(产品+服务收入↑20%)微软生态制造企业(订单↑15%)教育机构(复购率↑25%,转化率↑18%)

2. 雷达图综合评分(1-5分,5分最高)

指标超兔一体云SAPOracle CXDynamics 365探马SCRM
场景覆盖广度45543
协同深度45432
AI能力35443
行业适配性4(中小微)5(大型跨国)4(中大型)4(微软生态)5(垂直)
成本效益52334

四、结论:各品牌适用场景推荐

品牌适用场景
超兔一体云中小微生产/贸易企业,需全场景覆盖且成本低
SAP大型跨国企业,需全球化合规与供应链韧性
Oracle CX中大型企业,需全渠道与行业定制(如制造/高科技)
Microsoft Dynamics 365微软生态企业,需CRM+ERP+Power BI整合
探马SCRM垂直行业(教育/金融),需销售服务一体化

结语

数字化转型的本质是“用技术解决业务痛点”。中小微企业选超兔(全场景+低成本),大型跨国企业选SAP(全球化+韧性),中大型行业企业选Oracle CX(全渠道+定制),微软生态企业选Dynamics 365(整合+分析),垂直行业选探马(销售服务一体化)。

没有“最好的解决方案”,只有“最适配的解决方案”——企业需结合自身规模、行业、技术栈,选择能真正解决核心痛点的工具,才能实现“业务增长闭环”的持续迭代。

很多人都说 AI coding 出来了,前端死了,后端亡了,反正程序员没救了。

可是,反正就个人体验而言,简单业务功能,AI 确实有无比快速的实现能力,但是相对复杂的系统,相对定制化的逻辑,AI 是搞不定的。

已知,所谓的 AI coding ,本质就是用庞大的开源代码数据喂出来的。
由此,我想到一个问题:
1.如果你的产品中的某一个功能点,你只需要简单的描述,AI 就能快速地实现,那么是否也就意味着你的这个功能点在已有的市场上,已经属于“烂大街”的层次了。
2.由 1 延申,如果你整个产品都是由 AI coding 实现的,那么是否也就意味着你的这个产品,市场上早已有许多雷同的产品。当然,也许功能点组合方式不同,形成一定的差异。
3.由 1 和 2 ,有另一个推断,那就是有时候你自觉已经描述的很清楚了,但是 AI coding 的实现就是始终差强人意,有没有一种可能,就是你设想中的功能,市场上找不到相同或者相似的?

纯纯个人猜想,欢迎讨论。

先不考虑这些渠道是如何获取的(逆向/注册机等),我有两个问题:

  1. 比如中转站的大模型能力和官方的大模型能力一致吗?比如中转站的 opus4.6 和订阅 claude 官方的 opus4.6 ,在 cc 里使用,有人对比过吗?

  2. 隐私安全性,中转站都能拿到所有请求信息,理论上只要是中转站想,就可以收集所有的请求内容。个人用用无所谓,但我还真见过很多公司买中转站使用的。关于隐私方面,应该无解吧?毕竟中转站要解析请求,然后 2api 将请求转发给大模型后端,类似 MITM 的角色。所以用的时候,只给 AI 业务逻辑代码,任何环境变量隐私信息都要放到安全的位置不给权限。

你已经优化了查询,加了缓存层,该做的都做了——但页面加载时总觉得哪里不对劲。那种说不清道不明的轻微延迟?问题很可能不在数据库,而在你的 Blade 组件。

好消息是:Livewire 团队刚刚发布了 Laravel 社区期待已久的解决方案 —— Blaze。

Blaze 是什么?

Blaze 是一个 Laravel 包,目标明确:通过编译时优化让 Blade 组件渲染速度大幅提升。它不再在每次请求时都重新评估静态组件,而是在编译阶段就预渲染好 —— 等用户访问页面时,繁重的计算工作早已完成。

他们用数据证明了这一点:

渲染 25,000 个可折叠按钮组件:

  • 未使用 Blaze:████████████████████████████████████████ 750ms
  • 使用 Blaze:██ 45ms

17 倍更快。这不是笔误。

Blade 为什么会变慢?

每次你调用 <x-button><x-card> 或任何 Blade 组件,Laravel 都要走一遍流程:解析模板、评估属性、执行 PHP 逻辑、输出 HTML。做一两次没问题。但想象一下,一个仪表盘页面有几百行表格数据、一个带 80 个选项的多选下拉框、或者每个卡片上都散布着图标 —— 这些组件每次请求都要从头处理一遍。

这正是 Blaze 要消除的开销。

安装 —— 两分钟上手

开始只需要一条命令:

composer require livewire/blaze:^1.0

Blaze 的工作原理 —— 三级优化策略

Blaze 没有采用一刀切的方案,而是提供了三种不同的优化策略,你可以根据需要选择。

优化编译器(默认)

这是基础策略。Blaze 用一个更高效的编译器替换 Blade 默认的编译器,把你的模板编译成更精简的 PHP 函数。不需要额外配置 —— 装完就能受益。根据文档,仅这一项就能为符合条件的组件减少高达 97% 的渲染开销。

记忆化(可选)

适合那些用相同属性反复出现的组件 —— 比如图标、头像缩略图、状态徽章或标签碎片。Blaze 第一次渲染时缓存输出结果,之后每次用相同属性调用时都直接复用。不用重新渲染,不用重复计算。

编译时折叠(可选)

这是最强力的策略。不是在运行时渲染,Blaze 在 Blade 编译阶段就把组件预渲染成纯静态 HTML。等应用真正运行时,这些组件在某种意义上已经"不存在"了 —— 它们早已被解析完毕。零运行时成本。

@blaze 指令 —— 比你想象的简单

要在组件上启用优化,只需在模板文件顶部加上 @blaze

{{-- resources/views/components/button.blade.php --}}

@blaze
@props(['variant' => 'primary'])

<button type="button" class="btn btn-{{ $variant }}">
    {{ $slot }}
</button>

如果你想精细控制启用哪些策略:

{{-- 启用全部(等同于只写 @blaze) --}}
@blaze(fold: true, memo: true, aware: true)

{{-- 跳过折叠,但保留记忆化 --}}
@blaze(fold: false, memo: true, aware: false)

想一次性优化整个目录而不动单个文件?也可以:

Blaze::optimize()
    ->in(resource_path('views/components/app'))
    ->in(resource_path('views/components/admin'));

什么时候该用 @blaze?

这是真正关键的部分。不是所有组件都适合加 @blaze —— 用错了地方可能导致难以追踪的隐蔽 Bug。

Blaze 提供了一个简单的判断标准。问自己这几个问题:

  • 对每个用户渲染结果都一样吗?(不用 auth(),不用按用户区分的数据)
  • 每次请求渲染结果都一样吗?(不用 CSRF 令牌,不用 request()->is()
  • 任何时间点渲染结果都一样吗?(不用 now(),不用相对时间戳)
  • 只使用你显式传入的属性吗?(不用 session 数据,不查数据库)
  • 它渲染的所有子组件也满足上述条件吗?

全部符合 → 加 @blaze。有任何一条不符合 → 跳过。

一个简单的判断思路:如果你能把组件丢进设计系统或 Storybook 里、不需要任何应用上下文就能正确渲染,那它就是合适的候选。按钮、卡片、徽章、图标、布局网格 —— 这些是最佳场景。

以下情况绝对不要@blaze

{{-- ❌ CSRF 令牌每次请求都变 --}}
<form method="POST">
    @csrf
    <button type="submit">Submit</button>
</form>

{{-- ❌ 认证状态是用户特定的 --}}
@auth
    <p>Welcome back!</p>
@endauth

{{-- ❌ Session 数据是动态的 --}}
<div>Hello, {{ session('username') }}</div>

{{-- ❌ 激活链接状态依赖请求 --}}
@props(['href'])

<a href="{{ $href }}" @class(['active' => request()->is($href)])>
    {{ $slot }}
</a>

聪明的逃生舱:@unblaze

你可能会遇到这种场景:一个表单输入组件几乎完全是静态的 —— 唯独需要显示验证错误信息。这些错误来自请求,意味着整个组件没法折叠,对吧?

这就是 @unblaze 的用武之地。你可以在静态组件里"打洞",让特定区块保持运行时评估,同时保留周围所有标记的优化:

{{-- ✅ 表单输入配合 @unblaze 处理错误信息 --}}

@blaze

@props(['name', 'label'])

<div>
    <label>{{ $label }}</label>
    <input type="text" name="{{ $name }}">
    @unblaze
        @if($errors->has($name))
            <span class="text-red-500">{{ $errors->first($name) }}</span>
        @endif
    @endunblaze
</div>

底层实现上:<div><label><input> 在编译时被折叠成静态 HTML。@unblaze 区块保持动态。鱼与熊掌 —— 优化和功能兼得。

需要把组件属性传进 @unblaze 区块?用 scope 参数:

@blaze

@props(['userId', 'showStatus' => true])

<div>
    {{-- 这里是一大段静态标记 --}}
    @unblaze(scope: ['userId' => $userId, 'showStatus' => $showStatus])
        @if($scope['showStatus'])
            <div>User #{{ $scope['userId'] }} - Last seen: {{ session('last_seen') }}</div>
        @endif
    @endunblaze
</div>

你也可以在一个组件里放多个 @unblaze 区块 —— 每个都创建一个独立的动态区域,其余部分保持折叠。

内置分析器 —— 快速定位瓶颈

Blaze 的一个亮点是内置分析器。不用猜哪个组件拖慢了性能,你能直接拿到火焰图、逐组件耗时和策略分解 —— 开箱即用。

Laravel Blaze Debug

一行代码开启:

Blaze::debug();

这在给应用做优化前后审计时特别有用,或者当你想知道为什么某个特定组件没有被折叠时。

Flux 用户的福音

如果你已经在用 Flux(Livewire 团队出品的 UI 组件库),这基本就是白捡的优化。所有符合条件的 Flux 组件已经标注了 @blaze —— 所以你一装上 Blaze,一切就自动开始工作,无需额外配置。

实际的性能预期

那个 17 倍的基准测试是真实的,但要说明背景:那是用 25,000 个完全相同的可折叠组件一次性渲染测出来的。真实应用里,你不太可能遇到这种场景。

根据官方文档,更现实的预期是:

  • 普通页面(几百个组件):提升 10–30ms
  • 组件密集型页面(数据表格、大型下拉框、重复的卡片网格):提升 50–100ms 以上

听起来可能不夸张,但如果你当前渲染时间是 300ms,降到 240ms,那就是 20% 的提升 —— 乘以每天每个用户的每次请求,累积起来很可观。

小结

Blaze 不是万能药 —— 它也没想做成万能药。它是一个专注、设计精良的工具,解决了很多 Laravel 应用在成长过程中默默遇到的特定问题。

它值得尝试的地方在于:对你的要求极低。不用重写模板,不用大规模重构,不用配置负担。如果某个组件无法优化,Blaze 会优雅地回退到正常渲染并继续。它只管干活。

如果你在用 Laravel 构建有大量可复用 UI 组件的应用 —— 尤其是什么设计系统之类的东西 —— Blaze 今天就可以加入你的工具箱。

告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速

大家好,我是甲木。

前几天刷 X 的时候看到一张截图,OpenClaw 官方最近兼容了很多国产模型的接入方案,比如MiniMax M2.5、Kimi、GLM5等等。

Kimi 那篇我已经写过了,今天轮到 MiniMax。

不过这次的内容,跟以前那几篇不太一样

看过我之前文章的朋友们应该记得,从各种云厂商再到模型,折腾了好几套 OpenClaw 部署方案。每篇我都写了保姆级教程,一步一步带着跑。

但说实话,每次发完文章,后台最多的反馈还是:

有没有更简单的办法?我不想碰命令行..

买服务器、配环境、接 API、调参数..这套流程,对于有技术基础的人来说不难,但确实劝退了一大批人。

所以今天这篇,不教部署。

因为我刚发现他们MiniMax Agent上了一个好玩意:

MiniMax Claw 主界面

新上线了一个叫 MaxClaw 的模式,相当于用M2.5直接帮你把 OpenClaw 搭建起来了。

打开浏览器,登录就能用,不用买服务器,不用配环境,不用接 API。

省心省力。

MaxClaw:这可能是目前门槛最低的 OpenClaw

先说说 MaxClaw 到底是啥。

一句话:MiniMax Agent 把 OpenClaw 的生态能力直接集成到了自己的平台里。

你在 MiniMax Agent 网页端新建一个 MaxClaw 模式的 Agent,就等于拥有了一个预配置好的 OpenClaw,不用手动部署,不用填模型 API Key,进去就能用。

MiniMax Agent 主界面

MaxClaw 的部署界面

MaxClaw 模式里已经预配置了一批开箱即用的 Expert(后面细讲),包括爆款猎手、多 Agent 投研团队、热点追踪等,进去就能直接调用。

而且同样兼容飞书、钉钉、Telegram、WhatsApp、Discord、Slack 等多个终端 IM,手机端随时操控。

哦对了,MaxClaw 同样兼容 OpenClaw 原有的 Skills 体系,而且做了很多优化,选取了一些比较优质的 Skills 内置在其中。待会儿我也会给大家进行展示。

话说回 MiniMax 本身,了解模型圈的朋友应该不陌生。

今年 1 月刚在港股上市,首日股价翻倍,市值直接破千亿。到 2 月更是一路飙到突破 3000 亿港元,直接反超了一众互联网中大厂。

嗯,我港股打新中了几手...翻了三倍了,感谢MiniMax..

春节前发布的旗舰编程模型 M2.5,更是定位为全球首个 Agent 场景原生设计的生产级模型,这个团队的执行力,确实猛。

接下来,看看本次 MiniMax Agent 和 OpenClaw 都能搞出来什么样的花样。

MaxClaw 实操:直连IM、日常工作处理

还记得之前接入 Discord 有多折腾吗?

创建 Bot → 拿 Token → 配权限 → 启动 Gateway → 拿 Pairing Code → 终止服务 → 配对 → 重启..

我光写教程就写了好几百字,更别说实际操作了。

这次在 MaxClaw 里接入飞书,体验简单了很多。

这里我直接选择了 MaxClaw 的默认模式进行搭建

过一会,直接提示:

在 MaxClaw 模式中选择飞书作为接入渠道,按照提示完成几步简单的配置

这里主要还是需要去飞书获取一下授权。

配置完成后,直接在飞书里就能跟你的 Agent 对话了。

详细的步骤,他们在 MiniMax 的官网上给出了一个具体的文档。

如果大家还不了解,可以直接点击文档https://vrfi1sk8a0.feishu.cn/wiki/LIwrwZp2aipuwgkEzLycsQF5nEc查看。

一键洞察行业新闻

先看一个最简单的案例:

我希望每天早晨 8 点能接收到当天或者前一天的 AI 日报。

这时候我需要让他帮我创建,我可以直接跟他它一句话。

它会自动调用一些 web search 类的工具,获取当前的一些 AI 日报和 AI 热点。

最开始它生成的这个日报,我觉得信息源不是很全,然后我就可以接着跟它对话,去增加信息源。

它生成的内容可以直接在飞书文档中生成

当 AI 日报的交互拿到一个比较好的结果之后,我们就可以直接跟他说,让它把刚才聊的内容沉淀为一个 Skills 并在每天早晨 8 点给我们推送任务。

这样,每天早晨,都有一份 AI 日报呈现在你面前。除了这个场景,我们其实还可以把工作会议纪要,或者在飞书上处理的工作文档都交给它。

让它每天从网盘、云盘等渠道获取文档信息,并将会议纪要的内容在第二天通知到我们。

把自己的 Skills 接入到 MaxClaw 里面

因为本身它就兼容 OpenClaw 的生态,我可以把之前做过的 Skills 直接给到 MaxClaw。

操作步骤如下:

  1. 直接提供一个 Skills 的下载地址
  2. 系统会自动从我们的 Skills 里面获取相应的内容
  3. 自动完成安装

加载完了之后,我直接拿“藏师傅”的这篇文章,我直接把微信公众号的链接给到它,然后直接跟它说:把这篇文章做成一个杂志排版风格去呈现

MaxClaw 会自行调用我们的杂志排版风格skill,对这篇内容进行呈现,而且可以直接输出 HTML 文件给我们。

直接给到下载地址,打开即是

当我们打开这个文件的时候,就能看到一篇文章直接被转成了我们期望的排版格式,我选择的风格是“大胆社论风格”的这种风格。

文章太长,抽样截图了

除了默认的 MaxClaw,还可以直接在我们的部署界面里面选择,比如「行业研报」或者「热点追踪」等等expert跟OpenClaw 结合使用。

好了,MaxClaw 体验聊完了。接下来聊聊 MiniMax Agent 更新的另外一个东西,Expert 专家系统

Expert 专家智能体:比 Skills 更进一步

玩过 OpenClaw 的都知道,Skills 是 Agent 的灵魂,你给它装什么技能,它就能干什么活。

之前文章我们玩过「搜索 + 智能 PPT 生成 + 学术检索」的 Skills 组合拳,效果确实不错。

但有个问题:单个 Skill 只是工具,你还得自己组合、自己写 prompt、自己调 SOP。

这就像是给你一堆零件,你得自己组装成一台机器。对于会折腾的人来说没问题,但对大部分人来说,「怎么组合」本身就是个门槛。

MiniMax 的 Expert(专家智能体)就是来解决这个问题的。

Expert = 专家角色 + SOP 流程 + 私有知识 + 工具集,打包成一整套解决方案。

你可以直接在社区里面选用 Expert、也可以自然语言搭建,或者自己直接封装私有知识到 Expert里面去打造自己的 Expert,

听起来不错?来看看实际效果。

实测:股票价值分析 Expert

第一个场景选了股票价值分析

选这个是因为之前文章篇里我们也做过"金融行情秒解读"的场景,但那次需要自己部署 OpenClaw + 配 Skills,整个过程挺折腾的。这次直接打开 Expert 就用,正好对比一下。

进入 Expert 的方式很简单,在 MiniMax Agent 的 Expert 社区里搜索「股票价值分析」,点进去就能直接开始对话。

我们打开这个股票价值分析,输入我的一只持仓股CPO牌面,会发现它是从 11 个维度进行分析的,拉了一套完整的分析框架。

在这里边,我们可以看到它能从很多方面,帮我们找出来想要分析的这家公司的一些基本情况,并最终给出一个投资建议。

【插入股票GIF】

我看了一下给出来的这个建议。

总体来说,它能让我们快速对这家公司有一个大体的了解,但是真正的投资建议这一块,我觉得大家还是看看就好,仅供参考,毕竟市场情绪这个东西...

关于这个详细内容,可看:
https://agent.minimaxi.com/share/370879641948816?chat_type=2

这就是 Expert 跟普通 Chat 的差距,按照预设好的 SOP 一步步走完整个分析流程。哪怕你只说了一句"帮我分析下 XXX",它也会按标准流程交付一份结构化的报告。

友情提示:投资有风险,AI 分析报告仅供参考,不构成投资建议。

实测:AI 短剧导演+摄影+剪辑师 Expert

第二个场景换个画风,AI 短剧导演+摄影+剪辑师

点击项目指令旁边的感叹号,其实能够看出来它整体的设计逻辑。

这个 Expert 的定位是帮你从 0 到 1 完成一个短剧的创作方案,包含剧本、分镜、拍摄建议和剪辑方案。

我给它抛了一个创作需求:

随便找了个剧本:豪门赘婿竟是...

接下来它的工作方式就很有意思了,

第一步:视觉风格
让我们选择一种视觉风格,如上图所示,然后列了场景清单。

第二步:人物与场景参考图

给出主人公和相对应的画风,待我们确认。

第三步:分镜脚本设计

基于剧本拆出详细的分镜脚本,标注景别、机位、运镜方式。

第四步:制作
之后就是首帧生成师、视频生成师、后期合成师等等,直到最后出视频。

来看看最后的效果:

【插入视频】

目前的版本,随便给个比较随意的 Prompt, 之后让模型自由发挥,有一些旁白TTS的瑕疵但整体效果还不错。

这就是 Expert 的 SOP 优势,它内部封装了"短剧创作"这个场景的标准化流程,每一步该产出什么、格式是什么、需要考虑哪些要素,全都定义好了。

相比之下,你直接跟普通 AI 说"帮我写个短剧剧本",它多半只会给你一段剧本文字,不会主动帮你拆分镜、想拍摄方案。

社区里面还有很多有意思的 Expert,大家感兴趣的可以试试~

动手:创建属于自己的 Expert

用完别人的 Expert,是不是手痒了?

自己建一个试试。

MiniMax 的 Expert 创建流程门槛很低的,不需要配置 tool,不需要写规则,直接用大白话描述就行。

比如我想让他直接生成一个儿童绘本视频的 Expert:

整个过程就像跟一个产品经理聊天——你告诉它"我想要一个什么样的专家"、"它的工作流程是什么"、"它需要具备什么知识",它就帮你把 Expert 搭好了。

自然语言交互

创建完成后,直接就能用。

https://agent.minimaxi.com/share/370902377529918?chat_type=2

来看看最终效果:

【插入视频】

当然,我这个制作的有点仓促,还有值得优化的地方,后续再迭代一版。

而且创建 Expert 有 15 轮免费额度,足够你试几个不同方向了。

创建好的 Expert 可以自己私用,也可以分享到社区,一旦公开,其他人每 Copy 一次,你就能获得 100 积分。

从"用别人的"到"自己建"再到"分享给别人",这个体验闭环是完整的。

MiniMax Agent 的 UGC 社区生态,做的还是很不错的,而且 即将上线 Marketplace,到时候创建者可以为自己的 Expert 公开定价

这意味着什么?创建 Expert 本身会成为一门生意。

还有一个很多朋友关注的费用的问题,它是按照积分消耗制来计算的。

  1. 免费版:每天都会提供一些免费积分。
  2. 付费版:基础版会员就可以体验MaxClaw尝鲜,39元的价格量大管饱,比较实惠。

按需选择,另外提一嘴,MiniMax Agent 也有海外版agent.minimax.io),海外的 Expert 也挺丰富的,有需要的朋友可以自行探索。

结语

这两天看了藏师傅这篇文章「」,简单说下最近的体感吧:

1、其实现在我是有点焦虑的,而且不只是我,身边这波AI弄潮儿朋友们很多都开始焦虑了,只有当你深入其中,理解了Agent 体系,你才能发现这个变化到底意味着什么。(AI发展的速度真的很快…快到AI KOL们都追不上)范式转移深度和速度远超想象

2、在这个时代,「知道做什么」和「什么值得做」越来越重要

3、之前一直在想AI平权,AI平权…现在才悲哀地发现AI从来不会平权,它只会越来越往资源最集中的‬人or团队中去,一种“认知-资源”双重马太效应

未来最重要的生产力单元和认知主体,可能不再是“个人”,而是“个人+其Agent团队”构成的复合智能形态。

或许,社会将基于个体和系统适应AI变革的速度,分裂成不同的“时间阶层”。

现在,如果有关于Agent体系的入口,不妨去:

找到它,用起来。

以上。


我是甲木,热衷于分享一些AI干货内容,同时也会分享AI在各行业的落地应用,我们下期再见

本文由mdnice多平台发布

Apple 确认将于三月发布多款新品

2 月 26 日,Apple 公司 CEO 蒂姆·库克通过社交媒体确认,Apple 将会从下周起发布多款新品。据近期媒体猜测,Apple 的新品可能包含入门款 MacBook、iPad、Mac mini 及 Studio Display 等。来源


Perplexity 推出 Perplexity Computer

AI 搜索平台 Perplexity 于 2 月 26 日正式发布 Perplexity Computer——一款基于浏览器的新型聊天界面,可整合多个具备自主执行能力的 AI 模型,自动完成端到端工作流。

使用过程中,用户仅需描述目标,系统就会自动生成子智能体,分别执行网络搜索、文档生成、数据处理或 API 调用等任务。

该系统以 Opus 4.6 为核心模型,并协同 Gemini、Grok、ChatGPT 5.2、图像生成模型 Nano Banana 及视频处理模型 Veo 3.1。每项任务均在独立安全环境中运行,配备专属浏览器、文件系统及工具接口。

Perplexity Computer 目前仅面向 Max 订阅用户开放,将会在晚些时候开放给 Pro 用户。来源


Google 推出 Nano Banana 2

2 月 27 日,Google 公司发布了新一代图片生成模型 Nano Banana 2,该模型依然具备高质量的图片生成能力,文字的生成效果更加出色,而且出图的价格更低。目前,Nano Banana 2 已经可以使用,在 Gemini 内开启生图功能将默认使用该模型。来源


LM Studio 推出远程连接方案 LM Link

2 月 26 日,LM Studio 宣布推出新功能 LM Link,允许用户安全连接至远程的 LM Studio 实例,实现跨设备调用模型。LM Studio 称,LM Link 采用了端到端加密,可加载本地模型,并在外出或移动场景中继续使用。能实现该连接方式的远程端包括本地设备、专用大模型主机以及云端虚拟机等。

LM Studio 同时宣布,该功能是与 Tailscale 合作推出的,LM Link 需要借助后者的网络连接能力来实现远程访问与设备互联。来源


Flow 迎来改版升级

2 月 26 日,Google 宣布对其旗下的 AI 创作工具 Flow 进行改版升级,将其从偏视频生成的工具扩展为「完整的 AI 创意工作室」,主打在同一工作流中完成故事的起草、可视化与反复修改,并优化了整个工作流程。

Flow 进一步强化了「图像与视频一起完成」的工作思路,支持将素材分组整理和修改;编辑方式也更偏自然语言,新增套索工具可圈选图像区域后用文字指令进行局部修改,也支持直接在图上标注来辅助改动。

视频编辑能力方面,Flow 增加了更连续的剪辑和精修控制,包括延长片段时长、在视频中添加或移除对象、生成「接下来发生什么」的内容,以及通过平移、缩放等相机运动来控制镜头调度,从而把生成与剪辑更紧密地合并在一个流程里。来源


Minimax 推出 MaxClaw

2 月 26 日,Minimax 团队发文介绍了 MiniMax Agent Expert 的功能升级,以及全新推出的 AI 助手 MaxClaw。MiniMax 在 Expert 2.0 中进一步优化了专家 Agent 的创建体验。用户不需要考虑 Skill、SubAgent、MCP 的配置,以及提示词的结构编排,只需用自然语言描述任务目标或能力需求,Agent 会根据目标完成 SOP 梳理、工具编排与能力配置。

与 Expert 2.0 升级同步,Minimax 将上线 MaxClaw,基于 OpenClaw 构建的云端 AI 助手,直接集成在 MiniMax Agent 网页端,为用户在云端部署并运行 OpenClaw,无需自备服务器或 API Key。

细节方面,MaxClaw 对 OpenClaw 原有的图片理解、视频理解、网页提取、搜索等 Skill 进行了系统性升级,同时新增图片生成、视频生成、图片搜索、网页部署等内置工具。所有内置工具均无需用户自行接入第三方 API,不产生额外的 API 费用。来源


少数派的近期动态

  • 少数派年度征文来了,古法手搓大战人工智能,你会是哪条赛道的大赢家?参与一下
  • 重磅新片《寻源南疆》上线,我们在雪山上拍了一部「公路电影」。看看精彩画面
  • 将设计装进耳朵:少数派×飞傲联名 CD 机盖板设计大赛已经开始啦。了解详情
  • 没什么用,但就是好玩:盘点或恶搞或无聊的「神经病」应用。看看都有啥
  • Sonos × 少数派 × 暖风家联合打造:声音与视觉的沉浸体验空间正式上线啦。了解详情
  • 我们正在优化并改进新的首页版式,如果你在使用过程中发现了任何问题或者有改进建议,请通过反馈表单告知我们。首页反馈收集

你可能错过的好文章

> 下载 少数派 2.0 客户端、关注 少数派公众号,解锁全新阅读体验 📰

> 实用、好用的 正版软件,少数派为你呈现 🚀

    我在 Apple Watch 设置了两个闹钟,一个是 7:00 ,一个是 8:20,都是每天重复

    今天早上 7:00 的没响,8:20 的响了

    以前也偶发过 8:20 的闹钟不响,导致我迟到的情况

    15pm ios:26.2

    s9 watchos:26.0.2


    有朋友知道啥原因吗,或者我咋去排查一下呢?