EatSignal 不是营养字典,是一个食物决策工具。 你看到的每一个分数,都来自一个公开的、可解释的逻辑 —— 不是 AI 拍脑袋,也不是从某个品牌话术抄来的。
score = + protein_score // 蛋白密度 + fiber_score // 膳食纤维 + density_bonus // 营养密度奖励(微量元素) − processing_penalty // 加工程度惩罚 − sugar_penalty // 添加糖/精制碳水 − satfat_penalty // 饱和脂肪 − sodium_penalty // 钠含量
不同目标下,食物的「好」是不一样的。 白米饭对增肌的人是高效碳水来源,对控糖的人是雷区。 所以同一个食物,在三个模式下评分独立计算 —— 这是 EatSignal 的核心差异。
白米饭在增肌模式升 20 分,因为高效碳水对训练后糖原补充重要; 在控糖模式降 10 分,因为升糖指数高。 培根三个模式都低,加工肉本身的惩罚把分数压住了 —— 这是设计上的红线。
初版评级参考了一张广为流传的「食物红绿灯分级表」(健身科普社群常用版),按图给出基础颜色(绿/黄/红),再根据公式调整到具体分数。
三模式的差异(控糖时压精制碳水、增肌时奖励高蛋白快碳)按通行的运动营养学逻辑推 —— 不是单一品牌或饮食流派的偏好。
参考 NOVA 食品加工分级:Group 1(未加工)拿满,Group 4(超加工:培根、午餐肉、方便面、冰激凌)整体压到红灯。
对碳水主食和水果,引入了升糖指数判断 —— 这就是为什么西瓜和白粥被压到红灯,而蓝莓、苹果留在绿灯。
第一版只收了 74 个最常见的食物,覆盖 9 大类。 饮料、调味料、复合菜肴(比如「红烧肉」「番茄炒蛋」)还没收录 —— 因为这些需要「按做法评分」,逻辑要更复杂。下个版本会加。
会。营养学本身不是 100% 客观 ——「胆固醇该不该限制」「饱和脂肪是不是真凶」这些至今有学派分歧。 EatSignal 取的是相对保守、贴近主流共识的立场:加工 > 添加糖 > 饱和脂肪 是主要扣分项。
这意味着你可能不同意某个分数(比如鸡蛋,我们给绿灯,有人会觉得应该黄灯)。这是合理的分歧 —— 我们不会假装自己是绝对真理。
第一版只做三种最普世的目标:减脂 · 控糖 · 增肌。
生酮、低 FODMAP、妊娠期、心血管这些有特殊需求的模式 —— 因为牵扯医学决策,放在 v2 之后单独做。
每条食物在数据库里都预先标记了 alt 字段 —— 比如培根的替代是鸡胸肉 / 三文鱼,白米饭的替代是糙米 / 燕麦。
替代推荐遵守两个原则:同类(肉换肉、碳水换碳水),当前模式下分数更高。
详情页只在当前食物 < 75 分时显示替代 —— 已经是推荐的食物没必要再推。
不能。EatSignal 是一个群体层面的食物排序工具,不针对个体的过敏、基础病、用药、孕期、肾功能等情况。 如果你有特殊健康状况(糖尿病、肾病、痛风、过敏),分数仅供参考,具体请咨询临床营养师或医生。
v1 是静态数据(data/foods.json + data/categories.json)。
新版本会迭代:补食物、修正争议项、引入用户反馈打分。每次更新会留 changelog。
带着模式去找食物 —— 或者打开地图,看一眼今天能吃什么。