kingkont 0.20.30 → 0.20.31
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/providers.js +10 -0
- package/package.json +1 -1
- package/settings.html +19 -0
package/lib/providers.js
CHANGED
|
@@ -1092,6 +1092,16 @@ async function uploadFile({ buffer, filename = 'upload.bin', mime = 'application
|
|
|
1092
1092
|
throw new Error(`файл слишком большой (${(buffer.length/1024/1024).toFixed(1)} MB), лимит 50MB`);
|
|
1093
1093
|
}
|
|
1094
1094
|
|
|
1095
|
+
// Явный override: «Использовать Cloudflare для загрузки» — каждый файл сразу
|
|
1096
|
+
// идёт в R2, без chatium-race. Чекбокс в settings.html, юзер сам решает.
|
|
1097
|
+
if (s.useCloudflareR2 && r2Upload.isConfigured()) {
|
|
1098
|
+
console.log('[uploadFile] useCloudflareR2=true → R2 directly');
|
|
1099
|
+
const r2 = await r2Upload.uploadToR2(buffer, mime, _extFromFilename(filename));
|
|
1100
|
+
return {
|
|
1101
|
+
url: r2.url, fileName: filename, size: buffer.length, hash: r2.key, provider: 'cloudflare-r2',
|
|
1102
|
+
};
|
|
1103
|
+
}
|
|
1104
|
+
|
|
1095
1105
|
if (s.useChatium && s.chatium?.token && s.chatium?.base) {
|
|
1096
1106
|
return await _uploadViaChatiumWithR2Fallback({ buffer, filename, mime, s });
|
|
1097
1107
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kingkont",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.31",
|
|
4
4
|
"description": "KingKont \u00b7 Chatium \u2014 \u043d\u043e\u0434-\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0441\u0446\u0435\u043d \u0441 AI-\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0435\u0439 (\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438/\u0432\u0438\u0434\u0435\u043e/\u0433\u043e\u043b\u043e\u0441/SFX/\u043c\u0443\u0437\u044b\u043a\u0430/\u0442\u0435\u043a\u0441\u0442)",
|
|
5
5
|
"main": "main.js",
|
|
6
6
|
"bin": {
|
package/settings.html
CHANGED
|
@@ -169,6 +169,23 @@
|
|
|
169
169
|
</div>
|
|
170
170
|
</div>
|
|
171
171
|
|
|
172
|
+
<h2>Загрузка референсов</h2>
|
|
173
|
+
<div class="card">
|
|
174
|
+
<label class="use-toggle" for="useCloudflareR2">
|
|
175
|
+
<input type="checkbox" id="useCloudflareR2" />
|
|
176
|
+
<span class="label-text">
|
|
177
|
+
Использовать Cloudflare для загрузки
|
|
178
|
+
<span class="sub">— upload референсов идёт в R2-бакет KingKont вместо chatium-storage</span>
|
|
179
|
+
</span>
|
|
180
|
+
</label>
|
|
181
|
+
<div class="hint">
|
|
182
|
+
По умолчанию (выключено) — upload идёт в <code>fs.chatium.ru</code>, и
|
|
183
|
+
если он медленнее 5 секунд, автоматически уходит в Cloudflare R2.
|
|
184
|
+
Если включить — chatium-storage не используется вообще, каждый
|
|
185
|
+
файл сразу идёт в R2 (<code>pub-cd4114…r2.dev</code>).
|
|
186
|
+
</div>
|
|
187
|
+
</div>
|
|
188
|
+
|
|
172
189
|
<h2>Для Claude</h2>
|
|
173
190
|
<div class="card">
|
|
174
191
|
<div style="font-size:13px; color:var(--text); margin-bottom:8px;">
|
|
@@ -217,6 +234,7 @@ async function loadSettings() {
|
|
|
217
234
|
$('useOpenrouter').checked = useDefault(s.useOpenrouter);
|
|
218
235
|
$('useElevenlabs').checked = useDefault(s.useElevenlabs);
|
|
219
236
|
$('useKie').checked = useDefault(s.useKie);
|
|
237
|
+
$('useCloudflareR2').checked = useDefault(s.useCloudflareR2);
|
|
220
238
|
|
|
221
239
|
// Применяем visual-disabled к блокам с выключенным toggle
|
|
222
240
|
syncProviderVisuals();
|
|
@@ -246,6 +264,7 @@ $('save').addEventListener('click', async () => {
|
|
|
246
264
|
useOpenrouter: $('useOpenrouter').checked,
|
|
247
265
|
useElevenlabs: $('useElevenlabs').checked,
|
|
248
266
|
useKie: $('useKie').checked,
|
|
267
|
+
useCloudflareR2: $('useCloudflareR2').checked,
|
|
249
268
|
});
|
|
250
269
|
const saved = $('saved');
|
|
251
270
|
saved.classList.add('show');
|