用途
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,其他平台会停止。