POSTGRES-PERMISSIONS.md: two databases -> three (skills, memory, ops). postgres-memory/layout.md: remove stale 'SQLite remains' statement. SKILLS-ARTIFACT-V1-PLAN.md: clean up SQLite references. REFACTOR-PLAN.md: SQLite + PostgreSQL -> PostgreSQL only. README_zh.md: replace NanoClaw-era architecture diagram and FAQ with Clawdie's FreeBSD/jail/PostgreSQL architecture. install.html: add operational state to split-brain description. CONTROLPLANE-AIDER-PI.md: update next steps. AGENTS.md: replace negative Paperclip instruction with positive controlplane description. --- Build: pass | Tests: not run (Linux)
8.9 KiB
Clawdie —— 您的专属 Claude 助手,在容器中安全运行。它轻巧易懂,并能根据您的个人需求灵活定制。
clawdie.si •
English •
•
新功能: 首个支持 Agent Swarms(智能体集群)的 AI 助手。可轻松组建智能体团队,在您的聊天中高效协作。
我为什么创建这个项目
OpenClaw 是一个令人印象深刻的项目,愿景宏大。但我无法安心使用一个我不了解却能访问我个人隐私的软件。OpenClaw 有 52+ 个模块、8 个配置管理文件、45+ 个依赖项,以及为 15 个渠道提供商设计的抽象层。其安全性是应用级别的(通过白名单、配对码实现),而非操作系统级别的隔离。所有东西都在一个共享内存的 Node 进程中运行。
Clawdie 用一个您能在 8 分钟内理解的代码库,为您提供了同样的核心功能。只有一个进程,少数几个文件。智能体(Agent)运行在具有文件系统隔离的真实 Linux 容器中,而不是依赖于权限检查。
快速开始
git clone https://codeberg.org/Clawdie/Clawdie-AI.git /home/clawdie/clawdie-ai
cd /home/clawdie/clawdie-ai
claude
然后运行 /setup。Claude Code 会处理一切:依赖安装、身份验证、容器设置、服务配置。
设计哲学
小巧易懂: 单一进程,少量源文件。无微服务、无消息队列、无复杂抽象层。让 Claude Code 引导您轻松上手。
通过隔离保障安全: 智能体运行在 Linux 容器(在 macOS 上是 Apple Container,或 Docker)中。它们只能看到被明确挂载的内容。即便通过 Bash 访问也十分安全,因为所有命令都在容器内执行,不会直接操作您的宿主机。
为单一用户打造: 这不是一个框架,是一个完全符合我个人需求的、可工作的软件。您可以 Fork 本项目,然后让 Claude Code 根据您的精确需求进行修改和适配。
定制即代码修改: 没有繁杂的配置文件。想要不同的行为?直接修改代码。代码库足够小,这样做是安全的。
AI 原生: 无安装向导(由 Claude Code 指导安装)。无需监控仪表盘,直接询问 Claude 即可了解系统状况。无调试工具(描述问题,Claude 会修复它)。
技能(Skills)优于功能(Features): 贡献者不应该向代码库添加新功能(例如支持 Telegram)。相反,他们应该贡献像 /add-telegram 这样的 Claude Code 技能,这些技能可以改造您的 fork。最终,您得到的是只做您需要事情的整洁代码。
最好的工具套件,最好的模型: 本项目运行在 Claude Agent SDK 之上,这意味着您直接运行的就是 Claude Code。工具套件至关重要。一个低效的工具套件会让再聪明的模型也显得迟钝,而一个优秀的套件则能赋予它们超凡的能力。Claude Code (在我看来) 是市面上最好的工具套件。
功能支持
- WhatsApp 输入/输出 - 通过手机给 Claude 发消息
- 隔离的群组上下文 - 每个群组都拥有独立的
AGENT.md记忆和隔离的文件系统。它们在各自的容器沙箱中运行,且仅挂载所需的文件系统。 - 主频道 - 您的私有频道(self-chat),用于管理控制;其他所有群组都完全隔离
- 计划任务 - 运行 Claude 的周期性作业,并可以给您回发消息
- 网络访问 - 搜索和抓取网页内容
- 容器隔离 - 智能体在 Apple Container (macOS) 或 Docker (macOS/Linux) 的沙箱中运行
- 智能体集群(Agent Swarms) - 启动多个专业智能体团队,协作完成复杂任务(首个支持此功能的个人 AI 助手)
- 可选集成 - 通过技能添加 Gmail (
/add-gmail) 等更多功能
使用方法
使用触发词(默认为 @Andy)与您的助手对话:
@Andy 每周一到周五早上9点,给我发一份销售渠道的概览(需要访问我的 Obsidian vault 文件夹)
@Andy 每周五回顾过去一周的 git 历史,如果与 README 有出入,就更新它
@Andy 每周一早上8点,从 Hacker News 和 TechCrunch 收集关于 AI 发展的资讯,然后发给我一份简报
在主频道(您的self-chat)中,可以管理群组和任务:
@Andy 列出所有群组的计划任务
@Andy 暂停周一简报任务
@Andy 加入"家庭聊天"群组
定制
没有需要学习的配置文件。直接告诉 Claude Code 您想要什么:
- "把触发词改成 @Bob"
- "记住以后回答要更简短直接"
- "当我说早上好的时候,加一个自定义的问候"
- "每周存储一次对话摘要"
或者运行 /customize 进行引导式修改。
代码库足够小,Claude 可以安全地修改它。
贡献
不要添加功能,而是添加技能。
如果您想添加 Telegram 支持,不要创建一个 PR 同时添加 Telegram 和 WhatsApp。而是贡献一个技能文件 (.agent/skills/add-telegram/SKILL.md),教 Claude Code 如何改造一个 Clawdie 安装以使用 Telegram。
然后用户在自己的 fork 上运行 /add-telegram,就能得到只做他们需要事情的整洁代码,而不是一个试图支持所有用例的臃肿系统。
RFS (技能征集)
我们希望看到的技能:
通信渠道
/add-telegram- 添加 Telegram 作为渠道。应提供选项让用户选择替换 WhatsApp 或作为额外渠道添加。也应能将其添加为控制渠道(可以触发动作)或仅作为被其他地方触发的动作所使用的渠道。/add-slack- 添加 Slack/add-discord- 添加 Discord
平台支持
/setup-windows- 通过 WSL2 + Docker 支持 Windows
会话管理
/add-clear- 添加一个/clear命令,用于压缩会话(在同一会话中总结上下文,同时保留关键信息)。这需要研究如何通过 Claude Agent SDK 以编程方式触发压缩。
系统要求
- macOS 或 Linux
- Node.js 20+
- Claude Code
- Apple Container (macOS) 或 Docker (macOS/Linux)
架构
Telegram + 计划任务 + IPC
↓
PostgreSQL ops 数据库(消息、群组、任务、会话)
↓
主机编排器 (Node.js)
↓
FreeBSD worker jail(s)
↓
智能体响应
单一 Node.js 进程。智能体在通过 nullfs 挂载实现文件系统隔离的 FreeBSD jail 中执行。每个群组拥有独立的消息队列和并发控制。PostgreSQL 部署在专用的 {agent}-db jail 中,以三库分离模式运行:系统技能库(预加载,只读)、用户/智能体记忆库(动态增长)、操作状态库(消息、任务、会话、路由)。
关键文件:
src/index.ts- 编排器:状态管理、消息循环、智能体调用src/channels/telegram.ts- 内置 Telegram 通道src/ipc.ts- IPC 监听与任务处理src/group-queue.ts- 各带全局并发限制的群组队列src/agent-runner.ts- 在 jail 中运行智能体进程src/task-scheduler.ts- 运行计划任务src/db.ts- PostgreSQL ops 操作(消息、群组、会话、状态、路由)setup/*.ts- 模块化安装入口groups/*/AGENTS.md- 各群组的记忆
FAQ
为什么使用 Telegram 而不是 WhatsApp?
Telegram 的 Bot API 原生支持、文档完善、无需手机配对。Fork 此项目并运行技能即可添加其他通道。
为什么使用 FreeBSD Jails 而不是 Docker?
FreeBSD Jails 提供原生性能、更简单的架构(更少层次)、与 ZFS 的原生集成、以及出色的安全性。
这个项目安全吗?
智能体在 FreeBSD jail 中运行,通过 nullfs 挂载实现文件系统隔离,而非依赖应用级权限检查。智能体只能访问明确挂载的目录。完整的安全模型请见 docs/public/operate/security.md。
为什么没有配置文件?
我们不希望配置泛滥。每个用户都应该定制它,让代码完全符合他们的需求,而不是去配置一个通用的系统。
我该如何调试问题?
问智能体。"为什么计划任务没有运行?" "最近的日志里有什么?" 这就是 AI 原生的方法。也可以运行 npm run doctor 检查系统健康状态。
社区
有任何疑问或建议?欢迎加入 Discord 社区与我们交流。
许可证
MIT