zames_pro 2.29.16 → 2.32.0
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/dist/agent-loop.js +138 -12
- package/dist/browser.js +422 -145
- package/dist/commands.js +78 -0
- package/dist/compact.js +178 -0
- package/dist/config-menu.js +22 -5
- package/dist/config.js +43 -0
- package/dist/confirm.js +30 -6
- package/dist/context.js +3 -2
- package/dist/gitTools.js +3 -2
- package/dist/i18n.js +94 -8
- package/dist/index.js +222 -174
- package/dist/input.js +104 -11
- package/package.json +1 -1
package/dist/i18n.js
CHANGED
|
@@ -201,6 +201,14 @@ const CATALOG = {
|
|
|
201
201
|
ru: '/compact сжать историю и открыть новый чат с резюме',
|
|
202
202
|
en: '/compact compact the history and open a new chat with the summary',
|
|
203
203
|
},
|
|
204
|
+
'help.cmd.queue': {
|
|
205
|
+
ru: '/queue [clear] показать/очистить очередь сообщений',
|
|
206
|
+
en: '/queue [clear] list/clear the pending message queue',
|
|
207
|
+
},
|
|
208
|
+
'compact.auto_trigger': {
|
|
209
|
+
ru: '🗜️ Контекст заполнен на {pct}% ({tokens} токенов) — сжимаю историю и открываю новый чат...',
|
|
210
|
+
en: '🗜️ Context at {pct}% ({tokens} tokens) — compacting the history and opening a fresh chat...',
|
|
211
|
+
},
|
|
204
212
|
'compact.start': {
|
|
205
213
|
ru: '🗜️ Сжимаю историю чата (DeepSeek)...',
|
|
206
214
|
en: '🗜️ Compacting the chat history (DeepSeek)...',
|
|
@@ -441,6 +449,10 @@ const CATALOG = {
|
|
|
441
449
|
en: 'Unknown command: {v}. Type /help.',
|
|
442
450
|
},
|
|
443
451
|
'msg.bye': { ru: 'Выход.', en: 'Bye.' },
|
|
452
|
+
'msg.exit_summary': {
|
|
453
|
+
ru: 'Транскрипт: {transcript} · чат: {chat}',
|
|
454
|
+
en: 'Transcript: {transcript} · chat: {chat}',
|
|
455
|
+
},
|
|
444
456
|
'msg.abort_gen': {
|
|
445
457
|
ru: '⏹ Esc — прерываю генерацию...',
|
|
446
458
|
en: '⏹ Esc — aborting generation...',
|
|
@@ -451,12 +463,12 @@ const CATALOG = {
|
|
|
451
463
|
},
|
|
452
464
|
'msg.queued': { ru: '📨 В очередь ({n}): ', en: '📨 Queued ({n}): ' },
|
|
453
465
|
'msg.attached_image': {
|
|
454
|
-
ru: '🖼 Вложено изображение {marker} ({size}) —
|
|
455
|
-
en: '🖼 Attached image {marker} ({size}) —
|
|
466
|
+
ru: '🖼 Вложено изображение {marker} ({size}) — {path}',
|
|
467
|
+
en: '🖼 Attached image {marker} ({size}) — {path}',
|
|
456
468
|
},
|
|
457
469
|
'msg.attached_file': {
|
|
458
|
-
ru: '📎 Вложен файл {marker} {name} ({size}) —
|
|
459
|
-
en: '📎 Attached file {marker} {name} ({size}) —
|
|
470
|
+
ru: '📎 Вложен файл {marker} {name} ({size}) — {path}',
|
|
471
|
+
en: '📎 Attached file {marker} {name} ({size}) — {path}',
|
|
460
472
|
},
|
|
461
473
|
'msg.clip_empty': {
|
|
462
474
|
ru: '⚠ В буфере обмена нет картинки (проверено: {via}).',
|
|
@@ -470,13 +482,47 @@ const CATALOG = {
|
|
|
470
482
|
ru: ' Похоже, вы в контейнере/Dev Container: клипборд Windows отсюда недоступен. Вставьте путь к файлу (например tmp/pic.png) — он приложится к сообщению.',
|
|
471
483
|
en: ' Looks like a container/Dev Container: the Windows clipboard is not reachable from here. Paste a path to a file (e.g. tmp/pic.png) — it will be attached to the message.',
|
|
472
484
|
},
|
|
485
|
+
'msg.task_summary': {
|
|
486
|
+
ru: '· задача: {sec}с · инструментов: {tools}',
|
|
487
|
+
en: '· task: {sec}s · tools: {tools}',
|
|
488
|
+
},
|
|
473
489
|
'msg.from_queue': { ru: '▶ Из очереди: ', en: '▶ From queue: ' },
|
|
490
|
+
'msg.from_queue_batch': {
|
|
491
|
+
ru: '▶ Из очереди ({n} сообщ.): ',
|
|
492
|
+
en: '▶ From queue ({n} messages): ',
|
|
493
|
+
},
|
|
494
|
+
'msg.batch_joined': {
|
|
495
|
+
ru: 'объединил {n} сообщений в одну задачу',
|
|
496
|
+
en: 'merged {n} messages into one task',
|
|
497
|
+
},
|
|
498
|
+
'msg.queue_title': { ru: 'Очередь сообщений:', en: 'Pending messages:' },
|
|
499
|
+
'msg.queue_empty': { ru: 'Очередь пуста.', en: 'The queue is empty.' },
|
|
500
|
+
'msg.queue_cleared': { ru: 'Очередь очищена.', en: 'Queue cleared.' },
|
|
501
|
+
'msg.queue_item': { ru: '{n}. {text}', en: '{n}. {text}' },
|
|
502
|
+
'msg.queue_usage': {
|
|
503
|
+
ru: 'Использование: /queue [clear]',
|
|
504
|
+
en: 'Usage: /queue [clear]',
|
|
505
|
+
},
|
|
506
|
+
'msg.queue_cleared_hint': {
|
|
507
|
+
ru: 'Очистить: /queue clear',
|
|
508
|
+
en: 'Clear: /queue clear',
|
|
509
|
+
},
|
|
474
510
|
'msg.agent_error': { ru: '✖ Ошибка агента:', en: '✖ Agent error:' },
|
|
475
511
|
'msg.suspicious_stop': {
|
|
476
512
|
ru: 'агент, похоже, остановился, не распознав вызов инструмента. Ответ сохранён в транскрипте (событие suspicious_final). Можно попросить продолжить или переотправить задачу.',
|
|
477
513
|
en: 'the agent seems to have stopped without recognizing a tool call. The response is saved in the transcript (suspicious_final event). You can ask it to continue or resend the task.',
|
|
478
514
|
},
|
|
479
515
|
'msg.critical': { ru: 'Критическая ошибка:', en: 'Critical error:' },
|
|
516
|
+
'msg.error': { ru: 'Ошибка:', en: 'Error:' },
|
|
517
|
+
'confirm.hint': {
|
|
518
|
+
ru: 'всегда для этого типа',
|
|
519
|
+
en: 'always for this kind',
|
|
520
|
+
},
|
|
521
|
+
'confirm.ask_label': { ru: 'Разрешить', en: 'Allow' },
|
|
522
|
+
'msg.reloaded': {
|
|
523
|
+
ru: 'Перезагружено модулей: {n}. Браузер и чат не тронуты.',
|
|
524
|
+
en: 'Modules reloaded: {n}. Browser and chat untouched.',
|
|
525
|
+
},
|
|
480
526
|
'msg.not_dir': { ru: 'Не директория: {v}', en: 'Not a directory: {v}' },
|
|
481
527
|
'prompt.review': { ru: 'REVIEW', en: 'REVIEW' },
|
|
482
528
|
'msg.workdir_error': {
|
|
@@ -512,6 +558,10 @@ const CATALOG = {
|
|
|
512
558
|
ru: '⏹ Esc — прерываю генерацию...',
|
|
513
559
|
en: '⏹ Esc — aborting generation...',
|
|
514
560
|
},
|
|
561
|
+
'msg.abort_tool_short': {
|
|
562
|
+
ru: '⏹ Ctrl+C — прерываю текущий инструмент (ещё раз — стоп всему прогону)...',
|
|
563
|
+
en: '⏹ Ctrl+C — aborting the current tool (press again to stop the whole run)...',
|
|
564
|
+
},
|
|
515
565
|
'msg.abort_ctrlc_short': {
|
|
516
566
|
ru: '⏹ Ctrl+C — прерываю генерацию...',
|
|
517
567
|
en: '⏹ Ctrl+C — aborting generation...',
|
|
@@ -538,8 +588,8 @@ const CATALOG = {
|
|
|
538
588
|
en: '✖ DeepSeek: the server did not respond after {attempt} retries. Try again later.',
|
|
539
589
|
},
|
|
540
590
|
'ds.ask_retry': {
|
|
541
|
-
ru: '⚠
|
|
542
|
-
en: '⚠
|
|
591
|
+
ru: '⚠ Отправка не удалась (попытка {attempt}/{max} на этот запрос): {error} — повторяю...',
|
|
592
|
+
en: '⚠ Send failed (attempt {attempt}/{max} for this request): {error} — retrying...',
|
|
543
593
|
},
|
|
544
594
|
'ds.incomplete_retry': {
|
|
545
595
|
ru: '⏳ DeepSeek оборвал ответ и кнопки Continue нет — переотправляю задачу ({attempt}/{max})...',
|
|
@@ -589,9 +639,13 @@ const CATALOG = {
|
|
|
589
639
|
ru: '✖ Новый ответ не получен — на странице остался прежний текст. Возможно, сообщение не отправилось. Проверь чат DeepSeek вручную.',
|
|
590
640
|
en: '✖ No new answer received — the page still shows the previous text. The message may not have been sent. Check the DeepSeek chat manually.',
|
|
591
641
|
},
|
|
642
|
+
'ds.continue_clicked': {
|
|
643
|
+
ru: '▶ Нажал «Continue» (DeepSeek приостановил вывод — возобновляю).',
|
|
644
|
+
en: '▶ Clicked "Continue" (DeepSeek paused the output — resuming).',
|
|
645
|
+
},
|
|
592
646
|
'ds.answer_timeout': {
|
|
593
|
-
ru: '⏳ DeepSeek не ответил за {sec}с — повторяю запрос...',
|
|
594
|
-
en: '⏳ DeepSeek did not answer within {sec}s — retrying the request...',
|
|
647
|
+
ru: '⏳ DeepSeek не ответил за {sec}с ({attempt}/{max}) — повторяю запрос...',
|
|
648
|
+
en: '⏳ DeepSeek did not answer within {sec}s ({attempt}/{max}) — retrying the request...',
|
|
595
649
|
},
|
|
596
650
|
'ds.answer_timeout_give_up': {
|
|
597
651
|
ru: '✖ DeepSeek перестал отвечать, лимит повторов исчерпан. Модель не дала ответа — проверь чат DeepSeek вручную.',
|
|
@@ -668,10 +722,18 @@ const CATALOG = {
|
|
|
668
722
|
en: '\nUse /resume <n> to continue.\n',
|
|
669
723
|
},
|
|
670
724
|
'chats.none': { ru: 'Чатов не найдено.', en: 'No chats found.' },
|
|
725
|
+
'chats.none_hint': {
|
|
726
|
+
ru: 'Чатов не найдено. Возможно, сайдбар свёрнут или селекторы устарели.',
|
|
727
|
+
en: 'No chats found. The sidebar may be collapsed or the selectors are outdated.',
|
|
728
|
+
},
|
|
671
729
|
'chats.fetch_error': {
|
|
672
730
|
ru: 'Не удалось получить список:',
|
|
673
731
|
en: 'Failed to fetch the list:',
|
|
674
732
|
},
|
|
733
|
+
'chats.prompt_no_resend': {
|
|
734
|
+
ru: ' Системный промпт НЕ пересылается (он уже в начале чата). Включить: /config set browser.resendPromptOnResume true.\n',
|
|
735
|
+
en: ' The system prompt is NOT resent (it is already at the start of the chat). Enable: /config set browser.resendPromptOnResume true.\n',
|
|
736
|
+
},
|
|
675
737
|
'chats.resume_usage': {
|
|
676
738
|
ru: 'Использование: /resume <n> (или /chats для списка)',
|
|
677
739
|
en: 'Usage: /resume <n> (or /chats for the list)',
|
|
@@ -703,6 +765,10 @@ const CATALOG = {
|
|
|
703
765
|
},
|
|
704
766
|
'chats.not_created': { ru: 'Чат ещё не создан.', en: 'No chat created yet.' },
|
|
705
767
|
'chats.history_title': { ru: 'Диалог чата:', en: 'Chat dialogue:' },
|
|
768
|
+
'chats.history_near_limit': {
|
|
769
|
+
ru: '⚠ Контекст чата заполнен на {pct}% — рекомендую /compact.',
|
|
770
|
+
en: '⚠ The chat context is {pct}% full — /compact is recommended.',
|
|
771
|
+
},
|
|
706
772
|
'chats.history_tokens': {
|
|
707
773
|
ru: 'Контекст чата: ~{v} токенов',
|
|
708
774
|
en: 'Chat context: ~{v} tokens',
|
|
@@ -821,6 +887,10 @@ const CATALOG = {
|
|
|
821
887
|
'cfg.group.undo': { ru: 'Откат (undo)', en: 'Undo' },
|
|
822
888
|
'cfg.group.transcript': { ru: 'Транскрипт', en: 'Transcript' },
|
|
823
889
|
'cfg.group.browser': { ru: 'Браузер / DeepSeek', en: 'Browser / DeepSeek' },
|
|
890
|
+
'cfg.f.ui_contextLimit': {
|
|
891
|
+
ru: 'Размер контекста (токены)',
|
|
892
|
+
en: 'Context window (tokens)',
|
|
893
|
+
},
|
|
824
894
|
'cfg.f.ui_locale': {
|
|
825
895
|
ru: 'Язык интерфейса и ответов агента',
|
|
826
896
|
en: 'Interface and agent reply language',
|
|
@@ -906,6 +976,22 @@ const CATALOG = {
|
|
|
906
976
|
ru: 'Автонажатие кнопки Continue (режим размышления)',
|
|
907
977
|
en: 'Auto-click Continue (reasoning mode)',
|
|
908
978
|
},
|
|
979
|
+
'cfg.f.browser_autoCompact': {
|
|
980
|
+
ru: 'Авто-сжатие контекста',
|
|
981
|
+
en: 'Auto-compact the context',
|
|
982
|
+
},
|
|
983
|
+
'cfg.f.browser_autoCompactPct': {
|
|
984
|
+
ru: 'Порог авто-сжатия (%)',
|
|
985
|
+
en: 'Auto-compact threshold (%)',
|
|
986
|
+
},
|
|
987
|
+
'cfg.f.browser_askDeadlineMs': {
|
|
988
|
+
ru: 'Watchdog-таймаут ask (мс)',
|
|
989
|
+
en: 'ask() watchdog deadline (ms)',
|
|
990
|
+
},
|
|
991
|
+
'cfg.f.browser_maxAfterToolRetries': {
|
|
992
|
+
ru: 'Повторов после таймаута',
|
|
993
|
+
en: 'Retries after a timeout',
|
|
994
|
+
},
|
|
909
995
|
'cfg.f.browser_continueMinGapMs': {
|
|
910
996
|
ru: 'Мин. пауза перед нажатием Continue, мс',
|
|
911
997
|
en: 'Min gap before a Continue click, ms',
|