Skip to content

[P3] OpenClaw 缺自己的标识,但 CC Switch 那个 SVG 不能直接用(需决策) #56

Description

@yujiezhang-ops

OpenClaw 目前用 Lucide 的 Waypoints 通用符号(agents.tsx:73),和其他四个有真实标识的 Agent 摆在一起确实不整齐。但直接采用 CC Switch 的那个 SVG 做不到「和其他图标一致地黑白切换」,两个独立原因,先说清再决定。

1. 它不是单色 glyph,技术上无法黑白切换

output/reference/cc-switch/src/icons/extracted/claw.svg 的实际内容:

<svg viewBox="0 0 120 120" fill="none">
  <linearGradient id="lobster-gradient">
    <stop offset="0%" stop-color="#ff4d4d"/>
    <stop offset="100%" stop-color="#991b1b"/>
  </linearGradient>
  <path ... fill="url(#lobster-gradient)"/>     <!-- 身体 -->
  <path ... stroke="#ff4d4d" stroke-width="3"/> <!-- 触须 -->
  <circle cx="45" cy="35" r="6" fill="#050810"/> <!-- 眼睛 -->
  <circle cx="46" cy="34" r="2.5" fill="#00e5cc"/> <!-- 高光 -->
</svg>

它的 metadata 也标着 defaultColor: "#ff4f40"

现有四个授权资产之所以能跟随主题黑白切换,是因为它们都是 fill="currentColor"单色 glyph —— 继承页面颜色是它们被设计出来的用法。这个龙虾有渐变、有三种硬编码颜色、有青色眼睛高光,要变成黑白就必须删掉渐变定义并重写每个 fill,那不是"配色跟随主题",那是改写他人的美术作品。

viewBox 也是 0 0 120 120,其余四个是 0 0 24 24

2. 它是第三方自绘,不是 OpenClaw 官方标识

docs/internal/cc-switch-reference-notes.md:79,85 已有结论:

OpenClaw 的标志是龙虾,不是螃蟹。 所以图标要以上游官方资产为准,不要以任何第三方项目的转绘为准——这一条对我们自己同样适用。

OpenClaw 是 CC Switch 自绘的彩色 SVG …… 不是官方 logo。

CC Switch 是 MIT,所以从它的许可看复制这个文件是允许的(需在 NOTICE 归属 Copyright (c) 2025 Jason Young)。问题在于它画的是 OpenClaw 的品牌 —— 一个第三方的转绘不能替 OpenClaw 授予我们再分发其品牌标识的权利。docs/distribution-compliance-policy.md:111 把未授权的第三方标识列为禁止的包内容。

这个仓库已经因为这个原因删过它一次:f298d66openclaw.svg 从 bundle 里移除,理由正是缺权利依据。

可选路径

  1. 维持通用符号(当前状态)。合规上最干净,代价是不够醒目。如果 Waypoints 不合适,可以换一个更贴合网关语义的 Lucide 图标 —— 这个随时能做,没有任何合规负担。
  2. 找 OpenClaw 官方矢量资产。上游仓库 docs/assets/ 下确实有过 pixel-lobster.svg(笔记 :70 记录,MIT)。如果能确认它就是官方标识、且 MIT 覆盖它,那就有了权利依据 —— 但仍需解决它是否单色的问题,非单色就无法黑白切换,只能保留原色(那反而与其余四个不一致)。
  3. 采用 CC Switch 的文件。技术上要抹掉渐变改单色,合规上要接受"第三方转绘代表官方品牌"这个风险。我不建议,两条都不成立。

需要决策的点

如果确认要走路径 3,请明确:接受修改第三方美术作品(抹渐变改单色),并接受用非官方转绘代表 OpenClaw 品牌。这两条都与 docs/distribution-compliance-policy.md 和上面那条既有结论冲突,属于产品决定而不是实现细节,所以我没有直接做。

优先级 P3:当前是可用状态,只是视觉上不够醒目,不阻塞任何功能。

相关 #44#53

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions