koishi-plugin-media-luna 0.0.40 → 0.0.42

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/connector-dalle/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAgF,MAAM,YAAY,CAAA;AA+HnI,mBAAmB;AACnB,QAAA,MAAM,cAAc,EAAE,mBAgCrB,CAAA;;AAED,wBAWE;AAEF,OAAO,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/connector-dalle/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAgF,MAAM,YAAY,CAAA;AAqJnI,mBAAmB;AACnB,QAAA,MAAM,cAAc,EAAE,mBAuCrB,CAAA;;AAED,wBAWE;AAEF,OAAO,EAAE,cAAc,EAAE,CAAA"}
@@ -59,6 +59,13 @@ const dalleFields = [
59
59
  type: 'number',
60
60
  default: 1
61
61
  },
62
+ {
63
+ key: 'enableImageInput',
64
+ label: '允许图片输入',
65
+ type: 'boolean',
66
+ default: true,
67
+ description: '是否允许发送参考图片。启用后会将用户上传的图片作为参考图发送给 API'
68
+ },
62
69
  {
63
70
  key: 'timeout',
64
71
  label: '超时时间(秒)',
@@ -73,7 +80,7 @@ const dalleCardFields = [
73
80
  ];
74
81
  /** DALL-E 生成函数 */
75
82
  async function generate(ctx, config, files, prompt) {
76
- const { apiUrl, apiKey, model = 'dall-e-3', size = '1024x1024', quality = 'standard', style = 'vivid', n = 1, timeout = 600 } = config;
83
+ const { apiUrl, apiKey, model = 'dall-e-3', size = '1024x1024', quality = 'standard', style = 'vivid', n = 1, enableImageInput = true, timeout = 600 } = config;
77
84
  const requestBody = {
78
85
  model,
79
86
  prompt,
@@ -89,6 +96,19 @@ async function generate(ctx, config, files, prompt) {
89
96
  if (style)
90
97
  requestBody.style = style;
91
98
  }
99
+ // 处理图片输入(如果启用且有图片)
100
+ if (enableImageInput && files.length > 0) {
101
+ const imageFiles = files.filter(f => f.mime.startsWith('image/'));
102
+ if (imageFiles.length > 0) {
103
+ // 将图片转为 base64 数组
104
+ const imageArray = imageFiles.map(imageFile => {
105
+ const base64 = Buffer.from(imageFile.data).toString('base64');
106
+ return `data:${imageFile.mime};base64,${base64}`;
107
+ });
108
+ requestBody.image = imageArray;
109
+ ctx.logger('media-luna').debug(`DALL-E: Added ${imageArray.length} reference image(s)`);
110
+ }
111
+ }
92
112
  const response = await ctx.http.post(apiUrl, requestBody, {
93
113
  headers: {
94
114
  'Authorization': `Bearer ${apiKey}`,
@@ -118,17 +138,22 @@ const DalleConnector = {
118
138
  generate,
119
139
  /** 获取请求日志 */
120
140
  getRequestLog(config, files, prompt) {
121
- const { apiUrl, model = 'dall-e-3', size = '1024x1024', quality = 'standard', style = 'vivid', n = 1 } = config;
141
+ const { apiUrl, model = 'dall-e-3', size = '1024x1024', quality = 'standard', style = 'vivid', n = 1, enableImageInput = true } = config;
142
+ // 计算实际会发送的图片数量
143
+ const imageCount = enableImageInput
144
+ ? files.filter(f => f.mime?.startsWith('image/')).length
145
+ : 0;
122
146
  return {
123
147
  endpoint: apiUrl?.split('?')[0],
124
148
  model,
125
149
  prompt,
126
- fileCount: files.length,
150
+ fileCount: imageCount,
127
151
  parameters: {
128
152
  size,
129
153
  quality,
130
154
  style,
131
- n: Number(n)
155
+ n: Number(n),
156
+ imageInput: imageCount > 0 ? true : undefined
132
157
  }
133
158
  };
134
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/connector-dalle/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/connector-dalle/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/plugins/task/middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EAKrB,MAAM,YAAY,CAAA;AAenB;;;;GAIG;AACH,wBAAgB,mCAAmC,IAAI,oBAAoB,CAsE1E;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,IAAI,oBAAoB,CA4D3E"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/plugins/task/middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EAKrB,MAAM,YAAY,CAAA;AAsCnB;;;;GAIG;AACH,wBAAgB,mCAAmC,IAAI,oBAAoB,CA0E1E;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,IAAI,oBAAoB,CA8D3E"}
@@ -17,6 +17,28 @@ function getAssetKindFromMime(mime) {
17
17
  return 'text';
18
18
  return 'file';
19
19
  }
20
+ /**
21
+ * 清理 OutputAsset,移除 base64 数据以避免数据库膨胀
22
+ * 如果 URL 是 base64 格式,将其替换为占位符
23
+ */
24
+ function sanitizeOutputAssets(assets) {
25
+ if (!assets || assets.length === 0)
26
+ return undefined;
27
+ return assets.map(asset => {
28
+ // 检查 URL 是否是 base64 格式
29
+ if (asset.url && asset.url.startsWith('data:')) {
30
+ return {
31
+ ...asset,
32
+ url: '[base64-data-removed]',
33
+ meta: {
34
+ ...asset.meta,
35
+ _originalWasBase64: true
36
+ }
37
+ };
38
+ }
39
+ return asset;
40
+ });
41
+ }
20
42
  /**
21
43
  * 创建任务记录(开始)中间件
22
44
  *
@@ -46,12 +68,16 @@ function createTaskRecorderPrepareMiddleware() {
46
68
  const inputFileUrls = context.store.get('inputFileUrls');
47
69
  // 创建任务记录
48
70
  // 如果有已上传的输入文件 URL,使用 URL;否则只保留文件元数据
71
+ // 注意:需要清理 base64 URL 以避免数据库膨胀
49
72
  const inputFiles = inputFileUrls && inputFileUrls.length > 0
50
73
  ? inputFileUrls.map((url, i) => ({
51
74
  kind: getAssetKindFromMime(context.files[i]?.mime || 'application/octet-stream'),
52
- url,
75
+ url: url.startsWith('data:') ? '[base64-data-removed]' : url,
53
76
  mime: context.files[i]?.mime,
54
- meta: { filename: context.files[i]?.filename }
77
+ meta: {
78
+ filename: context.files[i]?.filename,
79
+ ...(url.startsWith('data:') ? { _originalWasBase64: true } : {})
80
+ }
55
81
  }))
56
82
  : context.files.map(f => ({
57
83
  kind: getAssetKindFromMime(f.mime || 'application/octet-stream'),
@@ -129,9 +155,10 @@ function createTaskRecorderFinalizeMiddleware() {
129
155
  code: context.errorCode
130
156
  };
131
157
  }
132
- // 输出快照包含已缓存的 URL(由 storage 中间件处理)
158
+ // 清理输出快照,移除 base64 数据以避免数据库膨胀
159
+ const sanitizedOutput = sanitizeOutputAssets(context.output);
133
160
  await taskService.updateStatus(taskId, status, {
134
- responseSnapshot: context.output ?? undefined,
161
+ responseSnapshot: sanitizedOutput,
135
162
  middlewareLogs
136
163
  });
137
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/plugins/task/middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/plugins/task/middleware.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "koishi-plugin-media-luna",
3
3
  "description": "ai media生成插件",
4
- "version": "0.0.40",
4
+ "version": "0.0.42",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "exports": {