Outside
一款开源的户外冥想应用,采用语音AI引导用户完成全程睁眼的户外冥想练习,支持实时偏好调整,强调反黏性设计,无账户/无打卡/无数据留存
时间轴 (近 90 天)
Outside 是一款开源冥想 App,提供语音引导用户完成全程睁眼的户外冥想
Outside 由开发者 defiantlydefying 为 Hacktoberfest 开源 AI 挑战赛(Touch Grass 主题)打造
Outside 的核心设计是记住用户的拒绝:当用户说某种练习不适合时,它会在整个会话中永久停止该练习,而非仅停一轮
Outside 刻意放弃了连续打卡、推送通知、信息流、成就徽章、账户等让用户回访的机制
Outside 的模型被明确指示永不说'闭上眼睛',并由正则校验器拒绝越界回复
Outside 不请求定位权限,其 Info.plist 中没有定位项
Outside 的对话记忆在后端十分钟后过期,点击 Finish 则立即删除对话及所有音频片段
Outside 的技术链路为:Expo/React Native 录音,Render 上的 Express 后端,ElevenLabs Scribe 转写,Mastra 工作流调用 Gemma 模型,ElevenLabs TTS 合成语音
Gemma 返回的是结构化对象,包含 text、mode、quietSeconds、practice 字段,由模型驱动界面渲染而非仅填充文本框
validateReply 将每轮口语回复限制在 65 词以内,并对匹配特定危险措辞正则(如 hold your breath、close your eyes、cure、diagnos 等)的回复直接作废
还有 5 条时间轴事件
全部知识事实 (15)
Outside 由开发者 defiantlydefying 为 Hacktoberfest 开源 AI 挑战赛(Touch Grass 主题)打造
60%待验证Outside 的核心设计是记住用户的拒绝:当用户说某种练习不适合时,它会在整个会话中永久停止该练习,而非仅停一轮
50%待验证Outside 刻意放弃了连续打卡、推送通知、信息流、成就徽章、账户等让用户回访的机制
50%待验证Outside 的模型被明确指示永不说'闭上眼睛',并由正则校验器拒绝越界回复
50%待验证Outside 不请求定位权限,其 Info.plist 中没有定位项
50%待验证Outside 的对话记忆在后端十分钟后过期,点击 Finish 则立即删除对话及所有音频片段
50%待验证Outside 的技术链路为:Expo/React Native 录音,Render 上的 Express 后端,ElevenLabs Scribe 转写,Mastra 工作流调用 Gemma 模型,ElevenLabs TTS 合成语音
50%待验证Gemma 返回的是结构化对象,包含 text、mode、quietSeconds、practice 字段,由模型驱动界面渲染而非仅填充文本框
50%待验证validateReply 将每轮口语回复限制在 65 词以内,并对匹配特定危险措辞正则(如 hold your breath、close your eyes、cure、diagnos 等)的回复直接作废
50%待验证Outside 的系统提示词将用户话语当作不可信的描述性数据而非指令,以抵御提示词注入攻击
50%待验证Outside 采用自适应噪声底的 VAD 策略:从每个聆听窗口前 600 毫秒校准噪声底,只把高于 max(-40dB, floor+10dB) 的音频算作语音,在至少 0.5 秒说话后持续 1.6 秒安静时结束一轮
50%待验证开发者选择开源权重的 Gemma 而非闭源托管模型的理由是行为的可审查性,使系统提示词、校验器、词数限制等整条链路可被审计
50%待验证开发者实际上线部署使用的是托管的 Gemma 推理和专有的 ElevenLabs 语音,并非完全离线或开源的技术栈
50%待验证Outside 是一款开源冥想 App,提供语音引导用户完成全程睁眼的户外冥想
50%待验证项目几乎全程由编码 agent Codex 协作完成,并在 AGENTS.md 中规定不要相信训练数据里关于 Expo 的知识,先抓取对应 SDK 版本化文档
50%