koishi-plugin-aka-ai-generator 0.1.1 → 0.1.3
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 +16 -5
- 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,7 +572,7 @@ 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
|
{
|
|
@@ -620,6 +621,7 @@ function apply(ctx, config) {
|
|
|
620
621
|
{ name: COMMANDS.COMPOSE_IMAGE, description: "合成多张图片,使用自定义prompt控制合成效果" },
|
|
621
622
|
{ name: COMMANDS.CHANGE_POSE, description: "改变图像主体的姿势造型,保持主体细节和风格不变" },
|
|
622
623
|
{ name: COMMANDS.OPTIMIZE_DESIGN, description: "修改图像主体的结构设计,保持原有设计语言和风格" },
|
|
624
|
+
{ name: COMMANDS.PIXELATE, description: "将图像主体转换为8位像素艺术风格" },
|
|
623
625
|
{ name: COMMANDS.QUERY_QUOTA, description: "查询用户额度信息" }
|
|
624
626
|
],
|
|
625
627
|
// 管理员指令
|
|
@@ -996,7 +998,7 @@ function apply(ctx, config) {
|
|
|
996
998
|
if (activeTasks.has(userId)) {
|
|
997
999
|
return "您有一个图像处理任务正在进行中,请等待完成";
|
|
998
1000
|
}
|
|
999
|
-
await session.send(
|
|
1001
|
+
await session.send("图片+描述");
|
|
1000
1002
|
const collectedImages = [];
|
|
1001
1003
|
let prompt = "";
|
|
1002
1004
|
while (true) {
|
|
@@ -1022,7 +1024,7 @@ function apply(ctx, config) {
|
|
|
1022
1024
|
prompt = text;
|
|
1023
1025
|
break;
|
|
1024
1026
|
}
|
|
1025
|
-
await session.send("
|
|
1027
|
+
await session.send("请发送描述");
|
|
1026
1028
|
continue;
|
|
1027
1029
|
}
|
|
1028
1030
|
if (text) {
|
|
@@ -1124,7 +1126,7 @@ Prompt: ${prompt}`);
|
|
|
1124
1126
|
prompt = text;
|
|
1125
1127
|
break;
|
|
1126
1128
|
}
|
|
1127
|
-
await session.send(`已收到 ${collectedImages.length}
|
|
1129
|
+
await session.send(`已收到 ${collectedImages.length} 张图片,继续发送或输入描述`);
|
|
1128
1130
|
continue;
|
|
1129
1131
|
}
|
|
1130
1132
|
if (text) {
|
|
@@ -1208,12 +1210,21 @@ Prompt: ${prompt}`);
|
|
|
1208
1210
|
const designPrompt = "请根据用户提供的图片,在严格保持原有设计语言、视觉风格、功能特征和整体主题不变的前提下,对图像主体的结构设计进行修改。要求:1. 完全保持原有的设计语言和视觉风格(如现代简约、复古、科幻、奇幻等)不变;2. 保持主体的核心功能特征和身份定位不变;3. 可以合理且美观地添加、删改或修改结构元素(如装饰细节、功能组件、线条轮廓、比例关系等),使设计更加完善和美观;4. 所有修改必须符合原有主题的视觉风格,增强设计美感而不破坏原有设计语言;5. 修改后的设计应该更加协调、统一,具有更好的视觉层次和设计完整性;6. 保持色彩方案、材质质感和整体氛围的一致性。";
|
|
1209
1211
|
return processImageWithTimeout(session, img, designPrompt, COMMANDS.OPTIMIZE_DESIGN, options?.num);
|
|
1210
1212
|
});
|
|
1213
|
+
ctx.command(`${COMMANDS.PIXELATE} [img:text]`, "将图像主体转换为8位像素艺术风格").option("num", "-n <num:number> 生成图片数量 (1-4)").action(async ({ session, options }, img) => {
|
|
1214
|
+
if (!session?.userId) return "会话无效";
|
|
1215
|
+
const limitCheck = await checkDailyLimit(session.userId);
|
|
1216
|
+
if (!limitCheck.allowed) {
|
|
1217
|
+
return limitCheck.message;
|
|
1218
|
+
}
|
|
1219
|
+
const pixelPrompt = "请根据用户提供的图片,将图像主体转换为经典的8位像素艺术风格。要求:1. 完全保持主体的身份、外观特征和核心识别元素不变,确保转换后仍然清晰可识别;2. 采用极简的8位像素风格,使用有限的复古调色板(通常为16-256色),营造经典街机游戏的美学氛围;3. 所有细节都进行像素化处理,使用清晰的像素块和锐利的边缘,避免平滑渐变;4. 采用干净的块状形式,保持简单、标志性的设计,突出主体的核心特征;5. 背景可以简化为纯色背景(如纯白或纯黑),或者保持简单的像素化背景,确保主体突出;6. 整体风格应具有强烈的复古游戏感,让人联想到经典街机游戏和早期电子游戏的视觉美学;7. 保持主体的比例和基本结构,但用像素块重新诠释所有细节。";
|
|
1220
|
+
return processImageWithTimeout(session, img, pixelPrompt, COMMANDS.PIXELATE, options?.num);
|
|
1221
|
+
});
|
|
1211
1222
|
ctx.command(`${COMMANDS.RECHARGE} [content:text]`, "为用户充值次数(仅管理员)").action(async ({ session }, content) => {
|
|
1212
1223
|
if (!session?.userId) return "会话无效";
|
|
1213
1224
|
if (!isAdmin(session.userId)) {
|
|
1214
1225
|
return "权限不足,仅管理员可操作";
|
|
1215
1226
|
}
|
|
1216
|
-
const inputContent = content || await getPromptInput(session, "请输入充值信息,格式:\n@用户1 @用户2 充值次数 [备注]
|
|
1227
|
+
const inputContent = content || await getPromptInput(session, "请输入充值信息,格式:\n@用户1 @用户2 充值次数 [备注]");
|
|
1217
1228
|
if (!inputContent) return "输入超时或无效";
|
|
1218
1229
|
const elements = import_koishi.h.parse(inputContent);
|
|
1219
1230
|
const atElements = import_koishi.h.select(elements, "at");
|