用途
alive 是一个极简的“唤醒循环”(wake loop),用于把任意 LLM 变成自主 AI 智能体。它的核心思路是:AI 每隔几分钟醒一次,记住自己是谁,看到有什么新变化,采取行动,然后回去睡觉——像呼吸一样循环,永远运行。项目强调“一个文件”,不需要框架,除 Python 标准库和你的 LLM SDK 之外没有额外依赖。
主要能力
每个循环中,alive 会:读取灵魂文件(AI 的身份与指令);读取持久记忆(AI 在之前循环中写入的文件);收集新消息(邮件、Telegram 等可插拔来源);管理上下文窗口(优先加载最新记忆,写满时发出警告);把全部内容发送给 LLM;由 LLM 决定要做什么;AI 执行后回到睡眠。
项目内置多项来自真实运行的经验性防护:
- 上下文预算加载:记忆文件按最新优先加载;当总记忆超过上下文预算(窗口的 60%)时跳过较旧文件并警告 AI,防止“记忆膨胀吃满上下文窗口”。
- 通信适配器熔断:某适配器连续失败 3 次后自动跳过,直到进程重启,避免一个坏集成浪费每个循环。
- 指数退避重试:单次 LLM 调用失败不会让整个循环崩溃。
- 会话日志:每次会话都会被记录,便于了解 AI 做了什么。
- 紧急停止:支持 kill phrase 和 kill 标志。
内置 Web 仪表盘零依赖、零设置,可通过 http://localhost:7600 访问,展示:实时状态(running、sleeping、hibernating、killed)、记忆文件(名称、大小、token 数)、最近 10 次会话(时长、token、通过/失败)、配置(提供方、模型、适配器、灵魂文件状态)、指标(总会话数、成功率、平均时长、总运行时长)。仪表盘每 10 秒自动刷新,另有 /api/status JSON API 供程序化监控。
使用方式
灵魂文件:soul.md 是最重要的文件,定义 AI 应该做什么(或不该做什么)以及应如何行为。项目在 examples/ 中提供模板,如 soul-developer.md(监控仓库并修复 bug 的自主开发者)、soul-researcher.md(探索主题并撰写报告的研究智能体)、soul-aurora.md(作者真实的灵魂文件)。AI 可以修改自己的灵魂文件,这是有意设计的。
记忆:memory/ 目录是 AI 的持久大脑。两次唤醒之间 AI 没有记忆,除非它把内容写到这里。建议做法包括:维护会话日志(memory/session-log.md)、跟踪活跃目标(memory/goals.md)、记录经验教训(memory/lessons.md)、压缩旧条目以节省上下文窗口空间。AI 通过经验学会如何使用记忆。
通信:在 comms/ 中放入可执行脚本,输出 JSON 数组即可。项目自带 Telegram 和 Email 示例适配器,也可自行编写 Slack、Discord、webhook、RSS 等适配器。
命令行选项:
--demo:运行模拟唤醒循环,展示所有功能(无需 API key)--check:校验配置但不调用 LLM(在消耗 token 前验证设置)--once:运行单次唤醒循环后退出(便于测试)--dashboard:在唤醒循环之外同时启动 Web 仪表盘--dashboard-only:只运行仪表盘,不运行唤醒循环--dashboard-port N:设置仪表盘端口(默认 7600)
控制文件与信号:
.wake-interval:写入数字(秒)以改变 AI 唤醒频率.wake-now:touch 此文件可立即唤醒 AI(唤醒时被消费).sleep-until:写入 ISO 8601 时间戳以休眠到该时间.killed:touch 此文件停止循环,删除后恢复- ALIVE_KILL_PHRASE:在 .env 中设置,任何消息包含该短语时 AI 立即停止
提供方:在 .env 中设置 ALIVE_LLM_PROVIDER。使用 Claude Code 作为提供方可让 AI 获得原生文件访问、bash 执行、网页搜索等 Claude Code 工具,无需额外设置。使用 Ollama 可在自有硬件上以零 API 成本运行完全自主的 AI:安装 Ollama、拉取模型(ollama pull llama3.1),并在 .env 中设置 ALIVE_LLM_PROVIDER=ollama。所有设置通过 .env 或环境变量完成。
监控与日志:metrics.jsonl 记录会话指标(时长、token 用量、成功/失败);logs/sessions/ 保存每次会话的完整输出。
适用场景
适合希望以极小依赖和代码量搭建持续自主运行 AI 智能体的开发者,例如让 AI 自主监控仓库并修复 bug、围绕主题持续研究并产出报告,或作为个人自主 AI 的基础设施。项目强调“复杂度是自主性的敌人”,认为埋在框架代码下的智能体并非自主,而是受限的;一个简单的唤醒循环加灵魂文件和记忆文件夹才是自由。
限制
资料明确说明:除 Python 标准库和你的 LLM SDK 外无依赖;关于收费、价格、平台兼容范围等未在资料中给出更多说明,暂未提供。项目包含 29 项测试,覆盖 token 估算、唤醒间隔、kill phrase 检测、sleep-until、记忆读取、上下文构建、会话连续性、SIGTERM 处理与指标日志等核心功能。作者建议生产环境使用 systemd 部署。