前端怎么用 WebAssembly?从一个浏览器图片压缩工具说起

前端怎么用 WebAssembly?从一个浏览器图片压缩工具说起

做一个图片上传功能,最开始通常很简单:选文件,预览,调接口。需求慢慢加上来,事情就变了。图片太大,要先压一压;格式不统一,希望转成 WebP;用户还想拖动质量滑杆,看清楚压完的效果再上传。

这些工作当然可以交给服务端。但如果图片就在用户电脑里,处理完只需要一个文件,也可以把这一段留在浏览器里完成。页面负责交互,浏览器负责读图,编码库负责生成新的图片。

WebAssembly 就可以出现在这里。对前端开发者来说,日常接触它的入口往往是一个 npm 包:安装、导入、异步调用,然后把返回的数据接回页面。我们关心的是这段能力怎么进入现有项目,以及用户点下按钮后,页面能不能一直好好响应。

这篇文章用 JavaScript + Vite + Web Worker 做一个本地图片转 WebP 的小工具。Wasm 编码器使用现成的 @jsquash/webp,整个案例只写前端代码。

浏览器图片转 WebP 案例:原图与结果预览、质量调节、体积和耗时信息

截图使用的是内置生成的 PNG 示例,显示的体积和耗时只对应这一次处理。

Claude Code 泄露源码解读,从 Agent 循环到工具权限与上下文管理

Claude Code 泄露源码解读 从 Agent 循环到工具权限与上下文管理

让编程助手解释一段代码,和让它把一个问题修好,是两种很不一样的体验。前者把答案写在对话框里就够了;后者要碰到真实文件、真实命令,还得面对用户随时插进来的修改。

假设你给它这样一句话:“切换几次 3D 模型,页面就越来越卡。帮我找原因,修完跑一下项目现有的检查。”终端里开始搜索、读文件、改代码,看起来顺理成章。但这些动作靠什么衔接?读到一半文件变了怎么办?测试命令报错以后,是继续修,还是直接结束?

这几个问题,比找一段神奇的系统提示词更吸引我。它们决定一个助手能不能在真实项目里持续工作,也正好是这次源码阅读的主线。

2026 年 3 月 31 日,Claude Code 的一次 npm 发布意外暴露了内部源码。@anthropic-ai/claude-code 的 2.1.88 版本带上了不应公开的 source map,相关源码随后被保存和整理到多个仓库中。这次事件让开发者得以直接阅读一个实际编程代理的客户端实现。事件报道

本文使用的泄露源码整理仓库:hujinbin/claude-code。 想边读边对照,可以从这里打开目录;文中的源码引用另外固定到了具体提交,方便以后回看。

分析基线是提交 480314ded0d2f60bd854ff3e2661116d0f3a1b5e,整理提交日期为 2026 年 4 月 13 日。本文以静态阅读为主:副本缺少完整构建配置和部分模块,下面的修复场景用于解释代码,不是一份实际运行报告;讨论范围也限定在这份实现。

沿着代码走下去,会看到一套围绕模型组织起来的运行时:它维护消息,调度工具,检查权限,管理上下文,也负责把任务收住。这类系统在 Agent 工程里常被称为 Harness。这个词听起来抽象,放进上面的修复任务里就好理解了:模型决定下一步试什么,运行时把这个决定落到实际操作上,再把发生的事情告诉模型。

从 source map 泄露说起

Source map 用来关联构建后的代码与原始源码,方便调试。根据生成方式,它可能包含原始源码内容,也可能暴露指向源码的路径或位置。因此,拿到相应调试产物,有时就能看到远比压缩后 JavaScript 更完整的实现,而无需重新推导源程序。Source map 说明

这次泄露属于发布链路中的调试产物暴露。Anthropic 将事件归因于人为造成的发布打包失误。公司回应

这件事给开发者的提醒很具体:编译结果、调试产物和最终发布包,需要分别看待。调试文件对排查线上问题很有用,但“内部调试需要它”和“用户安装包应该带上它”是两回事。

至于“Bun 默认生成 .map,忘写 .npmignore 就会泄露”的说法,细节还要分开看。Bun 当前文档列出的 sourcemap 默认值是 none;实际生成方式和打包范围取决于项目自己的配置。这份副本没有原始发布配置,因此下面重点研究泄露出来的实现。Bun 构建文档

本文把它作为泄露源码来读,并不把它称作官方主动开源。阅读对象是编程代理的客户端工程,范围也不延伸到模型权重或全部云端服务。

从零开发 AI Skill:打造你的第一个 AI 能力扩展

从零开发 AI Skill:打造你的第一个 AI 能力扩展

手把手教你为 AI 系统开发自定义技能,让 AI 助手更懂你的业务

引言:AI Skill 是什么?

当你使用 ChatGPT 或 Claude 时,有没有想过:**”如果 AI 能直接查询我的数据库该多好”、“要是它能自动发邮件就完美了”**?

这就是 AI Skill 的价值所在。

AI Skill(AI 技能)是为 AI 系统开发的可调用能力模块,让 AI 能够:

  • 📊 访问你的数据源(数据库、API、文件系统)
  • 🔧 执行具体操作(发邮件、创建工单、调用服务)
  • 🎯 理解特定领域(你的业务逻辑、专业知识)

本文将教你:

  1. AI Skill 的技术原理
  2. 从零开发一个完整的 Skill
  3. 接入主流 AI 平台(OpenAI、Claude、MCP)
  4. 生产环境最佳实践

一、AI Skill 技术架构

1.1 核心组件

┌─────────────────────────────────────────┐
│           AI 系统(LLM)                  │
│   ChatGPT / Claude / 自建模型            │
└──────────────┬──────────────────────────┘
               ↓
┌──────────────────────────────────────────┐
│         Skill 调度层(Router)            │
│  - 意图识别                               │
│  - 参数提取                               │
│  - 权限验证                               │
└──────────────┬───────────────────────────┘
               ↓
┌──────────────────────────────────────────┐
│           Skill 执行层                    │
├──────────────────────────────────────────┤
│  Skill 1: 数据查询                        │
│  Skill 2: 邮件发送                        │
│  Skill 3: 文档生成                        │
│  Skill 4: API 调用                        │
│  ...                                      │
└──────────────┬───────────────────────────┘
               ↓
┌──────────────────────────────────────────┐
│        外部系统 / 数据源                  │
│  数据库 | API | 文件系统 | 第三方服务    │
└──────────────────────────────────────────┘

AI 时代必备技能指南:从 Prompt 新手到 AI 专家的进阶路

AI 时代必备技能指南:从 Prompt 新手到 AI 专家的进阶路线

在 AI 重塑工作的时代,掌握这些技能让你从”被替代”变成”不可替代”

引言:AI 技能的新时代

当 ChatGPT 发布时,很多人担心”AI 会取代我的工作吗?”

一年半后,答案变得清晰:AI 不会取代你,但会用 AI 的人会取代你。

据 LinkedIn 2026 年报告显示:

  • 📈 AI 相关技能需求增长 450%
  • 💰 掌握 AI 技能的开发者薪资溢价 30-50%
  • 🚀 90% 的科技公司将 AI 技能列为核心要求

本文将系统性地介绍 AI 时代的必备技能,并提供清晰的学习路径。

一、AI 技能图谱

                    AI 技能金字塔

                      ▲ AI 架构师
                     /|\
                    / | \  构建 AI 系统
                   /  |  \
              ────────────────
             /    AI 工程师   \
            /                  \
           /  模型微调 / Agent开发 \
          /________________________\
         /    Prompt Engineering    \
        /     工具集成 / API 使用      \
       /______________________________\
      /         AI 素养基础              \
     /  理解原理 / 工具使用 / 场景判断    \
    /____________________________________\

深入理解 Model Context Protocol:从零构建 AI 知识库服务

深入理解 Model Context Protocol:从零构建 AI 知识库服务

本文通过一个真实的 MCP Server 项目,详细介绍 Model Context Protocol 的核心概念、架构设计和最佳实践。

引言:AI 交互的新范式

在与 ChatGPT、Claude 等 AI 助手交互时,我们常常遇到一个问题:AI 无法访问我们的私有数据、企业知识库或实时信息。虽然 RAG(Retrieval-Augmented Generation)技术提供了一种解决方案,但实现起来往往需要复杂的向量数据库、Embedding 模型和检索系统。

Model Context Protocol (MCP) 提供了一个更加优雅的解决方案——一个开放的标准协议,让 AI 应用能够安全、可控地访问外部数据源和工具。

什么是 MCP?

Model Context Protocol(模型上下文协议)是由 Anthropic 推出的开放标准,用于连接 AI 应用与外部数据源。它的核心思想很简单:

AI 应用 ←→ MCP 协议 ←→ MCP Server ←→ 数据源
  

从零打造一个跨框架通用的 AI Agent 插件

📝 前言

在 AI 大模型时代,越来越多的 Web 应用需要集成智能对话功能。然而,前端技术栈的多样性(Vue、React、jQuery 等)给开发者带来了一个难题:如何开发一个一次编写、到处运行的 AI 对话插件?

本文记录了 AI Agent Plugin 项目从诞生到完成的全过程,分享技术选型、架构设计、核心实现以及遇到的挑战与解决方案。


🎯 项目背景与目标

痛点分析

在实际项目中,我们遇到以下问题:

  1. 技术栈碎片化:公司不同项目使用 Vue 2、Vue 3、React、jQuery 等不同技术栈
  2. 重复开发成本高:每个技术栈都要单独开发一套 AI 对话组件
  3. 维护困难:功能更新需要同步修改多个版本
  4. 样式冲突:插件样式容易被宿主项目覆盖

设计目标

基于以上痛点,我们确定了以下核心目标:

  • ✅ 跨框架兼容:一套代码支持 Vue、React、jQuery 等任意前端框架
  • ✅ 零依赖:不依赖任何第三方框架,纯原生实现
  • ✅ 样式隔离:避免与宿主项目样式冲突
  • ✅ TypeScript 支持:提供完整的类型定义
  • ✅ 主题定制:支持浅色/深色主题和自定义配色
  • ✅ 灵活配置:支持流式/普通响应、四角定位等

AI Tools 完全指南:从选择到集成的全链路实践

AI Tools 完全指南:从选择到集成的全链路实践

一篇帮你快速掌握 AI 工具生态、选型决策和集成开发的实战手册

引言:AI 工具的爆发式增长

2023 年 ChatGPT 爆火后,AI 工具市场迎来了井喷式增长。据统计,目前市面上有超过 10,000+ 款 AI 工具,涵盖从文本生成、图像创作、代码开发到数据分析的各个领域。

作为开发者,我们面临的问题不再是”有没有 AI 工具可用”,而是:

  • 😵 选择困难:这么多工具,该用哪个?
  • 🔧 集成复杂:如何将 AI 能力集成到自己的应用中?
  • 💰 成本控制:免费还是付费?API 调用费用如何?
  • 🎯 效果评估:哪个工具真正好用?

本文将系统性地解决这些问题,帮你建立完整的 AI 工具知识体系。

一、AI Tools 全景图

1.1 按功能分类

📝 文本生成类

对话型

  • ChatGPT:OpenAI 出品,最强大的通用对话模型

    • 优势:理解能力强、知识面广
    • 适用:写作、编程、分析、翻译
    • 成本:$20/月(Plus)或按 Token 计费
  • Claude:Anthropic 出品,擅长长文本理解

    • 优势:200K 上下文窗口、安全性高
    • 适用:文档分析、长篇创作
    • 成本:免费 / Pro $20/月
  • Gemini:Google 出品,多模态能力强

    • 优势:与 Google 生态整合
    • 适用:搜索增强、多语言任务
    • 成本:免费 / Advanced $20/月
  • 文心一言:百度出品,中文优化

    • 优势:中文理解好、本地化
    • 适用:中文内容创作
    • 成本:基础免费

Web3.js v4 完整使用指南

Web3.js v4 完整使用指南


一、什么是 Web3.js?

Web3.js 是以太坊官方维护的 JavaScript 库,让前端/Node.js 应用能够:

  • 连接以太坊节点(本地或远程)
  • 读取链上数据(区块信息、账户地址)
  • 调用智能合约只读方法,查询链上状态
  • 使用内置工具函数处理地址、哈希、编码等

v4 是一次重大重写,完全用 TypeScript 实现,支持 ES Module,体积更小,API 更现代化。


二、安装

1
npm install web3

注意:v4 不再捆绑 web3-providers-http 等子包,所有提供者均已内置。


Three.js 入门实战:基于 Vue3 做一个可拖拽的 3D 编辑器

Three.js 入门实战:基于 Vue3 做一个可拖拽的 3D 编辑器

前言

如果你是第一次接触 Three.js,这篇文章会带你从 0 到 1 建立完整认知:

  1. Three.js 到底是什么。
  2. 核心概念有哪些。
  3. 怎么在真实项目里用起来。
  4. 新手最容易踩哪些坑。

本文不是纯理论,而是结合我自己写的一个真实项目 drag-3D-three 来讲解。这个项目是一个 3D/2D 可视化大屏编辑器,Three.js 部分支持拖拽创建几何体、加载模型、选择元素、修改属性和保存案例。

技术栈:Vue 3 + TypeScript + Vite + Three.js + Pinia


一、Three.js 是什么

Three.js 是一个运行在浏览器中的 3D 图形库,它基于 WebGL 做了高级封装。

你可以把它理解成:

  1. WebGL 是底层图形 API,能力强但很底层。
  2. Three.js 是更易用的“3D 开发工具箱”。
  3. 你不需要直接写复杂着色器,也能快速搭建 3D 场景。

Three.js 适合做什么:

  1. 3D 数据可视化。
  2. 数字孪生大屏。
  3. 在线 3D 编辑器。
  4. 模型展示页。
  5. 小型网页 3D 互动。

AI Agent:从对话工具到智能助手的进化之路

AI Agent:从对话工具到智能助手的进化之路

从 ChatGPT 到 AI Agent,人工智能正在经历从”被动回答”到”主动执行”的范式转变

前言

当你打开 ChatGPT,输入”帮我写一份项目报告”,它会给你一份精美的文本输出。但如果你说”帮我把这份报告发给团队,并安排明天下午的会议”,ChatGPT 就无能为力了。

这正是 AI Agent 诞生的原因——我们需要的不只是一个会说话的 AI,而是一个能真正帮我们做事情的智能助手。

什么是 AI Agent?

定义

AI Agent(人工智能代理) 是一个能够自主感知环境、做出决策并采取行动以实现特定目标的智能系统。

用更简单的话说:

  • ChatGPT 像是一位博学的顾问,你问什么它答什么
  • AI Agent 像是一位能干的助理,你给它一个目标,它会自己想办法完成

:D 一言句子获取中...