1. 工作模式
- API Key、Base URL、模型、预设等全部配置只写入本机浏览器的
localStorage,不会上传到任何地方。
- 本站是纯静态页面,所有请求由你的浏览器直接发往你填写的 Base URL(跨域请求),不经过任何中继或代理服务器。
- 本站不记录、不上报请求内容与生成结果;页面关闭后除了浏览器本地配置外不留痕迹。
- API Key 会随请求直接交给该 Base URL 背后的服务方,其隐私政策由服务方决定;在公共设备上使用后请清除本地配置。
2. 原理
按「并发重复次数」发起多个完全相同的请求,每组独立流式接收输出;用正则 #(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{3})(?=[^0-9a-fA-F]) 按出现顺序实时捕获颜色,每组只保留前「每组颜色数量」个。颜色必须被后续非 HEX 字符收尾才算完整,因此分片截断不会把 6 位值误判成 3 位。实际发送的内容如下:
System Prompt
你是一个色彩提取引擎。请根据用户需求生成严格由十六进制色彩HEX组成的JSON数组,包含准确的${count}个颜色。格式范例:["#A1B2C3", "#FFFFFF"]。除了纯JSON格式数据本身外,严禁输出任何解释、注释、Markdown标签或无意义文字。
User Message
生成 ${count} 个颜色:<色彩主题描述>
- chat(经典 OpenAI):system 与 user 两条 messages,
reasoning_effort 按所选思考强度传入。
- response(新 OpenAI):system 与 user 拼接为单个
input(system\n\n需求:user),reasoning.effort 按所选思考强度传入。
- message(Claude):system 放
system 字段,user 放 messages,max_tokens 固定 4096,开启思考时使用 thinking.budget_tokens。
排序
开启「自动排序」后,每一行在流式追加时即插入到正确位置,导出的图像也按当前展示顺序绘制。排序算法由此时出现的「HSL 排序」开关决定:
- HSL 排序:先按色相 0–360° 排列,同色相再按明度、饱和度升序;无彩色(灰阶)按明度排在最前。视觉上是自然的色谱过渡。
- 关闭 HSL 排序(默认):把 HEX 当作十六进制整数升序比较(
#RRGGBB 数值越小越靠前),适合严格比对数据。两种算法下排序键相同的颜色都保持原始出现顺序。
关闭「自动排序」时 HSL 开关会一并隐藏,颜色按模型输出顺序展示。
共有色
先对每组内部去重(忽略大小写),统计每种颜色出现在多少个组中;保留出现组数严格超过一半(组数 ÷ 2)的颜色,统一转为大写,并按当前生效的排序算法排列,追加为最下方一行。该行始终自动排序,开启「共有色」时也会一并进入导出图像。
复制
点击任意色块即可复制其 HEX 值,右下角会给出提示。