mcpField
C
calligraphy-composition

calligraphy-composition

github.com/mnhkahn创意与媒体012 次安装2 天前更新
代码仓库

关于 calligraphy-composition

calligraphy-composition 是用于查询行书字形的技能,可按文本或单字检索原始字形,并在缺字时合成。它适合需要展示书法字形或分析字形部件的场景,并优先选用字帖原字。

主要功能

  1. 01按文本检索行书字形
  2. 02查询单字原始字形候选
  3. 03查看部首与字形部件
  4. 04为缺失字形进行合成
  5. 05提供字形来源与图片链接

适用场景

  1. 01为一段文字收集行书字形
  2. 02查找单字的字帖原始字形
  3. 03分析汉字的部首和组成
  4. 04为字库缺字生成合成图像

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mnhkahn/cyeam-cli --skill calligraphy-composition

安装后在 Claude Code 中输入/calligraphy-composition确认已加载。

附带文件agents/openai.yaml

详细介绍

行书作品

检索文本或单个汉字的行书作品,查看部首和组成部分,并在需要时合成缺失字形。如需识别篆书图像,请使用单独的 seal-script-ocr 技能。

命令

cyeam mo guwen "兰亭序"                       # Retrieve glyphs for text
cyeam mo guwen "兰亭序" --ai-compose          # Synthesize missing glyphs only
cyeam mo char detail "之"                     # Original glyph candidates and sources
cyeam mo char composition "曦"               # Radicals and components
cyeam mo char compose "曦" --out char.png     # Force component-based synthesis

字形选择规则

当用户要求书写、返回或展示一个汉字时,请先查找原始字形;不要默认使用 char compose。

  1. 对于单个汉字,运行 cyeam mo char detail <char>;如有候选项,请使用原始字形。
  2. 对于一段文字,运行 cyeam mo guwen <text>。默认情况下,它只返回库中的原始字形;缺失字形为空。
  3. 仅当没有原始候选项、文本中存在缺失字形,或用户明确要求基于部件进行合成时,才使用合成。文本请使用 guwen --ai-compose,单个汉字请使用 char compose。

char compose 始终会强制基于部件进行合成,即使已有完整的原始字形也是如此。例如,请先查询 char detail "无";仅当适合基于部件合成时,才使用 char compose "无"。

图像提供方式

当用户想查看字形或书法图像时,请将选定候选项的 image URL 嵌入为 Markdown 图像,并附上其 source。不要只返回 URL。

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

![无](https://res.cloudinary.com/.../word.webp)

char detail 返回的 URL 指向原始字帖图像,可直接嵌入。不要仅为了获取可展示的图像而改用 char compose。仅当客户端无法渲染 Markdown 图像时,才使用图像链接作为备用方案。

输出与范围

  • guwen、char detail 和 char composition 会将 JSON 写入标准输出。
  • char detail 的候选项包含原始字形图像及其来源。
  • char compose 会将 PNG 写入必需的 --out 路径。它始终会合成部件,不代表原始字帖字形。
  • 此工作流适用于行书,不适用于楷书或隶书。
  • --ai-compose 仅补齐缺失字形;请保留现有原始字形。
  • 无需登录。

安装

安装前请查看命令。这些示例固定使用 v1.1.4,而非最新版本,并会下载可执行文件归档。 仅在需要使用 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 发布版本下载所选压缩包,下载可能会重定向到 GitHub 的资源 CDN。提取时,仅验证固定的 SHA-256 并提取 cyeam。安装验证会禁用分析和更新检查。
  • 书法查询: mo guwen 和 mo char detail/composition/compose 会将所选文本、字体和合成选项发送到 https://www.cyeam.com/mo/api/*。合成的图像会写入 --out 指定的位置,这可能会覆盖现有文件。原始图像可能来自 Cloudinary 或其他图像 CDN;显示这些图像时会请求对应的 URL。
  • 分析: 默认情况下,会向 https://us.i.posthog.com 发送命令名称、CLI 版本、系统信息和随机安装 ID。服务器可能会根据外发 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

评论

支持 Markdown