核心用法
FatSecret 技能提供完整的营养数据 API 集成,支持食品搜索、条码扫描、食谱查询及饮食日记记录。用户需先在 platform.fatsecret.com 注册应用获取 Consumer Key 和 Consumer Secret,根据需求选择两种认证方式:OAuth2(只读,无需登录)适用于基础查询;OAuth1(三-legged,需用户 PIN 授权)支持日记写入。CLI 提供 search、barcode、recipes、auth、log、quick 等命令,Agent 可通过 Python 助手函数实现自动化流程。
显著优点
1. 双认证模式灵活:OAuth2 免登录快速查询,OAuth1 一次性授权长期写入日记
2. 数据覆盖全面:FatSecret 数据库含大量商业食品,条码扫描精准匹配包装食品
3. 开源替代方案:内置 Open Food Facts 客户端,欧洲产品无需认证即可查询
4. 本地化凭证管理:配置存储于 ~/.config/fatsecret/,支持 SOCKS5 代理应对 IP 白名单限制
5. Agent 友好:提供状态检测、自动续期、快速记录等封装函数
潜在缺点与局限性
- OAuth1 初次配置繁琐:需用户手动访问授权页、登录账号、复制 PIN 码完成绑定
- 地域数据差异:FatSecret 以北美食品为主,亚洲产品覆盖率有限
- Token 持久化风险:OAuth1 访问令牌长期有效,设备丢失可能导致未授权访问
- API 配额限制:免费套餐存在调用频次上限,高频使用需付费升级
适合人群
- 健身人群与营养师:精确追踪卡路里、宏量营养素
- 糖尿病患者/慢病管理者:监控碳水、钠摄入
- 开发者构建饮食管理 Agent:需结构化食品数据库支持
常规风险
1. 凭证泄露:Consumer Secret 硬编码或配置文件中明文存储可能被窃取
2. 代理劫持:SOCKS5 代理配置若指向不可信节点,通信内容可被截获
3. 数据隐私:饮食日记含敏感健康信息,OAuth1 授权后应用可读写完整账户数据
4. 依赖服务可用性:FatSecret API 变更或停止服务将中断功能
安全建议
- 配置文件设置严格权限(
chmod 600) - 定期审计
~/.config/fatsecret/目录内容 - 废弃使用时同步删除本地令牌并撤销 FatSecret 账户授权