@deadragdoll/tellymcp 0.0.10 → 0.0.11

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.
Files changed (153) hide show
  1. package/.env.example.client +42 -52
  2. package/.env.example.gateway +48 -62
  3. package/CHANGELOG.md +3 -3
  4. package/README-ru.md +205 -384
  5. package/README.md +195 -1194
  6. package/TOOLS.md +294 -377
  7. package/VERSION.md +11 -11
  8. package/config/codex/plugins/telly-workflows/.codex-plugin/plugin.json +18 -0
  9. package/config/codex/plugins/telly-workflows/references/invariants.md +10 -0
  10. package/config/codex/plugins/telly-workflows/skills/telly-browser-screenshot/SKILL.md +27 -0
  11. package/config/codex/plugins/telly-workflows/skills/telly-collab-artifact/SKILL.md +22 -0
  12. package/config/codex/plugins/telly-workflows/skills/telly-human-telegram/SKILL.md +31 -0
  13. package/config/codex/plugins/telly-workflows/skills/telly-partner-note/SKILL.md +36 -0
  14. package/config/templates/env.both.template +39 -20
  15. package/config/templates/env.client.template +34 -19
  16. package/config/templates/env.gateway.template +37 -22
  17. package/dist/cli.js +322 -75
  18. package/dist/codexPluginInstaller.js +215 -0
  19. package/dist/lib/mixins/session.errors.js +34 -1
  20. package/dist/lib/pinoTargets.js +2 -2
  21. package/dist/moleculer.config.js +7 -5
  22. package/dist/services/features/telegram-mcp/browser.service.js +94 -1
  23. package/dist/services/features/telegram-mcp/collaboration.service.js +40 -3
  24. package/dist/services/features/telegram-mcp/ensuredb.service.js +145 -26
  25. package/dist/services/features/telegram-mcp/gateway-delivery.service.js +285 -103
  26. package/dist/services/features/telegram-mcp/gateway-socket.service.js +897 -85
  27. package/dist/services/features/telegram-mcp/gateway.service.js +876 -81
  28. package/dist/services/features/telegram-mcp/mcp-http.service.js +8 -0
  29. package/dist/services/features/telegram-mcp/mcp-server.service.js +17 -26
  30. package/dist/services/features/telegram-mcp/notify.service.js +127 -1
  31. package/dist/services/features/telegram-mcp/session-context.service.js +28 -1
  32. package/dist/services/features/telegram-mcp/src/app/bootstrap/runtime.js +132 -10
  33. package/dist/services/features/telegram-mcp/src/app/config/env.js +158 -52
  34. package/dist/services/features/telegram-mcp/src/app/http.js +375 -42
  35. package/dist/services/features/telegram-mcp/src/app/webapp/assets.js +386 -58
  36. package/dist/services/features/telegram-mcp/src/app/webapp/auth.js +3 -0
  37. package/dist/services/features/telegram-mcp/src/app/webapp/terminal.js +12 -0
  38. package/dist/services/features/telegram-mcp/src/entities/request/model/schema.js +116 -104
  39. package/dist/services/features/telegram-mcp/src/entities/xchange/model/types.js +2 -0
  40. package/dist/services/features/telegram-mcp/src/features/ask-user/model/askUserTelegram.js +1 -1
  41. package/dist/services/features/telegram-mcp/src/features/browser/model/browserScreenshotTool.js +1 -1
  42. package/dist/services/features/telegram-mcp/src/features/browser/model/browserService.js +249 -19
  43. package/dist/services/features/telegram-mcp/src/features/collaboration/model/gatewaySessionsService.js +71 -0
  44. package/dist/services/features/telegram-mcp/src/features/collaboration/model/listGatewaySessionsTool.js +33 -0
  45. package/dist/services/features/telegram-mcp/src/features/collaboration/model/localCollaborationBackend.js +93 -82
  46. package/dist/services/features/telegram-mcp/src/features/collaboration/model/sendPartnerFileService.js +47 -5
  47. package/dist/services/features/telegram-mcp/src/features/collaboration/model/sendPartnerFileTool.js +1 -1
  48. package/dist/services/features/telegram-mcp/src/features/collaboration/model/sendPartnerNoteTool.js +1 -1
  49. package/dist/services/features/telegram-mcp/src/features/distributed-client/model/gatewayClientAccess.js +82 -0
  50. package/dist/services/features/telegram-mcp/src/features/distributed-client/model/gatewayCollaborationBackend.js +22 -14
  51. package/dist/services/features/telegram-mcp/src/features/distributed-gateway/model/gatewayHttpService.js +649 -75
  52. package/dist/services/features/telegram-mcp/src/features/distributed-gateway/model/remoteConsoleActionClient.js +76 -0
  53. package/dist/services/features/telegram-mcp/src/features/embedded-runtime/model/embeddedRuntimeBroker.js +92 -0
  54. package/dist/services/features/telegram-mcp/src/features/foreground-terminal/model/foregroundTerminalRuntime.js +192 -0
  55. package/dist/services/features/telegram-mcp/src/features/notify/model/notifyService.js +382 -3
  56. package/dist/services/features/telegram-mcp/src/features/notify/model/notifyTelegramTool.js +1 -1
  57. package/dist/services/features/telegram-mcp/src/features/notify/model/sendFileToTelegramTool.js +33 -0
  58. package/dist/services/features/telegram-mcp/src/features/session-context/model/clearSessionContextTool.js +1 -1
  59. package/dist/services/features/telegram-mcp/src/features/session-context/model/getSessionContextTool.js +1 -1
  60. package/dist/services/features/telegram-mcp/src/features/session-context/model/renameSessionTool.js +1 -1
  61. package/dist/services/features/telegram-mcp/src/features/session-context/model/sessionContextService.js +42 -200
  62. package/dist/services/features/telegram-mcp/src/features/session-context/model/setSessionContextTool.js +1 -1
  63. package/dist/services/features/telegram-mcp/src/features/terminal-buffer/model/terminalBufferService.js +96 -0
  64. package/dist/services/features/telegram-mcp/src/features/terminal-input/model/terminalInputService.js +97 -0
  65. package/dist/services/features/telegram-mcp/src/features/tools-sync/model/refreshToolsMarkdownService.js +107 -58
  66. package/dist/services/features/telegram-mcp/src/features/tools-sync/model/refreshToolsMarkdownTool.js +1 -1
  67. package/dist/services/features/telegram-mcp/src/features/xchange/model/getXchangeRecordTool.js +28 -0
  68. package/dist/services/features/telegram-mcp/src/features/xchange/model/listXchangeRecordsTool.js +28 -0
  69. package/dist/services/features/telegram-mcp/src/features/xchange/model/markXchangeRecordReadTool.js +28 -0
  70. package/dist/services/features/telegram-mcp/src/features/xchange/model/xchangeService.js +169 -0
  71. package/dist/services/features/telegram-mcp/src/processes/human-approval/model/orchestrator.js +5 -4
  72. package/dist/services/features/telegram-mcp/src/shared/i18n/resources/en.js +139 -42
  73. package/dist/services/features/telegram-mcp/src/shared/i18n/resources/ru.js +135 -38
  74. package/dist/services/features/telegram-mcp/src/shared/integrations/memory/processLocalSessionStore.js +27 -0
  75. package/dist/services/features/telegram-mcp/src/shared/integrations/object-storage/minioExchangeStore.js +11 -8
  76. package/dist/services/features/telegram-mcp/src/shared/integrations/redis/stateStore.js +42 -71
  77. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/proxyFetch.js +21 -22
  78. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transport.js +415 -7101
  79. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportAttachmentStore.js +93 -0
  80. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportBroadcastActions.js +385 -0
  81. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportConsoleRegistry.js +143 -0
  82. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportConstructorWiring.js +633 -0
  83. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportContent.js +84 -0
  84. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportContext.js +78 -0
  85. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportDocumentActions.js +36 -0
  86. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportEventActions.js +292 -0
  87. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportFileHandoffActions.js +352 -0
  88. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportFormatting.js +75 -0
  89. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportGatewayActions.js +44 -0
  90. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportLifecycleActions.js +161 -0
  91. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportLive.js +56 -0
  92. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportLiveActions.js +77 -0
  93. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuCallbacks.js +254 -0
  94. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuFactories.js +538 -0
  95. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuFingerprints.js +93 -0
  96. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuFlow.js +344 -0
  97. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuShell.js +62 -0
  98. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuState.js +408 -0
  99. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuText.js +216 -0
  100. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMessageFlow.js +452 -0
  101. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportOutputActions.js +189 -0
  102. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportPartnerActions.js +286 -0
  103. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportPayloadState.js +101 -0
  104. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectActions.js +463 -0
  105. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectEntryActions.js +202 -0
  106. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectEvents.js +99 -0
  107. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectMenus.js +138 -0
  108. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectState.js +308 -0
  109. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectView.js +426 -0
  110. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportRequestFlow.js +278 -0
  111. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportSessionActions.js +143 -0
  112. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportTerminalActions.js +468 -0
  113. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportTerminalRuntime.js +171 -0
  114. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportTypes.js +2 -0
  115. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportUtils.js +330 -0
  116. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportXchangeState.js +107 -0
  117. package/dist/services/features/telegram-mcp/src/shared/integrations/terminal/client.js +255 -0
  118. package/dist/services/features/telegram-mcp/src/shared/integrations/terminal/ptyRegistry.js +543 -0
  119. package/dist/services/features/telegram-mcp/src/shared/integrations/xchange/sqliteRecordStore.js +223 -0
  120. package/dist/services/features/telegram-mcp/src/shared/lib/gatewayScope.js +24 -0
  121. package/dist/services/features/telegram-mcp/src/shared/lib/logger/logger.js +6 -0
  122. package/dist/services/features/telegram-mcp/src/shared/lib/project-identity/projectIdentity.js +147 -76
  123. package/dist/services/features/telegram-mcp/src/shared/lib/telegramXchangeRecords.js +72 -0
  124. package/dist/services/features/telegram-mcp/src/shared/lib/terminalPromptDetection.js +237 -0
  125. package/dist/services/features/telegram-mcp/src/shared/lib/version/versionHandshake.js +129 -1
  126. package/dist/services/features/telegram-mcp/src/shared/lib/xchangeRecordHints.js +98 -0
  127. package/dist/services/features/telegram-mcp/standalone-http.service.js +12 -0
  128. package/dist/services/features/telegram-mcp/terminal-buffer.service.js +42 -0
  129. package/dist/services/features/telegram-mcp/terminal-input.service.js +41 -0
  130. package/dist/services/features/telegram-mcp/tools-sync.service.js +15 -1
  131. package/dist/services/features/telegram-mcp/xchange.service.js +123 -0
  132. package/docs/STANDALONE-ru.md +172 -0
  133. package/docs/STANDALONE.md +172 -0
  134. package/package.json +10 -5
  135. package/scripts/build-package-artifact.sh +27 -0
  136. package/scripts/deploy-gateway.sh +64 -0
  137. package/scripts/deploy-onebot-branch.sh +27 -0
  138. package/scripts/postinstall.js +11 -36
  139. package/STANDALONE-ru.md +0 -274
  140. package/STANDALONE.md +0 -274
  141. package/dist/services/features/telegram-mcp/inbox.service.js +0 -33
  142. package/dist/services/features/telegram-mcp/pair.service.js +0 -33
  143. package/dist/services/features/telegram-mcp/src/app/webapp/tmux.js +0 -10
  144. package/dist/services/features/telegram-mcp/src/features/inbox/model/deleteTelegramInboxMessageTool.js +0 -33
  145. package/dist/services/features/telegram-mcp/src/features/inbox/model/getTelegramInboxCountTool.js +0 -33
  146. package/dist/services/features/telegram-mcp/src/features/inbox/model/getTelegramInboxTool.js +0 -33
  147. package/dist/services/features/telegram-mcp/src/features/inbox/model/inboxService.js +0 -77
  148. package/dist/services/features/telegram-mcp/src/features/pair-session/model/clearSessionPairingTool.js +0 -33
  149. package/dist/services/features/telegram-mcp/src/features/pair-session/model/createSessionPairCodeTool.js +0 -33
  150. package/dist/services/features/telegram-mcp/src/features/pair-session/model/generatePairCode.js +0 -202
  151. package/dist/services/features/telegram-mcp/src/features/session-context/model/getTmuxTargetTool.js +0 -33
  152. package/dist/services/features/telegram-mcp/src/features/session-context/model/setTmuxTargetTool.js +0 -33
  153. package/dist/services/features/telegram-mcp/src/shared/integrations/tmux/client.js +0 -363
@@ -1,27 +1,21 @@
1
- # TellyMCP: пример конфигурации клиентского узла.
1
+ # TellyMCP client example
2
2
 
3
- # Токен Telegram-бота для этой клиентской машины.
4
- TELEGRAM_BOT_TOKEN=
5
- # Username бота, с @ или без.
6
- TELEGRAM_BOT_USERNAME=
7
- # Принудительный язык UI для отладки локализации: en или ru.
8
- # DEBUG_LANGUAGE=ru
9
- # Необязательная подпись проекта/сессии в prompt и note.
10
- PROJECT_NAME=
3
+ # Optional project label shown in prompts.
4
+ # PROJECT_NAME=
5
+
6
+ # Optional explicit session identity for the first run.
7
+ # TELLYMCP_SESSION_ID=NEW
8
+ # TELLYMCP_SESSION_LABEL=NEW
11
9
 
12
- # Redis для состояния сессий, меню, inbox и привязок.
13
10
  REDIS_HOST=127.0.0.1
14
11
  REDIS_PORT=6379
15
12
  REDIS_DB=1
16
13
  # REDIS_USERNAME=
17
14
  # REDIS_PASSWORD=
18
15
 
19
- # Режим входящих запросов: queue или reject.
20
- MODE=queue
21
- # TTL pair-code в секундах.
22
- PAIR_CODE_TTL_SECONDS=600
16
+ MODE=reject
17
+ PAIR_CODE_TTL_SECONDS=300
23
18
 
24
- # Локальный standalone MCP endpoint для агента в client-режиме.
25
19
  MCP_HTTP_HOST=127.0.0.1
26
20
  MCP_HTTP_PORT=8787
27
21
  MCP_HTTP_PATH=/mcp
@@ -29,46 +23,48 @@ MCP_HTTP_PATH=/mcp
29
23
  MCP_HTTP_ENABLE_DEBUG_ROUTES=false
30
24
  MCP_HTTP_ENABLE_PRUNE_ROUTE=false
31
25
 
32
- # Режим распределённой работы клиента.
33
26
  DISTRIBUTED_MODE=client
34
- # Публичный HTTP URL шлюза.
35
- GATEWAY_PUBLIC_URL=
36
- # Публичный WS URL шлюза.
37
- GATEWAY_WS_URL=
38
- # WS path на шлюзе.
27
+ GATEWAY_PUBLIC_URL=https://your-domain.example/api/gateway
28
+ GATEWAY_WS_URL=wss://your-domain.example/api/gateway/ws
39
29
  GATEWAY_WS_PATH=/api/gateway/ws
40
- # Необязательный bearer для gateway endpoints.
41
- GATEWAY_AUTH_TOKEN=
30
+ GATEWAY_TOKEN=change_me_gateway_token
31
+ GATEWAY_USER_UUID=
32
+ # GATEWAY_AUTH_TOKEN=
33
+
34
+ TERMINAL_SHELL=bash
35
+ TERMINAL_COLS=120
36
+ TERMINAL_ROWS=40
37
+ TERMINAL_SCROLLBACK_LINES=4000
42
38
 
43
- # Включение Telegram Mini App / Live view.
39
+ TERMINAL_NUDGE_ENABLED=true
40
+ TERMINAL_NUDGE_DEBOUNCE_SECONDS=10
41
+ TERMINAL_NUDGE_COOLDOWN_SECONDS=30
42
+ TERMINAL_NUDGE_MESSAGE=получи newest telegram_message через list_xchange_records/get_xchange_record, выполни запрос и ответь человеку через notify_telegram; не останавливайся на анализе
43
+ TERMINAL_PARTNER_NUDGE_MESSAGE=получи newest partner_note через list_xchange_records/get_xchange_record, выполни задачу в текущей консоли и обязательно отправь результат через send_partner_note или send_partner_file; только потом mark_xchange_record_read
44
+ TERMINAL_PARTNER_REPLY_NUDGE_MESSAGE=получи newest partner_note через list_xchange_records/get_xchange_record; если newest note имеет kind=reply или не требует ответа, не отправляй новый send_partner_note/send_partner_file без явного нового запроса. Если этот reply завершает задачу от человека, сразу отправь финальный результат в Telegram через notify_telegram или send_file_to_telegram; только потом mark_xchange_record_read
45
+ TERMINAL_CAPTURE_MODE=visible
46
+ TERMINAL_CAPTURE_LINES=300
47
+ TERMINAL_PROMPT_SCAN_ENABLED=true
48
+ TERMINAL_PROMPT_SCAN_INTERVAL_SECONDS=15
49
+ TERMINAL_PROMPT_SCAN_COOLDOWN_SECONDS=120
50
+ TERMINAL_PROMPT_SCAN_STRATEGY=strict
51
+ TERMINAL_PROMPT_SCAN_MIN_SCORE=5
44
52
  WEBAPP_ENABLED=true
45
53
  WEBAPP_BASE_PATH=/webapp
46
- # WEBAPP_PUBLIC_URL=
54
+ WEBAPP_PUBLIC_URL=https://your-domain.example/api/webapp
47
55
  WEBAPP_INITDATA_TTL_SECONDS=300
48
56
  WEBAPP_SESSION_TTL_SECONDS=900
49
57
  WEBAPP_LAUNCH_MODE=fullscreen
50
- WEBAPP_VISIBLE_SCREENS=2
58
+ WEBAPP_VISIBLE_SCREENS=10
51
59
  WEBAPP_POLL_INTERVAL_MS=2000
52
60
  WEBAPP_ACTION_COOLDOWN_MS=150
53
61
 
54
- # Локальная папка обмена файлами и note.
55
62
  MCP_XCHANGE_DIR=.mcp-xchange
56
63
 
57
- # Tmux nudges и live-capture.
58
- TMUX_NUDGE_ENABLED=true
59
- TMUX_NUDGE_DEBOUNCE_SECONDS=10
60
- TMUX_NUDGE_COOLDOWN_SECONDS=30
61
- TMUX_NUDGE_MESSAGE=проверь inbox
62
- TMUX_PARTNER_NUDGE_MESSAGE=не inbox: прочитай SHARED_INDEX.md и partner note
63
- TMUX_CAPTURE_MODE=visible
64
- TMUX_CAPTURE_LINES=300
65
- # TMUX_SOCKET_PATH=
66
-
67
- # Browser integration.
68
64
  BROWSER_ENABLED=true
69
65
  BROWSER_HEADLESS=false
70
66
  BROWSER_DEVTOOLS=false
71
- BROWSER_ADDRESS=http://localhost:5173
67
+ # BROWSER_ADDRESS=http://localhost:5173
72
68
  BROWSER_TIMEOUT_MS=20000
73
69
  BROWSER_MAX_EVENTS=200
74
70
  BROWSER_WAIT_UNTIL=load
@@ -76,22 +72,16 @@ BROWSER_WAIT_UNTIL=load
76
72
  # BROWSER_CHANNEL=chrome
77
73
  BROWSER_SLOW_MO_MS=0
78
74
 
79
- # Общие лимиты Telegram UI.
80
- TELEGRAM_POLL_INTERVAL_MS=2000
81
- TELEGRAM_DEFAULT_TIMEOUT_SECONDS=900
82
- TELEGRAM_MAX_CONTEXT_CHARS=3000
83
- TELEGRAM_MAX_QUESTION_CHARS=1000
84
- TELEGRAM_MAX_MESSAGE_CHARS=3900
85
- TELEGRAM_INBOX_BATCH_SIZE=20
86
- TELEGRAM_MENU_PAYLOAD_TTL_SECONDS=300
75
+ NAMESPACE=mcp
76
+ NODE_ID=agent
87
77
 
88
- # Необязательные прокси.
89
- PROXY_USE=
90
- HTTP_PROXY=
91
- SOCKS5_PROXY=
78
+ # Optional outbound proxy.
79
+ # PROXY_USE=http
80
+ # HTTP_PROXY=http://user:pass@proxy.example:3128
81
+ # SOCKS5_PROXY=socks5h://user:pass@proxy.example:1080
92
82
 
93
- # Логирование.
94
83
  LOG_LEVEL=info
95
84
  LOG_FILE_ENABLED=false
96
85
  LOG_FILE_PATH=.tellymcp/log.jsonl
86
+ # LOG_STDERR_LEVEL=error
97
87
  ENABLE_LOGFEED=0
@@ -1,52 +1,46 @@
1
- # TellyMCP: пример конфигурации шлюза
1
+ # TellyMCP gateway example
2
2
 
3
- # Токен Telegram-бота шлюза.
4
3
  TELEGRAM_BOT_TOKEN=
5
- # Username бота, с @ или без.
6
4
  TELEGRAM_BOT_USERNAME=
7
- # Принудительный язык UI для отладки локализации: en или ru.
5
+ # ADMIN_TOKEN=
8
6
  # DEBUG_LANGUAGE=ru
9
- # Необязательная подпись проекта/сессии.
10
- PROJECT_NAME=
11
7
 
12
- # Redis для состояния сессий, меню, inbox и привязок.
8
+ # Enable webhook instead of polling.
9
+ # TELEGRAM_WEBHOOK_ENABLED=true
10
+ # TELEGRAM_WEBHOOK_PATH=/telegram/webhook
11
+ # TELEGRAM_WEBHOOK_PUBLIC_URL=https://your-domain.example/api/telegram/webhook
12
+ # TELEGRAM_WEBHOOK_SECRET=change_me_webhook_secret
13
+ # TELEGRAM_WEBHOOK_TRACE=false
14
+ # TELEGRAM_WEBHOOK_DROP_PENDING_UPDATES=false
15
+
13
16
  REDIS_HOST=127.0.0.1
14
17
  REDIS_PORT=6379
15
18
  REDIS_DB=1
16
19
  # REDIS_USERNAME=
17
20
  # REDIS_PASSWORD=
18
21
 
19
- # Режим входящих запросов: queue или reject.
20
- MODE=queue
21
- # TTL pair-code в секундах.
22
- PAIR_CODE_TTL_SECONDS=600
22
+ MODE=reject
23
+ PAIR_CODE_TTL_SECONDS=300
23
24
 
24
- # Настройки MCP endpoint. Во внешнем gateway/both bind используется PORT + ROOT_PREFIX.
25
25
  MCP_HTTP_HOST=127.0.0.1
26
- # MCP path берётся отсюда; порт служит fallback, если PORT не задан.
27
26
  MCP_HTTP_PORT=8787
28
27
  MCP_HTTP_PATH=/mcp
29
28
  # MCP_HTTP_BEARER_TOKEN=
30
29
  MCP_HTTP_ENABLE_DEBUG_ROUTES=false
31
30
  MCP_HTTP_ENABLE_PRUNE_ROUTE=false
32
31
 
33
- # Режим распределённой работы шлюза.
34
32
  DISTRIBUTED_MODE=gateway
35
- # Публичный HTTP URL шлюза.
36
- GATEWAY_PUBLIC_URL=
37
- # WS path на общем ingress.
33
+ GATEWAY_PUBLIC_URL=https://your-domain.example/api/gateway
34
+ GATEWAY_WS_URL=wss://your-domain.example/api/gateway/ws
38
35
  GATEWAY_WS_PATH=/api/gateway/ws
39
- # Необязательный bearer для gateway endpoints.
40
- GATEWAY_AUTH_TOKEN=
36
+ GATEWAY_TOKEN=change_me_gateway_token
37
+ # GATEWAY_AUTH_TOKEN=
41
38
 
42
- # Общий backend ingress.
43
39
  ROOT_PREFIX=/api
44
- APP_NAME=tellymcp-gateway
45
- NAMESPACE=mcp
46
- NODE_ID=gateway
47
40
  PORT=8080
41
+ NAMESPACE=mcp
42
+ NODE_ID=GWAY
48
43
 
49
- # Postgres для gateway metadata.
50
44
  DB_HOST=127.0.0.1
51
45
  DB_PORT=5432
52
46
  DB_USER=
@@ -54,43 +48,48 @@ DB_PASSWORD=
54
48
  DB_NAME=
55
49
  DB_SCHEME=mcp
56
50
 
57
- # RabbitMQ для durable fanout на шлюзе.
51
+ # Optional RabbitMQ fanout.
58
52
  # RMQ_HOST=127.0.0.1
59
53
  # RMQ_PORT=5672
60
54
  # RMQ_USER=
61
55
  # RMQ_PASSWORD=
62
56
  # RMQ_VHOST=/
63
- # RMQ_EXCHANGE=tellymcp
57
+ # RMQ_EXCHANGE=telegram_mcp.gateway
64
58
 
65
- # Включение Telegram Mini App / Live view.
66
59
  WEBAPP_ENABLED=true
67
60
  WEBAPP_BASE_PATH=/webapp
68
- WEBAPP_PUBLIC_URL=
61
+ WEBAPP_PUBLIC_URL=https://your-domain.example/api/webapp
69
62
  WEBAPP_INITDATA_TTL_SECONDS=300
70
63
  WEBAPP_SESSION_TTL_SECONDS=900
71
64
  WEBAPP_LAUNCH_MODE=fullscreen
72
- WEBAPP_VISIBLE_SCREENS=2
65
+ WEBAPP_VISIBLE_SCREENS=10
73
66
  WEBAPP_POLL_INTERVAL_MS=2000
74
67
  WEBAPP_ACTION_COOLDOWN_MS=150
75
68
 
76
- # Локальная папка обмена файлами и note.
77
69
  MCP_XCHANGE_DIR=.mcp-xchange
78
70
 
79
- # Tmux nudges и live-capture.
80
- TMUX_NUDGE_ENABLED=true
81
- TMUX_NUDGE_DEBOUNCE_SECONDS=10
82
- TMUX_NUDGE_COOLDOWN_SECONDS=30
83
- TMUX_NUDGE_MESSAGE=проверь inbox
84
- TMUX_PARTNER_NUDGE_MESSAGE=не inbox: прочитай SHARED_INDEX.md и partner note
85
- TMUX_CAPTURE_MODE=visible
86
- TMUX_CAPTURE_LINES=300
87
- # TMUX_SOCKET_PATH=
88
-
89
- # Browser integration.
90
- BROWSER_ENABLED=true
71
+ TERMINAL_SHELL=bash
72
+ TERMINAL_COLS=120
73
+ TERMINAL_ROWS=40
74
+ TERMINAL_SCROLLBACK_LINES=4000
75
+
76
+ TERMINAL_NUDGE_ENABLED=true
77
+ TERMINAL_NUDGE_DEBOUNCE_SECONDS=10
78
+ TERMINAL_NUDGE_COOLDOWN_SECONDS=30
79
+ TERMINAL_NUDGE_MESSAGE=получи newest telegram_message через list_xchange_records/get_xchange_record, выполни запрос и ответь человеку через notify_telegram; не останавливайся на анализе
80
+ TERMINAL_PARTNER_NUDGE_MESSAGE=получи newest partner_note через list_xchange_records/get_xchange_record, выполни задачу в текущей консоли и обязательно отправь результат через send_partner_note или send_partner_file; только потом mark_xchange_record_read
81
+ TERMINAL_PARTNER_REPLY_NUDGE_MESSAGE=получи newest partner_note через list_xchange_records/get_xchange_record; если newest note имеет kind=reply или не требует ответа, не отправляй новый send_partner_note/send_partner_file без явного нового запроса. Если этот reply завершает задачу от человека, сразу отправь финальный результат в Telegram через notify_telegram или send_file_to_telegram; только потом mark_xchange_record_read
82
+ TERMINAL_CAPTURE_MODE=visible
83
+ TERMINAL_CAPTURE_LINES=300
84
+ TERMINAL_PROMPT_SCAN_ENABLED=false
85
+ TERMINAL_PROMPT_SCAN_INTERVAL_SECONDS=15
86
+ TERMINAL_PROMPT_SCAN_COOLDOWN_SECONDS=120
87
+ TERMINAL_PROMPT_SCAN_STRATEGY=strict
88
+ TERMINAL_PROMPT_SCAN_MIN_SCORE=5
89
+ BROWSER_ENABLED=false
91
90
  BROWSER_HEADLESS=false
92
91
  BROWSER_DEVTOOLS=false
93
- BROWSER_ADDRESS=http://localhost:5173
92
+ # BROWSER_ADDRESS=http://localhost:5173
94
93
  BROWSER_TIMEOUT_MS=20000
95
94
  BROWSER_MAX_EVENTS=200
96
95
  BROWSER_WAIT_UNTIL=load
@@ -98,26 +97,13 @@ BROWSER_WAIT_UNTIL=load
98
97
  # BROWSER_CHANNEL=chrome
99
98
  BROWSER_SLOW_MO_MS=0
100
99
 
101
- # Общие лимиты Telegram UI.
102
- TELEGRAM_POLL_INTERVAL_MS=2000
103
- TELEGRAM_DEFAULT_TIMEOUT_SECONDS=900
104
- TELEGRAM_MAX_CONTEXT_CHARS=3000
105
- TELEGRAM_MAX_QUESTION_CHARS=1000
106
- TELEGRAM_MAX_MESSAGE_CHARS=3900
107
- TELEGRAM_INBOX_BATCH_SIZE=20
108
- TELEGRAM_MENU_PAYLOAD_TTL_SECONDS=300
109
-
110
- # Необязательные прокси.
111
- PROXY_USE=
112
- HTTP_PROXY=
113
- SOCKS5_PROXY=
100
+ # Optional outbound proxy.
101
+ # PROXY_USE=http
102
+ # HTTP_PROXY=http://user:pass@proxy.example:3128
103
+ # SOCKS5_PROXY=socks5h://user:pass@proxy.example:1080
114
104
 
115
- # Логирование.
116
105
  LOG_LEVEL=info
117
- LOG_FILE_ENABLED=false
106
+ LOG_FILE_ENABLED=true
118
107
  LOG_FILE_PATH=.tellymcp/log.jsonl
108
+ # LOG_STDERR_LEVEL=error
119
109
  ENABLE_LOGFEED=0
120
-
121
- # Секреты шлюза.
122
- SESSION_SECRET=change_me_session_secret
123
- TOKEN_BINDING_SECRET=change_me_token_binding_secret
package/CHANGELOG.md CHANGED
@@ -50,7 +50,7 @@
50
50
  - сессия
51
51
  - отправитель
52
52
  - список файлов
53
- - Добавлены `LOCAL_INDEX.md` и `SHARED_INDEX.md` для унифицированного note-based обмена.
53
+ - Добавлен унифицированный note-based обмен; позже он переведён на structured xchange records на sqlite.
54
54
  - Добавлен `send_partner_file` для реальной передачи локального файла через partner delivery.
55
55
  - Добавлена `TOOLS.md` hash-синхронизация между gateway и client:
56
56
  - `session_tools` в `ws hello`
@@ -74,7 +74,7 @@
74
74
  - безопасные packaged templates для `.env`
75
75
 
76
76
  ### Changed
77
- - Полностью убран `stdio`-режим. `telegram_mcp` работает только через REST/MCP over HTTP.
77
+ - Полностью убран legacy standalone MCP transport. `telegram_mcp` работает только через REST/MCP over HTTP.
78
78
  - Локальный standalone HTTP listener убран; `telegram_mcp` больше не поднимает отдельный сервер вне Moleculer gateway.
79
79
  - UI Telegram переосмыслен по двум режимам:
80
80
  - `🏠 Local` для локальной разработки и link внутри одного бота
@@ -110,7 +110,7 @@
110
110
  - `npm install -g @deadragdoll/tellymcp`
111
111
  - `tellymcp init <client|gateway|both>`
112
112
  - `tellymcp run`
113
- - старый `go/node tmux-proxy` path полностью удалён, поддерживается только прямой локальный `tmux`
113
+ - старый `go/node terminal-proxy` path полностью удалён, поддерживается только прямой локальный terminal runtime
114
114
 
115
115
  ### Fixed
116
116
  - Исправлен `Headers have already sent` при работе MCP/WebApp через общий HTTP runtime.