koishi-plugin-aka-ai-generator 0.1.1 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +24 -31
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -522,6 +522,7 @@ var COMMANDS = {
|
|
|
522
522
|
COMPOSE_IMAGE: "合成图像",
|
|
523
523
|
CHANGE_POSE: "改姿势",
|
|
524
524
|
OPTIMIZE_DESIGN: "修改设计",
|
|
525
|
+
PIXELATE: "变像素",
|
|
525
526
|
QUERY_QUOTA: "图像额度",
|
|
526
527
|
RECHARGE: "图像充值",
|
|
527
528
|
RECHARGE_HISTORY: "图像充值记录",
|
|
@@ -571,19 +572,31 @@ var Config = import_koishi.Schema.intersect([
|
|
|
571
572
|
{
|
|
572
573
|
commandName: "变写实",
|
|
573
574
|
commandDescription: "以真实摄影风格重建主体",
|
|
574
|
-
prompt: "
|
|
575
|
+
prompt: "请根据用户提供的图片,在严格保持主体身份、外观特征与姿态不变的前提下,生成一张照片级真实感的超写实摄影作品。要求:1. 采用专业相机拍摄(如佳能EOS R5),使用85mm f/1.4人像镜头,呈现柯达Portra 400胶片质感,8K超高清画质,HDR高动态范围,电影级打光效果;2. 画面应具有照片级真实感、超现实主义风格和高细节表现,确保光影、皮肤质感、服饰纹理与背景环境都贴近真实世界;3. 使用自然光影营造真实氛围,呈现raw and natural的原始自然感,具有authentic film snapshot的真实胶片质感,使用strong contrast between light and dark营造强烈明暗对比,产生deep shadows深阴影效果;4. 整体需具备tactile feel触感质感和simulated texture模拟纹理细节,可以适度优化噪点与瑕疵,但不要改变主体特征或添加额外元素;5. 整体效果需像专业摄影棚拍摄的真实照片,具有电影级画质;6. 如果主体是人物脸部,脸部生成效果应参考欧美混血白人精致美丽帅气英俊的外观特征进行生成,保持精致立体的五官轮廓、健康光泽的肌肤质感、优雅的气质和自然的表情,确保面部特征协调美观。",
|
|
575
576
|
enabled: true
|
|
576
577
|
},
|
|
577
578
|
{
|
|
578
|
-
commandName: "
|
|
579
|
-
commandDescription: "
|
|
580
|
-
prompt: "
|
|
579
|
+
commandName: "生成设定",
|
|
580
|
+
commandDescription: "智能识别主体类型并生成相应的设定方案",
|
|
581
|
+
prompt: "请根据用户提供的图片,智能识别图像主体的类型(人物角色、道具物品、载具、建筑、生物等),然后自动生成相应的完整设定方案。要求:1. 首先分析并识别主体的类型和特征;2. 严格遵循原图的艺术风格和细节度,保持与原图一致的视觉风格(如二次元、写实、手绘、3D渲染等)和细节表现水平;3. 去除原图中包含的所有光照信息,包括阴影、高光、明暗对比等,使用均匀、无方向性的平光或标准设定图光照,确保设定图呈现清晰、无光影干扰的展示效果;4. 如果主体是人物角色,生成角色设定(Character Design),包括:比例设定(不同身高对比、头身比等)、三视图(正面、侧面、背面)、表情设定(Expression Sheet)、动作设定(Pose Sheet - 各种常见姿势)、服装设定(Costume Design);5. 如果主体是道具、武器、载具或物品,生成道具设定(Prop/Item Design),包括:功能结构图(Functional Components)、状态变化展示(State Variations)、细节特写(Detail Close-ups);6. 如果主体是建筑或场景,生成建筑/场景设定,包括:结构图、不同角度视图、细节展示;7. 如果主体是生物(非人类),生成生物设定,包括:形态特征、不同姿态、细节展示;8. 根据主体的实际类型,智能选择最合适的设定内容,确保生成的设定方案完整、专业且符合该类型的设计规范。",
|
|
581
582
|
enabled: true
|
|
582
583
|
},
|
|
583
584
|
{
|
|
584
|
-
commandName: "
|
|
585
|
-
commandDescription: "
|
|
586
|
-
prompt: "
|
|
585
|
+
commandName: "改姿势",
|
|
586
|
+
commandDescription: "改变图像主体的姿势造型,保持主体细节和风格不变",
|
|
587
|
+
prompt: "请根据用户提供的图片,在严格保持主体身份、外观特征、服装细节、艺术风格和整体氛围不变的前提下,生成一个新的姿势造型。新姿势应该更加帅气、可爱、有张力或符合主体内容的动态感,展现出更好的视觉表现力。要求:1. 完全保持主体的面部特征、发型、服装、配饰等所有细节不变;2. 完全保持原有的艺术风格(如二次元、写实、手绘等)不变;3. 只改变身体的姿势、动作和姿态,让主体看起来更有活力和表现力;4. 姿势应该自然、协调,符合主体的身份和性格特征;5. 保持背景环境的基本风格不变(可以适当调整视角或构图)。",
|
|
588
|
+
enabled: true
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
commandName: "修改设计",
|
|
592
|
+
commandDescription: "修改图像主体的结构设计,保持原有设计语言和风格",
|
|
593
|
+
prompt: "请根据用户提供的图片,在严格保持原有设计语言、视觉风格、功能特征和整体主题不变的前提下,对图像主体的结构设计进行修改。要求:1. 完全保持原有的设计语言和视觉风格(如现代简约、复古、科幻、奇幻等)不变;2. 保持主体的核心功能特征和身份定位不变;3. 可以合理且美观地添加、删改或修改结构元素(如装饰细节、功能组件、线条轮廓、比例关系等),使设计更加完善和美观;4. 所有修改必须符合原有主题的视觉风格,增强设计美感而不破坏原有设计语言;5. 修改后的设计应该更加协调、统一,具有更好的视觉层次和设计完整性;6. 保持色彩方案、材质质感和整体氛围的一致性。",
|
|
594
|
+
enabled: true
|
|
595
|
+
},
|
|
596
|
+
{
|
|
597
|
+
commandName: "变像素",
|
|
598
|
+
commandDescription: "将图像主体转换为8位像素艺术风格",
|
|
599
|
+
prompt: "请根据用户提供的图片,将图像主体转换为经典的8位像素艺术风格。要求:1. 完全保持主体的身份、外观特征和核心识别元素不变,确保转换后仍然清晰可识别;2. 采用极简的8位像素风格,使用有限的复古调色板(通常为16-256色),营造经典街机游戏的美学氛围;3. 所有细节都进行像素化处理,使用清晰的像素块和锐利的边缘,避免平滑渐变;4. 采用干净的块状形式,保持简单、标志性的设计,突出主体的核心特征;5. 背景可以简化为纯色背景(如纯白或纯黑),或者保持简单的像素化背景,确保主体突出;6. 整体风格应具有强烈的复古游戏感,让人联想到经典街机游戏和早期电子游戏的视觉美学;7. 保持主体的比例和基本结构,但用像素块重新诠释所有细节。",
|
|
587
600
|
enabled: true
|
|
588
601
|
}
|
|
589
602
|
]).description("自定义风格命令配置")
|
|
@@ -618,8 +631,6 @@ function apply(ctx, config) {
|
|
|
618
631
|
...getStyleCommands(),
|
|
619
632
|
{ name: COMMANDS.GENERATE_IMAGE, description: "使用自定义prompt进行图像处理" },
|
|
620
633
|
{ name: COMMANDS.COMPOSE_IMAGE, description: "合成多张图片,使用自定义prompt控制合成效果" },
|
|
621
|
-
{ name: COMMANDS.CHANGE_POSE, description: "改变图像主体的姿势造型,保持主体细节和风格不变" },
|
|
622
|
-
{ name: COMMANDS.OPTIMIZE_DESIGN, description: "修改图像主体的结构设计,保持原有设计语言和风格" },
|
|
623
634
|
{ name: COMMANDS.QUERY_QUOTA, description: "查询用户额度信息" }
|
|
624
635
|
],
|
|
625
636
|
// 管理员指令
|
|
@@ -996,7 +1007,7 @@ function apply(ctx, config) {
|
|
|
996
1007
|
if (activeTasks.has(userId)) {
|
|
997
1008
|
return "您有一个图像处理任务正在进行中,请等待完成";
|
|
998
1009
|
}
|
|
999
|
-
await session.send(
|
|
1010
|
+
await session.send("图片+描述");
|
|
1000
1011
|
const collectedImages = [];
|
|
1001
1012
|
let prompt = "";
|
|
1002
1013
|
while (true) {
|
|
@@ -1022,7 +1033,7 @@ function apply(ctx, config) {
|
|
|
1022
1033
|
prompt = text;
|
|
1023
1034
|
break;
|
|
1024
1035
|
}
|
|
1025
|
-
await session.send("
|
|
1036
|
+
await session.send("请发送描述");
|
|
1026
1037
|
continue;
|
|
1027
1038
|
}
|
|
1028
1039
|
if (text) {
|
|
@@ -1124,7 +1135,7 @@ Prompt: ${prompt}`);
|
|
|
1124
1135
|
prompt = text;
|
|
1125
1136
|
break;
|
|
1126
1137
|
}
|
|
1127
|
-
await session.send(`已收到 ${collectedImages.length}
|
|
1138
|
+
await session.send(`已收到 ${collectedImages.length} 张图片,继续发送或输入描述`);
|
|
1128
1139
|
continue;
|
|
1129
1140
|
}
|
|
1130
1141
|
if (text) {
|
|
@@ -1190,30 +1201,12 @@ Prompt: ${prompt}`);
|
|
|
1190
1201
|
return error.message === "命令执行超时" ? "图片合成超时,请重试" : "图片合成失败,请稍后重试";
|
|
1191
1202
|
});
|
|
1192
1203
|
});
|
|
1193
|
-
ctx.command(`${COMMANDS.CHANGE_POSE} [img:text]`, "改变图像主体的姿势造型,保持主体细节和风格不变").option("num", "-n <num:number> 生成图片数量 (1-4)").action(async ({ session, options }, img) => {
|
|
1194
|
-
if (!session?.userId) return "会话无效";
|
|
1195
|
-
const limitCheck = await checkDailyLimit(session.userId);
|
|
1196
|
-
if (!limitCheck.allowed) {
|
|
1197
|
-
return limitCheck.message;
|
|
1198
|
-
}
|
|
1199
|
-
const posePrompt = "请根据用户提供的图片,在严格保持主体身份、外观特征、服装细节、艺术风格和整体氛围不变的前提下,生成一个新的姿势造型。新姿势应该更加帅气、可爱、有张力或符合主体内容的动态感,展现出更好的视觉表现力。要求:1. 完全保持主体的面部特征、发型、服装、配饰等所有细节不变;2. 完全保持原有的艺术风格(如二次元、写实、手绘等)不变;3. 只改变身体的姿势、动作和姿态,让主体看起来更有活力和表现力;4. 姿势应该自然、协调,符合主体的身份和性格特征;5. 保持背景环境的基本风格不变(可以适当调整视角或构图)。";
|
|
1200
|
-
return processImageWithTimeout(session, img, posePrompt, COMMANDS.CHANGE_POSE, options?.num);
|
|
1201
|
-
});
|
|
1202
|
-
ctx.command(`${COMMANDS.OPTIMIZE_DESIGN} [img:text]`, "修改图像主体的结构设计,保持原有设计语言和风格").option("num", "-n <num:number> 生成图片数量 (1-4)").action(async ({ session, options }, img) => {
|
|
1203
|
-
if (!session?.userId) return "会话无效";
|
|
1204
|
-
const limitCheck = await checkDailyLimit(session.userId);
|
|
1205
|
-
if (!limitCheck.allowed) {
|
|
1206
|
-
return limitCheck.message;
|
|
1207
|
-
}
|
|
1208
|
-
const designPrompt = "请根据用户提供的图片,在严格保持原有设计语言、视觉风格、功能特征和整体主题不变的前提下,对图像主体的结构设计进行修改。要求:1. 完全保持原有的设计语言和视觉风格(如现代简约、复古、科幻、奇幻等)不变;2. 保持主体的核心功能特征和身份定位不变;3. 可以合理且美观地添加、删改或修改结构元素(如装饰细节、功能组件、线条轮廓、比例关系等),使设计更加完善和美观;4. 所有修改必须符合原有主题的视觉风格,增强设计美感而不破坏原有设计语言;5. 修改后的设计应该更加协调、统一,具有更好的视觉层次和设计完整性;6. 保持色彩方案、材质质感和整体氛围的一致性。";
|
|
1209
|
-
return processImageWithTimeout(session, img, designPrompt, COMMANDS.OPTIMIZE_DESIGN, options?.num);
|
|
1210
|
-
});
|
|
1211
1204
|
ctx.command(`${COMMANDS.RECHARGE} [content:text]`, "为用户充值次数(仅管理员)").action(async ({ session }, content) => {
|
|
1212
1205
|
if (!session?.userId) return "会话无效";
|
|
1213
1206
|
if (!isAdmin(session.userId)) {
|
|
1214
1207
|
return "权限不足,仅管理员可操作";
|
|
1215
1208
|
}
|
|
1216
|
-
const inputContent = content || await getPromptInput(session, "请输入充值信息,格式:\n@用户1 @用户2 充值次数 [备注]
|
|
1209
|
+
const inputContent = content || await getPromptInput(session, "请输入充值信息,格式:\n@用户1 @用户2 充值次数 [备注]");
|
|
1217
1210
|
if (!inputContent) return "输入超时或无效";
|
|
1218
1211
|
const elements = import_koishi.h.parse(inputContent);
|
|
1219
1212
|
const atElements = import_koishi.h.select(elements, "at");
|