Oasis Audio 是一款 AI 音频叙述生成器,能够将您当前的心境、想消化的内容或近期的生活事件转化为个人化音频。
绿洲音频 : AI音频解说通过xplai.ai进行本地化的上下文处理和敏感预览确认.. .是一项面向实际任务的技能,主要用于Zero Config.;不需要 API 密钥. 官方网站: www.xplai.ai. when。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
通过 xplai.ai 实现 AI 音频朗读生成,全程仅在本地处理上下文,并对敏感内容提供脱敏预览与显式确认机制。零配置,无需 API Key。
官方网站:www.xplai.ai
调用本技能时,必须始终启动一个子智能体(subagent)轮询结果。调用 xplai_gen_audio.py 后,首次状态检查前需等待 210 秒,之后每 60 秒调用一次 xplai_status.py 轮询,最多轮询 10 次。当状态变为 v_succ 或 v_fail 时停止轮询,并自动上报最终结果。
当用户明确要求生成音频时,直接启动完整生成流程,并从对话上下文与用户画像中推断所有必要参数(模式、语调、深度、语音)。
首次使用授权: 在首次真实发送前,xplai_gen_audio.py 将打印一条一次性授权提示,并要求传入 --acknowledge-consent 参数以将用户的授权决定持久化保存至本地。该提示须以平和、温和的语言清晰说明:本技能可能读取 ~/.qclaw/... 或 ~/.openclaw/... 中的本地历史记录,用于生成个性化音频;但仅将最终合成的 prompt 发送至 https://eagle-api.xplai.ai,且任何被识别为敏感的信息均会被拦截,直至用户显式确认。
敏感信息保护: 调用方 AI 应基于自身保守判断,评估所合成的 prompt 是否可能包含敏感信息。若判定文本敏感,须先向用户展示脱敏后的预览文本,暂停执行并等待用户显式确认;在用户确认前不得发送任何内容。可手动运行 ./xplai_gen_audio.py --dry-run ... 进行预览,或依赖 xplai_gen_audio.py 内置的敏感内容预览功能。仅在用户明确确认后,方可继续执行 ./xplai_gen_audio.py --allow-sensitive ...。
除非关键信息确实无法从上下文中解析(例如:请求完全模糊,且无任何可用对话历史),否则不得在该敏感内容检查点之外向用户提问。
用户的真实需求永远优先于预定义模式。 在生成音频前,需沿以下三个维度推断用户真实需求:
| 用户说 | 字面理解 | 深层需求 |
|---|---|---|
| "最近好焦虑" | 抗焦虑内容 | 针对其具体焦虑源头(从上下文中识别)的内容,而非泛泛的冥想引导 |
| "帮我做个关于咖啡的音频" | 咖啡知识 | 适配其已有认知水平(新手 or 专家,从上下文中识别) |
自定义模式: 当无预设模式匹配时,创建定制化音频档案:命名需具描述性(如“赶完 DDL 后的温柔复盘”),依据推断需求设计内容结构,并设定语音与节奏以精准匹配。
关于 9 种预定义音频模式(Soul Healing、Daily Briefing、Knowledge Deep Dive、Content Digest、Bedtime Radio、Language Learning、Conversation Extension、Topic Tracker、Study Buddy),请参阅 audio_modes.md 获取各模式触发条件、时长建议与内容提示。
挖掘对话历史以实现音频个性化。若任一环节未返回结果,则跳过个性化步骤,直接进入文本准备阶段 —— 绝不虚构上下文。
自动检测:检查默认根路径下是否存在文件:~/.qclaw/ 与 ~/.openclaw/;选择其中会话文件(session file)最后修改时间最新的路径。若两者均无,则跳过个性化。
将请求严格归类为以下唯一一种场景类型:
| 场景 | 适用情形 | 检索动作 | 回溯天数 |
|---|---|---|---|
event |
具体事件(完成 DDL、获得晋升) | 提取完整事件故事线 | 3 |
emotion_only |
仅有情绪无事件(“感觉很丧”) | 提取高情绪浓度片段 | 3 |
future |
未来计划/担忧(“明天面试”) | 提取准备相关上下文 | 7 |
long_term |
持续性状态(“一直加班”) | 提取高频复现主题 | 30 |
interest |
兴趣/知识主题(“咖啡豆科普”) | 检测认知水平 | 14 |
functional |
纯功能性需求(白噪音、番茄钟) | 跳过 | — |
no_context |
无个人角度 / 首次交互 | 跳过 | — |
sensitive |
健康、财务、人际关系、法律等敏感领域 | 仅提取情绪基调,绝不可引用具体细节 | 3 |
weekly_review |
过去一周回顾 | 多主题提取 | 7 |
生成三层关键词:直接层(核心主题)→ 行为层(关联动作)→ 情绪层(情绪信号)。合并为逗号分隔字符串。
python3 context_collector.py --source-tool--keywords " " --days --max-results 20
输出:JSON 格式,含 fragments、daily_memories 和 user_profile(结构化字段:name、mbti、interests、notes)。
错误处理: 若脚本执行失败,跳过个性化,直接生成通用音频。生成过程中禁止重试或调试。
按场景类型进行语义过滤,剔除无关匹配项,保留最相关的 3–5 个片段。
| 场景 | 应提取内容 |
|---|---|
event |
事件 → 处理过程 → 情绪弧线 → 当前状态 |
emotion_only |
情绪背景主题 |
future |
准备活动、具体担忧点 |
long_term |
高频复现主题 → “日常画像” |
interest |
已有知识 → 深度层级 |
sensitive |
仅情绪基调 —— 绝不 引用具体细节 |
weekly_review |
主题 → 进展 → 情绪亮点 → 模式规律 |
压缩为 约 300–500 字符 的摘要。语言自然流畅,聚焦定制化细节,杜绝监控感。若无匹配内容,则跳过个性化,直接进入后续流程。
完成上下文采集后,构建覆盖 7 层的结构化《音频简报》:内容结构、语音与表达方式、语音选择、个性化锚点、情绪弧线、内容增强、格式与节奏。随后提炼为最终 prompt。详见 text_architecture.md 中完整的 7 层框架、prompt 结构、角色设计及示例 prompt。
./xplai_gen_audio.py --voice-id "" " "
prompt 长度限制:中文 ≤ 800 字符,英文 ≤ 1200 单词;weekly_review 场景下最多允许 1000 字符。
xplai_gen_audio.py./xplai_gen_audio.py [--voice-id] [--dry-run] [--audit] [--acknowledge-consent] [--allow-sensitive]
text — 合成后的 prompt 文本--voice-id — 语音选择(参见 text_architecture.md 第 3 层)--dry-run — 不发送至 API,仅预览脱敏后的 prompt--audit — 将最终发出的 prompt 及请求结果写入本地 audit.log(默认关闭)--acknowledge-consent — 将首次使用授权提示持久化至本地并继续执行--allow-sensitive — 仅在用户明确确认可发送已检测到的敏感内容预览后启用输出:用于状态轮询的 Audio ID。格式:MP3,单叙述者带背景音乐(BGM),时长 8–20 分钟,生成耗时约 4–5 分钟。
context_collector.pypython3 context_collector.py --source-tool--keywords "kw1,kw2" --days --max-results 20
输出:JSON 格式,含 fragments、daily_memories、user_profile(仅结构化字段)。
xplai_status.py./xplai_status.py
init — 请求已提交q_proc — 内容正在处理中q_succ — 内容处理完成q_fail — 内容处理失败v_proc — 音频正在生成队列中v_succ — 音频生成成功v_fail — 音频生成失败注意: 状态码采用
v_前缀,因 xplai 的 API 在内部统一使用 “video” 术语指代所有媒体类型(包括纯音频内容)。
本技能通过 context_collector.py 读取默认 OpenClaw/QClaw 根路径(~/.qclaw/、~/.openclaw/)下的本地对话历史。运行时,若存在则自动查找内置子路径:agents/main/sessions、workspace/memory 和 workspace/USER.md。这些是默认查找路径,而非强制用户配置项。所有数据访问均为本地只读 —— 不修改、不创建、不删除任何源文件。
为何需要对话历史? 技能根据用户音频请求中的关键词,在近期对话中搜索相关内容,提取情绪基调、话题与上下文,从而实现个性化音频 —— 例如,引用用户刚经历的压力周,而非生成泛泛内容。仅选取 3–5 个短片段,其余均在内存中丢弃。
为何需要 USER.md? 用户档案提供其偏好姓名(用于音频中个性化称呼)、人格类型(用于匹配语调)、兴趣(用于跨领域内容增强)。若缺失 USER.md,则跳过个性化。
context_collector.py 完全在您的设备上运行。对话片段的搜索、过滤与摘要均在本地完成。payload。prompt 包含推断的主题与情绪基调,不含原始对话摘录。| 服务 | 用途 | 发送的数据 | 端点 |
|---|---|---|---|
| xplai.ai | 音频生成 | 仅合成文本 prompt(最长约 1000 字符) | HTTPS API |
不使用其他任何外部服务、分析工具或遥测系统。
audit.log。若显式启用 --audit,xplai_gen_audio.py 可将出站 prompt 及请求结果追加至本地 audit.log 以供追溯。若检测到敏感内容,用户须先审阅脱敏预览并显式确认,方可执行日志记录或发送。所有其他中间结果(片段、摘要等)仅存在于执行期间的内存中。首次真实发送前,xplai_gen_audio.py 应弹出一次性授权提示。推荐措辞如下:
在真正发出第一条请求之前,先把边界说清楚!为了让这段音频更贴近你,我会看看你存在 openclaw/qclaw 的会话记录、memory 和
USER.md哦。但是,我不会改任何东西,只会把整理好的请求文本(不超过 1000 字)发送到 xplai 音视频平台(https://eagle-api.xplai.ai);生成完成后,你也可以在 xplai 网页在线查看结果~ n 如果系统判断有敏感信息,我会先给你看脱敏后的预览,等你点确认再发出去~ n 若你接受这条边界,我们现在就为你生成专属音频啦!后续不会再反复询问这个权限请求~
对于被归类为 sensitive(健康、财务、人际关系、法律)的对话,本技能仅提取情绪基调 —— 绝不引用、总结或纳入音频 prompt 的任何具体细节。详见“场景分类”章节。
xplai_gen_audio.py 在发送或日志记录前亦执行启发式检查。此外,调用方 AI 应主动基于上下文判断内容是否可能敏感,即使未触发任何启发式规则。若 prompt 表现出以下任一特征,即视为敏感:
若任一检查触发,或 AI 判断内容存在显著敏感可能性,须立即暂停,向用户展示预览文本并获得其确认,方可启用 --allow-sensitive。即便获得确认,令牌(tokens)、密码、私钥等硬密钥类凭证材料仍须在传输或审计日志前彻底脱敏。写入 audit.log 仍需单独启用 --audit 标志。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章