Token导航 LogoToken导航TokenDH.com
Gemini Friend logo
AI代理stdio官方级别未说明来源级核验

Gemini Friend

MCP Server

一个基于AI的安全个人助手机器人,集成于Telegram,提供任务管理、日程安排、新闻摘要、网络爬取、财务管理、健身追踪等多功能自动化服务。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
财务管理日程管理Python

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

hansel-7

提供方

hansel-7

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

🤖 个人助理电报机器人

一个安全的、人工智能驱动的个人助理,生活在你的Telegram中。具有自主代理大脑,具有持久记忆、自适应调度和主动研究能力。由带有MCP集成的Gemini CLI提供支持。

![Python 3.10+](https://www.python.org/downloads/) ![License: MIT](https://opensource.org/licenses/MIT)

✨ 特性

特性描述
🔒 安全仅响应授权用户ID
🤖 AI驱动连接到Gemini CLI以获得智能响应
📷 视觉分析通过Telegram发送的图像
📁 文件访问通过MCP管理指定目录中的文件
🌐 网页浏览通过Playwright MCP控制浏览器(根据要求将截图发送给Telegram)
☁️ 云存储通过MCP访问谷歌云端硬盘
📅 日历和电子邮件谷歌日历和Gmail集成
任务管理带有自动提醒的清单
定时任务通过自然语言或cron表达式动态调度作业
🧠 自主代理目标驱动的大脑,持续积压,自适应调度(30分钟-4小时),两阶段分诊→工作周期和自我改善的即时记忆
📰 新闻文摘每日游戏行业新闻摘要
🕷️ 网络爬虫使用反机器人旁路技术清除任何URL,由 残次品
💰 费用跟踪通过Gmail+手动输入自动检测信用卡交易
🏋️ 运动跟踪器会话式训练记录器——将区域、练习、集合、重复和重量记录到JSON中
🎤 语音消息通过Groq Whisper实现语音转文本功能——适用于所有功能
💡 能力清单机器人自我意识——主动提出相关特征
🔌 模块化自动化易于添加/删除功能

🚀 快速开始

先决条件

  • Python 3.10+
  • Node.js 20+(用于Gemini CLI)
  • Gemini CLI已通过身份验证(npx @google/gemini-cli 并遵循设置)

安装

  1. 安装Python依赖项:
   pip install -r requirements.txt
  1. 安装Node.js依赖项(Gemini CLI):
   npm install
  1. 安装Playwright浏览器(用于网页浏览功能):
   npx playwright install chromium
  1. 运行机器人:
   python src/main.py

配置

  1. 复制示例文件:
   cp .env.example .env
   cp config/gemini_settings.example.json config/gemini_settings.json
  1. 编辑 .env 自定义:

- TELEGRAM_BOT_TOKEN -来自@BotFather的机器人令牌 - ALLOWED_USER_IDS -以逗号分隔的授权Telegram用户ID列表 - GEMINI_TIMEOUT -Gemini CLI响应超时(默认值:300秒)

MCP服务器

编辑 config/gemini_settings.json 要配置MCP服务器,请执行以下操作:

  • 文件系统 -读取/写入所选目录中的文件
  • 剧作家 -控制web浏览器

> 注: 需要 @google/gemini-cli v0.29.5+(包含在 package.json).

注: Gemini CLI内置了Google Workspace(日历、Gmail、云端硬盘)集成,无需额外的MCP服务器。

能力清单

编辑 config/capabilities.json 教机器人了解自己的功能。每种能力都有:

  • 触发器 --何时建议该功能的上下文提示
  • 例子 --AI可以使用的示例建议

这允许机器人主动建议动作(例如。, *“要我为此设置提醒吗?”*)而不是等待明确的命令。

用法

常规命令

  • /start -欢迎留言
  • /help -显示可用命令
  • /status -检查Gemini CLI状态
  • /security -查看安全配置
  • /persona -重新加载角色配置
  • 任何文本-使用Gemini CLI聊天

任务命令

  • /task -添加新任务
  • /task Buy groceries due:tomorrow -添加有截止日期的任务
  • /tasks -列出所有待处理的任务
  • /done -将任务标记为已完成
  • /deltask -删除任务
  • /cleartasks -删除已完成的任务

Cron命令

  • /cron -显示cron帮助
  • /cron list -列出所有计划作业
  • `/cron add ""

` -使用显式cron表达式添加作业

  • /cron delete -删除计划作业
  • /cron pause -暂停作业
  • /cron resume -恢复暂停的作业
  • 自然语言:“每周一上午9点,查看我的交易流程”自动创建工作

新闻命令

  • /news -手动触发每日消化

Web抓取命令

  • /scrape -抓取一页并获取AI摘要
  • /scrape -撕下一页,问一个具体的问题
  • 先尝试快速HTTP,然后退回到防机器人保护网站的隐形浏览器

支出命令

  • /expense -添加人工费用(例如。, /expense 250k coffee)
  • /expense -显示今天的支出
  • /expenses -月度支出汇总
  • /expenses week -每周支出汇总
  • /describe -为自动检测到的交易添加描述
  • /delexpense -删除费用
  • 大华银行的信用卡交易每小时通过Gmail扫描自动检测一次

练习命令

  • /exercise -开始锻炼
  • /next -完成当前练习,开始下一个练习(显示摘要)
  • /finish -结束训练并保存到JSON
  • /workouts -查看最近的锻炼历史记录
  • 在会话期间,短信绕过Gemini,直接发送给锻炼处理程序

上下文命令

  • /context -检查上下文窗口的使用情况
  • /summarize -总结对话历史
  • /clear -清除对话历史记录
  • /clearall -清除历史记录和摘要

自动化

自动化是模块化功能,可以在 config/automations.json:

{
  "tasks": {
    "enabled": true,
    "reminder_check_interval": 60
  },
  "brain": {
    "enabled": true,
    "min_cycle_minutes": 30,
    "max_cycle_minutes": 240,
    "quiet_hours_start": 23.5,
    "quiet_hours_end": 7
  },
  "cron": {
    "enabled": true,
    "check_interval_seconds": 60,
    "quiet_hours_start": 23.5,
    "quiet_hours_end": 7
  },
  "expenses": {
    "enabled": true,
    "scan_interval_minutes": 60,
    "alert_sender_email": "unialerts@uobgroup.com"
  },
  "exercise": {
    "enabled": true,
    "data_file": "workouts.json"
  }
}

可用自动化

  • 任务 -带提醒的任务/清单管理
  • 大脑 -具有持久积压、自适应调度和事件驱动触发器的自主AI代理
  • 定时任务 -动态调度作业(自然语言或cron表达式,通过带MCP的Gemini CLI触发)
  • 新闻 -每日游戏新闻摘要与人工智能摘要
  • 开支 -通过自动Gmail扫描信用卡提醒进行费用跟踪
  • 锻炼 -带有会话记录功能的锻炼/运动跟踪器

自主代理(Brain v3)

大脑自动化是一种自主的目标驱动代理,它:

  • 分阶段 --查看其待办事项列表、用户任务、观察结果和对话历史记录,以决定要处理的内容
  • 工作阶段 --使用MCP工具执行一步研究/分析,保存笔记并报告结果
  • 事件驱动 --用户消息被记录为观察结果,并在下一个周期中进行碰撞
  • 任务级 --从读取待处理任务 /task 并主动帮助完成最后期限
  • 自适应调度 --繁忙时循环30分钟,空闲时循环4小时(可配置)
  • 持久状态 --积压、观察和周期信息保存到 agent_state.json
  • 自我提高记忆力 --Agent将工作周期中的经验教训累积到 agent_learnings.json,注入到未来的提示中。通过Gemini自动合并超过15节课程
  • 安全护栏 --无法修改自己的代码库,只能创建独立脚本

添加新的自动化

  1. 创建文件夹: src/automations/my_feature/
  2. 实现类扩展 BaseAutomation
  3. 添加 config/automations.json
  4. 重新启动bot

🐧 在Ubuntu服务器上部署(无头)

初始设置

# Install dependencies
sudo apt update && sudo apt upgrade -y
sudo apt install -y python3 python3-pip python3-venv git curl

# Install Node.js 20
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

# Install Gemini CLI globally
sudo npm install -g @google/gemini-cli

# Clone and set up the bot
git clone https://github.com/hansel-7/gemini-friend.git personal_assistant
cd personal_assistant
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

# Install Playwright system dependencies
playwright install chromium
playwright install-deps

# Configure environment
cp .env.example .env
nano .env  # Set GEMINI_CLI_COMMAND=gemini, DATA_DIR, etc.

谷歌工作区扩展(无头认证)

在无头服务器上,Google Workspace扩展无法打开OAuth浏览器。使用 无头登录脚本 相反:

# Clone the extension source (includes headless login tool)
cd ~
git clone https://github.com/gemini-cli-extensions/workspace.git workspace-src
cd workspace-src
npm install

# Run headless auth
cd workspace-server
node dist/headless-login.js

这打印了一个 谷歌OAuth URL。在任何浏览器(笔记本电脑、手机)中打开它,登录,浏览器显示一个JSON块。将JSON粘贴回终端。

然后将凭据复制到已安装的扩展:

cp ~/workspace-src/gemini-cli-workspace-token.json ~/.gemini/extensions/google-workspace/
注: 如果尚未安装扩展,请运行 gemini 先安装一次,然后用以下命令安装: gemini extensions install https://github.com/gemini-cli-extensions/workspace

作为系统服务运行(24/7)

  1. 创建服务文件:
   sudo nano /etc/systemd/system/personal-assistant.service
   [Unit]
   Description=Personal Assistant Telegram Bot
   After=network-online.target
   Wants=network-online.target

   [Service]
   Type=simple
   User=
   WorkingDirectory=/home//personal_assistant
   ExecStart=/home//personal_assistant/venv/bin/python3 src/main.py
   Restart=always
   RestartSec=10
   Environment=PATH=/usr/local/bin:/usr/bin:/home//.npm-global/bin

   [Install]
   WantedBy=multi-user.target
  1. 启用并启动:
   sudo systemctl daemon-reload
   sudo systemctl enable personal-assistant
   sudo systemctl start personal-assistant
  1. 有用的命令:
   sudo systemctl status personal-assistant       # Check status
   sudo journalctl -u personal-assistant -f        # Stream live logs
   sudo systemctl restart personal-assistant       # Restart after code updates
  1. 更新工作流:
   cd ~/personal_assistant && git pull
   sudo systemctl restart personal-assistant

安全

  • 所有处理程序都使用 @authorized_only 装饰器
  • 未经授权的用户会被默默拒绝
  • MCP服务器受到限制 --allowed-mcp-server-names
  • 文件系统访问限制为 D:\Gemini CLI
  • 记录到的所有访问尝试 logs/security.log

🏗️ 项目结构

personal_assistant/
├── .env                    # Your credentials (git-ignored)
├── .env.example            # Template for .env
├── requirements.txt        # Python dependencies
├── package.json            # Node.js dependencies (Gemini CLI)
├── config/
│   ├── settings.py         # Configuration loader
│   ├── automations.json    # Automation settings
│   ├── capabilities.json   # Bot capabilities manifest
│   └── gemini_settings.json # MCP server config
└── src/
    ├── main.py             # Entry point
    ├── bot/
    │   ├── handlers.py     # Telegram handlers
    │   └── security.py     # Authorization
    ├── gemini/
    │   └── cli_wrapper.py  # Gemini CLI integration
    ├── automations/        # Modular automations
    │   ├── base.py         # Base automation class
    │   ├── tasks/          # Task management
    │   │   ├── manager.py  # Task CRUD
    │   │   ├── scheduler.py # Reminders
    │   │   └── handlers.py # Commands
    │   ├── cron/           # Dynamic scheduled jobs
    │   │   ├── manager.py  # Job CRUD + JSON persistence
    │   │   ├── scheduler.py # Background job runner
    │   │   └── handlers.py # /cron commands + NL detection
    │   ├── news/           # News scraper & summarizer
    │   │   ├── scraper.py
    │   │   ├── scheduler.py
    │   │   └── summarizer.py
    │   ├── expenses/        # Expense tracking
    │   │   ├── manager.py   # Expense CRUD + JSON storage
    │   │   ├── scanner.py   # Gmail scanner for CC alerts
    │   │   └── handlers.py  # Commands + automation class
    │   ├── exercise/        # Workout tracker
    │   │   ├── manager.py   # Workout JSON persistence
    │   │   └── handlers.py  # Session state + commands
    │   └── brain/           # Autonomous AI Agent
    │       ├── agent_state.py # Persistent state (backlog, observations)
    │       ├── learnings.py  # Self-improving prompt memory
    │       ├── thinker.py   # Two-phase triage + work prompts
    │       ├── scheduler.py # Adaptive scheduling (30min–4h)
    │       └── handlers.py  # Event triggers + TaskManager integration
    ├── scraper.py           # Web scraping (Scrapling)
    └── utils/
        ├── logger.py        # Logging
        └── conversation.py  # Context management

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🙏 致谢

目录标签

目录标签

财务管理日程管理PythonAI助手本地部署任务管理日程安排新闻摘要网络爬取

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP