普通视图

发现新文章,点击刷新页面。
今天 — 2026年2月25日首页

热门中概股美股盘前普跌,网易跌超2%

2026年2月25日 20:57
36氪获悉,热门中概股美股盘前普跌,截至发稿,网易跌超2%,腾讯音乐、小鹏汽车、理想汽车、蔚来、爱奇艺跌超1%,哔哩哔哩跌0.94%,百度跌0.66%,京东跌0.44%,阿里巴巴跌0.33%,拼多多涨0.39%。

港股IPO市场爆火,业内人士:港股IPO融资规模爆发式增长

2026年2月25日 20:55
2026年开年以来,港股IPO市场呈现火热态势。数据显示,目前已有超20家企业完成港股IPO,募资总额为去年同期80多亿港元的10倍。数据显示,截至2月25日,今年已有24家企业完成港股IPO,同比增长166.67%,融资额合计892.26亿港元,同比增长1013.59%。信达证券副总经理程远认为,融资规模爆发式的增长,本质上是国际资本在用实际行动为中国的高端制造、新兴产业投下了信任票。从这些企业的结构来看,大多是新兴产业、高端制造业,这也印证了我国产业结构转型升级取得了突出的成效。(央视财经)

惠而浦:公司股票将于2月26日复牌

2026年2月25日 20:48
36氪获悉,惠而浦公告,公司全资子公司拟认购纽约证券交易所上市公司惠而浦集团发行的普通股,交易涉及境外投资,需履行境外投资备案手续,并可能涉及中国境内外其他有关部门的批准和/或备案等程序。公司股票于2月26日开市起复牌。

格力电器:第一大股东珠海明骏拟减持不超2%公司股份

2026年2月25日 20:44
36氪获悉,格力电器公告,第一大股东珠海明骏投资合伙企业(有限合伙)拟自公告披露之日起15个交易日后的3个月内,以大宗交易方式减持公司股份不超过11170.28万股,占公司剔除回购专用账户股份后的总股本的2%;减持原因为偿还银行贷款;股份来源为2020年1月23日通过协议转让自格力集团受让的股份。

美国下令外交官游说反对数据监管倡议

2026年2月25日 20:40
一份内部外交电报报道,特朗普政府已要求美国的外交官游说反对外国政府推动相关举措,这些举措旨在监管美国科技公司对外国人数据的处理。报道称,美国政府认为,外国的上述监管可能干扰与人工智能相关的服务。美国国务院未回应置评请求。(新浪财经)

使用AI从零打造炫酷医疗数据可视化大屏,源码免费拿!

作者 柳杉
2026年2月25日 20:37

在智慧医疗时代,数据可视化大屏已成为医院指挥中心、急诊监控室的核心工具。今天分享一套完整的医疗数据可视化大屏解决方案,带你深入了解从架构设计到动效实现的全流程。


🎯 项目概览

这是一个面向医疗场景的数据可视化大屏,涵盖患者就诊统计、科室床位管理、医生接诊分析、设备使用监控、全国患者流向等核心业务模块。

截屏2026-02-25 20.24.55.png

技术栈:

  • React 19.2.3 + TypeScript 5.9.3
  • Vite 7.2.4 极速构建
  • Tailwind CSS 4.1.17 原子化样式
  • ECharts 中国地图可视化
  • Recharts React 原生图表库
  • date-fns 日期处理
  • lucide-react 图标库

📊 功能模块详解

🔷 头部区域(Header)

typescript
const [time, setTime] = useState(new Date());

useEffect(() => {
  const timer = setInterval(() => setTime(new Date()), 1000);
  return () => clearInterval(timer);
}, []);
  • 实时时钟:秒级刷新,date-fns 格式化,支持中文星期显示
  • 渐变标题bg-clip-text + drop-shadow 实现发光效果
  • 滚动公告:CSS marquee 动画,无限循环

🔷 左侧面板(LeftPanel)

1. 疾病关键词搜索

typescript
const activeKeywordIndex = useHighlightCarousel(diseaseKeywords.length, 2500);
  • 6 个关键词按钮,自动轮播高亮
  • 高亮时放大 + 橙色边框 + 发光阴影

2. 患者年龄分布(柱状图)

typescript
const animatedAgeData = useChartDataRefresh(ageData, 4000, 0.12);
  • Recharts BarChart,4 个年龄段分组对比
  • 数据每 4 秒自动波动,模拟实时更新

3. 每周人流量分布(面积图)

typescript
<linearGradient id="colorFlow" x1="0" y1="0" x2="0" y2="1">
  <stop offset="5%" stopColor="#4fc3f7" stopOpacity={0.3}/>
  <stop offset="95%" stopColor="#4fc3f7" stopOpacity={0}/>
</linearGradient>
  • Recharts AreaChart,渐变填充
  • 双曲线对比展示两种类型数据

4. 就诊人数统计(翻牌器)

typescript
function useCountUp(targetValue: number, duration = 2000) {
  // easeOutQuart 缓动函数
  const easeProgress = 1 - Math.pow(1 - progress, 4);
  // ...
}
  • 自定义 FlipClock 组件
  • 数字从 0 递增到目标值,缓动动画更自然
  • 上月/本月分组展示婴幼儿、青少年、中壮年、老年人数据

🔷 中间面板(CenterPanel)

1. 全国患者流向图

typescript
useEffect(() => {
  fetch('https://geo.datav.aliyun.com/areas_v3/bound/100000_full.json')
    .then(response => response.json())
    .then(geoJson => {
      echarts.registerMap('china', geoJson);
      setMapLoaded(true);
    });
}, []);

核心配置:

typescript
series: [
  // 飞线动画
  { type: 'lines', effect: { show: true, trailLength: 0.7, color: '#ffb74d' } },
  // 涟漪散点
  { type: 'effectScatter', rippleEffect: { brushType: 'stroke' } }
]
  • 动态加载阿里云 GeoJSON 地图数据
  • 飞线展示北京、上海、广州、深圳、成都、西安患者流向
  • 涟漪散点标注城市,支持缩放拖拽

2. 学历占比(SVG 圆环)

typescript
<circle
  cx="60" cy="60" r="54"
  stroke="#4fc3f7"
  strokeDasharray="339"
  strokeDashoffset={339 - (339 * educationStats.bachelor / 100)}
/>
  • 纯 SVG 实现进度圆环
  • strokeDashoffset 控制进度

3. 设备使用情况统计

typescript
const activeEquipmentIndex = useHighlightCarousel(equipmentStats.length, 1500);
  • 7 个设备卡片,轮播高亮
  • 显示设备数量、涨跌百分比、趋势迷你折线图
  • 提示语:"设备一、设备四应考虑进货"

🔷 右侧面板(RightPanel)

1. 患者就诊登记(表格轮播)

typescript
const { visibleItems: visibleRecords } = useListCarousel(patientRecords, 4, 2500);
  • 10 条记录,每次显示 4 条
  • 每 2.5 秒自动滚动,循环展示
  • 状态高亮:已治愈(绿色)/ 治疗中(橙色)

2. 科室床位使用情况(面积图)

  • Recharts AreaChart,5 个科室对比
  • 双色渐变填充

3. 医生接诊情况分析(组合图)

typescript
<ComposedChart data={animatedDoctorData}>
  <Bar dataKey="接诊数" barSize={4} fill="#29b6f6" />
  <Line dataKey="目标" stroke="#ff9800" strokeDasharray="5 5" />
</ComposedChart>
  • 柱状图展示实际接诊数
  • 虚线折线展示目标值
  • 直观对比 5 位医生的 KPI 完成情况

4. 每日医疗使用情况

typescript
const statCards = [
  { icon: Activity, label: '急诊人数', value: dailyStats.emergency },
  { icon: Users, label: '门诊人数', value: dailyStats.outpatient },
  { icon: PlusCircle, label: '住院人数', value: dailyStats.inpatient },
  { icon: ArrowUpRight, label: '出院人数', value: dailyStats.discharged },
];
  • 预约总人数翻牌器
  • 4 个统计卡片,轮播高亮
  • lucide-react 图标 + 数字递增动画

🎨 UI 设计亮点

1. 科技感卡片组件

typescript
<div className="relative bg-[#06142a]/60 border border-[#135c9d]/60 
  backdrop-blur-sm shadow-[inset_0_0_30px_rgba(19,92,157,0.2)]">
  {/* 四角装饰 */}
  <div className="absolute -top-px -left-px w-3 h-3 
    border-t-2 border-l-2 border-[#4fc3f7]" />
  {/* 顶部发光线 */}
  <div className="absolute top-0 left-10 right-10 h-px 
    bg-gradient-to-r from-transparent via-[#4fc3f7]/50 to-transparent" />
</div>

2. autofit.js 大屏适配

typescript
autofit.init({
  el: 'body',
  dw: 1920,  // 设计稿宽度
  dh: 1080,  // 设计稿高度
  resize: true
});
  • 一行代码适配任意分辨率
  • 自动监听窗口变化

3. 配色方案

元素 颜色值 用途
主背景 #020b18 深蓝科技感
边框 #135c9d 卡片边框
高亮 #4fc3f7 装饰、图表
强调 #ffb74d 高亮、警告
文字 #e0f7fa 主文字

🔧 自定义 Hooks 封装

Hook 功能 参数
useApiData<T> 泛型数据获取 fetcher, initialValue
useCountUp 数字递增动画 targetValue, duration
useListCarousel 列表轮播 items, visibleCount, interval
useHighlightCarousel 高亮轮播 itemCount, interval
useChartDataRefresh 图表数据波动 initialData, interval, range

📁 项目结构

src/
├── api/
│   ├── index.ts          # API 层(模拟延迟、响应包装)
│   └── mock/data.ts      # Mock 数据
├── components/
│   ├── Card.tsx          # 科技感卡片
│   ├── Header.tsx        # 头部(时钟 + 公告)
│   ├── LeftPanel.tsx     # 左侧(关键词 + 图表 + 翻牌器)
│   ├── CenterPanel.tsx   # 中间(地图 + 设备)
│   └── RightPanel.tsx    # 右侧(表格 + 图表 + 统计)
├── hooks/
│   ├── useData.ts        # 数据获取 Hooks
│   └── useCarousel.ts    # 动画效果 Hooks
└── utils/cn.ts           # 样式工具

🏥 适用场景

  • 医院运营指挥中心
  • 急诊科实时监控大屏
  • 卫健委数据展示平台
  • 智慧医疗解决方案演示

🌟 总结

这套方案的核心价值:

  1. 业务完整:覆盖医疗场景核心指标
  2. 动效丰富:翻牌器、轮播、飞线、涟漪
  3. 架构清晰:Hooks 封装,组件化设计
  4. 适配灵活:autofit.js 一键适配
  5. 开箱即用:Mock 数据层,快速切换生产环境

欢迎 Star ⭐,一起探索智慧医疗可视化的无限可能!


我放在公众号(柳杉前端) 回复 医疗数据可视化大屏 获取源码

#前端开发 #数据可视化 #React #智慧城市 #大屏设计

宝马正与欧盟谈判,为中国产MINI车型寻求关税豁免

2026年2月25日 20:32
据德国商业日报《商报》周二报道,BMW宝马正与欧盟委员会就最低限价机制展开谈判,该机制或将替代欧盟对这家德国车企中国产电动 MINI 车型征收的关税。此前,欧盟与大众集团已于2月初达成协议。经过数月谈判,大众旗下西雅特 / CUPRA品牌的纯电动SUV轿跑Tavascan已获得关税豁免。(新浪财经)

乔布斯「反对」的触屏 MacBook,为什么必然会来?

作者 苏伟鸿
2026年2月25日 20:29

2026 年,可以说是 Mac 的一个大年。

彭博社报道,除了有望下周亮相的 M5 Pro、M5 Max Mac 新品,以及全新入门款 MacBook,苹果已经将全新 M6 MacBook Pro 提上日程,预计将于今年年底发布。

虽然先进的 2nm 制程工艺值得期待,但 M6 MacBook 更大的亮点,在于焕然一新这个模具——更轻薄,OLED 屏幕,灵动岛,以及「违背祖训」的触控屏。

时隔五年,MacBook Pro 大升级

根据彭博社爆料,苹果两款新 MacBook Pro 的代号为 K114、K116,预计覆盖 14 英寸和 16 英寸的型号。

比起全线推广,更大的可能性是和 M1 Pro/Max 时期类似,M6 Pro、M6 Max 这些高端型号的 MacBook Pro 率先换用新模具,M6 基础款继续沿用现有的设计,几年后再逐渐下放。

当前的 MacBook Pro 采用 mini-LED 面板和前置摄像头的「刘海」设计,新款预计将升级为 OLED 面板,并在顶部中央加入围绕摄像头打孔构建的灵动岛结构。与 iPhone 类似,灵动岛不仅承载前置摄像头,也将承担通知、媒体控制、实时信息展示等功能,并支持第三方应用交互。

▲ MacBook 灵动岛效果图

彭博社透露,MacBook Pro 的 OLED 屏幕将对标 iPad Pro,意味着 MacBook Pro 很有可能会同样采用双层 OLED 技术,亮度和能耗表现都会更出色。

而根据分析师郭明錤,MacBook Pro 将采用 on-cell 触控屏幕,而不是全贴合的「in-cell」。

在最新的 macOS 26 系统,已经引入了 Mac 状态栏显示 iPhone 「实时活动」卡片的功能,想必未来也是在为「Mac 上岛」铺路;而「液态玻璃」界面图标留白增加、控制中心滑块变大等调整,均呈现出更友好的触控尺度,也被认为是为触控做铺垫。

甚至「灵动岛」本身,也是一个完全触控交互的功能特性,用鼠标反而还有点不太自然。

不过,苹果并不打算将 MacBook Pro 定位为 iPad 替代品。触控只是新增输入方式之一,而非「触控优先」。

新系统将根据用户操作方式,在触控与传统光标点击之间动态切换界面逻辑。例如,手指点击按钮时,界面会在触点周围弹出更适合触控的菜单;菜单栏项目也会在触控场景下放大,便于手指选择。

常见操作如滚动、缩放图片与 PDF 文件,将获得与 iPhone、iPad 类似的流畅触控体验。但苹果不会强化触控打字能力,MacBook Pro 将保持全键盘设计和大触控板体验。

那么问题来了,一台能触控 MacBook,能带来什么样的价值?

触屏 MacBook 是必然会到来的产品

触屏 MacBook 的设计向来饱受争议,其中最旗帜鲜明的反对者,就是苹果公司的创始人——史蒂夫·乔布斯。

当年,乔布斯曾直接否定了「触控 MacBook」的可能性,他认为触控技术不太适合用在笔记本屏幕这种垂直放置的触控界面,用户需要一直举起手臂使用,很快就会疲劳。

还有另一个问题,我相信大部分 Mac 用户都不喜欢别人用手指戳自己的电脑屏幕。MacBook 屏幕的「娇气」几乎可以和它的高素质齐名。如果直接频繁触碰屏幕,很容易对表面涂层造成损伤。

而 MacBook 那个比鼠标还好用的触控板,不仅基础的拖动点击都指哪打哪,还支持各种实用的手势,某种程度也承担了触控屏的作用。

看起来,苹果似乎真的没必要给 MacBook 装上一个触控屏——只是,时代变了。

在万元级别的高端笔记本品类,一个触控屏几乎已经是标配,作为这个定位的明星产品,越来越多用户和消费者也在呼吁 MacBook Pro 增加触控屏配置。

▲ Surface Laptop

距离 Apple Silicon 以及 MacBook Pro 已经过去五年,这个产品线也到了一个需要大幅更新刺激销量的节点。特别是这几年 Mac 的销量势头都比以往更亮眼,一些全新的产品设计和功能特性,不仅能吸引更多新用户,也能转化老用户。

比起其他可能会引发用户厌恶的变化,触控屏是一个相对更微妙的新功能:喜欢的人会被吸引购买,不喜欢的人也完全可以无视,继续使用键盘和触控板。

乔布斯之所以否决一台触控 Mac,其实是因为他想得会更深远一点:如果要为 Mac 增加触控屏,那必须要围绕全新的「触控」交互,大改整个 Mac 的界面,进一步发挥触屏的价值,要不然就不加。

但其实,用户没必要长时间悬空手臂使用 Mac,只是在一些特定的场景,使用手指直接点击、拖动,真的会比触控板更方便直观,也更符合现代人的习惯。

有没有发现,这其实还是当年「Touch Bar」推崇的理念。

只不过,「搓擦条」的最终成品相当别扭,还要单独适配,导致开发者兴趣寥寥,用户能实际得益于触控的场景也非常有限。但如今,整块屏幕都可以触控,用户想怎么用就怎么用,反而从根本上解决了交互设计的问题——毕竟,谁不会用 iPhone 和 iPad 呢?

对于移动应用的开发者来说,支持触控屏的 MacBook 在调试方面也大有裨益。这意味着,日后开发移动应用时,可以直接上手在笔记本上进行测试,而不需要另外推送到手机上。

如果把时间线拉长来看,触屏电脑的意义或许并不在当下,而在未来。

可以这么说,2010 年前后出生的新一代,他们第一台能接触到的计算设备,大概率会是平板电脑和智能手机,用手指直接点击屏幕,就是他们最自然也最熟悉的交互方式。

等到他们需要使用键盘鼠标来提升效率,这些围绕他们打造的工具,自然也需要贴合他们的习惯做出改变。

在我们评测华为「二合一」产品 MatePad Edge 时,编辑部那些伴随着平板长大的年轻同事,虽然 80% 的工作时间都在用键鼠,但也会自然地经常伸手点击屏幕,甚至换回 MacBook 后还有点不太习惯。

比起对人体工学的担忧,现在摆在苹果面前的是另一个问题——如果继续拒绝触控,体验反而会割裂。

因为移动互联网的原生一代,根本不会在意当年的争论,他们只会质疑:为什么自己面前这块巨大的屏幕,不能用手触摸?

从整个行业来看,平板和笔记本电脑都在进行着「趋同进化」——本来是不一样的物种,最终朝同一个方向改变,平板电脑可以外接键盘鼠标,电脑屏幕也可以多点触控。

这样的趋势会领向什么样的终极形态,目前行业还在探索之中,苹果当然不希望自己掉队。

不管是底层硬件还是软件 UI,iPad 和 Mac 都变得越来越趋同,连应用都开始互相兼容。最大的区别除了系统,似乎就只剩下一块触控屏,而这也迟早会被打破。

Mac 从来都不需要成为 iPad,macOS 也不需要和 iPadOS 融合,生态打通,一切大同。

▲ Mac 和 iPad 上的 Final Cut Pro

对于苹果来说,需要思考的不是 Mac 的触控屏能做什么,而是加入触控之后,这块屏幕,能不能经得住用户「指指点点」的考验。

#欢迎关注爱范儿官方微信公众号:爱范儿(微信号:ifanr),更多精彩内容第一时间为您奉上。

爱范儿 | 原文链接 · 查看评论 · 新浪微博


让 Anthropic 破防的「蒸馏」风波,美国 AI 大牛泼冷水:中国 AI 成功不靠走捷径

作者 杜晨
2026年2月25日 20:27

Anthropic 昨天点名 DeepSeek、月之暗面、MiniMax 三家中国 AI 实验室「蒸馏」Claude 模型,全网炸锅。

对于此事件,RLHF (基于人类反馈的强化学习)领域最知名的研究者之一,《RLHF》一书的作者 Nathan Lambert 指出,这件事没有人们想象的那么严重,但也没有那么简单。

他认为,中国 AI 公司的基础设施非常好,取得了很多创新,也在攻克各种技术难题,但它们取得这样的结果,靠的并不是「走捷径」。

在讨论蒸馏这件事之前,先看看 Lambert 的话为什么值得听。

Nathan Lambert 是 Allen AI 研究所的科学家,博士毕业于加州大学伯克利分校,师从机器人领域的著名学者 Pieter Abbeel。他并非 RLHF 技术的发明者,但他写的《RLHF》这本开源书籍,如今是 AI 从业者理解大模型训练流程的标准参考材料之一。

和到处都是的 AI 网红不一样,他是真正上手训练过大模型的人。

在 Anthropic 博客发出的当天,Lambert 就发布了一篇详细分析文章《蒸馏对于中国大模型到底有多重要?》。他的核心论点,和主流媒体的解读方向截然不同,也比一般网友更加深入和全面。

蒸馏是什么,Anthropic 又说了什么?

首先我们来看 Anthropic 指控的核心:「蒸馏」(distillation)。

它指的是让弱模型学习强模型的输出,从而快速获得相似能力。

Anthropic 指控三家公司通过约 2.4 万个虚假账号,在违反服务条款和地区访问限制的情况下,用 Claude 生成了超过 1600 万次对话,用于训练各自的模型。

博客还附上了安全警告:非法蒸馏出来的模型可能缺失原模型的安全护栏,一旦被用于网络攻击、生物武器研发或大规模监控,后果难以预测。

Anthropic 把这套基础设施叫做「九头蛇集群」(hydra cluster)——多达数万个账号的分布式网络,流量同时分散在 Anthropic 自己的 API 和多个第三方 API 聚合平台上。

在最极端的案例里,一个代理网络同时管理超过 2 万个虚假账号,还把蒸馏流量混入普通用户请求流里,用来规避检测算法。这种网络没有单点故障,封掉一个账号,马上换一个。

海外媒体随即跟进,复述了 Anthropic 的话术。然而这套叙事逻辑很快就翻车了:毕竟「蒸馏」这件事美国 AI 公司训练的时候也会做,更何况 Anthropic 自己也有类似行为:

以及:Anthropic「蒸馏」了人类最大的知识库

但 Lambert 更加冷静,他认为要先把这三家中国 AI 实验室分开来看

Lambert 指出,Anthropic 把三家公司并排列在同一篇博客里,掩盖了一个关键差异:它们做的根本不是同一件事,量级天差地别,动机也各有侧重。

按照 Anthropic 的指控,DeepSeek 的蒸馏数量最少,只有 15 万次,但手法更精准。与其直接收集答案,Anthropic 指控 DeepSeek 在做的是批量生产思维链 (chain-of-thought)训练数据。

要的不是「你得出了什么结论」,而是得到结论的过程。

但 15 万次是个什么体量?Lambert 认为,这点数据对 DeepSeek 传闻中的 V4 模型或任何模型整体训练的影响可以忽略不计,「更像是某个小团队在内部做实验,大概率连训练负责人都不知道。」

月暗的规模就不是「可以忽略」了:340 万次交互,目标集中在智能体推理、、工具调用、代码与数据分析、computer-use 开发、计算机视觉等方向——这些方向当中,大部分都是 Claude 近期最受企业客户欢迎的能力组合。

Anthropic 指出三家里流量最大的是 MiniMax,约 1300 万次,目标是代理编码、工具调用和复杂任务编排。

月暗和 MiniMax 相加约 1650 万次,按对话平均 token 量估算,总量大约在 1500 亿到 4000 亿 token 之间,折合数百到上千万美元的 token 成本。

但问题是,只盯着蒸馏看,其实有很大问题。

蒸馏的天花板在哪里?

这才是 Lambert 真正想说的部分,也是整件事里最被忽视的地方。

把强模型的输出喂给弱模型,弱模型能快速获得类似能力——这个逻辑本身成立,Lambert 没有否认。但他指出了一个没人说清楚的问题:蒸馏的天花板到底在哪里,取决于你想要的是什么类型的能力。

作为 RLHF 方面的专家,Lambert 认为,当前最顶尖的模型训练,已经高度依赖强化学习(RL)。而 RL 和蒸馏在本质上是两种不同的事情:

蒸馏是模仿,学强模型的输出,把它的「答案形状」复制过来;RL 是探索,模型必须大量自己推理、自己生成、在错误里反复迭代,从试错中提炼能力。

换言之,真正强大的模型,需要的从来不只是正确答案,而往往要靠模型自己摸索出来的解题路径,这是依靠蒸馏别人 API 的输出,得不到的东西。

以 DeepSeek 自己做的蒸馏尝试为例:基于隔壁千问蒸馏自家的 R1 模型后得到的 DeepSeek-R1-Distill-Qwen 1.5B 这个小模型,仅靠 7000 条样本和极低的计算成本,就在 AIME24 数学竞赛基准上超越了 OpenAI 的 o1-preview。

但关键在于:这个提升等多仰仗强化学习的结果,而非来自蒸馏这个行为本身。

换句话说,蒸馏能帮你更快「热身」,要真正到达顶级水平,还是得靠自己跑 RL。

不同模型之间的数据分布差异

Lambert 还指出了一个技术层面很少被外界提及的问题:不同模型之间存在微妙的数据分布差异。

把 Claude 的输出直接喂给另一个架构的模型,不一定有效,有时甚至会产生干扰。两个模型内部表征空间的差异,会让「老师」的回答在「学生」那里引发意想不到的偏差。

这意味着蒸馏从来不是「拿来用就行」的事,而是需要大量工程工作才能真正发挥效果。这本身就是一个研究课题。

这也是为什么 Lambert 将 Anthropic 所指控的「蒸馏」行为,看作是一种创新的做法,可以理解为试图攻克这一研究课题的努力。

Anthropic 的杀手锏,恰恰最难蒸馏

Anthropic 点名的三家公司,抓取的重心都落在代理行为 (agentic behavior) 这同一个方向上,包括 AI 自主规划、工具调用、分解复杂任务并逐步执行的能力等。

这是 Claude 目前最突出的方向,也是 Anthropic 最不想被复制的能力。

但 Lambert 的判断是,这些能力恰恰也是最难通过蒸馏获得的。

正如前面提到,一个强大的 AI agent,强大之处从来不在于知道或者训练过正确答案,而是「在面对没见过的情况时能自主探索出解决路径」,可以理解为一种 0-shot 或 few-shot 实现 SOTA 效果的能力。

这个过程中产生的价值,体现在推理轨迹,而推理轨迹是很难通过蒸馏习得的——至少现在是这样。

DeepSeek-R1-Distill(蒸馏模型)和 DeepSeek-R1(蒸馏对象)之间的差距,是 Lambert 论点最直接的例证。

在格式化的数学推理任务上,前者表现不错;但在需要自主探索、动态规划的复杂代理任务上,两者的差距是真实存在的。

为什么 Anthropic 现在公开说?

Lambert 有一个判断,很多人可能都有同感:这次 Anthropic 公开点名中国 AI 公司,「技术防御」压根不是首要动机。

在 Anthropic 这篇博客发出的几天前,美国国防部刚刚威胁 Anthropic 配合提供「不受限制的使用权限」,否则就将做出对后者不利的安排,比如将其标记为「供应链危险」,也即无法进入国防/政府供应商名单。

Anthropic 现在处于一个「既要又要」的两难境地:既想维持安全、不反人性的模型定位和公司形象,又不愿意错过美国政府的大单。

Lambert 指出了一个根本矛盾:美国的学术界和开源模型开发者也在做蒸馏行为,但包括 Anthropic 在内的大厂并没有对它们做出实质性的打击。如果仅因为对方是中国公司,未免地缘的意味太重了。

结果就是,Anthropic 这篇博客与其说是报告一个重大技术风险事件……其实更像是一封「投名状」。

双标

关于 Anthropic 在这件事上的立场,有一个绕不开的背景。

APPSO 在昨天的文章里也有提到:Anthropic「蒸馏」了人类最大的知识库

2024 年年初,美国某仓库里,工人们把一本本新书送进机器,切掉书脊,扫描,然后把纸送去回收。下令做这件事的是 Anthropic,项目内部代号「巴拿马」,目标是以破坏性方式扫描全球所有书籍——Anthropic不希望外界知道他们做了这件事。

2021 年,Anthropic 联合创始人 Ben Mann 在 11 天里从盗版网站 LibGen 下载了大量侵权书籍;次年,另一个公开宣称「在大多数国家故意违反版权法」的网站 Pirate Library Mirror 上线,Mann 把链接发给同事,留言:「来得正是时候!!!」

在后来的书籍版权诉讼中,Anthropic 被迫支付 15 亿美元和解金,折算下来每本书约赔 3000 美元。

斯坦福和耶鲁的研究者发现,Claude 3.7 Sonnet 在特定条件下会以 95.8% 的准确率「近乎逐字逐句」地输出《哈利波特》等受版权保护的作品——这不仅与 Anthropic 长期以来关于「模型只是学习了语言规律」的说法背道而驰,更让该公司对任何人的「蒸馏」指控显得缺乏底气。

Futurism 的标题写得很直接:「Anthropic 对 DeepSeek 未经授权复制 AI 大发雷霆——考虑到它是怎么构建 Claude 的,这相当讽刺。」

Musk 在 X 上也补了一刀:「Anthropic 大规模窃取训练数据,还为此支付了数十亿美元的和解金。这是事实。」

反驳者还有一个更尖锐的逻辑:Anthropic 当年从那些书里拿走的,不仅没付过任何使用费,回头还用于商业行为(Claude 和 Anthropic API 都是付费服务);而从商业角度来看,蒸馏 Claude 的公司至少付了钱……

当然,从法律层面来看,这两件事的性质完全不同。但不论怎样,Anthropic 看起来还是很像个伪善的双标者。

「后蒸馏时代」

最后再强调一遍:蒸馏有用,但没有你们想象的那么有用。

DeepSeek 的 15 万次,按任何合理标准来看都是可以忽略的数字。Moonshot 和 MiniMax 合计 1650 万次,量级是另一回事——但能转化成多少真实能力,取决于他们能不能解决「如何用好这些数据」的技术问题。

考虑到数据分布差异、模型架构差异,以及代理能力的获得本身对于强化学习的重度依赖,蒸馏从来不是「拿来就用」那么简单。

Lambert 还是给了 Anthropic 面子:「快速迭代加上高质量数据可以走很远,让学生模型超越老师也并非不可能。」

但他也明确指出,真正的创新靠的是强化学习,不是蒸馏。从 DeepSeek、月暗、MiniMax 公开的论文来看,它们都用有相当完善的基础设施和优秀的人才,远非只靠小聪明小伎俩企图弯道超车的「小作坊」。

蒸馏能帮你更快入场,但真要打到顶级水平,从来没有捷径。

某种意义上,Anthropic 提出的「蒸馏」争议,本身就是这个 AI 时代缩影。

整个行业打一开始就建立在暧昧不清的规则上:用人类写的东西训练,用别人的开源成果迭代,在法律没有明确禁止的地方快速行动。

现在,规则开始慢慢收紧——先是版权,再是芯片,现在又是 API……谁在制定规则?谁受益于规则?谁一边打着人类的旗号,却滥用规则谋求私利?

这些问题的答案,都越来越清晰。

#欢迎关注爱范儿官方微信公众号:爱范儿(微信号:ifanr),更多精彩内容第一时间为您奉上。

爱范儿 | 原文链接 · 查看评论 · 新浪微博


中金辐照:股东拟合计减持不超过1%公司股份

2026年2月25日 20:24
36氪获悉,中金辐照公告,持股2.02%的股东共青城鑫卫投资管理合伙企业(有限合伙)计划以集中竞价方式减持公司股份不超过146.5万股(占本公司总股本比例0.55%);持股1.62%的股东共青城鑫刚投资管理合伙企业(有限合伙)计划以集中竞价方式减持公司股份不超过117.5万股(占本公司总股本比例0.45%)。

嘉美包装:如未来公司股票价格进一步异常上涨,公司可能再次申请停牌核查

2026年2月25日 20:09
36氪获悉,嘉美包装发布异动公告,公司股票自2025年12月17日至2026年2月25日期间价格涨幅为478.95%,期间多次触及股票交易异常波动情形。公司已分别于2026年1月7日、1月26日进行停牌核查,于2026年1月12日、2月2日公告核查结果并复牌。如未来公司股票价格进一步异常上涨,公司可能再次向深圳证券交易所申请停牌核查。

美国最新关税动向后,瑞士称谈判目标保持不变

2026年2月25日 20:00
根据一份政府声明,在特朗普的国别关税被美国最高法院废除,随后以不同的法律依据引入新的关税措施后,瑞士与美国谈判的主要目标保持不变。声明称,瑞士联邦委员会已于2月25日获悉初步结论,并将在未来几次会议中的一次讨论后续进展。在现行谈判授权框架下,正在进行的谈判仍旨在为瑞士企业在美国市场争取稳定的环境,并在可能的情况下加以改善。(新浪财经)

Skill Seekers 全面指南:让 AI 真正"读懂"你的技术文档

作者 王小酱
2026年2月25日 19:59

从零基础入门到架构原理深度剖析——一份写给所有 AI 从业者的渐进式技术博客


写在最前面:这篇文章适合谁?

这篇文章按照由浅入深的结构组织,不同读者可以选择适合自己的起始章节。

如果你是对 AI 工具好奇的普通开发者,从第一章开始读,你将在 15 分钟内理解 Skill Seekers 是什么,并完成第一个实际操作。如果你是正在搭建 RAG 管线的 AI 工程师,可以直接跳到第四章和第五章,那里有针对 LangChain、LlamaIndex、向量数据库等场景的最佳实践。如果你是架构师或技术负责人,第六、七、八章从源码层面深入分析了项目的设计哲学、模块架构和工程体系。如果你是想参与开源贡献的开发者,第九章介绍了项目的工程规范与贡献流程。

开源项目地址:https://github.com/yusufkaraaslan/Skill_Seekers/tree/development


第一章:三分钟理解 Skill Seekers

1.1 一个故事开始

假设你是一名前端开发者,刚加入团队,团队技术栈基于 React。你希望让 Claude Code 成为你的"React 专家搭档"——不是那种只知道泛泛基础知识的通用 AI,而是真正了解 React 最新 API、Hooks 最佳实践、Server Components 细节的领域专家。

你面临一个尴尬的处境:React 官方文档有数百个页面,散布在 react.dev 网站上。你总不能一页一页复制粘贴到 Claude 的对话框里吧?即使你这么做了,Claude 的上下文窗口也装不下这么多内容。

Skill Seekers 做的事情,就是帮你把这几百页文档,在 15 分钟之内变成一个 Claude 能直接加载和使用的"技能包"。

打开终端,三条命令:

# 第 1 步:安装
pip install skill-seekers

# 第 2 步:一键抓取 React 文档并生成知识资产
skill-seekers create https://docs.react.dev/

# 第 3 步:打包为 Claude 能用的格式
skill-seekers package output/react --target claude

完成后你的 output/ 目录里会出现一个 react-claude.zip,上传到 Claude 就行了。从此 Claude 就是你的 React 领域专家。

但这只是冰山一角——同一份知识资产还可以导出为 Gemini、OpenAI、LangChain、Cursor 等十多个平台的格式,做一次就够了。

1.2 用一句话定义 Skill Seekers

Skill Seekers 是 AI 系统的"数据层"(Data Layer)——它将散落在文档网站、GitHub 仓库、PDF 文件中的非结构化技术知识,自动转化为各类 AI 系统可以直接消费的结构化知识资产。

你可以把它理解成一个"AI 的翻译官":一边读懂人类的文档,一边把知识翻译成 AI 能高效理解的格式。

1.3 它支持哪些输入和输出?

输入端,Skill Seekers 能从三种来源获取知识。第一种是文档网站——任意在线技术文档,如 React、Django、Godot 等官网文档。第二种是 GitHub 仓库——通过 owner/repo 格式指定,系统会分析代码结构、README、Issues 等。第三种是 PDF 文件——技术手册、API 文档、论文等。

输出端则覆盖了当前 AI 生态中几乎所有主流的消费方。包括 Claude AI(ZIP + YAML)、Google Gemini(tar.gz)、OpenAI / Custom GPT(ZIP)、LangChain Documents(JSON)、LlamaIndex TextNodes(JSON)、Haystack Documents、Pinecone / ChromaDB / FAISS / Qdrant 等向量数据库就绪格式,以及 Cursor / Windsurf / Cline / Continue.dev 等 IDE AI 助手的规则文件。

一次预处理,十六个目标平台,这是 Skill Seekers 最核心的价值主张。


第二章:手把手入门——从安装到创建第一个 Skill

这一章面向完全没有用过 Skill Seekers 的读者,按照实际操作步骤逐一展开。

2.1 环境准备

你需要准备的东西非常少:Python 3.10 或更高版本,Git,以及一台能联网的电脑(macOS、Linux 或 Windows 均可)。

检查 Python 版本:

python3 --version
# 看到 Python 3.10.x 或更高即可

检查 Git:

git --version
# 看到 git version 2.x.x 即可

如果 Python 未安装,macOS 用户可以用 brew install python3,Ubuntu/Debian 用户用 sudo apt install python3 python3-pip,Windows 用户从 python.org 下载安装器(注意勾选"Add Python to PATH")。

2.2 安装 Skill Seekers

最简单的安装方式只需一行命令:

pip install skill-seekers

这会安装核心功能:文档抓取、GitHub 分析、PDF 处理和所有平台的打包能力。如果你需要额外能力,可以按需安装可选组件:

# 如果你需要 Google Gemini 支持
pip install skill-seekers[gemini]

# 如果你需要 OpenAI 支持
pip install skill-seekers[openai]

# 如果你需要 MCP 服务器(与 Claude Code 集成)
pip install skill-seekers[mcp]

# 全部安装
pip install skill-seekers[all]

安装完成后,验证一下:

skill-seekers --help

看到帮助信息就说明安装成功了。

2.3 你的第一个 Skill:5 分钟搞定

我们用一个小型示例开始,避免第一次就等待太长时间。来抓取 Tailwind CSS 的文档,限制为 5 个页面:

skill-seekers scrape \
  --name tailwind-test \
  --url https://tailwindcss.com/docs/installation \
  --description "Tailwind CSS quick reference" \
  --max-pages 5

大约 30 秒后,你会看到类似这样的输出:

Scraping: https://tailwindcss.com/docs/installation
Page 1/5: Installation
Page 2/5: Editor Setup
...
 Skill created at: output/tailwind-test/

看看生成了什么:

ls output/tailwind-test/
# SKILL.md  references/  scripts/  assets/

其中 SKILL.md 是核心知识文件,references/ 目录下是按主题分类的参考文档。

2.4 打包与上传

# 打包为 Claude 格式
skill-seekers package output/tailwind-test/
# ✅ Created: output/tailwind-test.zip

# 或者打包为其他平台格式
skill-seekers package output/tailwind-test/ --target gemini
skill-seekers package output/tailwind-test/ --target langchain

如果你配置了 Anthropic API Key,还可以一步到位自动上传:

export ANTHROPIC_API_KEY=sk-ant-...
skill-seekers package output/tailwind-test/ --upload

没有 API Key 也没关系——拿着生成的 .zip 文件去 claude.ai 的 Skills 页面手动上传即可。

2.5 使用预设配置:更省心的方式

Skill Seekers 内置了 24+ 个框架的预设配置,覆盖了 React、Vue、Angular、Django、FastAPI、Godot 等主流框架。用预设配置更加省心:

# 查看所有可用预设
skill-seekers list-configs

# 直接用预设抓取
skill-seekers scrape --config configs/godot.json

你也可以用交互式模式,系统会引导你一步步完成配置:

skill-seekers scrape --interactive

2.6 create 命令:最智能的入口

skill-seekers create 是项目提供的最便捷命令——它会自动识别你给的是什么来源,并选择对应的处理方式:

# 给一个 URL,自动走文档抓取
skill-seekers create https://docs.django.com/

# 给一个 owner/repo,自动走 GitHub 分析
skill-seekers create facebook/react

# 给一个本地路径,自动分析本地项目
skill-seekers create ./my-project

# 给一个 PDF 文件,自动走 PDF 提取
skill-seekers create manual.pdf

这种"零配置"体验大幅降低了上手门槛——你不需要记住不同的子命令,一个 create 就够了。


第三章:Skill Seekers 解决了什么问题?谁需要它?

理解了基本用法之后,我们退后一步,从更宏观的视角审视这个工具为什么存在。

3.1 AI 时代的"知识注入"难题

大语言模型的能力已经毋庸置疑,但模型本身有一个固有限制:训练数据的时效性。无论是 Claude、GPT-4 还是 Gemini,它们的知识都有一个截止日期。对于快速迭代的技术框架来说,官方文档可能每周都在更新,而模型的训练数据可能已经是半年前的了。

解决这个问题的主流方案有两种。第一种是 AI Skills / Knowledge:将结构化知识直接注入 AI 的上下文(如 Claude Skills、Custom GPTs),让 AI 在回答时能参考这些外挂知识。第二种是 RAG(检索增强生成):将知识向量化存储在数据库中,用户提问时检索最相关的文档片段,拼入上下文后让模型回答。

无论哪种方案,数据预处理都是第一步,也是最脏最累的一步。你需要从各种来源抓取内容、清洗 HTML、提取代码块、识别语言、分类组织、生成元数据……而且每换一个目标平台,格式要求就不一样。

Skill Seekers 将这整个预处理流程自动化了,并且做到了"一次处理、多目标导出"。

3.2 四类核心用户群体

经过对项目功能和文档的深入分析,Skill Seekers 的用户群体可以清晰地分为四类。

第一类:AI Skill 构建者。 这是使用 Claude Skills、Gemini Extensions、Custom GPTs 的开发者或技术写作者。他们的核心诉求是把特定领域的知识"教"给 AI,让 AI 成为该领域的专家助手。痛点在于手动整理文档耗时巨大,且不同 AI 平台要求的格式各异。

第二类:RAG 工程师。 这些是搭建企业级知识问答系统、智能客服、文档检索等 RAG 应用的工程师。他们的核心诉求是获得高质量、带元数据、分块合理的文档数据。痛点在于数据预处理流程繁琐,分块策略难以兼顾精度和上下文。

第三类:AI 编程助手用户。 这些是使用 Cursor、Windsurf、Cline 等 AI 辅助编程工具的开发者。他们的核心诉求是让 IDE 中的 AI 助手深度理解特定框架的最新用法。痛点在于 AI 助手的通用知识不够深入,需要手动维护上下文规则文件。

第四类:技术团队和企业。 这些团队需要将内部文档、私有 API 文档、跨项目知识等统一管理,构建团队级别的 AI 知识资产。痛点在于知识散落在多个系统中,且缺乏统一的预处理和分发管道。

3.3 适用场景全景

根据用户群体,Skill Seekers 的典型使用场景包括以下几类:

框架学习加速: 新入职开发者快速将团队使用的技术栈文档转化为 AI Skill,让 AI 成为"老员工"一样的带教导师。

文档智能检索: 将公司内部文档库转化为 RAG 数据集,搭建内部知识问答系统。

代码助手增强: 为 Cursor/Windsurf 生成精确的框架规则文件,让代码建议更准确。

文档质量审计: 利用冲突检测功能,发现文档与实际代码实现之间的不一致之处。

多源知识融合: 将文档网站 + GitHub 代码 + PDF 手册合并为一个统一的知识资产,消除信息孤岛。


第四章:面向不同用户的最佳实践与示例

这一章按用户群体分别给出详细的最佳实践方案和操作示例。

4.1 AI Skill 构建者的最佳实践

场景:为 Claude 创建一个 Django 专家技能

这是最基础也最常见的使用场景。完整工作流如下:

# 步骤 1:从文档创建知识资产
skill-seekers create https://docs.djangoproject.com/

# 步骤 2:AI 增强——将基础文档升级为专家级技能文件
skill-seekers enhance output/django/ --mode local
# 如果有 API Key,也可以用 API 模式:
# skill-seekers enhance output/django/ --mode api

# 步骤 3:打包并上传
skill-seekers package output/django/ --upload

增强步骤是关键——不经过增强的 SKILL.md 只是文档的简单组织,增强之后的 SKILL.md 会包含 500+ 行的内容,涵盖代码示例、最佳实践模式、快速参考指南和错误排查建议。

进阶:使用工作流预设做专项增强

如果你的 Django 项目对安全性有特殊要求,可以叠加安全增强工作流:

skill-seekers create https://docs.djangoproject.com/ \
  --enhance-workflow security-focus \
  --enhance-workflow api-documentation

这条命令会先执行安全聚焦的增强(审查 OWASP Top 10、认证授权模式等),然后再执行 API 文档增强。两个工作流链式执行,后续工作流会引用前序工作流的分析结果。

项目内置了 64 个工作流预设,覆盖了从 defaultminimalkubernetes-deploymentgraphql-schemacompliance-gdprmlops-pipeline 等极为广泛的领域。你还可以创建自定义预设放到 ~/.config/skill-seekers/workflows/ 目录下。

进阶:多平台批量导出

一次处理,导出到所有平台:

# 批量导出到 Claude、Gemini、OpenAI、Markdown 四个平台
for platform in claude gemini openai markdown; do
  skill-seekers package output/django --target $platform
done

4.2 RAG 工程师的最佳实践

场景:搭建一个基于 LangChain 的框架文档问答系统

RAG 工程师最关心的是数据质量——分块是否合理、元数据是否丰富、代码块是否保持完整。

# 步骤 1:抓取文档
skill-seekers create https://docs.react.dev/

# 步骤 2:导出为 LangChain Documents 格式
skill-seekers package output/react --target langchain
# 生成:output/react-langchain.json

导出的 JSON 文件中,每个 Document 都包含 page_content(文档内容)和 metadata(元数据,包括来源 URL、分类、内容类型等)。你可以直接将其加载到 LangChain 的检索链中。

项目的 examples/langchain-rag-pipeline/ 目录提供了完整的端到端示例。类似地,examples/llama-index-query-engine/ 提供了 LlamaIndex 的集成示例,examples/pinecone-upsert/ 提供了 Pinecone 向量数据库的写入示例。

进阶:使用 Docker Compose 搭建完整 RAG 基础设施

Skill Seekers 的 docker-compose.yml 已经预置了一个完整的 RAG 基础设施:

# 一键启动:CLI 工具 + MCP 服务器 + Weaviate + Qdrant + ChromaDB
docker-compose up -d

这会启动五个容器化服务。skill-seekers 容器是主 CLI 工具。mcp-server 在 8765 端口提供 MCP HTTP 服务。weaviate 在 8080 端口提供 Weaviate 向量数据库。qdrant 在 6333/6334 端口提供 Qdrant 向量数据库。chroma 在 8000 端口提供 ChromaDB。

所有服务通过内部 bridge 网络互联,向量数据库配置了持久化卷。你可以把文档抓取、增强、向量化入库的全流程在容器环境中完成。

进阶:处理超大型文档(10K-40K+ 页面)

对于 Godot、Unity 这类超大型文档,直接抓取会产生巨大的单一文件。Skill Seekers 提供了文档拆分和路由机制:

# 先评估文档规模
skill-seekers estimate --config configs/godot.json
# 📊 Estimated pages: 40,000
# ⚠️ Large documentation detected!

# 使用 router 策略拆分
skill-seekers split --config configs/godot.json --strategy router --target-pages 5000
# 会生成多个子配置:godot-scripting.json, godot-2d.json, godot-3d.json 等

# 并行抓取所有子技能
# (每个子技能独立抓取,可以并行执行)

# 最后生成路由器技能
skill-seekers generate-router --config-pattern "configs/godot-*.json"

路由器技能的 SKILL.md 包含智能路由逻辑——当用户提问时,路由器会根据关键词将问题导向合适的子技能。比如问到"physics"就路由到 godot-physics,问到"shader"就路由到 godot-shaders。

4.3 AI 编程助手用户的最佳实践

场景:让 Cursor IDE 的 AI 深度理解 React

Cursor、Windsurf 等 IDE 的 AI 助手支持加载上下文规则文件,让 AI 在生成代码时参考特定框架的最佳实践。

# 创建 React 技能
skill-seekers create https://docs.react.dev/

# 打包为 Claude 格式(Cursor 使用相同格式)
skill-seekers package output/react --target claude

# 复制到你的项目中
cp output/react-claude/SKILL.md my-react-project/.cursorrules

对于 Windsurf:

cp output/react-claude/SKILL.md my-project/.windsurf/rules/react.md

对于 Cline(VS Code 扩展):

cp output/react-claude/SKILL.md my-project/.clinerules

项目的 examples/ 目录提供了多个真实示例:cursor-react-skill/ 展示了 Cursor + React 的集成方式,windsurf-fastapi-context/ 展示了 Windsurf + FastAPI 的场景,cline-django-assistant/ 展示了 Cline + Django 的用法。

进阶:使用 install-agent 命令一键安装到所有 IDE

# 一键安装到 Cursor
skill-seekers install-agent output/react/ --agent cursor

# 或者安装到所有支持的 AI 编程助手
skill-seekers install-agent output/react/ --agent all

# 预览安装效果但不实际执行
skill-seekers install-agent output/react/ --agent cursor --dry-run

这条命令会自动将 Skill 文件复制到对应 IDE 的配置目录。支持的 Agent 包括 Claude Code(~/.claude/skills/)、Cursor(.cursor/skills/)、VS Code / Copilot(.github/skills/)、Amp(~/.amp/skills/)、Goose、OpenCode、Windsurf 等。

4.4 团队协作者的最佳实践

场景:在 5 人团队中共享内部 API 文档的 AI 技能

Skill Seekers 支持从私有 Git 仓库获取配置文件,实现团队级别的技能共享:

# 注册团队的私有配置仓库
# (通过 MCP 工具,在 Claude Code 中以自然语言操作更为便利)
skill-seekers config --add-source \
  --name team \
  --git-url https://github.com/mycompany/skill-configs.git

# 从团队仓库获取配置
skill-seekers config --fetch --source team --config internal-api

# 正常使用
skill-seekers scrape --config internal-api.json

支持 GitHub、GitLab、Gitea、Bitbucket 四种 Git 托管平台,通过对应的环境变量(GITHUB_TOKENGITLAB_TOKEN 等)进行认证。

场景:多源知识融合——将文档 + 代码 + PDF 合并为单一知识资产

这是企业场景中最有价值的能力之一。以 Godot 引擎为例,其预设配置展示了如何融合文档和代码两个来源:

配置中定义了 merge_mode: "claude-enhanced",然后在 sources 数组中分别配置了两个来源。第一个来源类型为 documentation,指向 Godot 官方文档网站,配置了 CSS 选择器、URL 过滤规则和内容分类。第二个来源类型为 github,指向 godotengine/godot 仓库,启用了深度代码分析、Issue 获取、Changelog 和 Release 信息抓取,以及特定的文件匹配模式(core/**/*.hscene/**/*.cpp 等)。

运行统一抓取后,系统会自动执行冲突检测——发现文档中描述但代码中不存在的 API,或者代码中实现但文档中未记录的功能,并在最终输出中以醒目标注呈现。


第五章:核心功能全景透视

在理解了"谁在用"和"怎么用"之后,让我们系统性地审视 Skill Seekers 的功能全景。

5.1 llms.txt 优先检测:10 倍速度提升的秘密

llms.txt 是一个新兴的约定标准——越来越多的技术文档网站开始提供专门为 LLM 消费优化的纯文本文件。Skill Seekers 在正式爬取之前,会依次检查目标域名下是否存在 llms-full.txtllms.txtllms-small.txt

如果检测到这些文件,系统直接下载解析即可——完全跳过了逐页爬取、HTML 解析、内容提取等耗时步骤。这在实际效果上意味着:原本需要 15 分钟的抓取任务,可能 1-2 分钟就完成了。

这个功能由三个模块协同实现:llms_txt_detector.py 负责探测文件是否存在,llms_txt_downloader.py 负责高效下载,llms_txt_parser.py 负责解析内容结构。

5.2 异步模式:2-3 倍的爬取加速

对于不支持 llms.txt 的网站,Skill Seekers 提供了基于 httpx 异步引擎的加速模式:

skill-seekers scrape --config configs/react.json --async --workers 8

--async 标志启用异步爬取(底层使用 httpx 的 async/await),--workers 指定并发工作者数量。在实际测试中,同步模式需要 15-45 分钟的任务,异步模式只需 5-15 分钟。

5.3 AI 增强工作流:从 75 行到 500+ 行的质变

基础的文档抓取只能生成结构化的参考文件。AI 增强步骤是将"数据"转化为"知识"的关键。

增强过程由 LLM 驱动——系统将抓取到的文档内容作为上下文,让 LLM 分析后生成一份综合性的 SKILL.md 文件。这份文件不是简单的摘要或合并,而是包含了以下几个维度的内容:核心概念和设计理念的阐述、带注释的代码示例和最佳实践、常见错误和解决方案、快速参考索引、以及从基础到进阶的导航建议。

系统支持三个 LLM 平台执行增强——Claude Sonnet 4(通过 Anthropic API 或 LOCAL 模式)、Gemini 2.0 Flash(通过 Google API)、GPT-4o(通过 OpenAI API)。LOCAL 模式的独特之处在于它利用 Claude Code Max 的本地执行能力,无需 API Key 也无需额外费用。

此外,通过 ANTHROPIC_BASE_URL 环境变量,中国大陆用户可以配置 GLM-4.7 等兼容 Claude 协议的国产 API 端点来完成增强。

5.4 冲突检测:文档与代码的一致性审计

当同时从文档和代码两个来源获取信息时,Skill Seekers 的冲突检测引擎会自动识别四类不一致。

红色:Missing in code(高优先级)。 文档中描述了某个 API 或功能,但在代码中找不到对应实现。这通常意味着文档描述了尚未实现的特性,或者该功能已被移除但文档未更新。

黄色:Missing in docs(中优先级)。 代码中实现了某个功能,但文档中完全没有提及。这是最常见的文档欠缺类型。

橙色:Signature mismatch(警告级别)。 同一个函数在文档和代码中有不同的参数列表、类型定义或返回值。

灰色:Description mismatch(信息级别)。 文档描述与代码注释对同一功能给出了不同的解释文字。

这个能力不仅提升了生成技能的可靠性,本身也是一个独立的文档质量审计工具。

5.5 MCP 集成:用自然语言驱动整个工作流

MCP(Model Context Protocol)是 Anthropic 推出的协议标准,用于让 AI 助手与外部工具交互。Skill Seekers 的 MCP 服务器暴露了 26 个工具,分为四类。

核心工具(9 个):list_configs, generate_config, validate_config, estimate_pages, scrape_docs, package_skill, upload_skill, enhance_skill, install_skill。

扩展工具(10 个):scrape_github, scrape_pdf, unified_scrape, merge_sources, detect_conflicts, add_config_source, fetch_config, list_config_sources, remove_config_source, split_config。

向量数据库工具(4 个):export_to_chroma, export_to_weaviate, export_to_faiss, export_to_qdrant。

云存储工具(3 个):cloud_upload, cloud_download, cloud_list。

配置好 MCP 后,你可以在 Claude Code 中直接用自然语言完成一切:

用户:帮我抓取 Svelte 文档并打包为 Claude Skill
Claude Code[调用 generate_config][调用 scrape_docs][调用 enhance_skill][调用 package_skill]
✅ 已创建 output/svelte.zip,可以上传到 Claude

MCP 服务器支持两种传输模式——stdio 模式(用于 Claude Code、VS Code + Cline 的本地集成)和 HTTP 模式(用于 Cursor、Windsurf、IntelliJ 的网络集成,默认端口 8765)。

5.6 断点续传:永不丢失进度

考虑到大型文档的抓取可能需要数十分钟甚至数小时,Skill Seekers 实现了作业恢复机制。系统以可配置的间隔(默认 60 秒)自动保存进度。如果中途意外中断,可以查看并恢复:

# 查看所有可恢复的作业
skill-seekers resume --list

# 从中断处继续
skill-seekers resume github_react_20260117_143022

旧作业会在 7 天后自动清理,不会无限占用磁盘。


第六章:架构原理深度剖析

从这一章开始,我们深入到项目的内部设计中。

6.1 项目代码结构解析

Skill Seekers v3.1.3 的 development 分支采用 src 布局(即源码位于 src/skill_seekers/ 而非项目根目录),这是 Python 社区推荐的现代项目结构,通过 pyproject.toml[tool.setuptools] package-dir = {"" = "src"} 配置实现。

核心源码分为六个子包。cli/ 是最庞大的模块,包含约 75 个 Python 文件和 5 个子目录(adaptors、arguments、parsers、presets、storage),承载了几乎所有的业务逻辑——从爬虫到分析到增强到打包。mcp/ 实现 MCP 协议服务器,将 CLI 能力暴露为 26 个可通过自然语言调用的工具。embedding/ 包含嵌入向量相关的模型(models.py)、生成器(generator.py)、缓存(cache.py)和服务器(server.py)四个模块。workflows/ 存放 64 个 YAML 格式的增强工作流预设。sync/ 处理同步监控逻辑,基于 schedule 库实现定时更新。benchmark/ 提供性能基准测试工具。

6.2 五阶段数据处理管线

Skill Seekers 的数据流遵循一条清晰的五阶段管线:Ingest → Analyze → Structure → Enhance → Export

Ingest(摄取)阶段: 这是整个管线的入口,由三个专用爬取器负责。doc_scraper.py 处理文档网站,内部通过 llms_txt_detector.py 优先检测 llms.txt 快速通道,未命中时退回到基于 BeautifulSoup4 的 HTML 解析模式,markdown_cleaner.py 负责将 HTML 转化为干净的 Markdown。github_scraper.py 处理 GitHub 仓库,采用三流架构(Code / Docs / Insights),其中 Code 流使用 unified_codebase_analyzer.py 进行 AST 级别的深度代码分析,Docs 流提取 README 和文档文件,Insights 流通过 PyGithub 调用 GitHub API 获取 Issues、Labels、Stars 等社区数据。pdf_scraper.py 处理 PDF 文件,底层基于 PyMuPDF 引擎,叠加了三种互补的代码检测方法(字体特征、缩进模式、模式匹配)和支持 19+ 种语言的识别能力。

Analyze(分析)阶段: 这一阶段对原始内容进行深度语义分析。code_analyzer.py 执行 AST 解析(支持 Python、JavaScript、TypeScript、Java、C++、Go),提取函数签名、类结构、方法参数和类型信息。architectural_pattern_detector.py 识别工厂模式、单例模式、观察者模式等设计模式。dependency_analyzer.py 基于 networkx 构建依赖关系图谱。conflict_detector.py 执行前文描述的四级冲突检测。signal_flow_analyzer.py 分析代码中的信号和事件流。config_extractor.py

*ST国华:股票交易严重异常波动,存财务类强制退市风险

2026年2月25日 19:52
36氪获悉,*ST国华公告,公司股票于2026年2月24 - 25日连续两个交易日内日收盘价格跌幅偏离值累计超12%,属异常波动;截至2月25日收盘,连续10个交易日内4次同向异常波动,属严重异常波动。公司核实后表示,近期生产经营正常,不存在应披露未披露事项,控股股东等未买卖公司股票。不过,公司存在财务类强制退市风险,若2025年度触及相关情形,股票将面临终止上市,提醒投资者注意风险。

中微半导:周彦拟询价转让不超过2.00%公司股份

2026年2月25日 19:45
36氪获悉,中微半导公告,股东周彦拟通过中金公司询价转让800.73万股,占公司总股本2.00%。截至2026年2月5日,周彦持有公司9180万股,持股比例22.93%。本次询价转让为非公开转让,不通过集中竞价交易方式或大宗交易方式,受让方为具备相应定价能力和风险承受能力的机构投资者。

逾半数受访者预计拉加德今年将卸任,将欧洲央行行长一职交给Knot

2026年2月25日 19:39
调查显示,克里斯蒂娜·拉加德可能在任期结束前离开欧洲央行,为Klaas Knot接任行长铺路。超过半数受访者预计,这位法国籍的行长将在今年卸任。不到30%的受访者认为,她会完成八年任期(任期将于明年10月结束)。调查显示,若拉加德提前离任,约57%的经济学家认为,前荷兰央行行长Knot最有希望出任欧洲央行行长。若她按期完成任期,国际清算银行行长Pablo Hernandez de Cos更被看好接棒。(财联社)
❌
❌