dsh-color: 本地色彩解析、对比与调色板生成工具

前言

DeepSeek Harness (DSH) 的智能体在处理前端样式、设计规范或进行无障碍(WCAG)评估时,常需直接操作颜色数据。如果依赖网络查询或调用外部库,不仅增加延迟,还可能受限于网络环境。dsh-color 是一个为 DSH 设计的本地色彩工具箱,它将色彩处理能力内置于插件中,无需任何运行时依赖或网络请求即可完成复杂的颜色计算。

是什么

dsh-color 是一个纯数学实现的色彩工具库,由 TYEclipse 维护。它专注于解析和转换 CSS 颜色格式、计算 WCAG 2.0 对比度、查询 CSS 颜色名称以及生成和谐的色彩方案。所有计算均在本地完成,不产生副作用。

核心功能

该插件提供了以下核心能力:

  1. 色彩解析与转换
    支持将任意 CSS 颜色(包括 hex、rgb、hsl、hwb、CSS 命名颜色)解析为指定格式。支持 Hex 简写/全写(3/4/6/8 位)、传统与现代 RGB 语法、角度单位以及透明度处理。

  2. WCAG 对比度评估
    基于 WCAG 2.x 标准,计算两个颜色之间的对比度比率,并给出 AA/AAA 级别的通过/失败判定。支持普通文本和大型文本(≥18pt 或 ≥14pt 粗体)的阈值判断。

  3. 颜色名称查询
    支持按名称子串或精确值查找 CSS 颜色名称,并返回对应的 hex、rgb、hsl 和亮度值。

  4. 色彩方案生成
    基于基础色生成和谐的色彩组合,包括互补色、 analogous(类似色)、triadic(三角色)、split-complementary(分裂互补色)、tetradic(四角色)、square(正方形色)和 monochromatic(单色)。

  5. 色彩调整
    支持对颜色进行变亮、变暗、饱和、去饱和或色相旋转操作,结果同样支持 hex/rgb/hsl 输出。

安装与启用

安装该插件需要指定一个 DSH 配置文件(例如 web),因为 DSH 本身没有默认配置文件。

dsh plugin --profile web add github:TYEclipse/dsh-color

典型用法

安装完成后,可在 DSH 会话中直接调用以下命令:

颜色转换

// 将颜色名称转换为多种格式
convert_color("rebeccapurple")
// 输出: hex #663399, rgb(102, 51, 153), hsl(270, 50%, 40%), hwb(270 20% 40%)

// 指定输出格式
convert_color("#ff000080", format: "hex")
// 输出: #ff000080 (alpha 保留)

对比度计算

// 计算 CSS 颜色和 hex 颜色的对比度
contrast_ratio("#777777", "#ffffff")
// 输出: ratio 4.48 — fail for normal text, AA for large text

contrast_ratio("white", "hsl(0, 100%, 50%)")
// 输出: ratio 4.0 — AA for large text only

色彩方案

// 生成互补色方案
color_scheme("#336699", type: "triadic")

// 生成类似色方案,数量为 5
color_scheme("#ff0000", type: "analogous", count: 5)

// 生成单色方案,数量为 4
color_scheme("#336699", type: "monochromatic", count: 4)

色彩调整

// 将颜色变亮 25%
adjust_color("#336699", op: "lighten", amount: 25)

// 将红色色相旋转 120 度(变绿)
adjust_color("#ff0000", op: "hue", amount: 120)

使用说明与注意事项

  • Alpha 通道处理:在所有转换中,Alpha 通道会被保留。当 Alpha 小于 1 时,Hex 输出会自动转换为 8 位格式(带 alpha)。
  • WCAG 数学细节:对比度计算使用相对亮度(基于 sRGB 线性化),公式为 (L1+0.05)/(L2+0.05)。阈值设定为:普通文本 AA 4.5 / AAA 7,大型文本 AA 3 / AAA 4.5。
  • 色彩调整机制:亮度/饱和度的调整是基于通道值的百分比点数(0-100)进行偏移,超出范围会被截断;色相旋转支持任意角度。
  • 兼容性:支持 148 个 CSS 颜色名称及 transparent 关键字。
  • 依赖:完全零运行时依赖,纯数学计算,符合现代 CSS 行为(如超出范围的值截断)。

结语

dsh-color 为 DSH 智能体提供了坚实的本地色彩处理能力,使其无需网络即可完成从简单的格式转换到复杂的设计规范校验工作。所有功能均基于 MIT 许可证开源,适合在各类涉及视觉设计的自动化场景中使用。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜