个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Python SDK that gives xAI Grok Voice agents persistent memory across sessions, devices, and models. LiveKit-enabled. MIT licensed.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Home: faf.one/voice Live demo: faf-voice.vercel.app Voice agents that remember. The Voice Memory Layer (VML) for Grok Voice. .fafm 🐘🎙️ LiveKit enabled. Two profiles, one .fafm format. This is the voice profile (the Voice Memory Layer). For the knowledge profile — typed, cross-linked agent memory — see claude-fafm-sdk. What's New in v0.5.0 — Standing string VoiceAgent() opens on the standing soul stored at your namepoint. It does not etch the call back into that soul unless you pass etch=True. The realtime model is pinned to grok-voice-think-fast-2.0. What's New in v0.4.0 — FastMCP 4查看完整 README ↗
Home: faf.one/voice Live demo: faf-voice.vercel.app
⭐ Star it on GitHub: bookmarks it for you, helps other devs find it too.
Voice agents that remember.
The Voice Memory Layer (VML) for Grok Voice. .fafm 🐘🎙️ LiveKit enabled.
Two profiles, one
.fafmformat. This is the voice profile (the Voice Memory Layer). For the knowledge profile — typed, cross-linked agent memory — see claude-fafm-sdk.
VoiceAgent() opens on the memory stored at your namepoint, and only writes the call back when you pass etch=True. 202 tests.
etch=True the session opens on what is stored and the tool list has no etch_memory. etch=True brings back the etch log, the etch / recall / merge tools and auto-merge.grok-voice-think-fast-2.0.pip install grok-faf-voice
from grok_faf_voice import VoiceAgent
VoiceAgent().run()
That's it. First run, your agent gets a namepoint — your @handle
for FAF memory. Auto-generated free, no email needed. Want a branded
handle tied to your email (or your X username)? Claim one anytime at
mcpaas.live/voice/setup — one per
valid email address.
XAI_API_KEY — get one at x.ai/apiThat's it. Namepoint and Voice key are provisioned for you.
Run it:
python my_bot.py console
console mode talks locally — no LiveKit cloud needed.
Deploy to LiveKit later via python my_bot.py start.
Voice swappable, memory permanent. ElevenLabs and Hume land in upcoming releases.
xAI shipped Custom Voices on 2026-05-01. We shipped support 48h later.
from grok_faf_voice import CustomVoiceClient, VoiceAgent
# Clone a voice from a 90-120s WAV sample
cv = CustomVoiceClient() # uses $XAI_API_KEY
voice = cv.create_voice("sample.wav", name="My Clone", language="en")
# Use the cloned voice in your agent — same two-line shape
VoiceAgent(voice=voice["voice_id"]).run()
Custom voice IDs (8-char lowercase alphanumeric, e.g. nlbqfwie) flow through
VoiceAgent(voice=...) unchanged. The 30 free voices via console.x.ai
work too — paste the voice_id and go.
.fafm files)Read and write souls straight off disk — no MCPaaS, no API key. Great for inspection, tests, backups, and loading souls written by other FAF-family tools (cross-vendor interop).
from grok_faf_voice import FAFMemory
# Load a .fafm soul from disk (any profile — voice or knowledge)
mem = FAFMemory.from_file("soul.fafm")
body = await mem.get() # the soul body
recall = await mem.recall_for_prompt() # ready for the prompt
# Write it back out (byte-identical roundtrip)
await mem.to_file("backup.fafm")
# Typed views — no manual parsing (v0.3.1)
mem.profile # "voice" | "knowledge"
mem.facts # parsed list of memory facts
mem.index # top-level index (knowledge profile)
.fafm is the IANA-registered FAF Memory format (application/vnd.fafm+yaml).
Validate documents against the published JSON Schema.
Claim your branded @handle | mcpaas.live/voice/setup |
Advanced setup — FAFMemory, FAFContext, custom ledgers, env-var configuration, retention tiers | mcpaas.live/voice/about |
| Source + issues | github.com/Wolfe-Jam/grok-faf-voice |
| Contribute | CONTRIBUTING.md |
If you use grok-faf-voice or the .fafm format in research or production, please cite the format paper. The Agents paper is the companion for the agentic era:
Wolfe, J. (2026). Permanent Memory and Instant Recall: The .fafm Standard for Multi-Profile AI Agent Memory. Zenodo. https://doi.org/10.5281/zenodo.20348942
Wolfe, J. (2026). Why Agents Need a Passport: .fafa — Portable Identity for the Agentic Era. Zenodo. https://doi.org/10.5281/zenodo.21951641
@article{wolfe2026fafm,
title = {Permanent Memory and Instant Recall: The .fafm Standard for Multi-Profile AI Agent Memory},
author = {Wolfe, James},
year = {2026},
month = {may},
publisher = {Zenodo},
doi = {10.5281/zenodo.20348942},
url = {https://doi.org/10.5281/zenodo.20348942}
}
@article{wolfe2026fafa,
title = {Why Agents Need a Passport: .fafa — Portable Identity for the Agentic Era},
author = {Wolfe, James},
year = {2026},
month = {aug},
publisher = {Zenodo},
doi = {10.5281/zenodo.21951641},
url = {https://doi.org/10.5281/zenodo.21951641}
}
DOI: 10.5281/zenodo.20348942 (.fafm) · 10.5281/zenodo.21951641 (.fafa)
We are the Open-Ended answer to Voice memory, and don't you Forget It. We won't.
.fafm 🐘🎙️ · application/vnd.fafm+yaml (IANA registered)
· part of the FAF.one family · MIT licensed