AI文件助手

一个基于Chainlit、MCP协议和Gemini API的AI文件助手,支持通过聊天界面或命令行读取、搜索和写入本地文件。

  • by connectalizain
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 connectalizain/agentic-mcp-file-reader

使用说明

🧠 代理型MCP文件阅读器

适合初学者的 AI文件助手 由……提供支持/驱动 链光(或链灯,根据上下文具体含义可能有所不同), 模型上下文协议(MCP),以及 通过OpenAI Agents SDK使用Gemini API。
这个项目展示了人工智能代理如何能够 读取、搜索和编写本地文件 使用自然语言——无论是通过 聊天界面 或者 CLI(Command Line Interface,命令行界面)。


🚀 特点

  • 🤖 表示机器人。 基于聊天的文件助手 (通过Chainlit)
  • 🧩 这个表情符号在中文中通常被用来表示“拼图”或“碎片”的意思,也可以象征着“智慧”或“解决问题”。在不同的语境下,它可以有不同的含义,但核心都是围绕着“拼凑”或“组合”的概念。 MCP 服务器 提供工具用于读取、搜索和编写文件
  • 🔗(这个符号在中文中通常没有直接的翻译,它在网络语境中常用来表示链接或连接,所以可以翻译为“链接”或根据上下文具体解释为“这是一个链接”等) Gemini API集成 通过OpenAI Agents SDK
  • ⚙️(齿轮符号,常用于表示机械、技术或设置相关的概念) 流式响应 实时输出代币
  • 💻 电脑/笔记本电脑 命令行界面 (CLI) 可用版本

🧱 项目结构

agentic-mcp-file-reader/
│
├── app.py           # Chainlit UI app - Chat interface for File Assistant
├── server.py        # MCP server exposing file read/search/write tools
├── fileagent.py     # CLI-only version of File Assistant
├── .env             # Contains GEMINI_API_KEY and MCP_SERVER_URL
└── requirements.txt # (Recommended) Dependencies list

📦 安装指南

1️⃣ 克隆仓库

git clone https://github.com/connectalizain/agentic-mcp-file-reader.git
cd agentic-mcp-file-reader

2️⃣ 创建虚拟环境(可选但推荐)

python -m venv venv
source venv/bin/activate    # On macOS/Linux
venv\Scripts\activate       # On Windows

3️⃣ 安装依赖项

pip install -r requirements.txt

(如果你没有 requirements.txt,手动安装:)

pip install chainlit python-dotenv uvicorn fastapi openai-agents-sdk

4️⃣ 添加环境变量

创建一个 .env 根目录中的文件:

GEMINI_API_KEY=your_gemini_api_key_here
MCP_SERVER_URL=http://localhost:9000/mcp/

⚙️ 运行项目

🧩 步骤1 — 启动MCP服务器

python server.py

这将启动 MCP FastAPI 服务器 暴露这些工具:

  • read_file(path)
  • search_file(path, keyword)
  • write_file(path, content, mode)

默认端口: 9000


💬 步骤2 — 运行Chainlit应用程序

chainlit run app.py -w

然后打开提供的(文件/链接/软件等) 本地主机URL 在您的浏览器中。

你可以与你的助手进行自然对话:

🗣 “搜索这个词 未来 在 test.txt 并对其进行总结。”
🗣 “总结一下 report.txt 在50字以内。“
“写上‘AI太棒了!’到 note.txt。”


🧑‍💻 步骤3 — 使用CLI文件代理(可选)

对于仅终端版本:

python fileagent.py "Summarize test.txt in 50 words"

或者以交互方式运行它:

python fileagent.py
Enter query: Search 'progress' in test.txt

🧠 它的工作原理

🔹 server.py

实现了一个 MCP服务器 使用 FastMCP。
向以下方面提供工具:

  • 读取一个文件(read_file)
  • 搜索关键词(search_file)
  • 写入文件(write_file)

🔹(这个符号本身在中文中没有特定含义,通常用作装饰或标记,可直接保留或根据上下文解释为“一个蓝色的实心圆圈”或“一个装饰性符号”等) app.py

启动一个 链式照明网页界面 其中:

  • 双子座模型(gemini-2.5-flash) 通过OpenAI Agents SDK进行连接。
  • 代理连接到本地MCP服务器以访问文件工具。
  • 用户输入以实时代币更新的方式进行流式传输。
  • 工具使用情况会在聊天中显示(例如,“🔧 调用工具:read_file”)。

🔹(这个符号在中文中通常没有直接对应的翻译,它可能用于表示一个项目符号、重点或特定的标记。在没有上下文的情况下,可以简单地将其描述为“一个项目符号或重点标记”。) fileagent.py

A. CLI 版本 文件助手的(功能/特性)为:

  • 连接到同一台MCP服务器。
  • 输出流到终端。
  • 处理无用户界面的查询。

🧩 示例流程

  1. 你问:

    “查找这个词 创新 in notes.txt 并进行总结。”

  2. 代理:

    • 电话 search_file
    • 读取匹配的行
    • 电话 read_file 为了提供背景信息
    • 使用Gemini总结全部内容
  3. 您可以在 Chainlit 或命令行界面 (CLI) 中看到实时流式输出。


技术栈(或技术堆栈)

组件 描述
链光(或链式照明,根据上下文可能有所不同,这里“Chainlit”直译为“链光”,意译可能需结合具体语境) 基于聊天的大型语言模型(LLM)应用的用户界面(UI)
OpenAI 代理软件开发工具包(SDK) 运行和管理AI代理的框架
双子座2.5闪存版 谷歌的大型语言模型(LLM)用作推理引擎
MCP(模型上下文协议) 允许外部工具访问,如读取/写入文件
FastMCP Python框架,轻松实现MCP服务器
Uvicorn + FastAPI(可译为“Uvicorn 加 FastAPI”或保持原样,因为这是技术术语,直接使用在中文语境中也能被理解) 用于运行MCP服务器后端

🔒 环境变量

变量 描述
GEMINI_API_KEY 您的Gemini API密钥来自Google AI Studio
MCP_SERVER_URL MCP 服务器 URL(默认:http://localhost:9000/mcp/)

🧩 未来改进方向

  • 添加多文件上下文记忆
  • 在Chainlit UI中支持文件上传和预览
  • 添加身份验证和日志记录功能
  • Docker对部署的支持

📜 许可证

麻省理工学院许可证 © 2025 “connectalizain” 可能是一个拼写错误或特定领域的术语,直接翻译并不常见。如果尝试将其拆解并基于类似词汇进行推测,可以理解为与“连接”(connect)和“某种状态或过程”(可能由“alizain”部分暗示,但此部分无直接对应中文含义)相关的概念。然而,由于缺乏具体上下文,一个较为通用的翻译可能是“连接状态”或“连接过程”,但这仅是基于猜测的解释。在实际应用中,需要根据具体语境来确定准确含义


🌟 致谢

多亏了