二维码生成器是什么

一款纯前端在线二维码生成工具,支持为网址、文本和 WiFi 网络创建可扫描的二维码,可自定义样式、尺寸与颜色,并直接下载 PNG 图片。

核心功能

  • 双模式生成:支持「网址 / 文本」和「WiFi 网络」两种二维码类型,一键切换
  • WiFi 二维码:输入 SSID、密码、选择加密方式(WPA/WEP/无),支持隐藏网络,手机扫码即可自动连接
  • 自定义样式:提供「方块」和「流体」两种视觉风格,流体样式采用自适应圆角与同心圆定位图案
  • 灵活尺寸:小 / 中 / 大 三档尺寸可选,适配不同使用场景
  • 颜色与边框:可自定义二维码颜色,并选择是否添加外圆角边框
  • 实时预览:调整样式、尺寸、颜色或边框后,二维码实时更新
  • 下载 PNG:一键下载高清 PNG 图片,可直接用于打印或分享
  • 复制图片:支持将二维码图片复制到剪贴板,方便粘贴到文档或聊天中
  • 中文支持:内置 UTF-8 编码处理,完美支持中文文本与中文 WiFi 名称
  • 纯前端运行:所有计算在浏览器本地完成,无需上传数据,保护隐私

使用方式

  1. 打开页面,选择「网址 / 文本」或「WiFi」模式
  2. 输入对应内容(网址、文本,或 WiFi 网络信息)
  3. 选择样式、尺寸、颜色,是否添加边框
  4. 点击「生成二维码」
  5. 使用「下载 PNG」或「复制图片」保存结果

浏览器兼容性

使用现代浏览器(Chrome、Edge、Firefox、Safari)可获得最佳体验。

高中英语词汇速记是什么

高中英语词汇速记是一款纯前端浏览器背单词工具,专为高考英语词汇复习设计。它采用卡片式翻转记忆,支持单词搜索、朗读、已会/未会标记、随机顺序和进度统计,所有学习状态保存在浏览器本地,无需安装、无需上传。

核心功能

  • 内置高考词汇库:覆盖高中英语核心词汇,打开即用。
  • 卡片式记忆:大字显示单词,点击或按 H 键显示/隐藏中文释义。
  • 搜索跳转:顶部搜索框支持按英文单词或中文释义快速定位。
  • 朗读发音:基于 Web Speech API,点击单词或按空格即可朗读,支持语速调节和语音选择。
  • 已会/未会标记:按 K 标记已会、按 M 标记未会,分类管理学习进度。
  • 学习模式过滤:设置面板支持切换"全部""仅未会""仅已会"三种学习模式。
  • 随机顺序:按 S 或点击随机按钮打乱词汇顺序,强化记忆。
  • 自动朗读:开启自动模式后,切换单词自动朗读,解放双手。
  • 字母筛选:设置面板可按首字母筛选词汇,针对性复习某字母开头的单词。
  • 进度统计:顶部实时显示当前进度、已会数量和未会数量。
  • 学习状态本地保存:标记、设置、模式均通过 localStorage 保存,刷新不丢失。
  • 快捷键支持:空格朗读、← → 翻页、H 显隐释义、K 已会、M 未会、S 随机、A 自动、/ 搜索。

使用方式

  1. 打开 高中英语词汇速记
  2. 查看单词,不确定释义时按 H 或点击卡片显示中文。
  3. 熟悉的词按 K 标记已会,不熟悉的词按 M 标记未会。
  4. 需要听发音时按空格或点击单词/播放按钮。
  5. 想针对性复习未会单词时,打开设置切换为"仅未会"模式。

扫雷是什么

扫雷是一款经典的浏览器本地益智游戏。无需下载安装,打开网页即可游玩,支持简单、中等、困难三种难度,同时适配桌面端与移动端操作。

核心功能

  • 三种难度可选:简单(9×9,10 颗雷)、中等(16×16,40 颗雷)、困难(30×16,99 颗雷),一键切换。
  • 首次点击保护:第一次点击永远不会踩到雷,确保开局安全。
  • 自动展开空区:翻开无雷的空白格子时,自动级联展开周围相邻区域。
  • 插旗标记:支持右键或长按标记疑似地雷位置,实时显示剩余雷数。
  • 双模式切换:移动端提供"点击翻开 / 点击插旗"模式切换按钮,操作更直观。
  • 长按插旗:移动端支持长按格子快速插旗,并伴随触觉反馈(若设备支持)。
  • 计时器:从第一次点击开始计时,精确到秒。
  • 表情按钮:重置按钮随游戏状态变化(😊 / 😵 / 😎),点击即可重新开始。
  • 动画效果:翻开格子、踩雷爆炸、胜利庆祝均配有流畅的 CSS 动画。
  • 彩色数字提示:周围雷数 1~8 分别用不同颜色显示,便于快速判断。

使用方式

  1. 打开 扫雷
  2. 选择难度(默认简单)。
  3. 点击格子开始游戏,首次点击安全无雷。
  4. 根据数字提示推理雷的位置,用右键或长按插旗标记。
  5. 翻开所有安全格子即可获胜,踩到雷则游戏结束。
  6. 点击表情按钮 😊 随时重新开始。

操作说明

坦克大战是什么

坦克大战是一款纯前端运行的经典坦克射击游戏,基于 HTML5 Canvas 构建。玩家控制坦克消灭所有敌人、保护基地,采用关卡制推进,每关敌人数量和强度逐渐增加,支持道具收集和丰富的自定义配置。

核心功能

  • 经典关卡制玩法:消灭所有敌人即可进入下一关,每关难度递增。
  • 6 种道具系统:生命+1、火力提升(散射穿甲弹)、速度提升、护盾、炸弹(全屏清敌)、冻结敌人。
  • 完整音效系统:基于 Web Audio API 合成射击、爆炸、移动、通关、游戏结束等音效。
  • 自定义游戏配置:支持调整玩家速度、射击冷却、初始生命、敌人数量与速度、道具生成间隔、地图元素数量等参数。
  • 实时侧边栏状态:显示分数、关卡、生命值(心形)、敌人进度条、活跃道具计时、游戏时间、历史最高分。
  • 暂停与音效控制:游戏中可随时暂停/继续,一键开关音效。
  • 本地最高分记录:通过 localStorage 保存历史最高分,刷新不丢失。
  • 响应式布局:适配不同屏幕尺寸,三栏布局自动调整为纵向排列。

操作说明

  • WASD / 方向键:控制坦克移动
  • 空格键:发射子弹
  • 回车键:开始游戏 / 重新开始
  • P 键:暂停 / 继续游戏
  • M 键:开关音效

得分规则

  • 击毁敌人坦克:100 分
  • 通关奖励:500 分
  • 道具得分:20 分
  • 基地被摧毁:游戏结束

技术栈

  • HTML5 Canvas
  • JavaScript(原生,无框架依赖)
  • Web Audio API(音效合成)
  • localStorage(最高分持久化)
  • 无后端、无依赖、纯静态页面
笔记

调试二维码识别与生成工具的几点经验

下午折腾了两个纯前端二维码工具:一个识别器、一个生成器。记录下调试过程中踩过的几个坑,免得以后重复踩。

1. 中文二维码识别出来是空的

用的是 jsQR。识别英文二维码没问题,但中文二维码识别结果直接为空。

查了下,jsQR 返回的对象里有两个字段:

  • code.data:legacy 字符串,对多字节字符支持不好
  • code.binaryData:原始字节数组

正确做法是用 binaryData 配合 TextDecoder 按 UTF-8 解码:

function decodeQRData(code) {
  if (code.binaryData && code.binaryData.length) {
    const bytes = new Uint8Array(code.binaryData);
    return new TextDecoder('utf-8').decode(bytes);
  }
  return code.data || '';
}

图片识别和摄像头扫码两处都要走这个解码逻辑。

2. 中文二维码生成后扫描乱码

生成器中 qr.addData(value) 对中文支持不行,需要先做一次 UTF-16 到 UTF-8 的字节转换:

JSON 格式化 / 压缩 是什么

JSON 格式化 / 压缩是一款纯前端在线 JSON 处理工具,无需联网、无需上传数据,所有操作均在浏览器本地完成。支持格式化、压缩、转义与去转义,适合开发者在日常工作中快速处理 JSON 数据。

核心功能

  • 格式化:将压缩的 JSON 文本一键展开为带缩进的可读格式,便于查看与调试。
  • 压缩:去除 JSON 中所有不必要的空格与换行,生成最小体积的 JSON 字符串。
  • 转义:将 JSON 对象序列化为转义后的字符串,方便嵌入代码或配置文件。
  • 去转义:将转义后的 JSON 字符串还原为原始内容,支持带引号或不带引号的输入。
  • 一键复制:处理结果可直接复制到剪贴板,无需手动选中。
  • 一键清空:快速清空输入与输出区域,方便处理下一段数据。
  • 实时错误提示:JSON 解析失败时,状态栏会显示具体错误信息,帮助定位问题。
  • 深色模式支持:自动跟随系统主题,也支持手动切换,长时间使用不刺眼。
  • 左右分屏布局:输入与输出并排显示,大屏对比查看更高效,移动端自动切换为上下布局。

使用方式

  1. 打开 JSON 格式化 / 压缩
  2. 将 JSON 文本粘贴到左侧输入框。
  3. 点击工具栏上的 格式化压缩转义去转义 按钮进行处理。
  4. 处理结果即时显示在右侧输出框,点击 复制结果 即可复制到剪贴板。

技术栈

  • HTML + CSS + JavaScript
  • 无后端、无依赖、纯静态页面
  • 支持深色模式与响应式布局

User: 研究这个网站设计的风格和功能:https://simonwillison.net/ 这里有许多不同类型的内容(如Link、TIL、Tool、Entries、Quotes、Notes、Guides等),它是如何融合到一起的。 https://wangjunjian.com/ 是我的博客,我想参考一下。 Kimi: 让我先浏览这两个网站,了解它们的设计风格和内容组织方式。 我已经仔细浏览了这两个网站。Simon Willison 的博客是一个非常经典的"个人知识流"设计,它将 Entries、Links、Quotes、Notes、Guides、TILs、Tools 等多种内容类型按时间线无缝融合,配合极简的排版和强大的标签系统。你的博客"军舰的日志"则是更传统的技术博客布局,内容质量很高,主要围绕 AI Agent、LLM 等技术主题。

在我深入研究并给出具体建议之前,想先确认几个关键问题:

  1. 你想借鉴的侧重点是什么? 是 primarily 学习 Simon 的视觉设计风格和布局(极简、时间流、多种内容类型混排),还是想在自己的博客中也引入多种内容类型(如 Link、TIL、Quotes 等),还是两者都想?

你目前的博客是基于什么技术栈? 比如 Jekyll、Hugo、Next.js、VuePress 等?

本周 AI 新闻 20260619

本周主线:开源模型密集发布、SpaceX 600 亿美元吞下 Cursor、Anthropic Fable 5 遭美国商务部强制下线,智能体安全与监管同时升温。

本周看点

  1. SpaceX 全股票收购 Cursor:这笔 600 亿美元的交易将 AI 编程工具市场进一步纳入马斯克生态,也标志着开发者工具成为巨头 AI 军备竞赛的制高点。
  2. Anthropic Fable 5 / Mythos 5 遭美商务部下线:因一句 "Fix this code" 触发出口管制,Dario Amodei 本周赴华盛顿谈判,事件持续发酵。
  3. 智谱 GLM-5.2 与月之暗面 Kimi K2.7-Code 相继开源:中国开源模型在 1M 上下文与编程专用模型上继续施压闭源 frontier。
  4. DeepSeek 完成首轮融资:超过 500 亿元人民币(约 74 亿美元)、估值突破 500 亿美元,继续刷新中国大模型公司的融资纪录。
  5. Agentjacking 攻击曝光:针对 Claude Code、Cursor、Codex 的假 Sentry 错误注入,85% 成功率,再次敲响智能体安全警钟。

一句话串起本周主线:模型开源、资本整合、监管收紧、安全反噬四条线同时加速,AI 行业正从能力竞赛进入治理与商业化并行的深水区。

一、大模型前沿动态

1. 智谱 GLM-5.2 以 MIT 许可证开源权重

Open Knowledge Format (OKF)

版本 0.1 — 草案

OKF 是一种开放、对人类和智能体友好的格式,用于表示知识——即围绕数据和系统的元数据、上下文和精心整理的洞察。它旨在由人类编写、由智能体生成、跨组织交换,并由两者共同消费。

该格式有意保持极简:一个由 Markdown 文件和 YAML 前置元数据组成的目录。没有 Schema 注册中心,没有中央权威机构,也不需要任何特定工具。如果你能 cat 一个文件,你就能读取 OKF;如果你能 git clone 一个仓库,你就能分发它。

1. 动机

面向 AI 智能体的知识表示领域正在快速演进,许多互不兼容的约定正在涌现。OKF 的立场是,知识最好用常见、已建立的格式来表示,这些格式应具备以下特性:

  • 无需工具即可被人类阅读
  • 无需定制 SDK 即可被智能体解析
  • 可在版本控制中进行差异比较
  • 可跨工具、组织和时间迁移

该格式保持最低限度的主观性。它仅标准化一小套结构约定,使知识语料库能够自我描述——除此之外的一切留给生产者自行决定。

目标

  1. 定义一种通用格式,增强型智能体可以写入其中。
  2. 告知消费型智能体应如何读取和遍历它。
  3. 促进知识跨系统和组织的交换
  4. 标准化少量必需字段,使内容能够被有意义地消费。

非目标

  • 定义固定的概念类型分类体系。
  • 规定存储、服务或查询基础设施。
  • 取代领域特定 Schema(Avro、Protobuf、OpenAPI 等)——OKF 引用它们,而非包含它们。

Kilo Code AI 代码生成率与归因分析 — 系统设计

范围:Kilo CLI (packages/opencode/) / VS Code Extension (packages/kilo-vscode/) / Kilo Cloud (后端归因引擎)

执行摘要

本方案解决的核心问题是:精确量化 AI 在最终代码库中的实际贡献比例。现有方案(包括行业通用的"行数计数法")只能回答"AI 被接受了多少行",但无法回答"这些被接受的代码有多少存活到了最终提交,以及被人类修改了多少"。

本方案在 Kilo Code 现有架构上,引入 AST-aware MinHash 指纹归因引擎(基于 k-Shingle + LSH),构建一条从 AI 代码生成瞬间到 Git 最终提交的全链路追踪能力。三套代码生成路径(Tab 补全、Chat 对话、Agent 子任务)统一采集代码指纹,服务端在 Git 提交阶段进行归因匹配,最终产出精确到行级的 AI 贡献占比。

我可以 100% 证实,Qwen3.6-27B 在处理编程任务时是一款非常出色的本地模型。在过去的一个半月里,我几乎每天都在使用它,要么是在我的 M2 Ultra 上,要么是在我的 RTX 5090 电脑上。我用它来处理 ggml-org 中一些简单乏味的日常任务——没什么特别惊艳的,但对一个维护者来说绝对是个实用的工具。我想如果我不用把大量时间花在审查 PR(拉取请求)上的话,我使用它的频率还会高得多。目前,我使用了一个非常轻量级的环境——精简了所有内容的 pi agent(pi -nc --offline),并加了一段简短的系统提示词,以便让它更符合我的风格。 来源: Simon Willison 的网络日志

Georgi Gerganov

SpaceX S-1 招股说明书数据可视化网站

这是一个使用 Kimi 网站 基于 SpaceX S-1 招股说明书SpaceX 官方网 制作的网站,以视觉化的方式展示了据称提取自 SpaceX 于 2026 年 5 月 20 日向 SEC 提交的 S-1 注册声明的数据。整体风格偏向科幻和未来感,配有 AI 生成的航天主题图片。

网站内容可以分为以下几个主要板块:

1. 使命宣言与关键数据概览

  • 核心理念:"让生命成为多行星物种",强调通过第一性原理思维颠覆航天工业。
  • 核心运营数据
    • 太空发射:170 次/年(2025 年)
    • 星链星座:约 9,600 颗在轨卫星,覆盖 164 个国家,1,030 万订阅用户
    • 星舰研发:2025 年投入 30 亿美元+
    • AI 算力:COLOSSUS 训练集群,1GW 规模

2. 财务数据 · 星际商业版图

  • 2025 年收入:186.74 亿美元,同比增长 +33.2%
  • 2026 年 Q1 收入:环比增长 +15.4%
  • 2025 年入轨载荷:占全球轨道载荷质量的 80% 以上
  • 2025 年发射次数:170 次(2024 年为 138 次)
  • 猎鹰 9 号成功率:行业领先可靠性
  • Starlink ARPU:每用户每月收入(2026Q1 数据)

audio2sub — 音频转字幕工具

基于 OpenAI Whisper 的命令行工具,将音频文件批量转写为 VTT / SRT 格式字幕。

环境要求

依赖 说明
Python ≥ 3.8
PyTorch Whisper 的运行时依赖,自动安装
openai-whisper 语音识别引擎
ffmpeg 音频解码,系统级安装

安装步骤

1. 安装 ffmpeg

  • macOS:
brew install ffmpeg
  • Ubuntu / Debian:
sudo apt update && sudo apt install ffmpeg

2. 安装 openai-whisper

pip install openai-whisper

该命令会自动拉取 torch 等依赖。首次运行时 Whisper 模型文件会下载到 ~/.cache/whisper/

⚠️ macOS 环境注意事项

使用系统 Python 或 miniconda 安装 whisper:

# miniconda(推荐,已预装 torch)
/opt/miniconda/bin/pip install openai-whisper

# 或系统 Python
/usr/bin/python3 -m pip install openai-whisper

脚本文件

编写文件:audio2sub.py

随着可用的软件越来越像拧开水龙头一样唾手可得,我感到很多事情都在发生变化。杰文斯悖论开始显现,我对软件的需求也在大幅增长。你可以要求任何东西——解释器、可视化工具、仪表盘、定制的单次使用应用……你可以把测试套件扩大 10 倍,自动优化代码,运行大型研究项目并用自定义 HTML 展示结果,什么都可以!《黑客帝国》里说的「解放你的思想」。来源: Simon Willison 的网络日志

Andrej Karpathy

AI编码助手代码归因与贡献占比量化系统设计

这是一个非常实际的工业需求。MinHash 在这个场景中不是直接检测"是否 AI 生成",而是作为代码指纹匹配引擎,追踪"AI 原始输出 → 人修改后最终代码"的相似度与存活比例。

下面给出完整的AI 生成代码占比统计系统设计方案。

一、问题定义:什么是"AI 生成代码占比"

在智能体编码助手(GitHub Copilot、Kilo Code、Cursor 等)的工作流中,代码的生命周期通常是:

AI 生成建议 → 人接受/修改 → 进入代码库 → 后续迭代中被修改

我们需要统计的是最终代码库中,可追溯至 AI 原始生成的代码比例。这不是简单的"谁按了 Tab 键",而是:

统计维度 含义 计算方式
AI 原始贡献率 AI 生成的代码在最终代码中的存活比例 匹配上的代码行 / 总行数
人修改深度 人在 AI 代码基础上做了多大改动 1 - (AI 原始代码保留率)
人效提升系数 有 AI 辅助时人均产出 vs 无 AI 辅助 对比实验或历史基线

二、为什么 MinHash 适合这个场景

核心挑战

  1. 人会修改:AI 生成的代码被人接受后,通常会修改变量名、加注释、调逻辑,文本相似度会下降
  2. 代码重构:函数拆分、类提取等操作会让纯文本匹配失效
  3. 规模问题:一个团队每天可能产生数千次 AI 交互,需要快速匹配

MinHash 的优势

深入浅出 k-Shingle:海量文本去重的防篡改利器

在文本挖掘和信息检索领域,kk-Shingle(通常也被称为 kk-gram)是一种将连续的文本切分成固定长度碎片的技术。它是海量文本去重(如 MinHash + LSH 架构)中极其关键的数据预处理阶段

简单来说,它的核心任务是:把一篇文章(一维的字符串)转化成一个集合(Set),并且在这个集合中锁死文本的局部语序。

一、 核心概念:滑动窗口(Sliding Window)

kk-Shingle 的工作原理就像一把长度为 kk 的滑动尺子。尺子从文本的开头开始,每次框住 kk 个单位的内容作为一个 Shingle,然后向右平移一个单位,重复这个过程,直到文本结束。

根据具体需求,这里的“单位”可以是字符(Character),也可以是单词(Word)

  • 基于字符的 kk-Shingle:通常用于拼写检查、DNA 序列分析或中文字符处理。
  • 基于单词的 kk-Shingle:通常用于英文等有天然空格分隔的文本去重与防抄袭。

直观案例演练

我们以短语 abcde 为例,来看看在不同的 kk 值下,基于字符切分出来的 kk-Shingle 集合是什么样的:

  • k=1k = 1(尺子长度为 1):每次只框一个字母。
  • 集合结果:{ "a", "b", "c", "d", "e" }

海量文本去重与相似度检索:从 Jaccard 到 MinHash 的完整技术指南

问题背景:为什么百亿级去重不可能暴力求解?

在互联网大数据场景中,如何从海量数据(如百亿网页、千万级商品描述、巨大的开源代码仓库)中快速找出重复或高度相似的内容?这是一个极其经典的工业界痛点。

最朴素的想法是:对文章进行分词,转成集合后两两比对。若有 NN 篇文档,需要比较 N(N1)2\frac{N(N-1)}{2} 次。当 N=107N = 10^7(一千万)时,比较次数约为 50 万亿次。即便单次比较仅需 1 微秒,也需要 1.6 年 才能跑完。这种 O(N2)O(N^2) 复杂度的算法会导致服务器直接卡死崩溃。

本文将结合数学原理、算法推导与工程实战,深入拆解 Jaccard 相似度 的直觉陷阱,以及 MinHash(最小哈希) 算法如何对高维稀疏数据完成降维打击,最终给出可直接落地的工业级实现方案。

一、Jaccard 相似度:精准度量及其直觉陷阱

Jaccard 相似度(Jaccard Similarity) 是衡量两个集合重合度的标准数学方法。其核心思想非常直观:看两个集合的交集(共同拥有的元素)占它们并集(总共拥有的元素)的比例。

数学公式定义为:

J(A,B)=ABABJ(A, B) = \frac{|A \cap B|}{|A \cup B|}

1. 经典直觉陷阱:为什么你常常会算错?

端侧AI:Gemma 4 12B 创新架构与 LiteRT-LM 本地部署指南

Gemma 4 12B

Gemma 4 12B 是谷歌最新推出的一款原生、无编码器(Encoder-free)的统一多模态大模型。它的核心定位是将高水平的“智能体(Agentic)”和多模态能力直接带到用户的笔记本电脑等日常消费级硬件上。

以下是对 Gemma 4 12B 大模型的详细介绍:

1. 创新的统一架构:无编码器设计(Encoder-free)

与传统的多模态模型(通常需要使用独立的、冻结的视觉或音频编码器将数据转化为文本格式)不同,Gemma 4 12B 采用了统一的、仅解码器(Decoder-only)的 Transformer 架构

  • 视觉嵌入器(Vision Embedder):仅有 35M 参数,取代了传统复杂的视觉 Transformer 层。它将 48x48 像素的原始图像块(Patches)通过单次矩阵乘法直接投影到大语言模型(LLM)的隐藏维度中,并利用 X 和 Y 矩阵的坐标查找技术,直接将空间位置信息附带在输入中。
  • 音频波形投影(Audio Wave Projection):完全取消了独立的音频编码器。它直接将 16 kHz 的原始音频信号切片为 40ms 的帧(每帧包含 640 个浮点数),并通过线性投影无缝输入到 LLM 的空间中。