@deadragdoll/tellymcp 0.0.10 → 0.0.12
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/.env.example.client +42 -52
- package/.env.example.gateway +48 -62
- package/CHANGELOG.md +3 -3
- package/README-ru.md +226 -376
- package/README.md +213 -1184
- package/TOOLS.md +320 -377
- package/VERSION.md +13 -13
- package/config/codex/plugins/telly-workflows/.codex-plugin/plugin.json +18 -0
- package/config/codex/plugins/telly-workflows/references/invariants.md +10 -0
- package/config/codex/plugins/telly-workflows/skills/telly-browser-screenshot/SKILL.md +27 -0
- package/config/codex/plugins/telly-workflows/skills/telly-collab-artifact/SKILL.md +22 -0
- package/config/codex/plugins/telly-workflows/skills/telly-human-telegram/SKILL.md +31 -0
- package/config/codex/plugins/telly-workflows/skills/telly-partner-note/SKILL.md +36 -0
- package/config/templates/env.both.template +39 -20
- package/config/templates/env.client.template +34 -19
- package/config/templates/env.gateway.template +37 -22
- package/dist/cli.js +322 -75
- package/dist/codexPluginInstaller.js +215 -0
- package/dist/lib/mixins/session.errors.js +34 -1
- package/dist/lib/pinoTargets.js +2 -2
- package/dist/moleculer.config.js +7 -5
- package/dist/services/features/telegram-mcp/browser.service.js +94 -1
- package/dist/services/features/telegram-mcp/collaboration.service.js +40 -3
- package/dist/services/features/telegram-mcp/ensuredb.service.js +145 -26
- package/dist/services/features/telegram-mcp/gateway-delivery.service.js +285 -103
- package/dist/services/features/telegram-mcp/gateway-socket.service.js +907 -85
- package/dist/services/features/telegram-mcp/gateway.service.js +876 -81
- package/dist/services/features/telegram-mcp/mcp-http.service.js +8 -0
- package/dist/services/features/telegram-mcp/mcp-server.service.js +17 -26
- package/dist/services/features/telegram-mcp/notify.service.js +127 -1
- package/dist/services/features/telegram-mcp/session-context.service.js +28 -1
- package/dist/services/features/telegram-mcp/src/app/bootstrap/runtime.js +132 -10
- package/dist/services/features/telegram-mcp/src/app/config/env.js +158 -52
- package/dist/services/features/telegram-mcp/src/app/http.js +375 -42
- package/dist/services/features/telegram-mcp/src/app/webapp/assets.js +386 -58
- package/dist/services/features/telegram-mcp/src/app/webapp/auth.js +3 -0
- package/dist/services/features/telegram-mcp/src/app/webapp/terminal.js +12 -0
- package/dist/services/features/telegram-mcp/src/entities/request/model/schema.js +120 -104
- package/dist/services/features/telegram-mcp/src/entities/xchange/model/types.js +2 -0
- package/dist/services/features/telegram-mcp/src/features/ask-user/model/askUserTelegram.js +1 -1
- package/dist/services/features/telegram-mcp/src/features/browser/model/browserOpenTool.js +1 -1
- package/dist/services/features/telegram-mcp/src/features/browser/model/browserScreenshotTool.js +1 -1
- package/dist/services/features/telegram-mcp/src/features/browser/model/browserService.js +306 -26
- package/dist/services/features/telegram-mcp/src/features/collaboration/model/gatewaySessionsService.js +71 -0
- package/dist/services/features/telegram-mcp/src/features/collaboration/model/listGatewaySessionsTool.js +33 -0
- package/dist/services/features/telegram-mcp/src/features/collaboration/model/localCollaborationBackend.js +93 -82
- package/dist/services/features/telegram-mcp/src/features/collaboration/model/sendPartnerFileService.js +47 -5
- package/dist/services/features/telegram-mcp/src/features/collaboration/model/sendPartnerFileTool.js +1 -1
- package/dist/services/features/telegram-mcp/src/features/collaboration/model/sendPartnerNoteTool.js +1 -1
- package/dist/services/features/telegram-mcp/src/features/distributed-client/model/gatewayClientAccess.js +82 -0
- package/dist/services/features/telegram-mcp/src/features/distributed-client/model/gatewayCollaborationBackend.js +22 -14
- package/dist/services/features/telegram-mcp/src/features/distributed-gateway/model/gatewayHttpService.js +697 -75
- package/dist/services/features/telegram-mcp/src/features/distributed-gateway/model/remoteConsoleActionClient.js +76 -0
- package/dist/services/features/telegram-mcp/src/features/embedded-runtime/model/embeddedRuntimeBroker.js +92 -0
- package/dist/services/features/telegram-mcp/src/features/foreground-terminal/model/foregroundTerminalRuntime.js +192 -0
- package/dist/services/features/telegram-mcp/src/features/notify/model/notifyService.js +382 -3
- package/dist/services/features/telegram-mcp/src/features/notify/model/notifyTelegramTool.js +1 -1
- package/dist/services/features/telegram-mcp/src/features/notify/model/sendFileToTelegramTool.js +33 -0
- package/dist/services/features/telegram-mcp/src/features/session-context/model/clearSessionContextTool.js +1 -1
- package/dist/services/features/telegram-mcp/src/features/session-context/model/getSessionContextTool.js +1 -1
- package/dist/services/features/telegram-mcp/src/features/session-context/model/renameSessionTool.js +1 -1
- package/dist/services/features/telegram-mcp/src/features/session-context/model/sessionContextService.js +42 -200
- package/dist/services/features/telegram-mcp/src/features/session-context/model/setSessionContextTool.js +1 -1
- package/dist/services/features/telegram-mcp/src/features/terminal-buffer/model/terminalBufferService.js +96 -0
- package/dist/services/features/telegram-mcp/src/features/terminal-input/model/terminalInputService.js +97 -0
- package/dist/services/features/telegram-mcp/src/features/tools-sync/model/refreshToolsMarkdownService.js +107 -58
- package/dist/services/features/telegram-mcp/src/features/tools-sync/model/refreshToolsMarkdownTool.js +1 -1
- package/dist/services/features/telegram-mcp/src/features/xchange/model/getXchangeRecordTool.js +28 -0
- package/dist/services/features/telegram-mcp/src/features/xchange/model/listXchangeRecordsTool.js +28 -0
- package/dist/services/features/telegram-mcp/src/features/xchange/model/markXchangeRecordReadTool.js +28 -0
- package/dist/services/features/telegram-mcp/src/features/xchange/model/xchangeService.js +169 -0
- package/dist/services/features/telegram-mcp/src/processes/human-approval/model/orchestrator.js +5 -4
- package/dist/services/features/telegram-mcp/src/shared/i18n/resources/en.js +143 -42
- package/dist/services/features/telegram-mcp/src/shared/i18n/resources/ru.js +139 -38
- package/dist/services/features/telegram-mcp/src/shared/integrations/memory/processLocalSessionStore.js +27 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/object-storage/minioExchangeStore.js +11 -8
- package/dist/services/features/telegram-mcp/src/shared/integrations/redis/stateStore.js +69 -70
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/proxyFetch.js +21 -22
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transport.js +444 -7093
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportAttachmentStore.js +93 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportBroadcastActions.js +385 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportConsoleRegistry.js +149 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportConstructorWiring.js +642 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportContent.js +84 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportContext.js +78 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportDocumentActions.js +36 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportEventActions.js +292 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportFileHandoffActions.js +352 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportFormatting.js +75 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportGatewayActions.js +44 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportLifecycleActions.js +161 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportLive.js +56 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportLiveActions.js +77 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuCallbacks.js +254 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuFactories.js +538 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuFingerprints.js +93 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuFlow.js +344 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuShell.js +65 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuState.js +408 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuText.js +216 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMessageFlow.js +452 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportOutputActions.js +189 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportPartnerActions.js +286 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportPayloadState.js +108 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectActions.js +463 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectEntryActions.js +202 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectEvents.js +99 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectMenus.js +138 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectState.js +308 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectView.js +426 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportRequestFlow.js +278 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportSessionActions.js +143 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportTerminalActions.js +665 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportTerminalRuntime.js +226 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportTypes.js +2 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportUtils.js +330 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportXchangeState.js +107 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/terminal/client.js +255 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/terminal/ptyRegistry.js +543 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/xchange/sqliteRecordStore.js +223 -0
- package/dist/services/features/telegram-mcp/src/shared/lib/gatewayScope.js +24 -0
- package/dist/services/features/telegram-mcp/src/shared/lib/logger/logger.js +6 -0
- package/dist/services/features/telegram-mcp/src/shared/lib/project-identity/projectIdentity.js +147 -76
- package/dist/services/features/telegram-mcp/src/shared/lib/telegramXchangeRecords.js +72 -0
- package/dist/services/features/telegram-mcp/src/shared/lib/terminalPromptDetection.js +409 -0
- package/dist/services/features/telegram-mcp/src/shared/lib/version/versionHandshake.js +129 -1
- package/dist/services/features/telegram-mcp/src/shared/lib/xchangeRecordHints.js +98 -0
- package/dist/services/features/telegram-mcp/standalone-http.service.js +12 -0
- package/dist/services/features/telegram-mcp/terminal-buffer.service.js +42 -0
- package/dist/services/features/telegram-mcp/terminal-input.service.js +41 -0
- package/dist/services/features/telegram-mcp/tools-sync.service.js +15 -1
- package/dist/services/features/telegram-mcp/xchange.service.js +123 -0
- package/docs/STANDALONE-ru.md +172 -0
- package/docs/STANDALONE.md +172 -0
- package/package.json +10 -5
- package/scripts/build-package-artifact.sh +27 -0
- package/scripts/deploy-gateway.sh +64 -0
- package/scripts/deploy-onebot-branch.sh +27 -0
- package/scripts/postinstall.js +11 -36
- package/STANDALONE-ru.md +0 -274
- package/STANDALONE.md +0 -274
- package/dist/services/features/telegram-mcp/inbox.service.js +0 -33
- package/dist/services/features/telegram-mcp/pair.service.js +0 -33
- package/dist/services/features/telegram-mcp/src/app/webapp/tmux.js +0 -10
- package/dist/services/features/telegram-mcp/src/features/inbox/model/deleteTelegramInboxMessageTool.js +0 -33
- package/dist/services/features/telegram-mcp/src/features/inbox/model/getTelegramInboxCountTool.js +0 -33
- package/dist/services/features/telegram-mcp/src/features/inbox/model/getTelegramInboxTool.js +0 -33
- package/dist/services/features/telegram-mcp/src/features/inbox/model/inboxService.js +0 -77
- package/dist/services/features/telegram-mcp/src/features/pair-session/model/clearSessionPairingTool.js +0 -33
- package/dist/services/features/telegram-mcp/src/features/pair-session/model/createSessionPairCodeTool.js +0 -33
- package/dist/services/features/telegram-mcp/src/features/pair-session/model/generatePairCode.js +0 -202
- package/dist/services/features/telegram-mcp/src/features/session-context/model/getTmuxTargetTool.js +0 -33
- package/dist/services/features/telegram-mcp/src/features/session-context/model/setTmuxTargetTool.js +0 -33
- package/dist/services/features/telegram-mcp/src/shared/integrations/tmux/client.js +0 -363
package/VERSION.md
CHANGED
|
@@ -28,7 +28,7 @@ For detailed engineering history, refactors, and internal development notes, see
|
|
|
28
28
|
- inbox/session flows
|
|
29
29
|
- project/collab flows
|
|
30
30
|
- live approval prompts
|
|
31
|
-
-
|
|
31
|
+
- terminal and operational bot notices
|
|
32
32
|
|
|
33
33
|
## 0.0.9
|
|
34
34
|
|
|
@@ -55,8 +55,8 @@ For detailed engineering history, refactors, and internal development notes, see
|
|
|
55
55
|
- expired in-process WebApp sessions (`401/403`) trigger automatic re-bootstrap
|
|
56
56
|
- reopening the Mini App is no longer required in the normal restart case
|
|
57
57
|
- Runtime MCP metadata now reports the actual package version instead of stale hardcoded version data.
|
|
58
|
-
- Successful
|
|
59
|
-
- If
|
|
58
|
+
- Successful terminal nudges no longer overwrite stale target metadata with non-target values such as `backend:0.0`.
|
|
59
|
+
- If the terminal runtime itself is unavailable for a paired session with a saved terminal target, Telegram now receives an operational warning instead of leaving the signal only in backend logs.
|
|
60
60
|
|
|
61
61
|
## 0.0.8
|
|
62
62
|
|
|
@@ -66,8 +66,8 @@ For detailed engineering history, refactors, and internal development notes, see
|
|
|
66
66
|
- optional JSONL file sink for Alloy or other collectors
|
|
67
67
|
- `LOG_FILE_ENABLED=true`
|
|
68
68
|
- `LOG_FILE_PATH=.tellymcp/log.jsonl`
|
|
69
|
-
- Better
|
|
70
|
-
- when a saved
|
|
69
|
+
- Better terminal target recovery behavior:
|
|
70
|
+
- when a saved target becomes stale after terminal recreation, TellyMCP now tries to recover the live terminal automatically from stored terminal hints
|
|
71
71
|
- if auto-recovery fails, Telegram sends a clear operational warning instead of leaving the problem only in logs
|
|
72
72
|
- Stronger `Share` execution guidance:
|
|
73
73
|
- the current session must do the work itself
|
|
@@ -83,8 +83,8 @@ For detailed engineering history, refactors, and internal development notes, see
|
|
|
83
83
|
- optional `LogFeed` buffer for UI diagnostics
|
|
84
84
|
|
|
85
85
|
### Fixed
|
|
86
|
-
- Stale
|
|
87
|
-
- Broken
|
|
86
|
+
- Stale terminal target ids no longer require manual user understanding before the service can try to wake the session again.
|
|
87
|
+
- Broken terminal nudge targets are now visible to the user in Telegram, not only in backend logs.
|
|
88
88
|
- `Share` inbox instructions are now explicit enough to reduce the chance that one agent re-delegates the task back into the collaboration graph.
|
|
89
89
|
- `Live` Mini App now survives a normal gateway restart much better:
|
|
90
90
|
- short `502/503` periods recover through polling
|
|
@@ -100,8 +100,8 @@ For detailed engineering history, refactors, and internal development notes, see
|
|
|
100
100
|
- `tellymcp doctor`
|
|
101
101
|
- `tellymcp mcp --help`
|
|
102
102
|
- Standalone and public installation guides:
|
|
103
|
-
- [STANDALONE.md](STANDALONE.md)
|
|
104
|
-
- [STANDALONE-ru.md](STANDALONE-ru.md)
|
|
103
|
+
- [STANDALONE.md](docs/STANDALONE.md)
|
|
104
|
+
- [STANDALONE-ru.md](docs/STANDALONE-ru.md)
|
|
105
105
|
- Browser runtime helper:
|
|
106
106
|
- `tellymcp browser install`
|
|
107
107
|
- Public README set for GitHub and npm:
|
|
@@ -116,13 +116,13 @@ For detailed engineering history, refactors, and internal development notes, see
|
|
|
116
116
|
- MCP/WebApp/Gateway endpoints
|
|
117
117
|
- Live text input button:
|
|
118
118
|
- `[txt]`
|
|
119
|
-
- sends literal text to
|
|
119
|
+
- sends literal text to the terminal without pressing `Enter`
|
|
120
120
|
|
|
121
121
|
### Changed
|
|
122
122
|
- Default installation path is now npm-first:
|
|
123
123
|
- `npm install -g @deadragdoll/tellymcp`
|
|
124
124
|
- Standalone client mode is documented first, before gateway/both deployment.
|
|
125
|
-
-
|
|
125
|
+
- Built-in PTY terminal control is now documented as the default prerequisite for the full experience:
|
|
126
126
|
- Live View
|
|
127
127
|
- nudges
|
|
128
128
|
- direct terminal control from Telegram
|
|
@@ -178,8 +178,8 @@ For detailed engineering history, refactors, and internal development notes, see
|
|
|
178
178
|
- `TOOLS.md` sync now detects outdated or missing local instructions and asks the session to refresh them.
|
|
179
179
|
|
|
180
180
|
### Removed
|
|
181
|
-
- Legacy Go/HTTP
|
|
182
|
-
- Direct product path is now local
|
|
181
|
+
- Legacy Go/HTTP terminal proxy path was removed.
|
|
182
|
+
- Direct product path is now the local built-in terminal runtime only.
|
|
183
183
|
|
|
184
184
|
## Next entry template
|
|
185
185
|
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "telly-workflows",
|
|
3
|
+
"version": "0.1.0+codex.20260522215959",
|
|
4
|
+
"description": "Static workflows and operational rules for telegram_mcp consoles.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Local developer"
|
|
7
|
+
},
|
|
8
|
+
"skills": "./skills/",
|
|
9
|
+
"interface": {
|
|
10
|
+
"displayName": "Telly Workflows",
|
|
11
|
+
"shortDescription": "Stable workflows for telegram_mcp sessions.",
|
|
12
|
+
"longDescription": "Telly Workflows adds static Codex skills for partner-note execution, human Telegram replies, browser screenshots, and artifact-return paths without relying on ad-hoc polling or route guessing.",
|
|
13
|
+
"developerName": "Local developer",
|
|
14
|
+
"category": "Productivity",
|
|
15
|
+
"capabilities": [],
|
|
16
|
+
"defaultPrompt": "Use the telly-workflows skills when working through telegram_mcp, especially for partner-note execution, browser screenshots, and human Telegram replies."
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Operational Invariants
|
|
2
|
+
|
|
3
|
+
1. Do not stop at inspection when a request requires a real outbound action.
|
|
4
|
+
2. Do not call `mark_xchange_record_read` before the required outbound tool succeeds.
|
|
5
|
+
3. Do not use `sleep` plus repeated `list_xchange_records` polling in the same turn after sending a partner request.
|
|
6
|
+
4. For inter-session work, the target console returns results to the source console, not directly to the human Telegram chat.
|
|
7
|
+
5. For human screenshot requests, prefer `browser_open` plus `browser_screenshot(send_to_telegram=true)` when the current console owns the browser runtime.
|
|
8
|
+
6. For partner screenshot requests, prefer `browser_open` plus `browser_screenshot`, then `send_partner_file` back to the source console.
|
|
9
|
+
7. Prefer `send_partner_file` over `send_partner_note` whenever the result is a real local file.
|
|
10
|
+
8. Do not invent routing or route-guessing fallbacks when the canonical path is known.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: telly-browser-screenshot
|
|
3
|
+
description: Use when a telegram_mcp task says to open a webpage, use browser_open, take a screenshot with browser_screenshot, send a screenshot to Telegram with send_to_telegram=true, or return a screenshot artifact to another console with send_partner_file. Prefer this over shell Playwright fallbacks for browser screenshot work.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Telly Browser Screenshot
|
|
7
|
+
|
|
8
|
+
Use this skill when the task says to open a webpage and make a screenshot.
|
|
9
|
+
|
|
10
|
+
## Rules
|
|
11
|
+
|
|
12
|
+
- Prefer `browser_open` and `browser_screenshot`.
|
|
13
|
+
- Do not replace the browser workflow with shell Playwright unless browser tools actually fail.
|
|
14
|
+
- If the screenshot must go straight back to the human Telegram chat from this console, set `send_to_telegram=true`.
|
|
15
|
+
- If the screenshot must go to another console, save the PNG through `browser_screenshot`, then return it with `send_partner_file`.
|
|
16
|
+
- Do not dig through sqlite or session context to guess delivery routes when the requested flow is already known.
|
|
17
|
+
|
|
18
|
+
## Preferred patterns
|
|
19
|
+
|
|
20
|
+
Human-facing screenshot:
|
|
21
|
+
1. `browser_open`
|
|
22
|
+
2. `browser_screenshot(send_to_telegram=true)`
|
|
23
|
+
|
|
24
|
+
Partner-facing screenshot:
|
|
25
|
+
1. `browser_open`
|
|
26
|
+
2. `browser_screenshot`
|
|
27
|
+
3. `send_partner_file`
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: telly-collab-artifact
|
|
3
|
+
description: Use when a telegram_mcp collab or partner_note task must return a real file or artifact such as a screenshot, html file, txt file, report, or generated output. Prefer send_partner_file over send_partner_note when the result exists as a local file, and return the artifact to the source console before any human Telegram reply.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Telly Collab Artifact
|
|
7
|
+
|
|
8
|
+
Use this skill when the result must include a real file.
|
|
9
|
+
|
|
10
|
+
## Rules
|
|
11
|
+
|
|
12
|
+
- Prefer `send_partner_file` whenever the result already exists as a local file.
|
|
13
|
+
- Do not paste file contents into `send_partner_note` if a real file path is available.
|
|
14
|
+
- For inter-session work, return the artifact to the source console, then let the source console handle the human-facing reply.
|
|
15
|
+
- Only fall back to `send_partner_note` without `send_partner_file` when the result is purely textual.
|
|
16
|
+
|
|
17
|
+
## Preferred pattern
|
|
18
|
+
|
|
19
|
+
1. Produce the local file in the current console.
|
|
20
|
+
2. Verify the path exists in the current workspace.
|
|
21
|
+
3. Call `send_partner_file`.
|
|
22
|
+
4. Only after success, call `mark_xchange_record_read` if the incoming note required a reply.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: telly-human-telegram
|
|
3
|
+
description: Use when the current console received a human telegram_message, needs to reply through notify_telegram, or needs to open a page and send a browser screenshot back to the human with browser_screenshot(send_to_telegram=true). This skill covers direct human-facing telegram_mcp requests, not partner-to-partner return paths.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Telly Human Telegram
|
|
7
|
+
|
|
8
|
+
Use this skill when the current console received a human Telegram request through `telegram_message`.
|
|
9
|
+
|
|
10
|
+
## Rules
|
|
11
|
+
|
|
12
|
+
- Start with `get_xchange_record` for the newest relevant `telegram_message`.
|
|
13
|
+
- If the request needs a text reply, finish with `notify_telegram`.
|
|
14
|
+
- If the request needs a browser screenshot sent to the human, use `browser_open` and then `browser_screenshot` with `send_to_telegram=true`.
|
|
15
|
+
- Do not save a screenshot locally and then search sqlite, route metadata, or session context just to deliver it.
|
|
16
|
+
- Do not stop at analysis or a summary.
|
|
17
|
+
- Call `mark_xchange_record_read` only after the required outbound tool succeeds.
|
|
18
|
+
|
|
19
|
+
## Preferred patterns
|
|
20
|
+
|
|
21
|
+
Text reply:
|
|
22
|
+
1. `get_xchange_record`
|
|
23
|
+
2. do the work
|
|
24
|
+
3. `notify_telegram`
|
|
25
|
+
4. `mark_xchange_record_read`
|
|
26
|
+
|
|
27
|
+
Browser screenshot reply:
|
|
28
|
+
1. `get_xchange_record`
|
|
29
|
+
2. `browser_open`
|
|
30
|
+
3. `browser_screenshot(send_to_telegram=true)`
|
|
31
|
+
4. `mark_xchange_record_read`
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: telly-partner-note
|
|
3
|
+
description: Use when the current console received an incoming partner_note, xchange partner request, inter-session task, collab ask/share request, or agent-to-agent reply path. Start with get_xchange_record, do the work in this console, return the result with send_partner_note or send_partner_file, and only then call mark_xchange_record_read.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Telly Partner Note
|
|
7
|
+
|
|
8
|
+
Use this skill when the current console received an incoming `partner_note`.
|
|
9
|
+
|
|
10
|
+
## Rules
|
|
11
|
+
|
|
12
|
+
- Start with `get_xchange_record`.
|
|
13
|
+
- Read whether the note is a `request`, `question`, `reply`, or `handoff`.
|
|
14
|
+
- If the note requires a reply, the task is not complete until `send_partner_note` or `send_partner_file` succeeds.
|
|
15
|
+
- Do not stop at reading the note, listing files, or summarizing the task.
|
|
16
|
+
- Do not call `mark_xchange_record_read` before the outbound reply succeeds.
|
|
17
|
+
- If the newest note is `kind=reply` and does not require a reply, process the result and do not create another reply loop.
|
|
18
|
+
|
|
19
|
+
## Return path
|
|
20
|
+
|
|
21
|
+
- Return the result to the source console.
|
|
22
|
+
- Do not send the result directly to the human Telegram chat from the target console unless the instruction explicitly says this console is the human-facing endpoint.
|
|
23
|
+
|
|
24
|
+
## Preferred patterns
|
|
25
|
+
|
|
26
|
+
Text result:
|
|
27
|
+
1. `get_xchange_record`
|
|
28
|
+
2. do the work in this console
|
|
29
|
+
3. `send_partner_note`
|
|
30
|
+
4. `mark_xchange_record_read`
|
|
31
|
+
|
|
32
|
+
Artifact result:
|
|
33
|
+
1. `get_xchange_record`
|
|
34
|
+
2. do the work in this console
|
|
35
|
+
3. `send_partner_file`
|
|
36
|
+
4. `mark_xchange_record_read`
|
|
@@ -2,15 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
TELEGRAM_BOT_TOKEN=
|
|
4
4
|
TELEGRAM_BOT_USERNAME=
|
|
5
|
+
# ADMIN_TOKEN=
|
|
5
6
|
# DEBUG_LANGUAGE=ru
|
|
6
|
-
|
|
7
|
+
# TELEGRAM_WEBHOOK_ENABLED=true
|
|
8
|
+
# TELEGRAM_WEBHOOK_PATH=/telegram/webhook
|
|
9
|
+
# TELEGRAM_WEBHOOK_PUBLIC_URL=https://your-domain.example/api/telegram/webhook
|
|
10
|
+
# TELEGRAM_WEBHOOK_SECRET=change_me_webhook_secret
|
|
11
|
+
# TELEGRAM_WEBHOOK_TRACE=false
|
|
12
|
+
# TELEGRAM_WEBHOOK_DROP_PENDING_UPDATES=false
|
|
13
|
+
|
|
14
|
+
# PROJECT_NAME=
|
|
15
|
+
# TELLYMCP_SESSION_ID=NEW
|
|
16
|
+
# TELLYMCP_SESSION_LABEL=NEW
|
|
7
17
|
|
|
8
18
|
REDIS_HOST=127.0.0.1
|
|
9
19
|
REDIS_PORT=6379
|
|
10
20
|
REDIS_DB=1
|
|
11
21
|
|
|
12
|
-
MODE=
|
|
13
|
-
PAIR_CODE_TTL_SECONDS=
|
|
22
|
+
MODE=reject
|
|
23
|
+
PAIR_CODE_TTL_SECONDS=300
|
|
14
24
|
|
|
15
25
|
MCP_HTTP_HOST=127.0.0.1
|
|
16
26
|
MCP_HTTP_PORT=8787
|
|
@@ -23,13 +33,14 @@ DISTRIBUTED_MODE=both
|
|
|
23
33
|
GATEWAY_PUBLIC_URL=
|
|
24
34
|
GATEWAY_WS_URL=
|
|
25
35
|
GATEWAY_WS_PATH=/api/gateway/ws
|
|
26
|
-
|
|
36
|
+
GATEWAY_TOKEN=
|
|
37
|
+
GATEWAY_USER_UUID=
|
|
38
|
+
# GATEWAY_AUTH_TOKEN=
|
|
27
39
|
|
|
28
40
|
ROOT_PREFIX=/api
|
|
29
|
-
|
|
41
|
+
PORT=8080
|
|
30
42
|
NAMESPACE=mcp
|
|
31
43
|
NODE_ID=both
|
|
32
|
-
PORT=8080
|
|
33
44
|
|
|
34
45
|
DB_HOST=127.0.0.1
|
|
35
46
|
DB_PORT=5432
|
|
@@ -43,7 +54,7 @@ DB_SCHEME=mcp
|
|
|
43
54
|
# RMQ_USER=
|
|
44
55
|
# RMQ_PASSWORD=
|
|
45
56
|
# RMQ_VHOST=/
|
|
46
|
-
# RMQ_EXCHANGE=
|
|
57
|
+
# RMQ_EXCHANGE=telegram_mcp.gateway
|
|
47
58
|
|
|
48
59
|
WEBAPP_ENABLED=true
|
|
49
60
|
WEBAPP_BASE_PATH=/webapp
|
|
@@ -51,25 +62,34 @@ WEBAPP_PUBLIC_URL=
|
|
|
51
62
|
WEBAPP_INITDATA_TTL_SECONDS=300
|
|
52
63
|
WEBAPP_SESSION_TTL_SECONDS=900
|
|
53
64
|
WEBAPP_LAUNCH_MODE=fullscreen
|
|
54
|
-
WEBAPP_VISIBLE_SCREENS=
|
|
65
|
+
WEBAPP_VISIBLE_SCREENS=10
|
|
55
66
|
WEBAPP_POLL_INTERVAL_MS=2000
|
|
56
67
|
WEBAPP_ACTION_COOLDOWN_MS=150
|
|
57
68
|
|
|
58
69
|
MCP_XCHANGE_DIR=.mcp-xchange
|
|
59
70
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
TMUX_PARTNER_NUDGE_MESSAGE=не inbox: прочитай SHARED_INDEX.md и partner note
|
|
65
|
-
TMUX_CAPTURE_MODE=visible
|
|
66
|
-
TMUX_CAPTURE_LINES=300
|
|
67
|
-
# TMUX_SOCKET_PATH=
|
|
71
|
+
TERMINAL_SHELL=bash
|
|
72
|
+
TERMINAL_COLS=120
|
|
73
|
+
TERMINAL_ROWS=40
|
|
74
|
+
TERMINAL_SCROLLBACK_LINES=4000
|
|
68
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=true
|
|
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
|
|
69
89
|
BROWSER_ENABLED=true
|
|
70
90
|
BROWSER_HEADLESS=false
|
|
71
91
|
BROWSER_DEVTOOLS=false
|
|
72
|
-
BROWSER_ADDRESS=http://localhost:5173
|
|
92
|
+
# BROWSER_ADDRESS=http://localhost:5173
|
|
73
93
|
BROWSER_TIMEOUT_MS=20000
|
|
74
94
|
BROWSER_MAX_EVENTS=200
|
|
75
95
|
BROWSER_WAIT_UNTIL=load
|
|
@@ -78,7 +98,6 @@ BROWSER_WAIT_UNTIL=load
|
|
|
78
98
|
BROWSER_SLOW_MO_MS=0
|
|
79
99
|
|
|
80
100
|
LOG_LEVEL=info
|
|
81
|
-
ENABLE_LOGFEED=0
|
|
82
101
|
LOG_FILE_ENABLED=false
|
|
83
|
-
|
|
84
|
-
|
|
102
|
+
LOG_FILE_PATH=.tellymcp/log.jsonl
|
|
103
|
+
ENABLE_LOGFEED=0
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
# TellyMCP client node
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
#
|
|
6
|
-
PROJECT_NAME=
|
|
3
|
+
# PROJECT_NAME=
|
|
4
|
+
# TELLYMCP_SESSION_ID=NEW
|
|
5
|
+
# TELLYMCP_SESSION_LABEL=NEW
|
|
7
6
|
|
|
8
7
|
REDIS_HOST=127.0.0.1
|
|
9
8
|
REDIS_PORT=6379
|
|
10
9
|
REDIS_DB=1
|
|
11
10
|
|
|
12
|
-
MODE=
|
|
13
|
-
PAIR_CODE_TTL_SECONDS=
|
|
11
|
+
MODE=reject
|
|
12
|
+
PAIR_CODE_TTL_SECONDS=300
|
|
14
13
|
|
|
15
14
|
MCP_HTTP_HOST=127.0.0.1
|
|
16
15
|
MCP_HTTP_PORT=8787
|
|
@@ -23,33 +22,44 @@ DISTRIBUTED_MODE=client
|
|
|
23
22
|
GATEWAY_PUBLIC_URL=
|
|
24
23
|
GATEWAY_WS_URL=
|
|
25
24
|
GATEWAY_WS_PATH=/api/gateway/ws
|
|
26
|
-
|
|
25
|
+
GATEWAY_TOKEN=
|
|
26
|
+
GATEWAY_USER_UUID=
|
|
27
|
+
# GATEWAY_AUTH_TOKEN=
|
|
27
28
|
|
|
29
|
+
TERMINAL_SHELL=bash
|
|
30
|
+
TERMINAL_COLS=120
|
|
31
|
+
TERMINAL_ROWS=40
|
|
32
|
+
TERMINAL_SCROLLBACK_LINES=4000
|
|
33
|
+
|
|
34
|
+
TERMINAL_NUDGE_ENABLED=true
|
|
35
|
+
TERMINAL_NUDGE_DEBOUNCE_SECONDS=10
|
|
36
|
+
TERMINAL_NUDGE_COOLDOWN_SECONDS=30
|
|
37
|
+
TERMINAL_NUDGE_MESSAGE=получи newest telegram_message через list_xchange_records/get_xchange_record, выполни запрос и ответь человеку через notify_telegram; не останавливайся на анализе
|
|
38
|
+
TERMINAL_PARTNER_NUDGE_MESSAGE=получи newest partner_note через list_xchange_records/get_xchange_record, выполни задачу в текущей консоли и обязательно отправь результат через send_partner_note или send_partner_file; только потом mark_xchange_record_read
|
|
39
|
+
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
|
|
40
|
+
TERMINAL_CAPTURE_MODE=visible
|
|
41
|
+
TERMINAL_CAPTURE_LINES=300
|
|
42
|
+
TERMINAL_PROMPT_SCAN_ENABLED=true
|
|
43
|
+
TERMINAL_PROMPT_SCAN_INTERVAL_SECONDS=15
|
|
44
|
+
TERMINAL_PROMPT_SCAN_COOLDOWN_SECONDS=120
|
|
45
|
+
TERMINAL_PROMPT_SCAN_STRATEGY=strict
|
|
46
|
+
TERMINAL_PROMPT_SCAN_MIN_SCORE=5
|
|
28
47
|
WEBAPP_ENABLED=true
|
|
29
48
|
WEBAPP_BASE_PATH=/webapp
|
|
30
|
-
|
|
49
|
+
WEBAPP_PUBLIC_URL=
|
|
31
50
|
WEBAPP_INITDATA_TTL_SECONDS=300
|
|
32
51
|
WEBAPP_SESSION_TTL_SECONDS=900
|
|
33
52
|
WEBAPP_LAUNCH_MODE=fullscreen
|
|
34
|
-
WEBAPP_VISIBLE_SCREENS=
|
|
53
|
+
WEBAPP_VISIBLE_SCREENS=10
|
|
35
54
|
WEBAPP_POLL_INTERVAL_MS=2000
|
|
36
55
|
WEBAPP_ACTION_COOLDOWN_MS=150
|
|
37
56
|
|
|
38
57
|
MCP_XCHANGE_DIR=.mcp-xchange
|
|
39
58
|
|
|
40
|
-
TMUX_NUDGE_ENABLED=true
|
|
41
|
-
TMUX_NUDGE_DEBOUNCE_SECONDS=10
|
|
42
|
-
TMUX_NUDGE_COOLDOWN_SECONDS=30
|
|
43
|
-
TMUX_NUDGE_MESSAGE=проверь inbox
|
|
44
|
-
TMUX_PARTNER_NUDGE_MESSAGE=не inbox: прочитай SHARED_INDEX.md и partner note
|
|
45
|
-
TMUX_CAPTURE_MODE=visible
|
|
46
|
-
TMUX_CAPTURE_LINES=300
|
|
47
|
-
# TMUX_SOCKET_PATH=
|
|
48
|
-
|
|
49
59
|
BROWSER_ENABLED=true
|
|
50
60
|
BROWSER_HEADLESS=false
|
|
51
61
|
BROWSER_DEVTOOLS=false
|
|
52
|
-
BROWSER_ADDRESS=http://localhost:5173
|
|
62
|
+
# BROWSER_ADDRESS=http://localhost:5173
|
|
53
63
|
BROWSER_TIMEOUT_MS=20000
|
|
54
64
|
BROWSER_MAX_EVENTS=200
|
|
55
65
|
BROWSER_WAIT_UNTIL=load
|
|
@@ -57,5 +67,10 @@ BROWSER_WAIT_UNTIL=load
|
|
|
57
67
|
# BROWSER_CHANNEL=chrome
|
|
58
68
|
BROWSER_SLOW_MO_MS=0
|
|
59
69
|
|
|
70
|
+
NAMESPACE=mcp
|
|
71
|
+
NODE_ID=agent
|
|
72
|
+
|
|
60
73
|
LOG_LEVEL=info
|
|
74
|
+
LOG_FILE_ENABLED=false
|
|
75
|
+
LOG_FILE_PATH=.tellymcp/log.jsonl
|
|
61
76
|
ENABLE_LOGFEED=0
|
|
@@ -2,15 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
TELEGRAM_BOT_TOKEN=
|
|
4
4
|
TELEGRAM_BOT_USERNAME=
|
|
5
|
+
# ADMIN_TOKEN=
|
|
5
6
|
# DEBUG_LANGUAGE=ru
|
|
6
|
-
|
|
7
|
+
# TELEGRAM_WEBHOOK_ENABLED=true
|
|
8
|
+
# TELEGRAM_WEBHOOK_PATH=/telegram/webhook
|
|
9
|
+
# TELEGRAM_WEBHOOK_PUBLIC_URL=https://your-domain.example/api/telegram/webhook
|
|
10
|
+
# TELEGRAM_WEBHOOK_SECRET=change_me_webhook_secret
|
|
11
|
+
# TELEGRAM_WEBHOOK_TRACE=false
|
|
12
|
+
# TELEGRAM_WEBHOOK_DROP_PENDING_UPDATES=false
|
|
7
13
|
|
|
8
14
|
REDIS_HOST=127.0.0.1
|
|
9
15
|
REDIS_PORT=6379
|
|
10
16
|
REDIS_DB=1
|
|
11
17
|
|
|
12
|
-
MODE=
|
|
13
|
-
PAIR_CODE_TTL_SECONDS=
|
|
18
|
+
MODE=reject
|
|
19
|
+
PAIR_CODE_TTL_SECONDS=300
|
|
14
20
|
|
|
15
21
|
MCP_HTTP_HOST=127.0.0.1
|
|
16
22
|
MCP_HTTP_PORT=8787
|
|
@@ -21,14 +27,15 @@ MCP_HTTP_ENABLE_PRUNE_ROUTE=false
|
|
|
21
27
|
|
|
22
28
|
DISTRIBUTED_MODE=gateway
|
|
23
29
|
GATEWAY_PUBLIC_URL=
|
|
30
|
+
GATEWAY_WS_URL=
|
|
24
31
|
GATEWAY_WS_PATH=/api/gateway/ws
|
|
25
|
-
|
|
32
|
+
GATEWAY_TOKEN=
|
|
33
|
+
# GATEWAY_AUTH_TOKEN=
|
|
26
34
|
|
|
27
35
|
ROOT_PREFIX=/api
|
|
28
|
-
APP_NAME=tellymcp-gateway
|
|
29
|
-
NAMESPACE=mcp
|
|
30
|
-
NODE_ID=gateway
|
|
31
36
|
PORT=8080
|
|
37
|
+
NAMESPACE=mcp
|
|
38
|
+
NODE_ID=GWAY
|
|
32
39
|
|
|
33
40
|
DB_HOST=127.0.0.1
|
|
34
41
|
DB_PORT=5432
|
|
@@ -42,7 +49,7 @@ DB_SCHEME=mcp
|
|
|
42
49
|
# RMQ_USER=
|
|
43
50
|
# RMQ_PASSWORD=
|
|
44
51
|
# RMQ_VHOST=/
|
|
45
|
-
# RMQ_EXCHANGE=
|
|
52
|
+
# RMQ_EXCHANGE=telegram_mcp.gateway
|
|
46
53
|
|
|
47
54
|
WEBAPP_ENABLED=true
|
|
48
55
|
WEBAPP_BASE_PATH=/webapp
|
|
@@ -50,25 +57,34 @@ WEBAPP_PUBLIC_URL=
|
|
|
50
57
|
WEBAPP_INITDATA_TTL_SECONDS=300
|
|
51
58
|
WEBAPP_SESSION_TTL_SECONDS=900
|
|
52
59
|
WEBAPP_LAUNCH_MODE=fullscreen
|
|
53
|
-
WEBAPP_VISIBLE_SCREENS=
|
|
60
|
+
WEBAPP_VISIBLE_SCREENS=10
|
|
54
61
|
WEBAPP_POLL_INTERVAL_MS=2000
|
|
55
62
|
WEBAPP_ACTION_COOLDOWN_MS=150
|
|
56
63
|
|
|
57
64
|
MCP_XCHANGE_DIR=.mcp-xchange
|
|
58
65
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
TMUX_PARTNER_NUDGE_MESSAGE=не inbox: прочитай SHARED_INDEX.md и partner note
|
|
64
|
-
TMUX_CAPTURE_MODE=visible
|
|
65
|
-
TMUX_CAPTURE_LINES=300
|
|
66
|
-
# TMUX_SOCKET_PATH=
|
|
66
|
+
TERMINAL_SHELL=bash
|
|
67
|
+
TERMINAL_COLS=120
|
|
68
|
+
TERMINAL_ROWS=40
|
|
69
|
+
TERMINAL_SCROLLBACK_LINES=4000
|
|
67
70
|
|
|
68
|
-
|
|
71
|
+
TERMINAL_NUDGE_ENABLED=true
|
|
72
|
+
TERMINAL_NUDGE_DEBOUNCE_SECONDS=10
|
|
73
|
+
TERMINAL_NUDGE_COOLDOWN_SECONDS=30
|
|
74
|
+
TERMINAL_NUDGE_MESSAGE=получи newest telegram_message через list_xchange_records/get_xchange_record, выполни запрос и ответь человеку через notify_telegram; не останавливайся на анализе
|
|
75
|
+
TERMINAL_PARTNER_NUDGE_MESSAGE=получи newest partner_note через list_xchange_records/get_xchange_record, выполни задачу в текущей консоли и обязательно отправь результат через send_partner_note или send_partner_file; только потом mark_xchange_record_read
|
|
76
|
+
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
|
|
77
|
+
TERMINAL_CAPTURE_MODE=visible
|
|
78
|
+
TERMINAL_CAPTURE_LINES=300
|
|
79
|
+
TERMINAL_PROMPT_SCAN_ENABLED=false
|
|
80
|
+
TERMINAL_PROMPT_SCAN_INTERVAL_SECONDS=15
|
|
81
|
+
TERMINAL_PROMPT_SCAN_COOLDOWN_SECONDS=120
|
|
82
|
+
TERMINAL_PROMPT_SCAN_STRATEGY=strict
|
|
83
|
+
TERMINAL_PROMPT_SCAN_MIN_SCORE=5
|
|
84
|
+
BROWSER_ENABLED=false
|
|
69
85
|
BROWSER_HEADLESS=false
|
|
70
86
|
BROWSER_DEVTOOLS=false
|
|
71
|
-
BROWSER_ADDRESS=http://localhost:5173
|
|
87
|
+
# BROWSER_ADDRESS=http://localhost:5173
|
|
72
88
|
BROWSER_TIMEOUT_MS=20000
|
|
73
89
|
BROWSER_MAX_EVENTS=200
|
|
74
90
|
BROWSER_WAIT_UNTIL=load
|
|
@@ -77,7 +93,6 @@ BROWSER_WAIT_UNTIL=load
|
|
|
77
93
|
BROWSER_SLOW_MO_MS=0
|
|
78
94
|
|
|
79
95
|
LOG_LEVEL=info
|
|
80
|
-
ENABLE_LOGFEED=0
|
|
81
96
|
LOG_FILE_ENABLED=false
|
|
82
|
-
|
|
83
|
-
|
|
97
|
+
LOG_FILE_PATH=.tellymcp/log.jsonl
|
|
98
|
+
ENABLE_LOGFEED=0
|