SuperAPI AI 工具集

calligraphy-composition

设计与创作

查看项目

更新于 10-27 19:42

技能介绍

用途

calligraphy-composition 用于组装中文行书书法。它可以检索文本或单个汉字的行书字形,查看字形的原始候选与来源,检查汉字的部首与部件构成,并在缺少原始字形时按部件合成缺失的字形。

该技能覆盖行书(行书),不涉及楷书(楷书)或隶书(隶书)。如需篆书图像识别,请使用单独的 seal-script-ocr 技能。

主要能力

  • 检索文本的行书字形:cyeam mo guwen "兰亭序"
  • 仅合成缺失字形:cyeam mo guwen "兰亭序" --ai-compose
  • 查询单个汉字的原始字形候选与来源:cyeam mo char detail "之"
  • 查询汉字的部首与部件构成:cyeam mo char composition "曦"
  • 强制按部件合成单个汉字并输出 PNG:cyeam mo char compose "曦" --out char.png

字形选择规则

当被要求书写、返回或显示某个汉字时,应优先查找原始字形,不要默认使用 char compose。

  • 单个汉字:运行 cyeam mo char detail <char>,当存在候选时使用原始字形。
  • 一段文本:运行 cyeam mo guwen <text>。默认只返回字库中的原始字形,缺失的字形为空。
  • 仅在以下情况使用合成:原始候选不存在、文本包含缺失字形,或用户明确要求按部件合成。文本使用 guwen --ai-compose,单个汉字使用 char compose。
  • char compose 始终强制按部件合成,即使存在完整的原始字形。例如,先查询 char detail "无";仅在适合按部件合成时才使用 char compose "无"。

图片交付

当用户想查看字形或书法图片时,将所选候选的图片 URL 作为 Markdown 图片嵌入,并附上其来源。不要只返回 URL。

示例:

「无」 — 王羲之《临锺繇千字文》

无

来自 char detail 的 URL 指向原始字帖图片,可直接嵌入。不要仅为获得可显示的图片而切换到 char compose。仅当客户端无法渲染 Markdown 图片时,才使用图片链接作为后备。

输出与范围

guwen、char detail 和 char composition 将 JSON 写入 stdout。

char detail 候选包含原始字形图片及其来源。

char compose 将 PNG 写入必需的 --out 路径。它始终合成部件,不代表原始字帖字形。

--ai-compose 仅填充缺失字形;保留已有的原始字形。

无需登录。

安装

安装前请先审阅命令。以下示例固定使用 v1.1.4(而非 latest),并下载可执行文件归档。仅在需要 CLI 时安装;不要为每条命令重复安装。

macOS / Linux:在用户目录中校验并安装

在 Bash 或 Zsh 中运行,需要 curl、tar、install 以及 shasum 或 sha256sum。脚本会在 arm64 或 x86_64 上选择 macOS / Linux,在其他平台停止。

(
  set -eu
  version='v1.1.4'
  case "$(uname -s)/$(uname -m)" in
    Darwin/arm64)
      asset='cyeam_Darwin_arm64.tar.gz'
      sha256='06b5af004ab4f0f05d5829ea6bd18b97c4449c262af7df14c67175f7d3cb29db' ;;
    Darwin/x86_64)
      asset='cyeam_Darwin_x86_64.tar.gz'
      sha256='107342bb9d2fa444b96155c468e71b8cc63e0f5ad0acc784698afe221548efa6' ;;
    Linux/aarch64|Linux/arm64)
      asset='cyeam_Linux_arm64.tar.gz'
      sha256='ed87697f3948bead67b585e9881c3bef20e8d2d903beb5b125587281a5091c5b' ;;
    Linux/x86_64)
      asset='cyeam_Linux_x86_64.tar.gz'
      sha256='873d6805fab8ab56540bb034aaf2f57f12eb672fcabd322ebe401e8250a5966d' ;;
    *) echo 'Unsupported platform; see the pinned release.' >&2; exit 1 ;;
  esac
  workdir=$(mktemp -d)
  trap 'rm -rf "$workdir"' EXIT
  cd "$workdir"
  curl --fail --show-error --silent --location --proto '=https' --proto-redir '=https' \
    --output "$asset" "https://github.com/mnhkahn/cyeam-cli/releases/download/$version/$asset"
  printf '%s  %s\n' "$sha256" "$asset" > expected.sha256
  if command -v sha256sum >/dev/null 2>&1; then
    sha256sum -c expected.sha256
  else
    shasum -a 256 -c expected.sha256
  fi
  # set -e prevents extraction or installation if download or verification fails.
  tar -xzf "$asset" cyeam
  mkdir -p "$HOME/.local/bin"
  install -m 0755 cyeam "$HOME/.local/bin/cyeam"
  CYEAM_CLI_NO_UPDATE_NOTIFIER=1 "$HOME/.local/bin/cyeam" --no-analytics version
)

该脚本仅写入临时目录和 ~/.local/bin/cyeam(替换已有二进制文件)。无需管理员权限;系统目录、服务和 shell 配置保持不变。为当前 shell 添加路径:

export PATH="$HOME/.local/bin:$PATH"

如需持久生效,将该行添加到 shell 配置中。

请查看 v1.1.4 发布页面和 checksums.txt 以获取校验和。更改固定版本时,需同时验证并替换版本号及其 SHA-256 值。校验和确认发布文件一致性;它们不是独立签名或安全审计。

外部请求与本地状态

安装:从固定的 GitHub Release 下载所选归档,可能重定向到 GitHub 的资源 CDN。在仅解压 cyeam 前校验固定的 SHA-256。安装校验会禁用分析并检查更新。

书法查询:mo guwen 和 mo char detail/composition/compose 会将所选文本、字体和合成选项发送到 https://www.cyeam.com/mo/api/*。合成图片写入 --out,可能覆盖已有文件。原始图片可能来自 Cloudinary 或其他图片 CDN;显示它们会请求其 URL。

分析:默认将命令名称、CLI 版本、系统信息和随机安装 ID 发送到 https://us.i.posthog.com。服务器可能根据出站 IP 推断位置。命令参数、图片内容和凭据不包含在内。ID 存储在 ~/.cyeam/analytics-id;可通过 --no-analytics 或 CYEAM_CLI_NO_ANALYTICS=1 禁用。

更新通知:最多每 24 小时检查一次 GitHub 最新发布,并将状态缓存到 ~/.cyeam/update-state.json。通知不会替换可执行文件。设置 CYEAM_CLI_NO_UPDATE_NOTIFIER=1 可禁用。显式的 cyeam update 命令会下载并校验最新发布,替换可执行文件,然后尝试通过 npx skills add 同步技能。如需保持在固定版本,请使用上述安装步骤。

若要在当前 shell 中仅保留此技能所需的网络请求:

export CYEAM_CLI_NO_ANALYTICS=1
export CYEAM_CLI_NO_UPDATE_NOTIFIER=1

适用场景

  • 需要查询或展示中文行书字形及其字帖来源。
  • 需要分析汉字的部首与部件构成。
  • 在字库缺少原始字形时,需要按部件合成缺失字形。
  • 需要将行书字形以图片形式嵌入展示。

限制

  • 仅覆盖行书,不涉及楷书或隶书。
  • 篆书图像识别需使用单独的 seal-script-ocr 技能。
  • char compose 始终按部件合成,不代表原始字帖字形。
  • 合成图片写入 --out 时可能覆盖已有文件。
  • 默认启用分析上报和更新检查,可通过环境变量禁用。
  • 安装脚本仅支持 macOS / Linux 的 arm64 或 x86_64,其他平台会停止。