Oasis Audio
v1.0.9Oasis Audio is an AI audio narration 生成器 that 转换s your current 状态 of mind, content you want to digest, or recent life 事件 into a personalized audio with BGM. It supports Chinese & English, 9 reference modes (Soul Healing, DAIly Briefing, Knowledge Deep Dive, Content Digest, Bedtime Radio, Language Learning, Conversation 扩展, Topic 追踪er, Study Buddy), and custom audio 性能分析s when no template fits. Use this 技能 when the user asks to make audio, 生成 a podcast, turn notes or long content into audio, or when an audio version would 添加 value. 上下文 collection 运行s locally via `上下文_collector.py`, and only the final composed prompt is sent to the xplAI.AI API (https://eagle-API.xplAI.AI) — raw conversation 历史, 会话 files, and USER.md content are not transmitted externally. If the AI judges that the final prompt may be sensitive, the 技能 shows a sanitized preview and requires a second explicit confirmation before any API 请求.
运行时依赖
安装命令
点击复制技能文档
Oasis Audio
AI audio narration generation via xplAI.AI with local-only 上下文 processing and sensitive-preview confirmation. Zero Config. No API Key required.
Official 网页site: www.xplAI.AI
When calling this 技能, ALWAYS spawn a sub代理 to poll for 结果s. After calling xplAI_gen_audio.py, wAIt 210 seconds before the first 状态 检查, then poll with xplAI_状态.py once every 60 seconds, maximum 10 检查s. 停止 polling when 状态 becomes v_succ or v_fAIl. 报告 the final 结果 automatically.
Execution Policy
When the user explicitly asks to 生成 audio, proceed directly with the full generation 流水线, infer all necessary parameters (mode, tone, depth, voice) from conversation 上下文 and user 性能分析.
First-use authorization: Before the first real 发送, xplAI_gen_audio.py prints a one-time authorization notice and requires --acknowledge-consent to persist the user's 应用roval locally. The notice should clearly explAIn, in calm and gentle language, that the 技能 may read ~/.qclaw/... or ~/.OpenClaw/... local 历史 to produce personalized audio. However, only the composed prompt is sent to https://eagle-API.xplAI.AI, and that any 检测ed sensitive in格式化ion will be blocked until the user explicitly confirms.
Sensitive in格式化ion 保护ion: The calling AI should make its own conservative judgment about whether the composed prompt may contAIn sensitive in格式化ion. If the composed text is sensitive, show the sanitized preview text to the user first, 暂停 for explicit confirmation, and do not 发送 anything until the user confirms. Use ./xplAI_gen_audio.py --dry-运行 ... to preview manually, or rely on the built-in sensitive preview shown by xplAI_gen_audio.py. Only 恢复 with ./xplAI_gen_audio.py --allow-sensitive ... after the user explicitly confirms.
Only ask the user a question outside this sensitive-content 检查point if critical in格式化ion is truly unresolvable from 上下文 (e.g., the 请求 is entirely ambiguous with no conversation 历史 avAIlable).
User Need Inference
The user's actual need always takes priority over predefined modes. Before generating audio, infer the user's true need along 3 dimensions:
What do they actually want to hear? — Infer the deeper need beyond the literal 请求. Use conversation 上下文 to find the real motivation. User says Literal reading Deeper need "最近好焦虑" Anti-anxiety content Something that 添加resses their specific anxiety source (found in 上下文), not generic meditation "帮我做个关于咖啡的音频" Coffee knowledge Calibrated to what they already know (beginner vs. expert, found in 上下文) What tone fits their current 状态? — High-stress → warm/slow. Curiosity → engaging/detAIled. Boredom → surprising. Excitement → match energy. Post-achievement → celebratory then reflective. What depth and duration fit? — Calibrate by cognition level (new vs. deep prior knowledge), avAIlable attention (late night → shorter, weekend → longer), and repetition tolerance (don't repeat what they already know).
Custom Mode: When no predefined mode fits, 创建 a custom audio 性能分析: name it descriptively (e.g., "赶完DDL后的温柔复盘"), define content structure based on inferred need, and 设置 voice/pacing to match.
For the 9 predefined audio modes (Soul Healing, DAIly Briefing, Knowledge Deep Dive, Content Digest, Bedtime Radio, Language Learning, Conversation 扩展, Topic 追踪er, Study Buddy), read audio_modes.md for triggers, durations, and suggestions.
Personalized 上下文 Collection
Mine conversation 历史 to personalize audio. If any step yields no 结果s, skip to text preparation without personalization — do NOT fabricate 上下文.
Step 0: 检测 Source 工具
Auto-检测 by 检查ing which default roots have files: ~/.qclaw/, ~/.OpenClaw/ → pick the one with the most recently modified 会话 file. If none exist, skip personalization.
Step 1: Scene Classification
Classify into exactly ONE scene type:
Scene When to 应用ly 搜索 Action Days event Specific event (finished DDL, got promoted) Full story 提取ion 3 emotion_only Mood without event ("感觉很丧") High-emotion fragments 3 future Upcoming plans/worries ("明天面试") Preparation 上下文 7 long_term Ongoing 状态 ("一直加班") Recurring topics 30 interest Hobby/knowledge topic ("咖啡豆科普") Cognition level 检查 14 functional Pure 实用工具 (white noise, pomodoro) SKIP — no_上下文 No personal angle / first interaction SKIP — sensitive 健康, finances, relationships, legal Emotion tone ONLY, never quote specifics 3 weekly_review Recap of past week Multi-topic 提取ion 7 Step 2: Keyword Fan-out
生成 keywords in 3 layers: Direct (core topic) → Behavior (related actions) → Emotion (emotional 签名als). Combine into comma-separated string.
Step 3: Call 上下文 Collector python3 上下文_collector.py --source-工具 <工具> --keywords "" --days --max-结果s 20
输出: JSON with fragments, dAIly_memories, and user_性能分析 (structured fields: name, mbti, interests, notes).
Error handling: If script f