基于MCP协议与Telegram Bot实现AI助手异步通知与审批工作流
1. 项目概述为你的AI助手装上“千里眼”和“顺风耳”如果你和我一样日常工作中重度依赖Claude、Cursor这类AI助手来写代码、处理文档那你肯定遇到过这样的场景你给AI布置了一个需要运行几分钟甚至更长时间的任务比如让它分析一个大型代码库、生成一份复杂的报告或者执行一个多步骤的自动化脚本。然后呢你就只能干等着时不时切回对话窗口看一眼心里嘀咕着“它到底跑完了没卡在哪一步了有没有遇到什么错误” 这种感觉就像把任务交给了一个在黑箱里工作的伙伴过程完全不可见结果也只能被动等待。更让人头疼的是当AI助手需要执行一些有风险的操作时比如删除文件、调用付费API、或者修改关键配置。你肯定不敢让它“先斩后奏”但每次都要守在屏幕前等它弹出“是否确认”的提示又极大地打断了你的工作流。你需要的是一种异步的、不打扰的、但又绝对可控的交互方式。今天要聊的这个项目——Telegram Assistant MCP就是为解决这些痛点而生的。它本质上是一个遵循MCPModel Context Protocol协议的服务器。MCP你可以理解为一个标准化的“插件接口”它让AI助手如Claude Desktop、Cursor、VS Code with MCP扩展能够安全、规范地调用外部工具和服务。而这个特定的MCP服务器就是专门用来把你的AI助手和Telegram这个几乎人人都在用的即时通讯软件连接起来。通过它你的AI助手获得了“说话”和“聆听”的能力。它可以把任务进度、成功通知、错误警报直接推送到你的Telegram手机上更重要的是当它需要你拍板做决策时会通过Telegram给你发送一个带有“批准”、“拒绝”、“建议其他方案”三个按钮的消息。你无需打开电脑在手机上点一下AI就能收到指令继续工作。这彻底改变了人机协作的模式从“同步等待”变成了“异步协同”让你对AI的工作拥有实时的可见性和最终的控制权。无论你是开发者、运维人员、内容创作者还是任何希望将AI深度融入工作流并保持掌控感的人这个工具都值得你花十分钟了解一下。2. 核心原理与架构设计拆解在深入配置细节之前我们有必要先搞清楚这个项目是如何工作的。理解其背后的设计逻辑不仅能帮你更好地使用它还能在出现问题时快速定位。整个系统的核心可以拆解为三个部分MCP协议层、Telegram通信层和业务逻辑与状态管理层。2.1 MCP协议层AI助手的“标准电源插座”MCP即模型上下文协议是由AnthropicClaude的创造者牵头推动的一个开放标准。你可以把它想象成电子设备的“USB-C接口”或者“标准电源插座”。在没有MCP之前每个AI助手Claude、Cursor等想要连接外部工具如读取文件、查询数据库、调用API都需要各自定义一套私有、不兼容的集成方式开发者和用户都苦不堪言。MCP的出现定义了一套统一的“插头”和“插座”规范。MCP服务器如本项目就是那个提供了标准“插座”工具能力的设备而AI助手客户端Claude Desktop、支持MCP的编辑器则是那个带有标准“插头”的设备。只要双方都遵循MCP协议就能即插即用。在这个项目中mcp_telegram_tool.py这个文件就是MCP服务器的入口。它向AI助手声明“我这里提供了四个工具Toolsnotify_progress通知进度、request_approval请求批准、send_notification发送通知、check_approval_status检查批准状态”。当AI助手在对话中认为需要调用这些工具时比如根据你的提示词它会通过MCP协议向这个服务器发送一个结构化的请求。服务器执行相应的操作如发送Telegram消息再将结果通过协议返回给AI助手。这一切对用户是透明的你只需要在配置文件中写好“插座”的位置即服务器启动命令AI助手就能自动发现并使用这些工具。2.2 Telegram通信层稳定可靠的消息通道为什么选择Telegram作为通信媒介而不是微信、Slack或者邮件这背后有非常实际的考量跨平台与即时性Telegram拥有几乎全平台的客户端iOS、Android、Windows、macOS、Web消息推送及时可靠确保你能在任何设备上第一时间收到通知。强大的Bot APITelegram为机器人提供了极其丰富、易用且免费的API。特别是Inline Keyboard内联键盘功能它允许我们在消息中直接嵌入按钮用户点击后回调数据会直接发送给我们的服务器无需用户输入任何文字。这正是实现“一键批准/拒绝”交互的基础。无频限与高可靠性相比一些国内平台严格的API调用频率限制Telegram Bot API对个人使用非常宽松消息送达率也极高。隐私与可控性对话完全发生在你和你的私有Bot之间没有第三方干扰数据自主可控。在本项目中telegram_service.py文件封装了所有与Telegram API交互的细节。它利用python-telegram-bot这个成熟的库处理了Bot的初始化、消息发送、按钮回调监听等一系列复杂操作。当你点击Telegram消息中的按钮时Telegram的服务器会将这次点击事件推送到我们运行的服务端服务端解析出你的选择批准、拒绝或请求自定义指令并更新相应的状态。2.3 业务逻辑与状态管理记忆与决策的核心这是项目中最精妙的部分。试想一个场景AI助手请求批准“删除日志文件”你点击了“建议其他方案”并输入“先压缩备份再删除”。这个“自定义指令”需要被记住并在后续的对话中传递给AI。如果服务重启了这个状态不能丢失。项目通过SQLite数据库(approval_responses.db) 来优雅地解决了状态持久化的问题。当AI调用request_approval工具时服务端会生成一个唯一的request_id。将这次请求的详细信息包括可选的初始自定义指令存入数据库状态标记为pending。向Telegram发送带按钮的消息。启动一个后台线程等待你的响应默认超时30分钟。当你点击按钮后批准/拒绝数据库记录更新为approved或deniedAI助手查询后得到结果。建议其他方案服务端会通过Telegram向你追问具体的指令。你回复后该指令会与request_id关联并存入数据库状态更新为denied_with_custom_instruction。AI助手查询时不仅能知道被拒绝还能拿到你提供的具体替代方案。这种设计保证了即使MCP服务器进程重启未处理的批准请求和已提供的自定义指令都不会丢失实现了有状态的、可靠的异步交互。3. 从零开始五分钟极速部署指南理论部分清楚了我们动手把它跑起来。整个过程其实非常简单跟着步骤走五分钟内你就能收到第一条来自AI的Telegram消息。3.1 第一步创建你的专属Telegram机器人机器人Bot是Telegram官方支持的特殊账号由代码控制可以通过API发送和接收消息。创建它完全免费。打开Telegram在搜索框中找到BotFather。这是Telegram官方管理所有机器人的“机器人之父”。向BotFather发送命令/newbot。它会问你机器人的名字name这个名字会显示在聊天界面。比如我输入My AI Assistant。接着它会让你设置机器人的用户名username必须以bot结尾且全局唯一。例如my_awesome_ai_bot。创建成功后BotFather会返回给你一串重要的HTTP API Token格式类似1234567890:ABCDefGhIJKlmNoPQRsTUVwxyZ。注意这串Token就是你的机器人的“密码”务必妥善保存不要泄露给他人。任何人拿到这个Token都可以控制你的机器人发消息。3.2 第二步获取你的个人Chat IDChat ID是Telegram用来唯一标识一个对话私聊、群组、频道的数字。我们需要知道你的个人聊天ID机器人才能把消息发给你。在Telegram中搜索你刚才创建的机器人的用户名如my_awesome_ai_bot然后点击Start或发送任意一条消息开启对话。打开浏览器访问以下URL请将YOUR_BOT_TOKEN替换成你刚才获得的Tokenhttps://api.telegram.org/botYOUR_BOT_TOKEN/getUpdates例如https://api.telegram.org/bot1234567890:ABCDefGhIJKlmNoPQRsTUVwxyZ/getUpdates你会看到一个JSON格式的响应。在里面寻找chat:{id:这个字段。紧跟其后的那个数字可能是正数也可能是负数就是你的Chat ID。通常与机器人的私聊ID是一个很大的正整数如987654321。实操心得如果页面显示{ok:false,error_code:404,description:Not Found}说明你的Bot Token格式错误或无效。如果返回{ok:true,result:[]}一个空数组那是因为你的机器人还没收到任何消息。确保你已经给机器人发送过一条消息比如“hi”然后刷新浏览器页面即可。3.3 第三步克隆项目与配置环境现在让我们把代码拿到本地并配置好连接信息。# 1. 克隆项目仓库到本地 git clone https://github.com/juanhuttemann/telegram-assistant-mcp.git cd telegram-assistant-mcp # 2. 安装Python依赖包 # 建议先创建一个虚拟环境可选但推荐 # python -m venv venv # source venv/bin/activate # Linux/Mac # venv\Scripts\activate # Windows pip install -r requirements.txt # 3. 配置环境变量 # 复制示例配置文件 cp .env.example .env # 编辑 .env 文件填入你的Token和Chat ID用文本编辑器打开.env文件内容如下TELEGRAM_BOT_TOKEN你的Bot_Token不要带引号 TELEGRAM_CHAT_ID你的Chat_ID纯数字不要带引号请严格按照格式填写Token和Chat ID都不要加任何引号这是最常见的配置错误。3.4 第四步运行测试验证连接项目提供了便捷的测试脚本确保一切就绪。python run_tests.py运行后你会看到一个简单的菜单Select test to run: 1. Basic feature test (quick, automated) 2. Interactive approval test (comprehensive, manual) 3. Run all tests 4. Exit选择1。脚本会自动运行一个快速测试向你的Telegram发送几条不同状态的通知和一个批准请求。立刻查看你的Telegram你应该会陆续收到如下消息“WORKING- Starting comprehensive feature test...”“INFO- Testing low priority notification”以及一个带有✅ Approve、❌ Deny、 Suggest Different Approach三个按钮的批准请求消息。点击任意一个按钮比如“Approve”观察命令行窗口的输出会显示[RESULT] User approved。这证明从消息发送、按钮点击到结果回传的整个链路已经完全打通你的AI通知中心已经准备就绪。4. 与你的AI助手深度集成测试成功只是第一步我们的目标是将这个能力赋予你日常使用的AI工作伙伴。下面我将详细讲解如何在不同平台上进行配置。4.1 通用配置原理无论集成到哪个客户端核心配置逻辑都是一样的在客户端的MCP服务器配置列表中添加一个指向我们mcp_telegram_tool.py脚本的条目。你需要提供三个关键信息command: 解释器这里是python。args: 要执行的脚本路径。env: 传递给脚本的环境变量即TELEGRAM_BOT_TOKEN和TELEGRAM_CHAT_ID。cwd(可选但推荐): 脚本的工作目录确保相对路径依赖正常。4.2 集成Claude DesktopClaude Desktop是Anthropic官方的桌面客户端对MCP的支持最原生。找到配置文件macOS:~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:%APPDATA%\Claude\claude_desktop_config.jsonLinux:~/.config/claude/claude_desktop_config.json编辑配置文件如果文件不存在就创建一个。然后添加mcpServers部分。重要需要先关闭Claude Desktop修改完保存后再重启才能生效。{ mcpServers: { telegram-assistant: { command: python, args: [/绝对路径/telegram-assistant-mcp/mcp_telegram_tool.py], cwd: /绝对路径/telegram-assistant-mcp, env: { TELEGRAM_BOT_TOKEN: 1234567890:ABCdef..., TELEGRAM_CHAT_ID: 987654321 } } } }路径填写注意事项macOS/Linux使用绝对路径如/Users/yourname/Projects/telegram-assistant-mcp/...。Windows路径可以使用正斜杠/或转义的反斜杠\\。例如C:\\Users\\yourname\\Projects\\telegram-assistant-mcp\\mcp_telegram_tool.py。强烈建议使用cwd字段指定工作目录避免脚本内部因相对路径问题找不到模块。验证集成重启Claude Desktop。你可以问Claude“你现在有哪些可用的工具” 或者 “你能通过Telegram给我发个消息吗”。如果配置正确Claude会列出可用的工具并尝试调用。你也可以在Claude的对话中直接使用我们后面会提到的提示词来触发功能。4.3 集成Cursor IDECursor是深度集成AI的代码编辑器其MCP配置方式与Claude Desktop类似。打开Cursor进入Settings(设置)。搜索MCP。在MCP Servers的配置区域添加如下JSON配置。Cursor的配置通常是图形化界面但也支持直接编辑JSON。{ mcpServers: { telegram-assistant: { command: python, args: [/path/to/telegram-assistant-mcp/mcp_telegram_tool.py], cwd: /path/to/telegram-assistant-mcp, env: { TELEGRAM_BOT_TOKEN: your_token, TELEGRAM_CHAT_ID: your_chat_id } } } }保存后Cursor可能需要重启或重新加载工作区。之后当AI在Cursor中分析代码或执行任务时就可以使用Telegram工具了。4.4 集成VS Code通过MCP扩展如果你主要在VS Code中工作可以通过安装MCP扩展来获得类似能力。在VS Code扩展商店搜索并安装“MCP”或“Model Context Protocol”相关的扩展具体扩展名可能随时间变化请搜索确认。在VS Code的设置 (settings.json) 中找到该扩展的配置项添加MCP服务器配置。配置格式与上述两者基本一致。一个更通用的方法是许多这类扩展会读取系统环境变量或指定目录下的配置文件。请查阅你所安装扩展的具体文档。4.5 环境变量配置的替代方案如果你觉得把敏感信息写在JSON配置文件里不安全或者想在多台机器上共享配置可以使用系统环境变量。在配置文件中env字段可以留空或省略脚本会尝试从运行它的系统环境中读取TELEGRAM_BOT_TOKEN和TELEGRAM_CHAT_ID。macOS/Linux在~/.bashrc,~/.zshrc或终端会话中设置。export TELEGRAM_BOT_TOKENyour_token export TELEGRAM_CHAT_IDyour_chat_idWindows在系统属性 - 高级 - 环境变量中设置用户变量。然后在MCP配置中就可以简化为{ mcpServers: { telegram-assistant: { command: python, args: [/path/to/mcp_telegram_tool.py], cwd: /path/to/telegram-assistant-mcp // 移除了 env 字段 } } }5. 实战演练编写高效的AI提示词与工作流工具配置好了如何让AI聪明地使用它关键在于提示词Prompt。你需要明确地告诉AI在什么情况下、以何种方式使用Telegram工具。下面我提供几个经过实战打磨的提示词模板并拆解其设计逻辑。5.1 全功能测试提示词用于验证与演示当你初次集成或者想向他人展示功能时可以使用这个“话痨”式提示词让AI尽可能频繁地使用所有功能。你是一个集成了Telegram通信能力的AI助手用于实时沟通和审批工作流。 【Telegram通信规范】 1. **进度更新**对**每一项**任务都必须使用 notify_progress 工具发送状态更新。包括started开始、in_progress进行中可用于多步骤任务的子步骤、completed成功完成、error出错。 2. **审批前置**在执行**任何**以下操作前**必须**通过Telegram请求用户批准 (request_approval) - 创建、修改、删除任何文件。 - 安装、更新、卸载系统或Python包。 - 发起任何网络API调用特别是可能产生费用或副作用的。 - 更改系统或应用配置。 - 访问外部服务或数据库。 - 任何可能对系统产生影响的行动。 3. **通知发送**对于重要事件、警告、任务完成、状态变更使用 send_notification 工具并根据事件重要性选择合适的优先级 (low, normal, high, urgent)。 4. **审批流程** - 请求批准时必须清晰说明**要做什么**以及**为什么需要批准**。 - 等待用户在Telegram上的响应批准/拒绝/建议其他方案超时时间为30分钟。 - 如果用户通过“建议其他方案”提供了自定义指令你必须严格遵循该指令作为替代方案。 【当前任务全面测试】 请以极高的主动性使用Telegram通信。模拟一个复杂的多步骤任务例如“为我分析当前目录下的项目结构并生成一份依赖报告”在任务的每个阶段都发送进度通知在模拟的敏感操作点如“删除临时文件”、“调用模拟API”请求批准并展示完整的审批工作流包括处理用户自定义指令。目标是自然、流畅地展示Telegram MCP集成的所有功能。设计逻辑这条提示词通过强制性的规则“必须”、“任何”和具体的枚举消除了AI的模糊判断空间使其在测试场景下行为高度可预测能全面触发所有工具调用。5.2 生产环境平衡型提示词推荐日常使用日常工作中我们不需要AI事无巨细地汇报只需要在关键节点介入。这个提示词更注重实用性。请通过Telegram与我保持关键信息同步。 - 当任务执行时间较长预计超过30秒或包含多个步骤时请使用 notify_progress 工具告知我进度。 - 在执行具有潜在风险的操作前请务必通过 request_approval 向我请求批准。这包括但不限于删除文件、部署代码、进行线上数据库操作、调用会产生费用或重要副作用的API。 - 当任务成功完成、遇到需要我关注的错误或警告时请使用 send_notification 通知我。 保持沟通简洁、及时让我既能掌控全局又不会被频繁打扰。设计逻辑这条提示词使用了“当...时”、“包括但不限于”等引导性语言赋予了AI一定的判断力。它强调“关键节点”和“潜在风险”平衡了自动化效率和人工控制的需求更适合融入真实的工作流。5.3 高安全要求提示词用于关键系统在处理敏感数据、生产环境或财务相关操作时安全是第一位。这条提示词采取最保守的策略。【最高安全指令Telegram审批强制要求】 在此对话中你被严格禁止在未获得我通过Telegram的明确批准 (request_approval) 前执行以下任何操作 1. 对文件系统的任何写操作创建、修改、移动、删除文件或目录。 2. 任何系统级别的更改安装软件、修改环境变量、更改服务配置。 3. 发起任何网络请求HTTP/API调用特别是向外部服务发送数据。 4. 执行任何命令行指令如果该指令可能改变系统状态。 5. 任何其他可能产生持久化影响或不可逆后果的行动。 在请求批准时你必须详细描述 - 计划执行的具体命令或操作。 - 该操作的目标和预期结果。 - 如果不执行该操作是否有替代方案 - 你评估的潜在风险是什么 对于所有任务请发送详细的进度更新 (notify_progress)。一旦发生错误或异常立即通过 send_notification 以 urgent 优先级通知我。安全是唯一优先级。设计逻辑这条提示词采用了“严格禁止...前”的绝对化命令并提供了详细的审批请求模板。它旨在构建一个“零信任”的交互环境将AI的权限降到最低任何动作都需人工复核最大程度保障系统安全。5.4 在对话中动态引导除了系统级的提示词你还可以在单次对话中临时给AI下指令。例如“请先通过Telegram请求我的批准然后再开始修改config.yaml文件。”“这个代码重构大概有5个步骤请每完成一步就给我发一个进度通知。”“如果编译失败用高优先级的通知立刻告诉我。”这种灵活性让你可以根据任务的实时情况精细地控制AI的通信行为。6. 深入功能解析与高级用法掌握了基础配置和提示词我们再来深入看看这四个核心工具能玩出什么花样以及背后的一些高级技巧。6.1notify_progress让进度一目了然这个工具不只是发个“进行中”那么简单。它的核心参数是status有四个枚举值对应不同的场景和表情符号状态 (status)表情符号适用场景started任务开始告知用户“活已揽下”。in_progress任务正在执行中可用于多阶段任务的中间状态更新。completed✅任务成功完成给出最终结论。error❌任务执行过程中发生错误需要用户介入。高级用法在长任务中组合使用。例如一个数据备份任务可以这样通知status: started, message: “开始执行数据库备份任务。”status: in_progress, message: “正在导出用户表数据... (1/3)”status: in_progress, message: “正在压缩备份文件... (2/3)”status: in_progress, message: “正在上传至云存储... (3/3)”status: completed, message: “数据库备份任务已完成文件大小2.1GB。”这种颗粒度的更新能让你完全掌握任务的推进情况尤其是在后台运行耗时任务时心里特别有底。6.2send_notification分级告警系统send_notification工具的关键在于priority参数。合理使用优先级可以帮你过滤噪音不错过重要信息。优先级 (priority)含义与使用建议low低优先级。一般性信息如“每日报告已生成”可稍后查看。normal普通优先级。大多数任务完成通知如“代码分析完毕”。high高优先级。需要关注的问题如“检测到潜在安全漏洞”、“API调用接近限额”。urgent紧急优先级。需要立即处理的严重问题如“服务崩溃”、“关键错误导致任务中止”。实操心得在提示词中教会AI判断优先级。例如“如果错误导致主流程中断使用urgent如果是可降级处理的警告使用high如果是成功完成信息使用normal。” 这样当你手机锁屏时看到一条urgent通知你就知道必须立刻处理。6.3request_approval交互式决策的核心这是最具革命性的工具。它不再是简单的“是/否”问答而是提供了一个包含三个选项的决策框架✅ Approve (批准)AI按原计划执行。❌ Deny (拒绝)AI停止当前计划中的操作。 Suggest Different Approach (建议其他方案)这是精髓所在。你点击后机器人会私聊你“Please provide your custom instructions for this request.” 此时你可以输入任何文本例如“不要直接删除先移动到./backup/目录下。” 这个自定义指令会被关联到本次请求ID并持久化存储在SQLite数据库中。工作流详解AI调用request_approval生成一个唯一的request_id状态为pending并向你发送消息。你点击 Suggest Different Approach。AI助手随后调用check_approval_status工具查询该request_id的状态。服务端返回状态denied_with_custom_instruction并附上你提供的文本“不要直接删除先移动到./backup/目录下。”AI收到后会回复你“明白了。用户拒绝了直接删除的方案并建议‘先移动到./backup/目录下’。我将执行这个替代方案。”这个设计的巧妙之处在于它把否决权交给了你但同时又允许你提供建设性的、具体的指导让AI能够继续沿着你期望的方向工作而不是简单地停止。这极大地提升了人机协作的效率和智能程度。6.4check_approval_status状态查询与异步协调这个工具通常由AI在发送审批请求后周期性或在关键节点调用以检查用户的决策。它确保了整个交互是异步且可靠的。你不需要守在AI对话前等待AI也不会无限期阻塞。它可以在后台轮询或者在你做出决策后由下一次对话触发状态检查。7. 故障排除与实战经验分享即使按照指南操作也可能会遇到一些问题。这里我汇总了一些常见的坑和解决方法以及一些从实战中得来的经验。7.1 常见问题速查表问题现象可能原因解决方案运行测试或脚本时提示TELEGRAM_BOT_TOKEN environment variable is required1..env文件不存在或路径错误。2. 环境变量未正确加载。1. 确保在项目根目录运行且.env文件存在且内容正确无引号。2. 尝试在命令行直接设置变量export TELEGRAM_BOT_TOKENxxx(Linux/Mac) 或set TELEGRAM_BOT_TOKENxxx(Windows cmd) 再运行脚本。提示TELEGRAM_CHAT_ID must be a valid integer.env文件中的TELEGRAM_CHAT_ID值可能被加上了引号或者包含非数字字符。检查.env文件确保Chat ID是纯数字例如987654321而不是987654321。收不到Telegram消息1. Bot Token或Chat ID错误。2. 未与Bot发起对话。3. 网络问题。1. 用浏览器访问https://api.telegram.org/botYOUR_TOKEN/getMe验证Token。访问getUpdates验证Chat ID。2. 在Telegram中找到你的Bot发送/start或任意消息。3. 检查服务器是否能正常访问api.telegram.org。Claude/Cursor 中不显示Telegram工具1. MCP配置错误路径、参数。2. 客户端未重启。3. Python依赖未安装或脚本有语法错误。1. 仔细检查JSON配置中的路径、参数格式特别是Windows的路径转义。2.修改MCP配置后必须完全重启AI客户端。3. 在项目目录下手动运行python mcp_telegram_tool.py看是否有导入错误。确保已安装requirements.txt。点击按钮后AI没反应1. MCP服务器进程可能已停止。2. AI未主动查询状态 (check_approval_status)。1. 确保配置的MCP服务器命令能持续运行。通常客户端会管理进程。2. 检查AI的提示词是否包含了在请求批准后去检查状态的逻辑。使用“全功能测试”提示词可以验证。自定义指令不生效AI在收到denied_with_custom_instruction状态后没有正确解析或执行你提供的指令。这取决于AI的理解能力。在自定义指令中尽量表述得清晰、可操作。例如与其说“别那么做”不如说“请改用方案B先执行X再执行Y”。7.2 实战经验与技巧为不同的AI角色配置不同的提示词你可以在Claude Desktop中创建多个配置Profile为每个配置设置不同的系统提示词和MCP服务器。例如一个用于“安全审查”的配置使用“高安全要求提示词”另一个用于“日常编程”的配置使用“生产环境平衡型提示词”。根据任务切换角色非常高效。利用自定义指令进行复杂引导当AI提出的方案你不完全满意但又不想从头解释时“建议其他方案”是神器。例如AI建议用递归删除目录你觉得有风险可以输入“请改用shutil.rmtree并添加ignore_errorsTrue和onerror回调进行更安全的删除。” 这样既否定了原方案又给出了具体的技术指导。数据库文件管理approval_responses.db文件会保存所有历史请求和自定义指令。定期清理或备份这个文件是个好习惯。你也可以用SQLite浏览器打开它查看历史交互记录。超时时间的考量默认的审批超时是30分钟。对于需要你离开电脑处理的长时间任务这个设置很合理。但对于一些快速迭代的编程任务你可能希望响应更快。目前超时时间在代码中硬编码为30分钟如果需要调整可以修改telegram_service.py中request_approval方法相关的超时参数。但请注意改短了可能在你没及时看手机时请求就过期了。多用户场景进阶当前设计是针对单用户的一个Chat ID。如果你想让AI通知到一个小团队理论上可以扩展代码维护一个Chat ID列表或者在请求批准时让团队成员投票。但这需要修改源码实现更复杂的逻辑。这个项目打开了一扇新的大门它让人工智能从封闭的对话窗口走向了开放的、异步的、受控的协作模式。我个人的使用体会是一旦习惯了这种“AI在后台干活我在手机端遥控”的模式就再也回不去了。它尤其适合那些需要长时间运行、多步骤、或涉及敏感操作的任务。最后一个小建议是初期可以给AI一个“宽松”的提示词让它多汇报、多请求观察它的行为模式。等你对它的判断建立起信任后再逐步收紧规则找到那个既安全又高效的平衡点。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2595007.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!