zames_pro 2.64.1 → 2.65.1

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.
@@ -0,0 +1,552 @@
1
+ // Help text (CLI options, slash commands, key bindings).
2
+ export const helpMessages = {
3
+ 'help.options': { ru: 'Опции CLI:', en: 'CLI options:' },
4
+ 'help.color_note': {
5
+ ru: 'Цвет отключается переменной окружения NO_COLOR=1.',
6
+ en: 'Disable color with the NO_COLOR=1 environment variable.',
7
+ },
8
+ 'help.opt.dir': {
9
+ ru: 'рабочая директория агента',
10
+ en: 'agent working directory',
11
+ },
12
+ 'help.opt.task': { ru: 'задача одной строкой', en: 'single-line task' },
13
+ 'help.opt.chat': {
14
+ ru: 'продолжить существующий чат по id',
15
+ en: 'resume an existing chat by id',
16
+ },
17
+ 'help.opt.resume_last': {
18
+ ru: 'вернуться в последний сохранённый чат',
19
+ en: 'resume the last saved chat',
20
+ },
21
+ 'help.opt.new_chat': {
22
+ ru: 'начать новый чат (по умолчанию)',
23
+ en: 'start a new chat (default)',
24
+ },
25
+ 'help.opt.resend_prompt': {
26
+ ru: 'дослать system-prompt в существующий чат',
27
+ en: 'resend system-prompt into an existing chat',
28
+ },
29
+ 'help.opt.max_iter': {
30
+ ru: 'лимит итераций, 0 = без лимита ({n})',
31
+ en: 'iteration limit, 0 = unlimited ({n})',
32
+ },
33
+ 'help.opt.headless': {
34
+ ru: 'браузер без UI (по умолчанию)',
35
+ en: 'headless browser (default)',
36
+ },
37
+ 'help.opt.headed': {
38
+ ru: 'показать окно браузера (отладка/вход)',
39
+ en: 'show the browser window (debug/sign-in)',
40
+ },
41
+ 'help.opt.debug': { ru: 'подробный лог', en: 'verbose log' },
42
+ 'help.opt.dev': {
43
+ ru: 'режим разработки: авто-перечитывание модулей',
44
+ en: 'dev mode: auto-reload modules',
45
+ },
46
+ 'help.opt.version': { ru: 'показать версию', en: 'show version' },
47
+ 'help.opt.no_color': {
48
+ ru: 'отключить цвет (то же, что NO_COLOR=1)',
49
+ en: 'disable color (same as NO_COLOR=1)',
50
+ },
51
+ 'help.opt.help': { ru: 'эта справка', en: 'this help' },
52
+ 'help.while_working': {
53
+ ru: 'Пока агент работает:',
54
+ en: 'While the agent is working:',
55
+ },
56
+ 'help.key.queue': {
57
+ ru: 'печать + Enter поставить сообщение в очередь (уйдёт после текущей задачи)',
58
+ en: 'type + Enter queue a message (sent after the current task)',
59
+ },
60
+ 'help.key.history': {
61
+ ru: '↑ / ↓ история введённых сообщений',
62
+ en: '↑ / ↓ input history',
63
+ },
64
+ 'help.key.search': {
65
+ ru: 'Ctrl+R поиск по истории (обратный)',
66
+ en: 'Ctrl+R reverse-search the history',
67
+ },
68
+ 'help.key.undo': {
69
+ ru: 'Ctrl+_ отменить правку в строке ввода',
70
+ en: 'Ctrl+_ undo the last edit in the input line',
71
+ },
72
+ 'help.key.words': {
73
+ ru: 'Ctrl+← / Ctrl+→ перемещение по словам',
74
+ en: 'Ctrl+← / Ctrl+→ move by words',
75
+ },
76
+ 'help.key.slash': {
77
+ ru: '/ + Tab подсказка и автодополнение slash-команд (Ctrl+N/P — листать)',
78
+ en: '/ + Tab slash-command hints and completion (Ctrl+N/P to page)',
79
+ },
80
+ 'help.key.newline': {
81
+ ru: 'Ctrl+J / Ctrl+Enter новая строка (Shift+Enter в терминалах с поддержкой)',
82
+ en: 'Ctrl+J / Ctrl+Enter new line (Shift+Enter in capable terminals)',
83
+ },
84
+ 'help.key.backslash': {
85
+ ru: '\\ + Enter тоже новая строка',
86
+ en: '\\ + Enter also a new line',
87
+ },
88
+ 'help.key.attach': {
89
+ ru: 'Ctrl+Shift+V картинки вставить изображение/файл (сохранится в tmp)',
90
+ en: 'Ctrl+Shift+V image paste an image/file (saved to tmp)',
91
+ },
92
+ 'help.key.esc': {
93
+ ru: 'Esc, Ctrl+C прервать текущую генерацию',
94
+ en: 'Esc, Ctrl+C abort current generation',
95
+ },
96
+ 'help.key.bang': {
97
+ ru: '!команда выполнить shell-команду напрямую (мимо модели)',
98
+ en: '!command run a shell command directly (bypass the model)',
99
+ },
100
+ 'help.commands': { ru: 'Команды:', en: 'Commands:' },
101
+ 'help.sec.session': { ru: 'Сессия', en: 'Session' },
102
+ 'help.sec.workspace': { ru: 'Рабочая директория', en: 'Workspace' },
103
+ 'help.sec.git': { ru: 'Git', en: 'Git' },
104
+ 'help.sec.agent': { ru: 'Агент', en: 'Agent' },
105
+ 'help.sec.context': { ru: 'Контекст и настройки', en: 'Context & settings' },
106
+ 'help.sec.files': { ru: 'Файлы и прочее', en: 'Files & misc' },
107
+ 'help.cmd.new': {
108
+ ru: '/new, /clear новый чат (сброс контекста)',
109
+ en: '/new, /clear new chat (reset context)',
110
+ },
111
+ 'help.cmd.sessions': {
112
+ ru: '/sessions [фильтр] список сохранённых сессий (можно фильтровать)',
113
+ en: '/sessions [filter] list saved sessions (optionally filtered)',
114
+ },
115
+ 'help.cmd.resume_id': {
116
+ ru: '/resume-id <id> восстановить сессию по полному id',
117
+ en: '/resume-id <id> resume a session by full id',
118
+ },
119
+ 'help.cmd.chats': {
120
+ ru: '/chats [фильтр] список последних чатов DeepSeek',
121
+ en: '/chats [filter] recent DeepSeek chats',
122
+ },
123
+ 'help.cmd.resume': {
124
+ ru: '/resume <n> открыть чат №n из /chats',
125
+ en: '/resume <n> open chat #n from /chats',
126
+ },
127
+ 'help.cmd.last': {
128
+ ru: '/last открыть последний чат этого каталога',
129
+ en: '/last open the last chat of this directory',
130
+ },
131
+ 'help.cmd.chat': {
132
+ ru: '/chat показать текущий chat id',
133
+ en: '/chat show current chat id',
134
+ },
135
+ 'help.cmd.cd': {
136
+ ru: '/cd <path> сменить рабочую директорию',
137
+ en: '/cd <path> change working directory',
138
+ },
139
+ 'help.cmd.pwd': {
140
+ ru: '/pwd текущая директория',
141
+ en: '/pwd current directory',
142
+ },
143
+ 'help.cmd.status': {
144
+ ru: '/status состояние сессии',
145
+ en: '/status session state',
146
+ },
147
+ 'help.cmd.reload': {
148
+ ru: '/reload перечитать модули логики без перезапуска',
149
+ en: '/reload hot-reload logic modules',
150
+ },
151
+ 'help.cmd.undo': {
152
+ ru: '/undo откатить последнюю запись/правку',
153
+ en: '/undo revert the last write/edit',
154
+ },
155
+ 'help.cmd.undo_list': {
156
+ ru: '/undo-list список того, что можно откатить',
157
+ en: '/undo-list list revertable changes',
158
+ },
159
+ 'help.cmd.rewind': {
160
+ ru: '/rewind [n] откатить рабочее дерево к чекпойнту',
161
+ en: '/rewind [n] roll the working tree back to a checkpoint',
162
+ },
163
+ 'help.cmd.rewind_list': {
164
+ ru: '/rewind-list список чекпойнтов',
165
+ en: '/rewind-list list checkpoints',
166
+ },
167
+ 'help.cmd.transcript': {
168
+ ru: '/transcript путь к файлу транскрипта',
169
+ en: '/transcript transcript file path',
170
+ },
171
+ 'help.cmd.diff': {
172
+ ru: '/diff [--staged] показать git diff',
173
+ en: '/diff [--staged] show working tree git diff',
174
+ },
175
+ 'help.cmd.diffstat': {
176
+ ru: '/diffstat сводка изменений (git diff --stat)',
177
+ en: '/diffstat change summary (git diff --stat)',
178
+ },
179
+ 'help.cmd.retry': {
180
+ ru: '/retry повторить последнюю задачу в этом чате',
181
+ en: '/retry resend the last task into this chat',
182
+ },
183
+ 'help.cmd.rename': {
184
+ ru: '/rename <title> задать имя текущей сессии',
185
+ en: '/rename <title> set the current session title',
186
+ },
187
+ 'help.cmd.context': {
188
+ ru: '/context что загружено в промпт (AGENTS/MEMORY/skills/commands)',
189
+ en: '/context what is loaded into the prompt (AGENTS/MEMORY/skills/commands)',
190
+ },
191
+ 'help.cmd.copy': {
192
+ ru: '/copy скопировать последний ответ в буфер обмена',
193
+ en: '/copy copy the last answer to the clipboard',
194
+ },
195
+ 'help.cmd.cost': { ru: '/cost статистика сессии', en: '/cost session stats' },
196
+ 'help.cmd.export': {
197
+ ru: '/export [file] выгрузить сессию в Markdown',
198
+ en: '/export [file] export the session to Markdown',
199
+ },
200
+ 'help.cmd.doctor': {
201
+ ru: '/doctor диагностика установки и конфига',
202
+ en: '/doctor diagnose install and config',
203
+ },
204
+ 'help.cmd.add_dir': {
205
+ ru: '/add-dir <path> проверить директорию',
206
+ en: '/add-dir <path> validate a directory',
207
+ },
208
+ 'help.cmd.review': {
209
+ ru: '/review [focus] ревью незакоммиченных изменений',
210
+ en: '/review [focus] review uncommitted changes',
211
+ },
212
+ 'help.cmd.improve': {
213
+ ru: '/improve [id] взять следующий пункт BACKLOG и довести до тестов',
214
+ en: '/improve [id] take the next BACKLOG item and drive it to green tests',
215
+ },
216
+ 'improve.no_backlog': {
217
+ ru: 'BACKLOG.md не найден в рабочей директории.',
218
+ en: 'BACKLOG.md was not found in the working directory.',
219
+ },
220
+ 'improve.all_done': {
221
+ ru: 'Открытых пунктов в BACKLOG нет.',
222
+ en: 'There are no open BACKLOG items.',
223
+ },
224
+ 'improve.not_found': {
225
+ ru: 'Пункт {v} не найден в BACKLOG.',
226
+ en: 'Item {v} was not found in BACKLOG.',
227
+ },
228
+ 'improve.start': {
229
+ ru: 'Улучшение {id}: {title}',
230
+ en: 'Improving {id}: {title}',
231
+ },
232
+ 'improve.collapsed': {
233
+ ru: 'BACKLOG свёрнут: удалено архивных блоков — {n}.',
234
+ en: 'BACKLOG collapsed: {n} archived block(s) removed.',
235
+ },
236
+ 'help.cmd.backlog': {
237
+ ru: '/backlog <текст> записать идею в BACKLOG.md',
238
+ en: '/backlog <text> record an idea in BACKLOG.md',
239
+ },
240
+ 'backlog.usage': {
241
+ ru: 'Использование: /backlog <текст идеи>',
242
+ en: 'Usage: /backlog <idea text>',
243
+ },
244
+ 'backlog.none': {
245
+ ru: 'BACKLOG.md не найден в рабочей директории.',
246
+ en: 'BACKLOG.md was not found in the working directory.',
247
+ },
248
+ 'backlog.adding': {
249
+ ru: 'Записываю в BACKLOG: {v}',
250
+ en: 'Recording in BACKLOG: {v}',
251
+ },
252
+ 'backlog.warn': {
253
+ ru: 'BACKLOG.md разросся ({lines} строк, {chars} символов). Сверни сделанное: /backlog collapse',
254
+ en: 'BACKLOG.md has grown large ({lines} lines, {chars} chars). Collapse it: /backlog collapse',
255
+ },
256
+ 'backlog.empty': {
257
+ ru: 'Свёртывать нечего: архивных блоков нет.',
258
+ en: 'Nothing to collapse: there are no archived blocks.',
259
+ },
260
+ 'help.cmd.compact': {
261
+ ru: '/compact сжать историю и открыть новый чат с резюме',
262
+ en: '/compact compact the history and open a new chat with the summary',
263
+ },
264
+ 'help.cmd.queue': {
265
+ ru: '/queue [clear] показать/очистить очередь сообщений',
266
+ en: '/queue [clear] list/clear the pending message queue',
267
+ },
268
+ 'help.cmd.tasks': {
269
+ ru: '/tasks список задач агента (TodoWrite)',
270
+ en: '/tasks the agent task list (TodoWrite)',
271
+ },
272
+ 'help.cmd.thinking': {
273
+ ru: '/thinking [on|off] включить/выключить режим размышления (можно во время работы)',
274
+ en: '/thinking [on|off] toggle Deep thinking (works while the agent is busy)',
275
+ },
276
+ 'help.cmd.web': {
277
+ ru: '/web [on|off] включить/выключить поиск в интернете (можно во время работы)',
278
+ en: '/web [on|off] toggle Smart search (works while the agent is busy)',
279
+ },
280
+ 'help.cmd.goal': {
281
+ ru: '/goal [текст|clear] задать долгоживущую цель сессии',
282
+ en: '/goal [text|clear] set a long-lived session goal',
283
+ },
284
+ 'help.cmd.plan': {
285
+ ru: '/plan [on|off] режим плана: только чтение, без правок и команд',
286
+ en: '/plan [on|off] plan mode: read-only, no edits or commands',
287
+ },
288
+ 'plan.on': {
289
+ ru: 'Режим плана ВКЛ: доступны только инструменты чтения. Правки и команды запрещены. /plan off — выключить.',
290
+ en: 'Plan mode ON: only read tools are available. Edits and commands are disabled. /plan off to disable.',
291
+ },
292
+ 'plan.off': {
293
+ ru: 'Режим плана ВЫКЛ: агент снова может писать и запускать команды.',
294
+ en: 'Plan mode OFF: the agent can edit and run commands again.',
295
+ },
296
+ 'help.opt.output_format': {
297
+ ru: 'формат вывода: text|json|jsonl (для скриптов)',
298
+ en: 'output format: text|json|jsonl (for scripts)',
299
+ },
300
+ 'help.opt.plan': {
301
+ ru: 'стартовать в режиме плана (только чтение)',
302
+ en: 'start in plan mode (read-only)',
303
+ },
304
+ 'help.cmd.loop': {
305
+ ru: '/loop <интервал> <задача> периодически повторять задачу (напр. 10m)',
306
+ en: '/loop <interval> <task> repeat a task periodically (e.g. 10m)',
307
+ },
308
+ 'help.cmd.cron': {
309
+ ru: '/cron <выражение> <задача> запускать по расписанию (5 полей)',
310
+ en: '/cron <expr> <task> schedule a task (5-field cron)',
311
+ },
312
+ 'help.cmd.jobs': {
313
+ ru: '/jobs [rm <id>|clear] список/удаление запланированных задач',
314
+ en: '/jobs [rm <id>|clear] list/remove scheduled tasks',
315
+ },
316
+ 'sched.loop_usage': {
317
+ ru: 'Использование: /loop <интервал> <задача>, например /loop 10m проверь тесты',
318
+ en: 'Usage: /loop <interval> <task>, e.g. /loop 10m check the tests',
319
+ },
320
+ 'sched.cron_usage': {
321
+ ru: 'Использование: /cron "<мин> <час> <день> <мес> <день недели>" <задача>',
322
+ en: 'Usage: /cron "<min> <hour> <dom> <month> <dow>" <task>',
323
+ },
324
+ 'sched.loop_too_short': {
325
+ ru: 'Слишком часто: минимум {min} (троттлинг отправок 15с).',
326
+ en: 'Too frequent: minimum {min} (the send throttle is 15s).',
327
+ },
328
+ 'sched.added': {
329
+ ru: '⏰ Задача #{id} добавлена ({when}): {task}',
330
+ en: '⏰ Job #{id} added ({when}): {task}',
331
+ },
332
+ 'sched.title': { ru: 'Запланированные задачи:', en: 'Scheduled jobs:' },
333
+ 'sched.none': { ru: 'Запланированных задач нет.', en: 'No scheduled jobs.' },
334
+ 'sched.fired': {
335
+ ru: '⏰ Задача #{id} сработала: {task}',
336
+ en: '⏰ Job #{id} fired: {task}',
337
+ },
338
+ 'sched.cleared': { ru: 'Задачи очищены: {n}', en: 'Jobs cleared: {n}' },
339
+ 'sched.removed': { ru: 'Задача #{id} удалена.', en: 'Job #{id} removed.' },
340
+ 'sched.rm_usage': {
341
+ ru: 'Использование: /jobs rm <id>',
342
+ en: 'Usage: /jobs rm <id>',
343
+ },
344
+ 'sched.remove_hint': {
345
+ ru: 'Удалить: /jobs rm <id> · очистить всё: /jobs clear',
346
+ en: 'Remove: /jobs rm <id> · clear all: /jobs clear',
347
+ },
348
+ 'goal.set': { ru: '🎯 Цель сессии: {goal}', en: '🎯 Session goal: {goal}' },
349
+ 'goal.loaded': {
350
+ ru: '🎯 Восстановлена цель сессии: {goal}',
351
+ en: '🎯 Restored session goal: {goal}',
352
+ },
353
+ 'goal.current': {
354
+ ru: '🎯 Цель сессии: {goal}',
355
+ en: '🎯 Session goal: {goal}',
356
+ },
357
+ 'goal.none': {
358
+ ru: 'Цель сессии не задана. /goal <текст>, /goal clear.',
359
+ en: 'No session goal. /goal <text>, /goal clear.',
360
+ },
361
+ 'goal.cleared': {
362
+ ru: '🎯 Цель сессии очищена.',
363
+ en: '🎯 Session goal cleared.',
364
+ },
365
+ 'toggle.thinking': { ru: 'Размышление', en: 'Deep thinking' },
366
+ 'toggle.search': { ru: 'Поиск в интернете', en: 'Smart search' },
367
+ 'toggle.set': { ru: '{name}: {state}', en: '{name}: {state}' },
368
+ 'compact.auto_trigger': {
369
+ ru: '🗜️ Контекст заполнен на {pct}% ({tokens} токенов) — сжимаю историю и открываю новый чат...',
370
+ en: '🗜️ Context at {pct}% ({tokens} tokens) — compacting the history and opening a fresh chat...',
371
+ },
372
+ 'compact.auto_same_chat': {
373
+ ru: '🗜️ Сжатие не открыло новый чат (тот же id) — отключаю авто-сжатие до конца задачи, чтобы не зациклиться.',
374
+ en: '🗜️ Compaction did not open a fresh chat (same id) — disabling auto-compact for the rest of the task to avoid a loop.',
375
+ },
376
+ 'compact.start': {
377
+ ru: '🗜️ Сжимаю историю чата (DeepSeek)...',
378
+ en: '🗜️ Compacting the chat history (DeepSeek)...',
379
+ },
380
+ 'compact.empty': {
381
+ ru: 'Нечего сжимать: в чате ещё нет ответов.',
382
+ en: 'Nothing to compact: the chat has no answers yet.',
383
+ },
384
+ 'compact.summary_failed': {
385
+ ru: 'Не удалось получить резюме от модели: {v}',
386
+ en: 'Could not get the summary from the model: {v}',
387
+ },
388
+ 'compact.summary_retry': {
389
+ ru: 'Не удалось получить резюме ({v}). Повтор {attempt}/{max}...',
390
+ en: 'Could not get the summary ({v}). Retry {attempt}/{max}...',
391
+ },
392
+ 'compact.summary_fallback': {
393
+ ru: 'Модель не смогла сделать резюме — переношу последние {v} сообщений диалога как есть.',
394
+ en: 'The model could not produce a summary — carrying the last {v} messages over as-is.',
395
+ },
396
+ 'compact.done': {
397
+ ru: '✅ История сжата, открыт новый чат с резюме.',
398
+ en: '✅ History compacted, a new chat with the summary is open.',
399
+ },
400
+ 'compact.report': {
401
+ ru: 'Резюме перенесено в новый чат ({chars} символов, токенов было ~{tokens}).',
402
+ en: 'The summary was carried into the new chat ({chars} chars, ~{tokens} tokens before).',
403
+ },
404
+ 'compact.no_chat': {
405
+ ru: 'Чат ещё не создан — сжимать нечего.',
406
+ en: 'No chat created yet — nothing to compact.',
407
+ },
408
+ 'diff.not_repo': { ru: 'Не git-репозиторий.', en: 'Not a git repository.' },
409
+ 'export.done': { ru: 'Сессия выгружена: {v}', en: 'Session exported: {v}' },
410
+ 'export.outside': {
411
+ ru: 'Путь вне рабочей директории.',
412
+ en: 'Path is outside the working directory.',
413
+ },
414
+ 'adddir.not_dir': {
415
+ ru: 'Нет такой директории: {v}',
416
+ en: 'No such directory: {v}',
417
+ },
418
+ 'adddir.note': {
419
+ ru: 'Директория существует: {v}. Только проверка — песочница фиксируется при запуске, доступ не расширяется (перезапустите с --dir, чтобы работать там).',
420
+ en: 'Directory exists: {v}. Check only — the sandbox is fixed at startup, access is NOT granted (relaunch with --dir to work there).',
421
+ },
422
+ 'help.cmd.config': {
423
+ ru: '/config настройки: показать и изменить',
424
+ en: '/config settings: view and edit',
425
+ },
426
+ 'help.cmd.lang': {
427
+ ru: '/config lang <ru|en> сменить язык интерфейса и агента',
428
+ en: '/config lang <ru|en> switch UI and agent language',
429
+ },
430
+ 'help.cmd.debug_dom': {
431
+ ru: '/debug-dom сохранить HTML страницы (для отладки)',
432
+ en: '/debug-dom dump page HTML (debug)',
433
+ },
434
+ 'help.no_topic': {
435
+ ru: 'Нет команды по запросу «{v}». Попробуй /help без аргумента.',
436
+ en: 'No command matches "{v}". Try /help without arguments.',
437
+ },
438
+ 'help.cmd.help': {
439
+ ru: '/help, help справка',
440
+ en: '/help, help this help',
441
+ },
442
+ 'help.cmd.exit': {
443
+ ru: '/exit, /quit, exit выход',
444
+ en: '/exit, /quit, exit exit',
445
+ },
446
+ 'skills.none': {
447
+ ru: 'Навыки не найдены. Добавьте SKILL.md в .zames/skills/<имя>/ или ~/.zames/skills/.',
448
+ en: 'No skills found. Add SKILL.md under .zames/skills/<name>/ or ~/.zames/skills/.',
449
+ },
450
+ 'skills.title': { ru: 'Найдено навыков: {n}', en: 'Skills found: {n}' },
451
+ 'memory.agents': {
452
+ ru: 'Инструкции (AGENTS.md):',
453
+ en: 'Instructions (AGENTS.md):',
454
+ },
455
+ 'memory.memory': { ru: 'Память (MEMORY.md):', en: 'Memory (MEMORY.md):' },
456
+ 'remember.usage': {
457
+ ru: 'Использование: /remember <текст заметки>',
458
+ en: 'Usage: /remember <note text>',
459
+ },
460
+ 'remember.saved': {
461
+ ru: '🧠 Заметка добавлена в {v}',
462
+ en: '🧠 Note appended to {v}',
463
+ },
464
+ 'init.exists': {
465
+ ru: 'AGENTS.md уже существует: {v}',
466
+ en: 'AGENTS.md already exists: {v}',
467
+ },
468
+ 'init.created': { ru: 'Создан {v}', en: 'Created {v}' },
469
+ 'init.analyzing': {
470
+ ru: 'Изучаю проект и готовлю AGENTS.md...',
471
+ en: 'Analyzing the project and preparing AGENTS.md...',
472
+ },
473
+ 'init.done': {
474
+ ru: 'AGENTS.md создан агентом: {v}',
475
+ en: 'AGENTS.md created by the agent: {v}',
476
+ },
477
+ 'init.failed': {
478
+ ru: 'Не удалось создать AGENTS.md автоматически, записан базовый шаблон.',
479
+ en: 'Could not create AGENTS.md automatically, wrote a basic template.',
480
+ },
481
+ 'init.overwrite': {
482
+ ru: 'AGENTS.md уже существует: {v} (используйте /init --force для перезаписи)',
483
+ en: 'AGENTS.md already exists: {v} (use /init --force to overwrite)',
484
+ },
485
+ 'help.cmd.skill': { ru: 'навык (SKILL.md)', en: 'skill (SKILL.md)' },
486
+ 'help.cmd.custom': { ru: 'пользовательская команда', en: 'custom command' },
487
+ 'help.cmd.skills': {
488
+ ru: '/skills список найденных навыков',
489
+ en: '/skills list discovered skills',
490
+ },
491
+ 'help.cmd.memory': {
492
+ ru: '/memory показать MEMORY.md и AGENTS.md',
493
+ en: '/memory show MEMORY.md and AGENTS.md',
494
+ },
495
+ 'help.cmd.remember': {
496
+ ru: '/remember <текст> дописать заметку в MEMORY.md',
497
+ en: '/remember <text> append a note to MEMORY.md',
498
+ },
499
+ 'help.cmd.init': {
500
+ ru: '/init [--force] изучить проект и создать AGENTS.md',
501
+ en: '/init [--force] analyze the project and create AGENTS.md',
502
+ },
503
+ 'help.skills': {
504
+ ru: 'Навыки и свои команды:',
505
+ en: 'Skills and custom commands:',
506
+ },
507
+ 'help.self_review': {
508
+ ru: 'Самообзор (отладка агента):',
509
+ en: 'Self-review (agent debugging):',
510
+ },
511
+ 'help.self.review': {
512
+ ru: '/self-review [фокус] снять снапшот src/ и запустить ревью',
513
+ en: '/self-review [focus] snapshot src/ and run review',
514
+ },
515
+ 'help.self.fix': {
516
+ ru: '/self-fix <name> [фокус] вернуться в существующий снапшот и продолжить',
517
+ en: '/self-fix <name> [focus] enter an existing snapshot and continue',
518
+ },
519
+ 'help.self.done': {
520
+ ru: '/self-done выйти из режима ревью (вернуться в свою папку)',
521
+ en: '/self-done leave review mode (back to your dir)',
522
+ },
523
+ 'help.self.list': {
524
+ ru: '/self-list список снапшотов',
525
+ en: '/self-list list snapshots',
526
+ },
527
+ 'help.self.diff': {
528
+ ru: '/self-diff <name> различия между текущим src/ и снапшотом',
529
+ en: '/self-diff <name> diff between current src/ and snapshot',
530
+ },
531
+ 'help.self.apply': {
532
+ ru: '/self-apply <name> применить снапшот к src/ (с бэкапом)',
533
+ en: '/self-apply <name> apply snapshot to src/ (with backup)',
534
+ },
535
+ 'help.files': { ru: 'Файлы:', en: 'Files:' },
536
+ 'help.files.logs': { ru: 'Логи:', en: 'Logs:' },
537
+ 'help.files.undo': { ru: 'Undo:', en: 'Undo:' },
538
+ 'help.files.checkpoints': { ru: 'Чекпойнты:', en: 'Checkpoints:' },
539
+ 'help.files.sessions': { ru: 'Сессии:', en: 'Sessions:' },
540
+ 'help.files.profile': { ru: 'Профиль:', en: 'Profile:' },
541
+ 'help.files.snapshots': { ru: 'Снапшоты:', en: 'Snapshots:' },
542
+ 'help.files.tmp': { ru: 'Временные:', en: 'Temp:' },
543
+ 'help.files.tmp_note': {
544
+ ru: '(в .gitignore, очищается при старте)',
545
+ en: '(.gitignore, cleaned on start)',
546
+ },
547
+ 'help.files.config': { ru: 'Конфиг:', en: 'Config:' },
548
+ 'help.toggles_legend': {
549
+ ru: 'Индикаторы в статус-строке: 🧠 — глубокое размышление, 🌐 — поиск в интернете (видны, когда включены).',
550
+ en: 'Status-line icons: 🧠 — Deep thinking, 🌐 — web search (shown when enabled).',
551
+ },
552
+ };
@@ -0,0 +1,41 @@
1
+ // MCP server messages.
2
+ export const mcpMessages = {
3
+ 'help.cmd.mcp': {
4
+ ru: '/mcp показать MCP-серверы и их инструменты',
5
+ en: '/mcp show MCP servers and their tools',
6
+ },
7
+ 'mcp.loaded': {
8
+ ru: 'MCP: подключено инструментов {n} ({servers})',
9
+ en: 'MCP: {n} tool(s) from {servers}',
10
+ },
11
+ 'mcp.server_error': {
12
+ ru: 'MCP-сервер {name} недоступен: {error}',
13
+ en: 'MCP server {name} unavailable: {error}',
14
+ },
15
+ 'mcp.load_failed': {
16
+ ru: 'Не удалось загрузить MCP: {v}',
17
+ en: 'Failed to load MCP: {v}',
18
+ },
19
+ 'mcp.none': {
20
+ ru: 'MCP-серверы не настроены.',
21
+ en: 'No MCP servers configured.',
22
+ },
23
+ 'mcp.hint': {
24
+ ru: 'Добавь ~/.zames/mcp.json или <project>/.zames/mcp.json.',
25
+ en: 'Add ~/.zames/mcp.json or <project>/.zames/mcp.json.',
26
+ },
27
+ 'mcp.title': {
28
+ ru: 'MCP-серверы (инструментов: {n}):',
29
+ en: 'MCP servers ({n} tools):',
30
+ },
31
+ 'mcp.status_error': { ru: '(ошибка: {v})', en: '(error: {v})' },
32
+ 'status.mcp': { ru: 'MCP-инструменты: {v}', en: 'MCP tools: {v}' },
33
+ 'status.toggles': {
34
+ ru: 'Размышление: {think} · Поиск: {search}',
35
+ en: 'Deep thinking: {think} · Search: {search}',
36
+ },
37
+ 'status.tokens': {
38
+ ru: 'Контекст (токенов): {v}',
39
+ en: 'Context (tokens): {v}',
40
+ },
41
+ };
@@ -0,0 +1,20 @@
1
+ // System-prompt fragments.
2
+ export const promptMessages = {
3
+ 'prompt.answer_language': {
4
+ ru: 'ВАЖНО: отвечай оператору на русском языке. Весь текст в поле message инструмента respond, а также любые пояснения — на русском.',
5
+ en: 'IMPORTANT: reply to the operator in English. All text in the respond tool message field, and any explanations, must be in English.',
6
+ },
7
+ 'prompt.tools_header': {
8
+ ru: 'You have access to the following tools:',
9
+ en: 'You have access to the following tools:',
10
+ },
11
+ // The hard "ONLY TOOL CALLS" block. All prose around a tool call is a
12
+ // protocol violation: the operator never sees it (only tool calls and the
13
+ // final respond reach the terminal), so it is pure pollution. We cannot
14
+ // stop DeepSeek from generating it INSIDE its chat with code (that is the
15
+ // model's output); we can only forbid it by prompt and hide it here.
16
+ 'prompt.only_tool_calls': {
17
+ ru: '## ТОЛЬКО ВЫЗОВЫ ИНСТРУМЕНТОВ (жёсткое правило)\n\nОбщайся с оператором ТОЛЬКО через вызовы инструментов. Любой обычный текст — объяснения, планы, рассуждения, комментарии, извинения, приветствия, заголовки, списки, markdown, эмодзи — ЗАПРЕЩЁН. Он не читается и считается ошибкой.\n\nТВОЙ ЕДИНСТВЕННЫЙ ВЫВОД — вызов инструмента. В каждом ответе ровно один JSON-объект вызова (или массив независимых вызовов), без единого слова до и после.\n\nНЕЛЬЗЯ писать: «сейчас сделаю», «давай посмотрим», «проверю», планы, объяснения, итоги между шагами.\n\nМОЖНО только вызов инструмента и, в самом конце, когда задача выполнена, respond с итогом.\n\nЕдинственное место, где допускается текст, — поле message внутри respond, и только в самом конце.',
18
+ en: '## ONLY TOOL CALLS (hard rule)\n\nTalk to the operator ONLY through tool calls. Any plain text — explanations, plans, reasoning, comments, apologies, greetings, headings, lists, markdown, emoji — is FORBIDDEN. It is not read and counts as an error.\n\nYOUR ONLY OUTPUT is a tool call. Each turn contains exactly one JSON tool-call object (or an array of independent calls), with not a single word before or after.\n\nYou MUST NOT write: "I will now...", "let us look...", "let me check", plans, explanations, progress notes between steps.\n\nALLOWED: only a tool call and, at the very end, when the task is done, respond with the summary.\n\nThe only place where text is allowed is the message field inside respond, and only at the very end.',
19
+ },
20
+ };