Telegram Managed Bot Factory

io.github.laser54由 GitHub 帳號 laser54 發布v0.1.0更新於 Oct 24, 2026

Provision owner-confirmed isolated Telegram Managed Bot instances.

已驗證STDIO僅桌面效率與工作流溝通與協作

概覽

AI 產生的概覽

一個自架的 MCP 控制平面,讓助理準備並追蹤建立隔離 Telegram 子機器人的請求,由擁有者在 Telegram 中確認。

可以做什麼
為支援的 Telegram 子機器人準備有界線的建立請求,回傳建立連結供擁有者在 Telegram 中核准,並在常駐 worker 於模型情境之外完成佈建時回報請求狀態。列出內建設定檔(快速問答、潛在客戶收件匣、連結收件匣、擁有者回聲),並在明確確認後附加到既有子機器人。啟動與停止子機器人以暫停及恢復。子機器人憑證由背景 worker 取得,不會進入 MCP 參數與結果。
適用情境
當你有具備 systemd 的 Linux 主機,希望助理協助建立與管理受設定檔限制的小型 Telegram 機器人,且每次建立都由你在 Telegram 中核准時使用。
執行需求
Linux 與 systemd --user(已測試 Ubuntu 與 WSL2)、Python 3.11–3.14、uv、Hermes 0.18,以及一個啟用 Bot Management Mode 的獨立自有 Telegram 機器人。安裝需在互動式終端機執行,並以隱藏輸入方式提示一次管理器權杖;未宣告環境變數或標頭。
安裝前請注意
管理器機器人權杖是重要憑證,只能透過隱藏終端機輸入提供,切勿放入聊天、MCP 參數、shell 指令或環境變數。建立機器人是真實的外部副作用,一律需要你在 Telegram 中確認;不保證恰好執行一次,因崩潰而結果不明的操作會被隔離待人工核對。解除安裝不會刪除 Factory 資料,也不會撤銷 Telegram 機器人。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Telegram Managed Bot Factory,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Telegram Managed Bot Factory

[PyPI release 0.2.3]

A self-hosted MCP control plane that turns one user-owned Telegram manager bot into isolated, useful child bots. Ask Hermes for a supported bot, confirm that specific creation in Telegram, and the persistent Factory worker retrieves and contains the child credential without exposing it to the model or MCP.

Version 0.2.3 is terminal-only: no Desktop bootstrap exists. Each PyPI version is immutable; install the pinned release below.

Why this matters

Creating a bot manually involves a valuable credential and a real external side effect. Factory makes that workflow explicit: an agent can prepare a bounded request, but the owner approves creation in Telegram and the persistent worker receives the resulting credential outside the agent context.

What I built

I designed the MCP/control-plane boundary, the durable worker lifecycle, credential isolation, request state and reconciliation rules, then packaged and released the tool for self-hosted use. The design deliberately does not claim exactly-once external effects: a crash-ambiguous result is surfaced for reconciliation instead of being blindly retried.

Install

Requires Linux with systemd --user, Python 3.11–3.14, uv, Hermes 0.18, and a separate Telegram bot with Bot Management Mode enabled.

bash
uvx --refresh --from telegram-managed-bot-factory==0.2.3 bot-factory install-hermes

The local installer first verifies systemd --user and enables verified user lingering so the worker survives SSH logout, then securely prompts once for the manager credential, enrolls the owner, installs and verifies the persistent user service and a fresh worker heartbeat, registers the nine-tool stdio server with Hermes, and verifies discovery. It creates no child bot.

Terminal-only first run

Run the install command from an interactive SSH or console terminal on the same Linux host that will run the worker. It performs the complete setup in that terminal:

  1. install the exact Factory version as a persistent uv tool (the worker unit never points at an evictable uvx cache);
  2. verify systemd --user and enable verified user lingering before requesting any credential;
  3. accept the manager token only through hidden terminal input;
  4. enroll the owner, install the service, require it to be active, and observe a fresh worker heartbeat;
  5. register and verify the nine-tool stdio server with Hermes; any Hermes confirmation stays visible in this terminal.

There is no GUI launcher and no unconfigured MCP bootstrap tool. Until this command completes, Factory MCP deliberately refuses to start. The token must never be pasted into Hermes chat, an MCP argument, a shell command, or an environment variable.

How it works

text
You → Hermes → Factory MCP ──durable request──▶ persistent worker                  ▲                                │                  │ safe status                    │ Bot API                  │                                ▼                  └──── Telegram confirmation ◀─ manager bot                                                   │ child credential                                                   ▼                                         isolated child runtime

Hermes and MCP are the non-secret control plane. The persistent worker alone polls the manager bot and retrieves credentials. Each child receives only its own credential and uses instance-local state.

Useful profiles

The same four built-in profiles are exposed as a strict Hermes function catalog. After Telegram confirms and provisions a child, use factory_list_functions, then factory_attach_function with the existing child slug and confirm=true. Repeating the same attach is a no-op; rebinding keeps the bot username and Telegram identity. Pause and resume continue to use the existing stop/start tools.

ProfileUse it for
quick_faqA public menu of 3–8 local plain-text answers and contact text.
lead_inboxA privacy-noticed message form with owner notification and confirmed export/purge.
link_inboxOwner-only URLs and notes with /list and /done; URLs are never fetched.

owner_echo is also included as an owner-only isolation and health smoke test. Profiles cannot provide arbitrary code, executables, filesystem paths, HTML, agent tools, or remote fetches.

60–90 second demo

After installation, ask Hermes:

Create a quick FAQ bot named “Studio FAQ” with username studio_faq_bot. Welcome: “Choose a question.” Add pricing, turnaround, and contact FAQs.

Hermes returns the Telegram creation link. Open it, approve once, then open the new child and send /start, /faq 1, and /health. If provisioning is still in progress, ask Hermes for the request status. For the other profiles, submit one test lead and try owner-only /export confirm then /purge confirm, or save a URL in link_inbox, inspect /list, and use /done 1.

Platform and boundaries

  • Supported runtime: Linux with systemd --user; Ubuntu and WSL2 are tested.
  • Supported clients: Hermes 0.18 legacy stdio and tested MCP 2026-07-28 paths.
  • Not supported: Windows/macOS installation, hosted multi-tenancy, arbitrary child code, automatic bot-account deletion, or bypassing Telegram approval.
  • The manager bot is user-owned and separate from the Hermes gateway bot.
  • Every child creation requires Telegram confirmation; this is not “one-click.”
  • The Official MCP Registry listing is metadata, not a security certification.

Security highlights

  • Tokens never enter MCP arguments/results, chat, CLI arguments, YAML, SQLite, manifests, logs, traces, fixtures, or Git.
  • Secret directories are 0700, files are 0600, and child credentials travel through an inherited anonymous file descriptor rather than argv or environment.
  • Child inbound update IDs and offsets are durable. Completed collisions are no-ops; a crash-ambiguous side effect is quarantined for reconciliation, not silently retried. External effects are not claimed to be exactly once.
  • Inputs are bounded and validated; profiles cannot execute or fetch supplied content.

See the security policy and architecture for the full boundary model.

Documentation and source

Troubleshooting and removal

Check the worker and Hermes registration without sharing unreviewed journal output:

bash
systemctl --user status bot-factory-manager.servicehermes mcp test bot-factory

On WSL2, PID 1 must be systemd, and the distribution must remain running. Uninstalling the service/package does not delete Factory data or revoke Telegram bots; review local XDG bot-factory directories and BotFather controls separately.

來源:README.md,提交 237d5f0

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分