Fitbit MCP服务器概述
太长,读不下去了
使用此代码通过MCP服务器将ChatGPT或Gemini连接到Fitbit帐户。
存储库用途
此存储库提供了一组web应用程序和后端脚本,用于与LLM(如Gemini和ChatGPT)交互和管理Fitbit数据。它利用 溪流 用于web界面和 快速 API 用于后端API端点,与Google和OpenAI的语言模型以及Fitbit数据源集成。
______________________________________________________________________
文件摘要
1. streamlit_app_gemini.py
- 目的:\
使用Streamlit构建的Web应用程序界面,用于与谷歌的Gemini LLM进行交互。
- 主要特点:
- 接受用户查询并显示Gemini的响应。 - 处理用户会话状态和提示管理。 - LLM交互界面简洁明了。
2. streamlit_app_chatgpt.py
- 目的:\
使用Streamlit构建的Web应用程序界面,用于与OpenAI的ChatGPT LLM进行交互。
- 主要特点:
- 类似于Gemini应用程序,但使用OpenAI API。 - 处理用户查询并显示ChatGPT响应。 - 提供会话和提示历史记录。
3. main.py
- 目的:\
FastAPI后端服务的主要入口点。
- 主要特点:
- 启动API服务器。 - 设置所有路由和核心API配置。 - 可能包括启动事件和根端点。
4. fitbit_router.py
- 目的:\
FastAPI路由器,用于处理Fitbit相关的API端点。
- 主要特点:
- 包含用于访问和管理Fitbit数据的路由。 - 处理特定于Fitbit集成的API请求、数据格式化和错误处理。 - 旨在模块化集成到主FastAPI应用程序中。
5. requirements.txt
- 目的:\
列出运行代码库所需的所有Python包。
- 关键库:
- fastapi, uvicorn (后端web API) - streamlit (网络应用程序) - httpx, requests (HTTP请求) - python-dotenv (环境变量管理) - openai, google-generativeai (LLM API) - pydantic (数据验证)
______________________________________________________________________
这些碎片是如何组合在一起的
- 前端:\
两个Streamlit应用程序(streamlit_app_gemini.py 和 streamlit_app_chatgpt.py)提供用户界面以与不同的LLM交互。
- 后端:\
main.py 启动FastAPI服务器,从注册路由 fitbit_router.py 以及可能的其他模块。后端为Fitbit数据处理提供API,并可能作为Streamlit应用程序的后端。
- Fitbit集成:\
所有Fitbit API路由和逻辑都在 fitbit_router.py,它包含在主FastAPI应用程序中。
- 依赖关系:\
所有依赖项都列在 requirements.txt 易于安装和再现。
______________________________________________________________________
入门指南
- 安装要求:
pip install -r requirements.txt- 运行后端API:
uvicorn main:app --reload- 启动Streamlit应用程序:
streamlit run streamlit_app_gemini.py
# or
streamlit run streamlit_app_chatgpt.py______________________________________________________________________
生成您所需的秘密
将下面的每个秘密添加到本地 .env 文件。\ 例子:
FITBIT_CLIENT_ID=xxxxxxxxxxxx
FITBIT_CLIENT_SECRET=xxxxxxxxxxxx
FITBIT_REDIRECT_URI=http://localhost:8000/fitbit/auth/fitbit/callback
FITBIT_USER_ID=xxxxxxxx
OPENAI_API_KEY_FB=sk-xxxxxxxxxxxxxxxx
GEMINI_API_KEY=xxxxxxxxxxxxxxxxxxxx______________________________________________________________________
1·Fitbit API证书
FITBIT_CLIENT_ID 和 FITBIT_CLIENT_SECRET
- 登录(或创建)免费开发人员帐户 https://dev.fitbit.com.
- 引导到 管理→ 注册应用程序 并填写表格(选择OAuth 2.0类型 “服务器”).
- 保存后,门户会显示您的 客户端ID 和 客户端密钥 --将两者复制到
.env.
FITBIT_REDIRECT_URI
- 编辑同一Fitbit应用程序时,请定位 OAuth 2.0 重定向 URL.
- 输入您的后端在OAuth期间将监听的URL(例如。
http://localhost:8000/fitbit/auth/fitbit/callback发展中)。 - 使用 *精确地* 这个字符串为
FITBIT_REDIRECT_URI在.env.
FITBIT_USER_ID
*快速方法(移动应用程序)*
- 打开Fitbit移动应用程序。
- 轻按 今天→ 配置文件图标→ 个人信息.
- 复制您姓名下显示的长编码ID。
*API方法*
- 使用新的客户端ID/密钥和重定向URI完成OAuth流程。
- 呼叫
GET https://api.fitbit.com/1/user/-/profile.json使用访问令牌。 - 阅读
user.encodedId从JSON中提取并放入FITBIT_USER_ID.
______________________________________________________________________
2·OpenAI密钥(OPENAI_API_KEY_FB)
- 登录地址: https://platform.openai.com.
- 点击 “API密钥” 在左侧边栏中。
- 选择 “创建新密钥”,给它起个名字,然后立即复制。
- 将密钥添加到
OPENAI_API_KEY_FB在.env.
______________________________________________________________________
3·双子座钥匙(GEMINI_API_KEY)
选项A——谷歌人工智能工作室(快速)
- 首选 https://aistudio.google.com.
- 选择 API密钥→ “创建API密钥”.
- 复制密钥并将其存储在
GEMINI_API_KEY.
选项B——谷歌云控制台
- 打开云控制台并创建/选择一个项目。
- 启用 API双子星.
- 引导到 API和服务→ 凭证→ 创建凭据→ API密钥.
- (可选)添加密钥限制,然后将其复制到
GEMINI_API_KEY.
______________________________________________________________________
