@deadragdoll/tellymcp 0.0.9 → 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 (157) hide show
  1. package/.env.example.client +42 -50
  2. package/.env.example.gateway +49 -61
  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 +36 -10
  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 +40 -20
  15. package/config/templates/env.client.template +34 -18
  16. package/config/templates/env.gateway.template +38 -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/approval.service.js +1 -1
  23. package/dist/services/features/telegram-mcp/browser.service.js +95 -2
  24. package/dist/services/features/telegram-mcp/collaboration.service.js +41 -4
  25. package/dist/services/features/telegram-mcp/ensuredb.service.js +145 -26
  26. package/dist/services/features/telegram-mcp/gateway-delivery.service.js +285 -103
  27. package/dist/services/features/telegram-mcp/gateway-rmq.service.js +3 -2
  28. package/dist/services/features/telegram-mcp/gateway-socket.service.js +905 -87
  29. package/dist/services/features/telegram-mcp/gateway.service.js +876 -81
  30. package/dist/services/features/telegram-mcp/mcp-http.service.js +9 -1
  31. package/dist/services/features/telegram-mcp/mcp-server.service.js +17 -26
  32. package/dist/services/features/telegram-mcp/notify.service.js +128 -2
  33. package/dist/services/features/telegram-mcp/runtime.service.js +27 -7
  34. package/dist/services/features/telegram-mcp/session-context.service.js +29 -2
  35. package/dist/services/features/telegram-mcp/src/app/bootstrap/runtime.js +133 -10
  36. package/dist/services/features/telegram-mcp/src/app/config/env.js +161 -51
  37. package/dist/services/features/telegram-mcp/src/app/http.js +375 -42
  38. package/dist/services/features/telegram-mcp/src/app/webapp/assets.js +386 -58
  39. package/dist/services/features/telegram-mcp/src/app/webapp/auth.js +3 -0
  40. package/dist/services/features/telegram-mcp/src/app/webapp/terminal.js +12 -0
  41. package/dist/services/features/telegram-mcp/src/entities/request/model/schema.js +116 -104
  42. package/dist/services/features/telegram-mcp/src/entities/xchange/model/types.js +2 -0
  43. package/dist/services/features/telegram-mcp/src/features/ask-user/model/askUserTelegram.js +1 -1
  44. package/dist/services/features/telegram-mcp/src/features/browser/model/browserScreenshotTool.js +1 -1
  45. package/dist/services/features/telegram-mcp/src/features/browser/model/browserService.js +249 -19
  46. package/dist/services/features/telegram-mcp/src/features/collaboration/model/gatewaySessionsService.js +71 -0
  47. package/dist/services/features/telegram-mcp/src/features/collaboration/model/listGatewaySessionsTool.js +33 -0
  48. package/dist/services/features/telegram-mcp/src/features/collaboration/model/localCollaborationBackend.js +93 -82
  49. package/dist/services/features/telegram-mcp/src/features/collaboration/model/sendPartnerFileService.js +47 -5
  50. package/dist/services/features/telegram-mcp/src/features/collaboration/model/sendPartnerFileTool.js +1 -1
  51. package/dist/services/features/telegram-mcp/src/features/collaboration/model/sendPartnerNoteTool.js +1 -1
  52. package/dist/services/features/telegram-mcp/src/features/distributed-client/model/gatewayClientAccess.js +82 -0
  53. package/dist/services/features/telegram-mcp/src/features/distributed-client/model/gatewayCollaborationBackend.js +22 -14
  54. package/dist/services/features/telegram-mcp/src/features/distributed-gateway/model/gatewayHttpService.js +649 -75
  55. package/dist/services/features/telegram-mcp/src/features/distributed-gateway/model/remoteConsoleActionClient.js +76 -0
  56. package/dist/services/features/telegram-mcp/src/features/embedded-runtime/model/embeddedRuntimeBroker.js +92 -0
  57. package/dist/services/features/telegram-mcp/src/features/foreground-terminal/model/foregroundTerminalRuntime.js +192 -0
  58. package/dist/services/features/telegram-mcp/src/features/notify/model/notifyService.js +382 -3
  59. package/dist/services/features/telegram-mcp/src/features/notify/model/notifyTelegramTool.js +1 -1
  60. package/dist/services/features/telegram-mcp/src/features/notify/model/sendFileToTelegramTool.js +33 -0
  61. package/dist/services/features/telegram-mcp/src/features/session-context/model/clearSessionContextTool.js +1 -1
  62. package/dist/services/features/telegram-mcp/src/features/session-context/model/getSessionContextTool.js +1 -1
  63. package/dist/services/features/telegram-mcp/src/features/session-context/model/renameSessionTool.js +1 -1
  64. package/dist/services/features/telegram-mcp/src/features/session-context/model/sessionContextService.js +42 -200
  65. package/dist/services/features/telegram-mcp/src/features/session-context/model/setSessionContextTool.js +1 -1
  66. package/dist/services/features/telegram-mcp/src/features/terminal-buffer/model/terminalBufferService.js +96 -0
  67. package/dist/services/features/telegram-mcp/src/features/terminal-input/model/terminalInputService.js +97 -0
  68. package/dist/services/features/telegram-mcp/src/features/tools-sync/model/refreshToolsMarkdownService.js +107 -58
  69. package/dist/services/features/telegram-mcp/src/features/tools-sync/model/refreshToolsMarkdownTool.js +1 -1
  70. package/dist/services/features/telegram-mcp/src/features/xchange/model/getXchangeRecordTool.js +28 -0
  71. package/dist/services/features/telegram-mcp/src/features/xchange/model/listXchangeRecordsTool.js +28 -0
  72. package/dist/services/features/telegram-mcp/src/features/xchange/model/markXchangeRecordReadTool.js +28 -0
  73. package/dist/services/features/telegram-mcp/src/features/xchange/model/xchangeService.js +169 -0
  74. package/dist/services/features/telegram-mcp/src/processes/human-approval/model/orchestrator.js +5 -4
  75. package/dist/services/features/telegram-mcp/src/shared/i18n/index.js +46 -0
  76. package/dist/services/features/telegram-mcp/src/shared/i18n/resources/en.js +652 -0
  77. package/dist/services/features/telegram-mcp/src/shared/i18n/resources/ru.js +652 -0
  78. package/dist/services/features/telegram-mcp/src/shared/integrations/memory/processLocalSessionStore.js +27 -0
  79. package/dist/services/features/telegram-mcp/src/shared/integrations/object-storage/minioExchangeStore.js +11 -8
  80. package/dist/services/features/telegram-mcp/src/shared/integrations/redis/stateStore.js +51 -71
  81. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/proxyFetch.js +21 -22
  82. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transport.js +411 -6524
  83. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportAttachmentStore.js +93 -0
  84. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportBroadcastActions.js +385 -0
  85. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportConsoleRegistry.js +143 -0
  86. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportConstructorWiring.js +633 -0
  87. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportContent.js +84 -0
  88. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportContext.js +78 -0
  89. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportDocumentActions.js +36 -0
  90. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportEventActions.js +292 -0
  91. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportFileHandoffActions.js +352 -0
  92. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportFormatting.js +75 -0
  93. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportGatewayActions.js +44 -0
  94. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportLifecycleActions.js +161 -0
  95. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportLive.js +56 -0
  96. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportLiveActions.js +77 -0
  97. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuCallbacks.js +254 -0
  98. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuFactories.js +538 -0
  99. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuFingerprints.js +93 -0
  100. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuFlow.js +344 -0
  101. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuShell.js +62 -0
  102. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuState.js +408 -0
  103. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuText.js +216 -0
  104. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMessageFlow.js +452 -0
  105. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportOutputActions.js +189 -0
  106. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportPartnerActions.js +286 -0
  107. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportPayloadState.js +101 -0
  108. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectActions.js +463 -0
  109. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectEntryActions.js +202 -0
  110. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectEvents.js +99 -0
  111. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectMenus.js +138 -0
  112. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectState.js +308 -0
  113. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectView.js +426 -0
  114. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportRequestFlow.js +278 -0
  115. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportSessionActions.js +143 -0
  116. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportTerminalActions.js +468 -0
  117. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportTerminalRuntime.js +171 -0
  118. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportTypes.js +2 -0
  119. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportUtils.js +330 -0
  120. package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportXchangeState.js +107 -0
  121. package/dist/services/features/telegram-mcp/src/shared/integrations/terminal/client.js +255 -0
  122. package/dist/services/features/telegram-mcp/src/shared/integrations/terminal/ptyRegistry.js +543 -0
  123. package/dist/services/features/telegram-mcp/src/shared/integrations/xchange/sqliteRecordStore.js +223 -0
  124. package/dist/services/features/telegram-mcp/src/shared/lib/gatewayScope.js +24 -0
  125. package/dist/services/features/telegram-mcp/src/shared/lib/logger/logger.js +6 -0
  126. package/dist/services/features/telegram-mcp/src/shared/lib/project-identity/projectIdentity.js +147 -76
  127. package/dist/services/features/telegram-mcp/src/shared/lib/telegramXchangeRecords.js +72 -0
  128. package/dist/services/features/telegram-mcp/src/shared/lib/terminalPromptDetection.js +237 -0
  129. package/dist/services/features/telegram-mcp/src/shared/lib/version/versionHandshake.js +129 -1
  130. package/dist/services/features/telegram-mcp/src/shared/lib/xchangeRecordHints.js +98 -0
  131. package/dist/services/features/telegram-mcp/standalone-http.service.js +13 -1
  132. package/dist/services/features/telegram-mcp/terminal-buffer.service.js +42 -0
  133. package/dist/services/features/telegram-mcp/terminal-input.service.js +41 -0
  134. package/dist/services/features/telegram-mcp/tools-sync.service.js +16 -2
  135. package/dist/services/features/telegram-mcp/xchange.service.js +123 -0
  136. package/docs/STANDALONE-ru.md +172 -0
  137. package/docs/STANDALONE.md +172 -0
  138. package/package.json +11 -5
  139. package/scripts/build-package-artifact.sh +27 -0
  140. package/scripts/deploy-gateway.sh +64 -0
  141. package/scripts/deploy-onebot-branch.sh +27 -0
  142. package/scripts/postinstall.js +11 -36
  143. package/STANDALONE-ru.md +0 -274
  144. package/STANDALONE.md +0 -274
  145. package/dist/services/features/telegram-mcp/inbox.service.js +0 -33
  146. package/dist/services/features/telegram-mcp/pair.service.js +0 -33
  147. package/dist/services/features/telegram-mcp/src/app/webapp/tmux.js +0 -10
  148. package/dist/services/features/telegram-mcp/src/features/inbox/model/deleteTelegramInboxMessageTool.js +0 -33
  149. package/dist/services/features/telegram-mcp/src/features/inbox/model/getTelegramInboxCountTool.js +0 -33
  150. package/dist/services/features/telegram-mcp/src/features/inbox/model/getTelegramInboxTool.js +0 -33
  151. package/dist/services/features/telegram-mcp/src/features/inbox/model/inboxService.js +0 -77
  152. package/dist/services/features/telegram-mcp/src/features/pair-session/model/clearSessionPairingTool.js +0 -33
  153. package/dist/services/features/telegram-mcp/src/features/pair-session/model/createSessionPairCodeTool.js +0 -33
  154. package/dist/services/features/telegram-mcp/src/features/pair-session/model/generatePairCode.js +0 -202
  155. package/dist/services/features/telegram-mcp/src/features/session-context/model/getTmuxTargetTool.js +0 -33
  156. package/dist/services/features/telegram-mcp/src/features/session-context/model/setTmuxTargetTool.js +0 -33
  157. package/dist/services/features/telegram-mcp/src/shared/integrations/tmux/client.js +0 -363
@@ -1,25 +1,21 @@
1
- # TellyMCP: пример конфигурации клиентского узла.
1
+ # TellyMCP client example
2
2
 
3
- # Токен Telegram-бота для этой клиентской машины.
4
- TELEGRAM_BOT_TOKEN=
5
- # Username бота, с @ или без.
6
- TELEGRAM_BOT_USERNAME=
7
- # Необязательная подпись проекта/сессии в prompt и note.
8
- 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
9
9
 
10
- # Redis для состояния сессий, меню, inbox и привязок.
11
10
  REDIS_HOST=127.0.0.1
12
11
  REDIS_PORT=6379
13
12
  REDIS_DB=1
14
13
  # REDIS_USERNAME=
15
14
  # REDIS_PASSWORD=
16
15
 
17
- # Режим входящих запросов: queue или reject.
18
- MODE=queue
19
- # TTL pair-code в секундах.
20
- PAIR_CODE_TTL_SECONDS=600
16
+ MODE=reject
17
+ PAIR_CODE_TTL_SECONDS=300
21
18
 
22
- # Локальный standalone MCP endpoint для агента в client-режиме.
23
19
  MCP_HTTP_HOST=127.0.0.1
24
20
  MCP_HTTP_PORT=8787
25
21
  MCP_HTTP_PATH=/mcp
@@ -27,46 +23,48 @@ MCP_HTTP_PATH=/mcp
27
23
  MCP_HTTP_ENABLE_DEBUG_ROUTES=false
28
24
  MCP_HTTP_ENABLE_PRUNE_ROUTE=false
29
25
 
30
- # Режим распределённой работы клиента.
31
26
  DISTRIBUTED_MODE=client
32
- # Публичный HTTP URL шлюза.
33
- GATEWAY_PUBLIC_URL=
34
- # Публичный WS URL шлюза.
35
- GATEWAY_WS_URL=
36
- # WS path на шлюзе.
27
+ GATEWAY_PUBLIC_URL=https://your-domain.example/api/gateway
28
+ GATEWAY_WS_URL=wss://your-domain.example/api/gateway/ws
37
29
  GATEWAY_WS_PATH=/api/gateway/ws
38
- # Необязательный bearer для gateway endpoints.
39
- 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
40
38
 
41
- # Включение 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
42
52
  WEBAPP_ENABLED=true
43
53
  WEBAPP_BASE_PATH=/webapp
44
- # WEBAPP_PUBLIC_URL=
54
+ WEBAPP_PUBLIC_URL=https://your-domain.example/api/webapp
45
55
  WEBAPP_INITDATA_TTL_SECONDS=300
46
56
  WEBAPP_SESSION_TTL_SECONDS=900
47
57
  WEBAPP_LAUNCH_MODE=fullscreen
48
- WEBAPP_VISIBLE_SCREENS=2
58
+ WEBAPP_VISIBLE_SCREENS=10
49
59
  WEBAPP_POLL_INTERVAL_MS=2000
50
60
  WEBAPP_ACTION_COOLDOWN_MS=150
51
61
 
52
- # Локальная папка обмена файлами и note.
53
62
  MCP_XCHANGE_DIR=.mcp-xchange
54
63
 
55
- # Tmux nudges и live-capture.
56
- TMUX_NUDGE_ENABLED=true
57
- TMUX_NUDGE_DEBOUNCE_SECONDS=10
58
- TMUX_NUDGE_COOLDOWN_SECONDS=30
59
- TMUX_NUDGE_MESSAGE=проверь inbox
60
- TMUX_PARTNER_NUDGE_MESSAGE=не inbox: прочитай SHARED_INDEX.md и partner note
61
- TMUX_CAPTURE_MODE=visible
62
- TMUX_CAPTURE_LINES=300
63
- # TMUX_SOCKET_PATH=
64
-
65
- # Browser integration.
66
64
  BROWSER_ENABLED=true
67
65
  BROWSER_HEADLESS=false
68
66
  BROWSER_DEVTOOLS=false
69
- BROWSER_ADDRESS=http://localhost:5173
67
+ # BROWSER_ADDRESS=http://localhost:5173
70
68
  BROWSER_TIMEOUT_MS=20000
71
69
  BROWSER_MAX_EVENTS=200
72
70
  BROWSER_WAIT_UNTIL=load
@@ -74,22 +72,16 @@ BROWSER_WAIT_UNTIL=load
74
72
  # BROWSER_CHANNEL=chrome
75
73
  BROWSER_SLOW_MO_MS=0
76
74
 
77
- # Общие лимиты Telegram UI.
78
- TELEGRAM_POLL_INTERVAL_MS=2000
79
- TELEGRAM_DEFAULT_TIMEOUT_SECONDS=900
80
- TELEGRAM_MAX_CONTEXT_CHARS=3000
81
- TELEGRAM_MAX_QUESTION_CHARS=1000
82
- TELEGRAM_MAX_MESSAGE_CHARS=3900
83
- TELEGRAM_INBOX_BATCH_SIZE=20
84
- TELEGRAM_MENU_PAYLOAD_TTL_SECONDS=300
75
+ NAMESPACE=mcp
76
+ NODE_ID=agent
85
77
 
86
- # Необязательные прокси.
87
- PROXY_USE=
88
- HTTP_PROXY=
89
- 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
90
82
 
91
- # Логирование.
92
83
  LOG_LEVEL=info
93
84
  LOG_FILE_ENABLED=false
94
85
  LOG_FILE_PATH=.tellymcp/log.jsonl
86
+ # LOG_STDERR_LEVEL=error
95
87
  ENABLE_LOGFEED=0
@@ -1,50 +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
- # Необязательная подпись проекта/сессии.
8
- PROJECT_NAME=
5
+ # ADMIN_TOKEN=
6
+ # DEBUG_LANGUAGE=ru
7
+
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
9
15
 
10
- # Redis для состояния сессий, меню, inbox и привязок.
11
16
  REDIS_HOST=127.0.0.1
12
17
  REDIS_PORT=6379
13
18
  REDIS_DB=1
14
19
  # REDIS_USERNAME=
15
20
  # REDIS_PASSWORD=
16
21
 
17
- # Режим входящих запросов: queue или reject.
18
- MODE=queue
19
- # TTL pair-code в секундах.
20
- PAIR_CODE_TTL_SECONDS=600
22
+ MODE=reject
23
+ PAIR_CODE_TTL_SECONDS=300
21
24
 
22
- # Настройки MCP endpoint. Во внешнем gateway/both bind используется PORT + ROOT_PREFIX.
23
25
  MCP_HTTP_HOST=127.0.0.1
24
- # MCP path берётся отсюда; порт служит fallback, если PORT не задан.
25
26
  MCP_HTTP_PORT=8787
26
27
  MCP_HTTP_PATH=/mcp
27
28
  # MCP_HTTP_BEARER_TOKEN=
28
29
  MCP_HTTP_ENABLE_DEBUG_ROUTES=false
29
30
  MCP_HTTP_ENABLE_PRUNE_ROUTE=false
30
31
 
31
- # Режим распределённой работы шлюза.
32
32
  DISTRIBUTED_MODE=gateway
33
- # Публичный HTTP URL шлюза.
34
- GATEWAY_PUBLIC_URL=
35
- # WS path на общем ingress.
33
+ GATEWAY_PUBLIC_URL=https://your-domain.example/api/gateway
34
+ GATEWAY_WS_URL=wss://your-domain.example/api/gateway/ws
36
35
  GATEWAY_WS_PATH=/api/gateway/ws
37
- # Необязательный bearer для gateway endpoints.
38
- GATEWAY_AUTH_TOKEN=
36
+ GATEWAY_TOKEN=change_me_gateway_token
37
+ # GATEWAY_AUTH_TOKEN=
39
38
 
40
- # Общий backend ingress.
41
39
  ROOT_PREFIX=/api
42
- APP_NAME=tellymcp-gateway
43
- NAMESPACE=mcp
44
- NODE_ID=gateway
45
40
  PORT=8080
41
+ NAMESPACE=mcp
42
+ NODE_ID=GWAY
46
43
 
47
- # Postgres для gateway metadata.
48
44
  DB_HOST=127.0.0.1
49
45
  DB_PORT=5432
50
46
  DB_USER=
@@ -52,43 +48,48 @@ DB_PASSWORD=
52
48
  DB_NAME=
53
49
  DB_SCHEME=mcp
54
50
 
55
- # RabbitMQ для durable fanout на шлюзе.
51
+ # Optional RabbitMQ fanout.
56
52
  # RMQ_HOST=127.0.0.1
57
53
  # RMQ_PORT=5672
58
54
  # RMQ_USER=
59
55
  # RMQ_PASSWORD=
60
56
  # RMQ_VHOST=/
61
- # RMQ_EXCHANGE=tellymcp
57
+ # RMQ_EXCHANGE=telegram_mcp.gateway
62
58
 
63
- # Включение Telegram Mini App / Live view.
64
59
  WEBAPP_ENABLED=true
65
60
  WEBAPP_BASE_PATH=/webapp
66
- WEBAPP_PUBLIC_URL=
61
+ WEBAPP_PUBLIC_URL=https://your-domain.example/api/webapp
67
62
  WEBAPP_INITDATA_TTL_SECONDS=300
68
63
  WEBAPP_SESSION_TTL_SECONDS=900
69
64
  WEBAPP_LAUNCH_MODE=fullscreen
70
- WEBAPP_VISIBLE_SCREENS=2
65
+ WEBAPP_VISIBLE_SCREENS=10
71
66
  WEBAPP_POLL_INTERVAL_MS=2000
72
67
  WEBAPP_ACTION_COOLDOWN_MS=150
73
68
 
74
- # Локальная папка обмена файлами и note.
75
69
  MCP_XCHANGE_DIR=.mcp-xchange
76
70
 
77
- # Tmux nudges и live-capture.
78
- TMUX_NUDGE_ENABLED=true
79
- TMUX_NUDGE_DEBOUNCE_SECONDS=10
80
- TMUX_NUDGE_COOLDOWN_SECONDS=30
81
- TMUX_NUDGE_MESSAGE=проверь inbox
82
- TMUX_PARTNER_NUDGE_MESSAGE=не inbox: прочитай SHARED_INDEX.md и partner note
83
- TMUX_CAPTURE_MODE=visible
84
- TMUX_CAPTURE_LINES=300
85
- # TMUX_SOCKET_PATH=
86
-
87
- # Browser integration.
88
- 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
89
90
  BROWSER_HEADLESS=false
90
91
  BROWSER_DEVTOOLS=false
91
- BROWSER_ADDRESS=http://localhost:5173
92
+ # BROWSER_ADDRESS=http://localhost:5173
92
93
  BROWSER_TIMEOUT_MS=20000
93
94
  BROWSER_MAX_EVENTS=200
94
95
  BROWSER_WAIT_UNTIL=load
@@ -96,26 +97,13 @@ BROWSER_WAIT_UNTIL=load
96
97
  # BROWSER_CHANNEL=chrome
97
98
  BROWSER_SLOW_MO_MS=0
98
99
 
99
- # Общие лимиты Telegram UI.
100
- TELEGRAM_POLL_INTERVAL_MS=2000
101
- TELEGRAM_DEFAULT_TIMEOUT_SECONDS=900
102
- TELEGRAM_MAX_CONTEXT_CHARS=3000
103
- TELEGRAM_MAX_QUESTION_CHARS=1000
104
- TELEGRAM_MAX_MESSAGE_CHARS=3900
105
- TELEGRAM_INBOX_BATCH_SIZE=20
106
- TELEGRAM_MENU_PAYLOAD_TTL_SECONDS=300
107
-
108
- # Необязательные прокси.
109
- PROXY_USE=
110
- HTTP_PROXY=
111
- 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
112
104
 
113
- # Логирование.
114
105
  LOG_LEVEL=info
115
- LOG_FILE_ENABLED=false
106
+ LOG_FILE_ENABLED=true
116
107
  LOG_FILE_PATH=.tellymcp/log.jsonl
108
+ # LOG_STDERR_LEVEL=error
117
109
  ENABLE_LOGFEED=0
118
-
119
- # Секреты шлюза.
120
- SESSION_SECRET=change_me_session_secret
121
- 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.