
Company News
Socket Joins New OpenJS Program to Fund Node.js Security Work
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.
@yikeai/cli
Advanced tools
Yike CLI 是 Yike 提供的命令行工具,可在终端或 AI Agent 中完成本地图片/视频/音频/文档上传、图片生成、视频生成、Yike AI 原子能力调用、媒资检查、异步任务管理,以及通过 STDIO 提供 MCP 代理。
yike ai 调用图片/视频编辑、脚本、提示词、声音与音频等原子能力yike mcp proxy 为 MCP Host 提供 STDIO 代理using-yike-cli Agent skill使用 npm 全局安装:
npm install -g @yikeai/cli
确认安装成功:
yike --version
yike --help
如果当前 npm registry 无法找到该包,请显式使用 npm 官方源:
npm install -g @yikeai/cli --registry=https://registry.npmjs.org
在终端中完成浏览器授权:
yike auth login
无法自动打开浏览器时,可以只输出登录地址:
yike auth login --no-open
检查登录状态和当前账号:
yike auth status
yike whoami
在无法完成浏览器回调的自动化环境中,也可以通过环境变量提供访问令牌:
export YIKE_API_TOKEN="<your-token>"
请勿把访问令牌写入脚本、日志或版本库。
查看当前配置:
yike config get
设置默认工作区:
yike config set workspaceId <workspaceId>
交互式选择该工作区中的项目:
yike config set projectId
脚本或 AI Agent 应先获取项目列表,再显式设置项目 ID:
yike config list projectId --format json
yike config set projectId <projectId> --format json
也可以通过 --workspace-id 和 --project-id 为单次生成覆盖默认配置。
yike generate image "一张未来感咖啡品牌海报" \
--aspect-ratio 16:9 \
--resolution 1K \
--wait
生成多张图片并输出 JSON:
yike generate image "暖色水彩风格的海边小镇" \
--n 2 \
--wait \
--format json
查看当前支持的模型和完整参数:
yike generate image --help
# Agent / 脚本读取当前可见模型、默认值和能力
yike generate image --help --format json
yike generate video "5 秒咖啡广告短片,镜头缓慢推进" \
--duration 5 \
--resolution 720P \
--wait
查看当前支持的模型和完整参数:
yike generate video --help
# Agent / 脚本读取参考输入、时长、分辨率、比例和音频能力
yike generate video --help --format json
结构化 help 只读取内置模型目录与本地白名单缓存,不发起网络请求;模型条目按 model + taskType + mode 扁平导出 capability manifest,通过输入/输出模态、typed parameters、参考素材和条件约束描述能力。字段缺失表示当前上游能力未声明,目录之外的显式 --model 仍会透传给服务端。完整字段与兼容规则见 docs/model-help-json.md。
生成命令在 dry-run 和提交前校验已知模型与已同步 taskType 的兼容性,错误时列出支持的任务类型;未知模型及尚未同步的显式 taskType 仍透传。视频生成的图片 mediaId 使用 --reference-image;--reference-media-id 表示视频参考。图片和视频的 --n 均为正整数,默认 1,数量会进入请求和积分预估。--size 必须为正整数 宽*高,--aspect-ratio 必须为正数 宽:高;格式正确的自定义比例仍透传给服务端。--format 只接受 json 或 text。
提交生成任务前,CLI 会展示预计积分消耗并请求确认。自动化流程可以先使用 --dry-run 检查计费估算和请求参数;JSON 中只有 estimation.matched: true 才表示预估有效,matched: false 是价格未知而不是免费,此时 insufficient 为 null。仅在预估有效且已经获得用户授权时使用 --yes 跳过确认。
本地图片或视频必须先上传为 Yike 媒资:
yike media upload "/absolute/path/to/reference.png" --format json
上传完成后,从 JSON 结果中取得非空的 mediaId,再传给生成命令:
yike generate video "让画面中的人物自然转身" \
--reference-image <mediaId> \
--wait \
--format json
支持的本地格式:
png、jpg、jpeg、bmp、webpmp4、movmp3、wav、m4a、aac(ADTS)、flac、oggpdf、doc、docx、txt、md、csv、xls、xlsx、ppt、pptx单文件大小上限与前端通用上传一致:图片 50 MiB、视频 4 GiB、音频 15 MiB、文档 100 MiB(按 1024 进制,等于上限允许上传)。media upload 与 oss upload 共用该检查;前端资产页或生成入口的额外限制由对应入口执行。
文档通过 CommonFile 通道申请上传凭证。上传成功不代表下游模型支持该格式,使用时仍需遵守对应命令的输入能力。
上传超时时,执行返回结果中的 resumeCommand 继续等待。上传或注册失败时,可以重新执行相同的 media upload 命令,CLI 会使用本地检查点继续处理。
外部工具已取得 CreateUploadMedia 响应时,运行 yike oss upload "<path>" --upload-info '<response-body-json>' --format json。--upload-info 直接接收未包裹的响应 body,不要再套 { "body": ... }。该命令无需登录,只上传 OSS 对象并返回 Uploaded,不会注册或等待 Yike 媒资。完整字段、程序调用与恢复规则见 OSS 直接上传。
HTTP(S) 素材地址和已有的 mediaId 可以直接传给相应的 --reference-image 或 --reference-video 参数,不需要重复上传。
不使用 --wait 时,生成命令会返回异步任务信息。可以使用任务 ID 继续查询:
yike job watch <jobId> --wait --format json
恢复本机记录的任务:
yike job recover <jobId> --format json
如果命令返回 resumeCommand 或 nextAction.command,建议直接执行该命令,以保留原任务的工作区、项目、轮询和输出格式参数。
Yike AI 的公开目录由 yike ai list --format json 返回,当前固定包含 15 项 core 和 4 项 supporting,共 19 项。命令只使用 yike ai 下的语义化路径与类型化参数,完整参数表、示例、结果门槛和不支持项见 skills/using-yike-cli/references/ai-capabilities.md。
先查看目录:
yike ai list --format json
提交示例:
yike ai image upscale image_123 --resolution 2K --dry-run --format json
yike ai video subtitle-generate video_123 --start 0 --dry-run --format json
yike ai audio music --prompt '轻快的夏日木吉他配乐' --dry-run --format json
yike ai voice-design submit --name 旁白 --bio '沉稳、清晰的成年声音' --dry-run --format json
yike ai job watch job_123 --format json
15 项 core 提交命令为:yike ai image free-view、yike ai image upscale、yike ai image relight、yike ai image inpaint、yike ai video trim、yike ai video upscale、yike ai video subtitle-remove、yike ai video subtitle-translate、yike ai video voice-translate、yike ai video understand、yike ai script to-shotlist、yike ai prompt reverse、yike ai video audio-extract、yike ai video audio-demix、yike ai audio music。4 项 supporting 提交命令为:yike ai video subtitle-generate、yike ai voice-design submit、yike ai audio-resynth submit、yike ai audio tts;智能字幕使用 subtitle-get,声音设计使用 get,音频重合成使用 get/batch-get,TTS 使用 audio get,另有 ai job get/watch/list,详见完整参考。智能字幕不提供批量查询。
TTS 先用 yike ai audio voices --all --format json 获取当前账号可见的全部音色,包含官方、上传和 AI 生成三个来源。可用 --source official --language zh --gender female 或 --name '播报' 筛选。输出 voices[] 包含 voiceId、名称、描述、语言、性别、年龄和可用的试听信息;complete: true 表示所选范围完整。未传 --all 时只读取每个所选来源的一页,按 sources[].nextPageNo 继续分页。音色列表查询只读,不创建生成任务。
将列表返回的真实 voiceId 传给 yike ai audio tts --voice <voiceId> --text '你好',先 --dry-run --format json,确认后使用 --yes --wait --format json。CLI 自动查询并补齐音色名称、性别;dry-run 同样需要登录和联网。可成对传入 --emotion happy --emotion-intensity 0.3;情绪支持 happy/angry/sad/fear/hate/low/surprise/neutral,强度 0–1、步长 0.01,Child/OldAge 音色最高 0.5。不要传试听媒资 ID 或旧 NLS 音色短名,音频格式由服务端决定,不接受 --audio-format。保存了本地记录的旧 TTS 任务仍按原查询协议恢复。
本地图片/视频必须先执行 yike media upload "<path>" --format json,只解析 stdout;只有返回非空 mediaId 且 status 为 Normal 才能提交。提交先用完整参数执行 --dry-run,展示最终参数并等待用户确认,再以相同业务参数改用 --yes;--dry-run 不消耗额度,真实提交可能消耗额度。需要结果时追加 --wait,提交返回的 jobId、status: Submitted 和 resumeCommand 都不代表完成。只有终态成功且 result.media、result.text、result.subtitles 或 result.voices 等领域结果存在,才可报告完成;超时原样执行 resumeCommand,失败不要静默重提。
不得传入或转发 URL、path、method、header、token、Authorization 或原始请求体。JSON 只解析 stdout,错误或 text 输出不提取结构化结果。yike smart-job 不是公开命令或产品概念,不得公开或使用。
mcp proxy 仅在安装包预配置了对应 server alias 时可用。当前公网生产包 @yikeai/cli 未配置 yike-aigc;以下配置只适用于已启用该 alias 的预发或定制构建,否则命令会在联网和鉴权前返回未配置错误:
command: yike
args: ["mcp", "proxy", "--server", "yike-aigc"]
mcp proxy 是长期协议进程和长期登录态委托层。Host 不传 --token、--header、--url 或 --resource,也不在 Host 内做 OAuth;代理只使用保存在 Yike CLI 中的 OAuth access/refresh pair,并把当前有效 access token 发送到构建期固定的获准 MCP HTTPS Origin。环境 PAT 和保存 PAT-only 会被明确拒绝,并提示执行 yike auth login。
该进程的 stdout 只承载 JSON-RPC,stderr 只用于诊断;不要追加 --format 或解析普通结果。当前构建可用的 server alias 与参数边界见 yike mcp proxy --help。
查询一个或多个媒资:
yike media info <mediaId> --format json
检查视频时长和最低分辨率:
yike media doctor <mediaId> \
--expect-duration 5 \
--min-width 1280 \
--min-height 720 \
--format json
全局安装或升级 CLI 时,会自动尝试将内置的 using-yike-cli skill 同步到常见 Agent skill 目录。需要手动安装或修复时执行:
yike self skill install --format json
安装到指定的 skill 根目录:
yike self skill install --target <skill-root> --format json
除 mcp proxy 外,Agent 调用 CLI 时建议统一使用 --format json,并根据返回的 jobId、mediaId、resumeCommand 或 nextAction.command 继续后续操作。mcp proxy 按专用协议规则运行,不能追加 --format。
Yike CLI 默认通过 HTTPS 向 https://gm.mmstat.com/yikecom.cli.use 发送一条 A+ Click(CLK)类型的命令终态事件,用于统计命令使用量、成功率、版本分布和执行耗时。内网包 @ali/yike-cli 与公网包 @yikeai/cli 均默认启用;--help、-h、help、--version 和 -V 不发送事件。
单条事件只包含以下白名单字段:
generate image、media upload、oss upload;yike ai 各子命令与 mcp proxy 同样按完整命令路径记录,例如 ai image free-view、ai job get、ai audio voices、mcp proxy。命令路径之后的位置参数(素材 ID、prompt、配置键)以及筛选条件、音色资料、--server、--model 等选项和取值一律不上报;无法识别的命令固定记录为 unknownsuccess、failure 或 pending 执行结果、退出码和执行耗时run_id从遥测协议 schema_version: 2 起,后台 reporter 还会在 A+ 请求的顶层 cna 字段发送一个持久化的随机匿名访客 ID,用于对同一配置目录的多次执行去重。ID 首次使用时随机生成,保存在 ~/.yikecli/telemetry-id(设置 YIKE_CONFIG_DIR 时位于该目录),文件权限为 0600;并发首次运行复用同一个 ID。它不取自浏览器、账号、token、主机名或硬件信息,不会随登录、退出登录或 CLI 升级变化。内网包和公网包使用同一配置目录时共享这个 ID。
因此事件 PV 表示执行事件数,UV 的目标口径是独立匿名配置实例数,不是独立账号或真实人数。同一账号在不同电脑上分别计数;复制整个配置目录会复制访客身份,删除 telemetry-id 后的下一次上报会生成新身份。历史缺少稳定标识的数据无法通过此次修改重新去重。
关闭匿名统计、执行帮助或版本命令时不会创建或读取访客 ID。ID 的读写仅发生在后台 reporter;文件损坏或无法读写时,reporter 跳过上报并以非零状态退出,不临时生成替代身份,也不影响 CLI 结果。确认需要重置匿名身份时,可删除上述独立文件;无需删除登录配置。
CLI 不会上报原始命令行参数、选项值、prompt、文件路径、素材或任务 ID、URL、token、Cookie、配置内容、错误消息或堆栈、trace 内容、Git 用户名、邮箱及 Yike 账号信息。CLI 只把白名单事件交给一个 detached 后台 reporter 进程并立即继续退出,不等待 DNS、TLS 或服务端响应;reporter 自身的网络请求最长运行 1 秒,上报失败不会改变原命令的耗时、输出和退出码。
可以持久化关闭匿名使用统计:
yike config set telemetryDisabled true
也可以只对当前环境关闭:
export YIKE_TELEMETRY_DISABLED=1
true 和 yes(不区分大小写)也会关闭上报,0、false、no 会显式启用;空值或其他非法值不覆盖已保存的 telemetryDisabled。旧变量名 YIKE_DISABLE_TELEMETRY 仍兼容,但新配置应使用 YIKE_TELEMETRY_DISABLED。排查 reporter 无法启动时,可临时设置 YIKE_TELEMETRY_DEBUG=1;它只向 stderr 输出脱敏的 spawn 错误码。
环境变量会覆盖本地保存的默认配置:
| 变量 | 用途 |
|---|---|
YIKE_API_TOKEN | Yike API 访问令牌 |
YIKE_WORKSPACE_ID | 默认工作区 ID |
YIKE_PROJECT_ID | 默认项目 ID |
YIKE_PRODUCTION_ID | 项目 ID 的兼容变量 |
YIKE_MODEL | 默认生成模型 |
YIKE_TELEMETRY_DISABLED | 设为 1、true 或 yes 时关闭匿名使用统计 |
YIKE_DISABLE_TELEMETRY | 匿名使用统计关闭开关的兼容旧变量名 |
YIKE_TELEMETRY_DEBUG | 设为 1、true 或 yes 时输出脱敏的 reporter spawn 错误码 |
检查是否有新版本:
yike update --check
升级到最新版本:
yike update
使用 npm 卸载:
npm uninstall -g @yikeai/cli
yike: command not found检查 npm 全局可执行目录是否位于 PATH:
npm prefix -g
升级到 Node.js 20 或更高版本后重新安装。
确认使用的是 npm 官方 registry:
npm install -g @yikeai/cli --registry=https://registry.npmjs.org
重新执行:
yike auth login
重新获取当前账号可用的项目并设置正确的 projectId:
yike config list projectId --format json
yike config set projectId <projectId> --format json
本项目采用 MIT 许可证。
FAQs
Yike CLI for local media upload and generation workflows
The npm package @yikeai/cli receives a total of 281 weekly downloads. As such, @yikeai/cli popularity was classified as not popular.
We found that @yikeai/cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.

Company News
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.

Security News
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.

Research
/Security News
A malicious Firefox extension fetches its payload after installation to evade detection, steal Google session cookies, and automate account takeover.