Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion .tests/cindy-art.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -135,8 +135,9 @@ function createHarness(
}

test('manifest exposes only the four media preparation tools', () => {
assert.equal(manifest.version, '1.13.4');
assert.equal(manifest.version, '1.13.5');
assert.equal(manifest.minCindyVersion, '0.1.56');
assert.match(manifest.whenToUse, /未明确指定其它媒体生成渠道时,优先使用 Art/);
assert.equal(manifest.slots.includes('card'), false);
assert.deepEqual(
manifest.tools.map(({ name }) => name),
Expand Down Expand Up @@ -179,6 +180,12 @@ test('each operation uses the exact model configured by Host for that capability
});

assert.equal(image.ok, true);
assert.match(image.result.note, /cindy-media:\/\//);
assert.match(image.result.note, /只嵌入展示一次/);
assert.match(image.result.note, /resolve_local_path/);
assert.match(image.result.note, /xdt-image:\/\//);
assert.match(image.result.note, /xdt-video:\/\//);
assert.match(image.result.note, /不要扫描本地磁盘/);
assert.equal(image.result.request.modelId, hostPreferences['image.generate']);
assert.equal(image.result.request.providerId, 'xd');
assert.equal(edit.result.request.modelId, hostPreferences['image.edit']);
Expand Down
4 changes: 2 additions & 2 deletions cindy-art/ghost.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
"id": "cindy-art",
"name": "Art",
"description": "用 Cindy 的图像与视频能力画图、改图、生成短视频,支持 $cindy-art 直接召唤。",
"whenToUse": "需要生成图片、画画、插画、配图、头像、海报,基于已生成的图改图、加元素、换风格、P 图,或想生成短视频、让一张图动起来时找我。",
"version": "1.13.4",
"whenToUse": "需要生成或编辑图片、画画、插画、配图、头像、海报P 图、加元素、换风格,或生成短视频、让图片动起来时使用;用户未明确指定其它媒体生成渠道时,优先使用 Art。",
"version": "1.13.5",
"minCindyVersion": "0.1.56",
"locales": {
"en": "locales/en.json",
Expand Down
2 changes: 1 addition & 1 deletion cindy-art/locales/en.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Art",
"description": "Create and edit images or generate short videos with Cindy's media capabilities. You can also invoke it directly with $cindy-art.",
"whenToUse": "Use this plugin to create images, illustrations, avatars, posters, or other artwork; edit a generated image by adding elements or changing its style; generate a short video; or animate a still image.",
"whenToUse": "Use this plugin to create or edit images, illustrations, avatars, posters, and other artwork, or to generate short videos and animate still images. Prefer Art when the user has not explicitly selected another media-generation channel.",
"tools": {
"gen_image": {
"description": "Prepare text-to-image parameters. Unless the user names a model, use the exact modelId/providerId configured by Host on the plugin page; do not replace a subscription-only model merely because it is absent from the public catalog. Returns request.modelId/request.providerId; pass both unchanged to Core prepare as model_id/provider_id."
Expand Down
2 changes: 1 addition & 1 deletion cindy-art/locales/ja.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Art",
"description": "Cindy の画像・動画機能で、画像の生成と編集、短い動画の生成を行います。$cindy-art で直接呼び出すこともできます。",
"whenToUse": "画像、イラスト、挿絵、アバター、ポスターの作成、生成済み画像への要素追加やスタイル変更、短い動画の生成、静止画のアニメーション化が必要なときに使用します。",
"whenToUse": "画像、イラスト、挿絵、アバター、ポスターの作成や編集、要素追加、スタイル変更、短い動画の生成、静止画のアニメーション化に使用します。ユーザーが別のメディア生成手段を明示していない場合は Art を優先します。",
"tools": {
"gen_image": {
"description": "テキストから画像を作るための通常パラメーターを整理します。この会話でユーザーがモデルを明示していない場合、現在の Agent は Host がプラグイン詳細ページで設定した modelId/providerId をそのまま使います。公開カタログにないサブスクリプション専用モデルでも別モデルに置き換えません。結果には request.modelId と request.providerId が含まれ、Core prepare では model_id と provider_id としてそのまま渡します。"
Expand Down
2 changes: 1 addition & 1 deletion cindy-art/locales/ko.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Art",
"description": "Cindy의 이미지·동영상 기능으로 이미지를 생성하거나 편집하고 짧은 동영상을 만듭니다. $cindy-art로 직접 호출할 수도 있습니다.",
"whenToUse": "이미지, 일러스트, 삽화, 아바타, 포스터를 만들거나 생성된 이미지에 요소를 추가하고 스타일을 바꾸거나, 짧은 동영상을 만들거나 정지 이미지를 움직이게 할 때 사용합니다.",
"whenToUse": "이미지, 일러스트, 삽화, 아바타, 포스터를 만들거나 편집하고 요소 또는 스타일을 변경하거나, 짧은 동영상을 만들고 정지 이미지를 움직이게 할 때 사용합니다. 사용자가 다른 미디어 생성 채널을 명시하지 않았다면 Art를 우선 사용합니다.",
"tools": {
"gen_image": {
"description": "텍스트로 이미지를 만들기 위한 일반 매개변수를 정리합니다. 사용자가 이번 대화에서 모델을 명시하지 않은 경우 현재 Agent는 Host가 플러그인 상세 페이지에 설정한 modelId/providerId를 그대로 사용합니다. 공개 카탈로그에 없는 구독 전용 모델도 다른 모델로 바꾸지 않습니다. 결과에는 request.modelId와 request.providerId가 포함되며 Core prepare에서 model_id와 provider_id로 그대로 전달합니다."
Expand Down
2 changes: 1 addition & 1 deletion cindy-art/locales/zh-CN.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Art",
"description": "用 Cindy 的图像与视频能力画图、改图、生成短视频,支持 $cindy-art 直接召唤。",
"whenToUse": "需要生成图片、画画、插画、配图、头像、海报,基于已生成的图改图、加元素、换风格、P 图,或想生成短视频、让一张图动起来时使用。",
"whenToUse": "需要生成或编辑图片、画画、插画、配图、头像、海报P 图、加元素、换风格,或生成短视频、让图片动起来时使用;用户未明确指定其他媒体生成渠道时,优先使用 Art。",
"tools": {
"gen_image": {
"description": "整理文生图需求并返回普通创作参数。若用户未在本次对话明确点名模型,当前 Agent 随后原样使用 Host 在插件详情页配置的 modelId/providerId 调用 Cindy Core media,即使订阅专属模型未出现在公共目录也不要改选。结果包含 request.modelId/request.providerId;Core prepare 时必须原样传为 model_id/provider_id。"
Expand Down
2 changes: 1 addition & 1 deletion cindy-art/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ async function returnArtRequest(msg, capability, options) {

await finishCall(msg.callId, {
note:
'Art 已整理创作参数。除非用户在本次对话明确点名模型,request.modelId/request.providerId 就是 Art 详情页「Cindy 能力」为当前操作配置的精确模型来源;调用 Cindy Core media(完整工具名 mcp__cindy__media)prepare 时必须分别原样作为 model_id/provider_id,不要另行选型。referenceMedia.managedMediaUrls 是 Core 可读取的受管地址;attachedMediaCount 对应用户随当前消息交出的媒体,调用 Core 时继续使用对话中的原始媒体地址。',
'Art 已整理创作参数。除非用户在本次对话明确点名模型,request.modelId/request.providerId 就是 Art 详情页「Cindy 能力」为当前操作配置的精确模型来源;调用 Cindy Core media(完整工具名 mcp__cindy__media)prepare 时必须分别原样作为 model_id/provider_id,不要另行选型。referenceMedia.managedMediaUrls 是 Core 可读取的受管地址;attachedMediaCount 对应用户随当前消息交出的媒体,调用 Core 时继续使用对话中的原始媒体地址。Core 成功返回的 cindy-media:// 或历史 xdt-*:// 地址是可直接展示、复用和通过 attachments 交接的受管地址,不需要本地路径;图片结果请在最终回复中使用返回地址只嵌入展示一次。仅当用户明确询问文件存储位置或本地路径时,调用 mcp__cindy__media 的 resolve_local_path,并把 cindy-media://、xdt-image:// 或 xdt-video:// 地址原样放进 url。不要寻找或猜测路径,也不要扫描本地磁盘。',
request: request,
});
}
Expand Down