使用说明
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.
