From e3eacc77d751a1932dd8f678a055e911cc5a66c4 Mon Sep 17 00:00:00 2001 From: zhayujie Date: Thu, 28 May 2026 15:07:09 +0800 Subject: [PATCH] feat(channel): support telegram bot --- README.md | 3 +- channel/telegram/telegram_channel.py | 9 +++ channel/web/web_channel.py | 1 - docs/channels/telegram.mdx | 31 ++++---- docs/docs.json | 6 +- docs/en/channels/index.mdx | 2 + docs/en/channels/telegram.mdx | 111 +++++++++++++++++++++++++++ docs/ja/README.md | 3 +- docs/ja/channels/index.mdx | 2 + docs/ja/channels/telegram.mdx | 111 +++++++++++++++++++++++++++ docs/zh/README.md | 5 +- 11 files changed, 261 insertions(+), 23 deletions(-) create mode 100644 docs/en/channels/telegram.mdx create mode 100644 docs/ja/channels/telegram.mdx diff --git a/README.md b/README.md index 8b9e044e..70b2707f 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ CowAgent is lightweight, easy to deploy, and built to extend. Plug in any major | [Knowledge](https://docs.cowagent.ai/en/knowledge/index) | Auto-curates structured knowledge into a Markdown wiki, builds an evolving knowledge graph with visual browsing | | [Skills](https://docs.cowagent.ai/en/skills/index) | One-click install from [Skill Hub](https://skills.cowagent.ai/), GitHub, ClawHub; or create custom skills via natural-language conversation | | [Tools](https://docs.cowagent.ai/en/tools/index) | Built-in file I/O, terminal, browser, scheduler, memory retrieval, web search, and 10+ more tools — with native MCP integration | -| [Channels](https://docs.cowagent.ai/en/channels/index) | Integrates with Web, WeChat, Feishu, DingTalk, WeCom, QQ, and Official Accounts | +| [Channels](https://docs.cowagent.ai/en/channels/index) | Integrates with Web, WeChat, Feishu, DingTalk, WeCom, QQ, Official Accounts, and Telegram | | Multimodal | First-class support for text, images, voice, and files — recognition, generation, and delivery | | [Models](https://docs.cowagent.ai/en/models/index) | Claude, GPT, Gemini, DeepSeek, Qwen, GLM, Kimi, MiniMax, Doubao, and more — swap providers from the Web console with one click | | [Deploy](https://docs.cowagent.ai/en/guide/quick-start) | One-line installer, unified Web console, multiple deployment modes (local, Docker, server) | @@ -126,6 +126,7 @@ A single Agent instance can serve multiple channels in parallel. Most channels c | [QQ](https://docs.cowagent.ai/en/channels/qq) | ✅ | ✅ | ✅ | | ✅ | | [WeCom App](https://docs.cowagent.ai/en/channels/wecom) | ✅ | ✅ | ✅ | ✅ | | | [WeChat Official Account](https://docs.cowagent.ai/en/channels/wechatmp) | ✅ | ✅ | | ✅ | | +| [Telegram](https://docs.cowagent.ai/en/channels/telegram) | ✅ | ✅ | ✅ | ✅ | ✅ | > See the [Channels overview](https://docs.cowagent.ai/en/channels/index) for setup details. diff --git a/channel/telegram/telegram_channel.py b/channel/telegram/telegram_channel.py index 37e9d9fa..b3b46589 100644 --- a/channel/telegram/telegram_channel.py +++ b/channel/telegram/telegram_channel.py @@ -246,8 +246,17 @@ class TelegramChannel(ChatChannel): is_group = chat.type in ("group", "supergroup") + # Debug log: helpful when group messages are silently dropped + if is_group: + logger.debug( + f"[Telegram] group update received: chat_id={chat.id}, " + f"text={(message.text or message.caption or '')[:40]!r}, " + f"reply_to_bot={bool(message.reply_to_message and message.reply_to_message.from_user and message.reply_to_message.from_user.username == self.bot_username)}" + ) + # Group trigger gate (silently drop if not triggered) if is_group and not self._should_reply_in_group(update): + logger.debug(f"[Telegram] group message not triggered (need @{self.bot_username} or reply), skip") return # Parse message type + download media if needed. diff --git a/channel/web/web_channel.py b/channel/web/web_channel.py index 04bd70a2..57891855 100644 --- a/channel/web/web_channel.py +++ b/channel/web/web_channel.py @@ -2915,7 +2915,6 @@ class ChannelsHandler: "color": "sky", "fields": [ {"key": "telegram_token", "label": "Bot Token", "type": "secret"}, - {"key": "telegram_proxy", "label": "Proxy (optional)", "type": "text"}, ], }), ]) diff --git a/docs/channels/telegram.mdx b/docs/channels/telegram.mdx index a05240a9..d7ab7a44 100644 --- a/docs/channels/telegram.mdx +++ b/docs/channels/telegram.mdx @@ -20,21 +20,25 @@ description: 将 CowAgent 接入 Telegram Bot 这个 Token 等同于 Bot 的密码,请勿泄露。如果意外泄漏可向 `@BotFather` 发送 `/revoke` 重置。 -### 步骤二:(可选)配置群聊权限 +### 步骤二:(群聊使用)关闭 Privacy Mode -Telegram Bot 默认开启 **Privacy Mode**,在群聊中只能收到 `@bot` 或 `/command` 消息。这正好是 CowAgent 期望的行为,**无需修改**。 +仅使用单聊可跳过此步。Telegram Bot 默认开启 **Privacy Mode**,群聊中只能收到带 `@bot` 的命令(如 `/start@your_bot`)以及对 bot 消息的 reply;**普通的 `@bot 你好` 文字消息收不到**,会导致群聊无响应。 -如果你希望机器人接收群里所有消息(不推荐,会触发频次飙升),向 `@BotFather` 发送 `/setprivacy` → 选择对应 bot → `Disable`。 +向 `@BotFather` 发送: + +1. `/setprivacy` +2. 选择刚才创建的 bot +3. 选择 `Disable` + + + 若设置后群聊仍无响应,可尝试把 Bot 从群里移除并重新拉入。 + ### 步骤三:接入 CowAgent - 打开 Web 控制台(本地链接:http://127.0.0.1:9899 ),选择 **通道** 菜单,点击 **接入通道**,选择 **Telegram**,填入 Bot Token(必要时填写代理),点击接入即可。 - - - 若运行环境无法直接访问 `api.telegram.org`,需在「Proxy」字段填写代理地址,例如 `http://127.0.0.1:7890` 或 `socks5://127.0.0.1:1080`。 - + 打开 Web 控制台(本地链接:http://127.0.0.1:9899 ),选择 **通道** 菜单,点击 **接入通道**,选择 **Telegram**,填入 Bot Token,点击接入即可。 在 `config.json` 中添加以下配置后启动: @@ -43,7 +47,6 @@ Telegram Bot 默认开启 **Privacy Mode**,在群聊中只能收到 `@bot` 或 { "channel_type": "telegram", "telegram_token": "123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ", - "telegram_proxy": "", "telegram_group_trigger": "mention_or_reply" } ``` @@ -51,13 +54,9 @@ Telegram Bot 默认开启 **Privacy Mode**,在群聊中只能收到 `@bot` 或 | 参数 | 说明 | 默认值 | | --- | --- | --- | | `telegram_token` | BotFather 返回的 HTTP API Token | - | - | `telegram_proxy` | 代理地址(如 `http://127.0.0.1:7890` 或 `socks5://127.0.0.1:1080`),留空则走系统环境变量 `HTTPS_PROXY` | `""` | | `telegram_group_trigger` | 群聊触发方式:`mention_or_reply`(@或回复机器人)/ `mention_only`(仅@) / `all`(所有消息) | `mention_or_reply` | | `telegram_register_commands` | 启动时是否自动向 BotFather 注册命令菜单 | `true` | - - - 若运行环境无法直接访问 `api.telegram.org`,需配置 `telegram_proxy`,或为运行进程设置 `HTTPS_PROXY` 环境变量。 - + | `telegram_proxy` | (可选)代理地址,如 `http://127.0.0.1:7890`、`socks5://127.0.0.1:1080`;运行环境无法直连 `api.telegram.org` 时配置,留空则使用环境变量 `HTTPS_PROXY` | `""` | @@ -108,6 +107,6 @@ Telegram Bot 默认开启 **Privacy Mode**,在群聊中只能收到 `@bot` 或 完成接入后: - **单聊**:在 Telegram 中搜索你创建的 Bot 用户名(如 `@my_cowagent_bot`),点击 `Start` 即可开始对话。 -- **群聊**:把 Bot 拉进群,使用 `@bot 你好` 或 **回复 Bot 的某条消息** 触发对话。 +- **群聊**:把 Bot 拉进群,使用 `@bot 你好` 或 **回复 Bot 的某条消息** 触发对话。若群聊无响应,请检查 Privacy Mode 是否已按 [步骤二](#步骤二-群聊使用-关闭-privacy-mode) 关闭。 -直接发送图片、语音、文件给 Bot,机器人会自动识图、转写或解析内容。也可以先发图再发问题,两条消息会自动合并提问。 +发送图片或文件时,可以直接在附件上方的输入框中 **添加 Caption**(描述/问题)一并发送,机器人会结合附件回答。也支持先发附件再发问题,两条消息会自动合并提问。 diff --git a/docs/docs.json b/docs/docs.json index 4568beff..93c3aa37 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -400,7 +400,8 @@ "en/channels/wecom-bot", "en/channels/qq", "en/channels/wecom", - "en/channels/wechatmp" + "en/channels/wechatmp", + "en/channels/telegram" ] } ] @@ -603,7 +604,8 @@ "ja/channels/wecom-bot", "ja/channels/qq", "ja/channels/wecom", - "ja/channels/wechatmp" + "ja/channels/wechatmp", + "ja/channels/telegram" ] } ] diff --git a/docs/en/channels/index.mdx b/docs/en/channels/index.mdx index 41fc3230..3533b0d3 100644 --- a/docs/en/channels/index.mdx +++ b/docs/en/channels/index.mdx @@ -19,6 +19,7 @@ The table below summarizes the inbound message types, bot reply types, and group | [QQ](/en/channels/qq) | ✅ | ✅ | ✅ | | ✅ | | [WeCom App](/en/channels/wecom) | ✅ | ✅ | ✅ | ✅ | | | [Official Account](/en/channels/wechatmp) | ✅ | ✅ | | ✅ | | +| [Telegram](/en/channels/telegram) | ✅ | ✅ | ✅ | ✅ | ✅ | - The **Image / File / Voice** columns indicate that the channel can send and receive the corresponding message types; see each channel's docs for details - The **Group Chat** column indicates the ability to recognize and respond to group messages @@ -37,3 +38,4 @@ The table below summarizes the inbound message types, bot reply types, and group - [QQ](/en/channels/qq) — QQ Official Bot open platform - [WeCom App](/en/channels/wecom) — WeCom custom app integration - [Official Account](/en/channels/wechatmp) — WeChat Official Account (subscription / service) +- [Telegram](/en/channels/telegram) — global IM, 5-minute setup, no public IP needed diff --git a/docs/en/channels/telegram.mdx b/docs/en/channels/telegram.mdx new file mode 100644 index 00000000..f90da992 --- /dev/null +++ b/docs/en/channels/telegram.mdx @@ -0,0 +1,111 @@ +--- +title: Telegram +description: Integrate CowAgent with Telegram via the Bot API +--- + +> Integrate CowAgent into Telegram via the official Bot API. Supports private chat and group chat (triggered by @mention or replying to the bot). Uses Long Polling — no public IP required, works out of the box. + + +## 1. Setup + +### Step 1: Create a Bot via BotFather + +1. Open the official account [@BotFather](https://t.me/BotFather) in Telegram. +2. Send `/newbot` and follow the prompts: + - **Bot name** (display name, e.g. `My CowAgent Bot`) + - **Bot username** (must end with `bot`, e.g. `my_cowagent_bot`) +3. Once created, BotFather returns an **HTTP API Token** (e.g. `123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ`). Keep it safe. + + + The token is the password of your bot — never share it. If it leaks, send `/revoke` to `@BotFather` to reset it. + + +### Step 2: (Group chat only) Disable Privacy Mode + +Skip this step if you only use private chat. Telegram bots run in **Privacy Mode** by default — in groups they can only see commands suffixed with `@bot` (e.g. `/start@your_bot`) and replies to bot messages; **plain `@bot hello` text messages are not delivered**, so the bot will appear unresponsive in groups. + +Send the following to `@BotFather`: + +1. `/setprivacy` +2. Pick the bot you just created +3. Choose `Disable` + + + If the bot is still silent in groups after this, try removing it from the group and adding it back. + + +### Step 3: Connect to CowAgent + + + + Open the Web Console (default `http://127.0.0.1:9899`), go to **Channels**, click **Add Channel**, choose **Telegram**, paste the Bot Token, and click connect. + + + Add the following to `config.json` and start Cow: + + ```json + { + "channel_type": "telegram", + "telegram_token": "123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ", + "telegram_group_trigger": "mention_or_reply" + } + ``` + + | Key | Description | Default | + | --- | --- | --- | + | `telegram_token` | HTTP API Token returned by BotFather | - | + | `telegram_group_trigger` | Group trigger: `mention_or_reply` (@ or reply) / `mention_only` (@ only) / `all` (all messages) | `mention_or_reply` | + | `telegram_register_commands` | Whether to register the command menu with BotFather on startup | `true` | + + + +The integration is ready when you see logs like: + +``` +[Telegram] Bot logged in as @my_cowagent_bot (id=123456789) +[Telegram] Registered 10 bot commands +[Telegram] ✅ Telegram bot ready, polling for updates +``` + +## 2. Capabilities + +| Feature | Support | +| --- | --- | +| Private chat | ✅ | +| Group chat (@bot / reply to bot) | ✅ | +| Text messages | ✅ send / receive | +| Image messages | ✅ send / receive | +| Voice messages | ✅ send / receive (OGG/Opus) | +| Video messages | ✅ send / receive | +| File messages | ✅ send / receive (PDF / Word / Excel, etc.) | +| Command menu | ✅ aligned with Web Console slash commands | + +### Command Menu + +On startup, the channel registers a command menu with BotFather. Typing `/` in Telegram shows a dropdown: + +| Command | Description | +| --- | --- | +| `/help` | Show command help | +| `/status` | View runtime status | +| `/context` | View conversation context (`/context clear` to clear) | +| `/skill` | Skill management (`/skill list`, `/skill install`, ...) | +| `/memory` | Memory management (`/memory dream`) | +| `/knowledge` | Knowledge base (`/knowledge list` / `on` / `off`) | +| `/config` | View current config | +| `/cancel` | Cancel the running Agent task | +| `/logs` | View recent logs | +| `/version` | Show version | + + + Telegram's command menu only displays top-level commands; subcommands are entered with a space, e.g. `/skill list`, `/context clear`. + + +## 3. Usage + +Once connected: + +- **Private chat**: search for your bot username (e.g. `@my_cowagent_bot`) in Telegram, click `Start` and chat away. +- **Group chat**: add the bot to a group, then trigger it with `@bot hello` or by **replying to one of the bot's messages**. If the bot doesn't respond in groups, double-check Privacy Mode in [Step 2](#step-2-group-chat-only-disable-privacy-mode). + +When sending an image or file, you can **add a caption** (description / question) directly in the attachment input — the bot will answer based on both. Sending an attachment first and then a follow-up question also works; the two messages are merged automatically. diff --git a/docs/ja/README.md b/docs/ja/README.md index df71ec74..69beb6ba 100644 --- a/docs/ja/README.md +++ b/docs/ja/README.md @@ -30,7 +30,7 @@ CowAgent は軽量でデプロイしやすく、拡張性に優れています | [ナレッジベース](https://docs.cowagent.ai/ja/knowledge/index) | 構造化された知識を Markdown Wiki として自動整理し、進化し続けるナレッジグラフを可視化ブラウジング | | [Skill](https://docs.cowagent.ai/ja/skills/index) | [Skill Hub](https://skills.cowagent.ai/)、GitHub、ClawHub からワンクリックでインストール;対話によるカスタム Skill 作成にも対応 | | [ツール](https://docs.cowagent.ai/ja/tools/index) | ファイル I/O、ターミナル、ブラウザ、スケジューラ、記憶検索、Web 検索など 10+ の組み込みツール — MCP プロトコルに完全対応 | -| [チャネル](https://docs.cowagent.ai/ja/channels/index) | 一つの Agent で Web、WeChat、Feishu、DingTalk、WeCom、QQ、公式アカウントを同時にサポート | +| [チャネル](https://docs.cowagent.ai/ja/channels/index) | 一つの Agent で Web、WeChat、Feishu、DingTalk、WeCom、QQ、公式アカウント、Telegram を同時にサポート | | マルチモーダル | テキスト・画像・音声・ファイルをフルサポート — 認識・生成・双方向送受信 | | [モデル](https://docs.cowagent.ai/ja/models/index) | Claude、GPT、Gemini、DeepSeek、GLM、Qwen、Kimi、MiniMax、Doubao など、設定 1 行で切り替え可能 | | [デプロイ](https://docs.cowagent.ai/ja/guide/quick-start) | ワンラインインストーラー、統合された Web コンソール、複数のデプロイモード(ローカル / Docker / サーバー) | @@ -126,6 +126,7 @@ CowAgent は主要な LLM プロバイダーすべてに対応しています。 | [QQ](https://docs.cowagent.ai/ja/channels/qq) | ✅ | ✅ | ✅ | | ✅ | | [WeCom App](https://docs.cowagent.ai/ja/channels/wecom) | ✅ | ✅ | ✅ | ✅ | | | [WeChat 公式アカウント](https://docs.cowagent.ai/ja/channels/wechatmp) | ✅ | ✅ | | ✅ | | +| [Telegram](https://docs.cowagent.ai/ja/channels/telegram) | ✅ | ✅ | ✅ | ✅ | ✅ | > Feishu と WeCom Bot は **Web コンソール内で QR コードをスキャンするだけで接続**できます — パブリック IP は不要です。詳細は [チャネル概要](https://docs.cowagent.ai/ja/channels/index) を参照してください。 diff --git a/docs/ja/channels/index.mdx b/docs/ja/channels/index.mdx index 93774e73..ac6a5acf 100644 --- a/docs/ja/channels/index.mdx +++ b/docs/ja/channels/index.mdx @@ -19,6 +19,7 @@ CowAgent は複数のチャットチャネルへの接続に対応しており | [QQ](/ja/channels/qq) | ✅ | ✅ | ✅ | | ✅ | | [WeCom アプリ](/ja/channels/wecom) | ✅ | ✅ | ✅ | ✅ | | | [WeChat 公式アカウント](/ja/channels/wechatmp) | ✅ | ✅ | | ✅ | | +| [Telegram](/ja/channels/telegram) | ✅ | ✅ | ✅ | ✅ | ✅ | - **画像 / ファイル / 音声**列は対応するメッセージタイプの送受信に対応していることを示します。詳細は各チャネルのドキュメントを参照してください - **グループチャット**列はグループメッセージを認識して応答できることを示します @@ -37,3 +38,4 @@ CowAgent は複数のチャットチャネルへの接続に対応しており - [QQ](/ja/channels/qq) — QQ 公式ボットオープンプラットフォーム - [WeCom アプリ](/ja/channels/wecom) — WeCom 自作アプリ接続 - [WeChat 公式アカウント](/ja/channels/wechatmp) — WeChat 公式アカウント(購読アカウント / サービスアカウント) +- [Telegram](/ja/channels/telegram) — グローバル IM、5 分で接続、公開 IP 不要 diff --git a/docs/ja/channels/telegram.mdx b/docs/ja/channels/telegram.mdx new file mode 100644 index 00000000..eab1d3b0 --- /dev/null +++ b/docs/ja/channels/telegram.mdx @@ -0,0 +1,111 @@ +--- +title: Telegram +description: Telegram Bot API 経由で CowAgent を接続 +--- + +> 公式の Telegram Bot API を通じて CowAgent を接続します。1 対 1 チャットおよびグループチャット(@メンションまたはボットへの返信で起動)に対応。Long Polling 方式のため公開 IP は不要で、すぐに利用できます。 + + +## 1. 接続手順 + +### ステップ 1: BotFather で Bot を作成 + +1. Telegram で公式アカウント [@BotFather](https://t.me/BotFather) を開きます。 +2. `/newbot` を送り、案内に従って入力します: + - **Bot 名**(表示名、例: `My CowAgent Bot`) + - **Bot ユーザー名**(`bot` で終わる必要があります、例: `my_cowagent_bot`) +3. 作成完了後、BotFather から **HTTP API Token**(例: `123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ`)が返されます。大切に保管してください。 + + + Token は Bot のパスワードに相当します。漏えいしないよう注意してください。万が一漏れた場合は `@BotFather` に `/revoke` を送って再発行できます。 + + +### ステップ 2:(グループ利用時)Privacy Mode を無効化 + +1 対 1 チャットのみ利用する場合はスキップ可能です。Telegram Bot は既定で **Privacy Mode** が有効で、グループ内では `@bot` 接尾辞付きのコマンド(例: `/start@your_bot`)と、Bot メッセージへの返信のみ受信できます。**通常の `@bot こんにちは` のようなテキストメッセージは届きません**。そのままだとグループで反応しないので、必要に応じて以下を設定してください。 + +`@BotFather` に対して: + +1. `/setprivacy` を送信 +2. 作成した Bot を選択 +3. `Disable` を選択 + + + 設定後もグループで反応しない場合は、Bot を一度グループから外して再度追加してみてください。 + + +### ステップ 3: CowAgent に接続 + + + + Web コンソール(既定 `http://127.0.0.1:9899`)を開き、**チャネル** メニュー → **チャネルを追加** → **Telegram** を選択し、Bot Token を貼り付けて接続をクリックします。 + + + `config.json` に以下を追加して Cow を起動します: + + ```json + { + "channel_type": "telegram", + "telegram_token": "123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ", + "telegram_group_trigger": "mention_or_reply" + } + ``` + + | パラメータ | 説明 | 既定値 | + | --- | --- | --- | + | `telegram_token` | BotFather から発行された HTTP API Token | - | + | `telegram_group_trigger` | グループのトリガー方式: `mention_or_reply`(@ または返信)/ `mention_only`(@ のみ)/ `all`(全メッセージ) | `mention_or_reply` | + | `telegram_register_commands` | 起動時に BotFather にコマンドメニューを登録するかどうか | `true` | + + + +ログに以下のような出力が表示されれば接続成功です: + +``` +[Telegram] Bot logged in as @my_cowagent_bot (id=123456789) +[Telegram] Registered 10 bot commands +[Telegram] ✅ Telegram bot ready, polling for updates +``` + +## 2. 機能 + +| 機能 | 対応状況 | +| --- | --- | +| 1 対 1 チャット | ✅ | +| グループチャット(@bot / Bot への返信) | ✅ | +| テキストメッセージ | ✅ 送受信 | +| 画像メッセージ | ✅ 送受信 | +| 音声メッセージ | ✅ 送受信(OGG/Opus) | +| 動画メッセージ | ✅ 送受信 | +| ファイルメッセージ | ✅ 送受信(PDF / Word / Excel など) | +| コマンドメニュー | ✅ Web コンソールの slash コマンドと一致 | + +### コマンドメニュー + +起動時に BotFather へコマンドメニューを自動登録します。Telegram の入力欄で `/` を入力するとサジェストが表示されます: + +| コマンド | 説明 | +| --- | --- | +| `/help` | コマンドヘルプを表示 | +| `/status` | 実行ステータスを確認 | +| `/context` | 対話コンテキストを表示(`/context clear` でクリア) | +| `/skill` | スキル管理(`/skill list`、`/skill install` など) | +| `/memory` | 記憶管理(`/memory dream`) | +| `/knowledge` | ナレッジベース管理(`/knowledge list` / `on` / `off`) | +| `/config` | 現在の設定を表示 | +| `/cancel` | 実行中の Agent タスクを中断 | +| `/logs` | 最近のログを表示 | +| `/version` | バージョンを表示 | + + + Telegram のコマンドメニューはトップレベルのコマンドのみ表示されます。サブコマンドはスペース区切りで入力します(例: `/skill list`、`/context clear`)。 + + +## 3. 使い方 + +接続が完了したら: + +- **1 対 1 チャット**: Telegram で Bot のユーザー名(例: `@my_cowagent_bot`)を検索し、`Start` をタップして会話を開始します。 +- **グループチャット**: Bot をグループに追加し、`@bot こんにちは` または **Bot のメッセージに返信** することで起動します。グループで反応しない場合は [ステップ 2](#ステップ-2-グループ利用時-privacy-mode-を無効化) の Privacy Mode 設定を確認してください。 + +画像やファイルを送るときは、添付欄の上の入力欄に **キャプション**(説明・質問)を直接書いて一緒に送信できます。Bot は添付ファイルとキャプションを合わせて回答します。先に添付を送り、その後に質問を送る形でも、2 つのメッセージは自動でまとめて処理されます。 diff --git a/docs/zh/README.md b/docs/zh/README.md index 095e9194..79bcb769 100644 --- a/docs/zh/README.md +++ b/docs/zh/README.md @@ -9,7 +9,7 @@ **CowAgent** 是一个开源的超级 AI 助理,能够主动思考和规划任务、操作计算机和外部资源、创造和执行 Skills、构建知识库与长期记忆,与你一同成长,是 Agent Harness 工程的最佳实践之一。 -CowAgent 轻量、易部署、可扩展,自由接入主流大模型,覆盖微信、飞书、钉钉、企微、QQ、网页等多渠道,7×24 运行于个人电脑或服务器中。 +CowAgent 轻量、易部署、可扩展,自由接入主流大模型,覆盖微信、飞书、钉钉、企微、QQ、Telegram、网页等多渠道,7×24 运行于个人电脑或服务器中。

🌐 官网  ·  @@ -30,7 +30,7 @@ CowAgent 轻量、易部署、可扩展,自由接入主流大模型,覆盖 | [知识库](https://docs.cowagent.ai/knowledge) | 自动整理结构化知识为 Markdown Wiki,构建持续增长的知识图谱,可视化浏览 | | [技能](https://docs.cowagent.ai/skills) | 从 [Skill Hub](https://skills.cowagent.ai/)、GitHub、ClawHub 等一键安装;也可通过对话创造自定义技能 | | [工具](https://docs.cowagent.ai/tools) | 内置文件读写、终端、浏览器、定时任务、记忆检索、联网搜索等 10+ 工具,支持 MCP 协议 | -| [通道](https://docs.cowagent.ai/channels) | 一个 Agent 同时接入 Web、微信、飞书、钉钉、企微、QQ、公众号 等多个渠道 | +| [通道](https://docs.cowagent.ai/channels) | 一个 Agent 同时接入 Web、微信、飞书、钉钉、企微、QQ、公众号、Telegram 等多个渠道 | | 多模态 | 文本、图片、语音、文件全消息类型支持,覆盖识别、生成、收发 | | [模型](https://docs.cowagent.ai/models) | DeepSeek、Claude、Gemini、GPT、GLM、Qwen、Kimi、MiniMax、Doubao 等主流厂商,配置一行切换 | | [部署](https://docs.cowagent.ai/guide/quick-start) | 一键脚本安装,Web 控制台统一管理;本地、Docker、服务器多种部署方式 | @@ -126,6 +126,7 @@ CowAgent 支持国内外主流厂商的大语言模型。**文本对话、图像 | [QQ](https://docs.cowagent.ai/channels/qq) | ✅ | ✅ | ✅ | | ✅ | | [企业微信应用](https://docs.cowagent.ai/channels/wecom) | ✅ | ✅ | ✅ | ✅ | | | [微信公众号](https://docs.cowagent.ai/channels/wechatmp) | ✅ | ✅ | | ✅ | | +| [Telegram](https://docs.cowagent.ai/channels/telegram) | ✅ | ✅ | ✅ | ✅ | ✅ | > 飞书、企微智能机器人支持在 Web 控制台内**扫码一键接入**,无需公网 IP。详见 [通道概览](https://docs.cowagent.ai/channels)。