Install
openclaw skills install @thcjp/google-fonts-tool-pro面向团队与企业,支持GDPR合规自托管、字体子集化、多语言字体系统治理及性能预算的专业Google Fonts管理工具。
openclaw skills install @thcjp/google-fonts-tool-pro功能说明: 本技能涵盖 中文交互、提升工作效率、化流程、化工作流场景 等核心能力。
专业版面向团队与企业,在免费版加载优化基础上,扩展 GDPR 合规自托管、字体子集化、字体系统(令牌、字阶、多语言)治理与性能预算。搭配方案与免费版兼容,已有搭配可直接纳入字体系统.
| 能力 | 说明 | 专业版增强 |
|---|---|---|
| 自托管 | 下载并自托管字体文件 | GDPR 合规 |
| 子集化 | 按语言/字符集生成子集 | 自动化流水线 |
| 字体系统 | 令牌 + 字阶 + 多语言映射 | 团队共享 |
| 性能预算 | 字体体积预算与 LCP 优化 | 构建期卡控 |
| 合规审计 | 字体许可与版权审计 | 全量清单 |
技术实现要点:核心能力基于input_params参数与output_format配置实现,支持创建/查询/修改/删除等操作模式,通过config_options进行运行时配置. |
用input_params参数进行配置.
处理: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回核心功能执行的响应数据,包含状态码、结果和日志.
input_params参数,支持创建/查询/导出操作用config_options参数进行配置.
处理: 解析参数配置与调用的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回参数配置与调用的响应数据,包含状态码、结果和日志.
config_options参数,支持修改/重置/导入操作用output_format参数进行配置.
处理: 解析结果处理与输出的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回结果处理与输出的响应数据,包含状态码、结果和日志.
output_format参数,支持导出/保存/转换操作
能力覆盖范围:本skill的核心能力覆盖以下场景关键词:面向团队的自托管、合规与多字体系统、治理工具、面向团队与企业的、Google、Fonts、子集化与字体系统、治理专业工具、合规自托管与子集、字体性能预算与、字体版权与许可合等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.# 用 google-webfonts-helper 下载
curl -o inter.woff2 "https://gwfh.mranftl.com/api/fonts/inter?download=zip&subsets=latin&variants=regular,600"
# ...
# 自托管 @font-face
@font-face {
font-family: 'Inter';
src: url('/fonts/inter-400.woff2') format('woff2');
font-weight: 400;
font-display: swap;
}
/* 字体令牌 */
:root {
--font-display: 'Playfair Display', serif;
--font-body: 'Inter', system-ui, sans-serif;
--font-mono: 'JetBrains Mono', monospace;
/* 字阶(模块化比例 1.25) */
--fs-1: 3.05rem; /* h1 */
--fs-2: 2.44rem; /* h2 */
--fs-3: 1.95rem; /* h3 */
--fs-body: 1rem;
}
/* 多语言映射 */
:lang(zh) { --font-body: 'Noto Sans SC', sans-serif; }
:lang(ja) { --font-body: 'Noto Sans JP', sans-serif; }
{
"font_budget_kb": 120,
"preload": ["Inter-400.woff2", "Inter-600.woff2"],
"lcp_text_font": "Inter-400.woff2",
"subset_strategy": "latin",
"fallback_metrics": true
}
<!-- LCP 文字字体预加载 -->
<link rel="preload" href="/fonts/inter-400.woff2" as="font" type="font/woff2" crossorigin>
以下场景谷歌字体工具专业版不适合处理:
需要安全检测、合规审计、质量检查、加密防护时使用。不适用于非本工具能力范围的需求.
@font-face.子集化流水线(font-pipeline.json):
{
"fonts": [
{"family": "Inter", "weights": [400, 600], "subsets": ["latin"]},
{"family": "Noto Sans SC", "weights": [400], "subsets": ["chinese-simplified"]}
],
"formats": ["woff2"],
"output": "/fonts/",
"audit_license": true
}
preload,其余按需.| 项目 | 免费版 | 专业版 |
|---|---|---|
| 搭配方案 | 相同 | 相同(纳入系统) |
| 加载方式 | CDN | 自托管 |
| 子集 | 基础 | 自动化 |
| 性能预算 | 不支持 | 支持 |
Q1:自托管比 CDN 快吗? A:若你的 CDN 比 Google 更近则更快,且规避 GDPR 风险. Q2:子集化会丢字符吗? A:按语言子集只保留该语言字符,超出子集的字符回退到下一字族. Q3:字体许可怎么查? A:专业版合规审计会列出每款字体的许可类型与商用范围. Q4:CJK 字体太大怎么办? A:按语言子集切片 + 按需懒加载,首屏只加载首屏所需字符. Q5:专业版有优先支持吗? A:有。专业版享字体系统设计与性能优化咨询.
按语言自动生成子集,CJK 字体按需切片:
# 用 glyphhanger 分析页面用到的字符
glyphhanger --whitelist=zh --subset=*.woff2 --formats=woff2
# ...
# 按页面子集(仅首屏字符)
glyphhanger --spider https://example.com --subset=font.woff2
子集策略:
latin: 英文站点默认
latin-ext: 含欧洲扩展字符
cjk-sliced: 按首屏字符切片,懒加载其余
dynamic: 运行时按用到的字符动态子集
首屏文字字体直接影响 LCP,需重点优化:
<!-- 1. 预加载 LCP 文字字体 -->
woff2" as="font" type="font/woff2" crossorigin>
# ...
<!-- 2. 关键 CSS 内联字体声明 -->
<style>
@font-face {
font-family: 'Inter';
woff2') format('woff2');
font-display: swap;
unicode-range: U+0000-007F; /* 仅 latin */
}
</style>
许可类型速查:
OFL (SIL Open Font License): 可商用、可修改、需附带许可
Apache 2.0: 可商用、可修改、需声明
Ubuntu Font Licence: 可商用、有 Redistribution 限制
商业许可: 需购买授权,按用户数/设备数计
# ...
审计要点:
- 商用前确认许可类型
- OFL 字体需随分发附带 LICENSE 文件
- 修改后的字体需更名(OFL 要求)
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| google-webfonts-helper | 子集化工具 | 自托管时必需 | gwfh.mranftl.com |
| glyphhanger | 子集分析 | 推荐 | npm install -g glyphhanger |
| LLM API | API | 必需 | 由 Agent 内置 LLM 提供 |
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
{
"success": true,
"data": {
"result": "谷歌字体工具专业版处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "google fonts pro"
}
},
"execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
"error": null
}
| 风险类型 | 防范措施 |
|---|---|
| API密钥泄露 | 通过环境变量配置,禁止硬编码到代码或配置文件中 |
| 命令执行风险 | 仅执行白名单命令,避免拼接用户输入到命令行参数中 |
| 网络通信安全 | 使用HTTPS协议,验证SSL证书有效性 |
| 敏感数据暴露 | 输出结果中不包含密钥、令牌等敏感信息 |
使用前请确认已阅读依赖说明章节,确保运行环境满足安全要求。