English | 中文 | 📄 Technical Report: | 📘 Documentation
🌟 Overview
FreeBaby is a minimal, self-evolving autonomous agent framework. Its core is just ~3K lines of code. Through 9 atomic tools + a ~100-line Agent Loop, it grants any LLM system-level control over a local computer — covering browser, terminal, filesystem, keyboard/mouse input, screen vision, and mobile devices (ADB).
Its design philosophy: don't preload skills — evolve them.
Every time FreeBaby solves a new task, it automatically crystallizes the execution path into an skill for direct reuse later. The longer you use it, the more skills accumulate — forming a skill tree that belongs entirely to you, grown from 3K lines of seed code.
> 🤖 Self-Bootstrap Proof — Everything in this repository, from installing Git and running git init to every commit message, was completed autonomously by FreeBaby. The author never opened a terminal once.
📋 Core Features
- Self-Evolving: Automatically crystallizes each task into an skill. Capabilities grow with every use, forming your personal skill tree. - Minimal Architecture: ~3K lines of core code. Agent Loop is ~100 lines. No complex dependencies, zero deployment overhead. - Strong Execution: Injects into a real browser (preserving login sessions). 9 atomic tools take direct control of the system. - High Compatibility: Supports Claude / Gemini / Kimi / MiniMax and other major models. Cross-platform. - Token Efficient: <30K context window — a fraction of the 200K–1M other agents consume. Layered memory ensures the right knowledge is always in scope. Less noise, fewer hallucinations, higher success rate — at a fraction of the cost.
🧬 Self-Evolution Mechanism
This is what fundamentally distinguishes FreeBaby from every other agent framework.
[New Task] --> [Autonomous Exploration] (install deps, write scripts, debug & verify) -->
[Crystallize Execution Path into skill] --> [Write to Memory Layer] --> [Direct Recall on Next Similar Task]
| What you say | What the agent does the first time | Every time after | |---|---|---| | *"Read my WeChat messages"* | Install deps → reverse DB → write read script → save skill | one-line invoke | | *"Monitor stocks and alert me"* | Install mootdx → build selection flow → configure cron → save skill | one-line start | | *"Send this file via Gmail"* | Configure OAuth → write send script → save skill | ready to use |
After a few weeks, your agent instance will have a skill tree no one else in the world has — all grown from 3K lines of seed code.
##### 🎯 Demo Showcase
| 🧋 Food Delivery Order | 📈 Quantitative Stock Screening |
|:---:|:---:|
|
|
|
| *"Order me a milk tea"* — Navigates the delivery app, selects items, and completes checkout automatically. | *"Find GEM stocks with EXPMA golden cross, turnover > 5%"* — Screens stocks with quantitative conditions. |
| 🌐 Autonomous Web Exploration | 💰 Expense Tracking | 💬 Batch Messaging |
|
|
|
|
| Autonomously browses and periodically summarizes web content. | *"Find expenses over ¥2K in the last 3 months"* — Drives Alipay via ADB. | Sends bulk WeChat messages, fully driving the WeChat client. |
📅 Latest News
- 2026-04-21: 📄 Technical Report released on arXiv — *FreeBaby: A Token-Efficient Self-Evolving LLM Agent via Contextual Information Density Maximization* - 2026-04-11: Introduced L4 session archive memory and scheduler cron integration - 2026-03-23: Support personal WeChat as a bot frontend - 2026-03-10: Released million-scale Skill Library - 2026-03-08: Released "Dintal Claw" — a FreeBaby-powered government affairs bot - 2026-03-01: FreeBaby featured by Jiqizhixin (机器之心) - 2026-01-16: FreeBaby V1.0 public release
---
🚀 Quick Start
Method 1: Standard Installation
# 1. Clone the repo
git clone https://github.com/weiwei0450/FreeBaby.git
cd FreeBaby# 2. Install minimal dependencies
pip install requests streamlit pywebview
# 3. Configure API Key
cp mykey_template.py mykey.py
# Edit mykey.py and fill in your LLM API Key
# 4. Launch
python launch.pyw
Method 2: uv (for experienced Python users)
If you prefer a modern Python workflow, FreeBaby also provides a minimal pyproject.toml:
git clone https://github.com/weiwei0450/FreeBaby.git
cd FreeBaby
uv pip install -e ".[ui]" # Core + GUI dependencies
cp mykey_template.py mykey.py
python launch.pyw
> FreeBaby is meant to grow its environment through the Agent itself, not by pre-installing every possible package.
Full guide: GETTING_STARTED.md
---
🤖 Bot Interface (Optional)
Telegram Bot
# mykey.py
tg_bot_token = 'YOUR_BOT_TOKEN'
tg_allowed_users = [YOUR_USER_ID]
python frontends/tgapp.py
Alternative App Frontends
Besides the default Streamlit web UI, you can also try other frontend styles:
python frontends/qtapp.py # Qt-based desktop app
streamlit run frontends/stapp2.py # Alternative Streamlit UI
Common Chat Commands
The default Streamlit desktop UI started by python launch.pyw, plus the QQ / Telegram / Feishu / WeCom / DingTalk frontends, support these chat commands:
- /new - start a fresh conversation and clear the current context
- /continue - list recoverable conversation snapshots
- /continue N - restore the Nth recoverable conversation
📊 Comparison with Similar Tools
| Feature | FreeBaby | OpenClaw | Claude Code |
|------|:---:|:---:|:---:|
| Codebase | ~3K lines | ~530,000 lines | Open-sourced (large) |
| Deployment | pip install + API Key | Multi-service orchestration | CLI + subscription |
| Browser Control | Real browser (session preserved) | Sandbox / headless browser | Via MCP plugin |
| OS Control | Mouse/kbd, vision, ADB | Multi-agent delegation | File + terminal |
| Self-Evolution | Autonomous skill growth | Plugin ecosystem | Stateless between sessions |
| Out of the Box | A few core files + starter skills | Hundreds of modules | Rich CLI toolset |
🧠 How It Works
FreeBaby accomplishes complex tasks through Layered Memory × Minimal Toolset × Autonomous Execution Loop, continuously accumulating experience during execution.
1️⃣ Layered Memory System > _Memory crystallizes throughout task execution, letting the agent build stable, efficient working patterns over time._
- L0 — Meta Rules: Core behavioral rules and system constraints of the agent - L1 — Insight Index: Minimal memory index for fast routing and recall - L2 — Global Facts: Stable knowledge accumulated over long-term operation - L3 — Task Skills / SOPs: Reusable workflows for completing specific task types - L4 — Session Archive: Archived task records distilled from finished sessions for long-horizon recall
2️⃣ Autonomous Execution Loop
> _Perceive environment state → Task reasoning → Execute tools → Write experience to memory → Loop_
The entire core loop is just ~100 lines of code (agent_loop.py).
3️⃣ Minimal Toolset > _FreeBaby provides only 9 atomic tools, forming the foundational capabilities for interacting with the outside world._
| Tool | Function |
|------|------|
| code_run | Execute arbitrary code |
| file_read | Read files |
| file_write | Write files |
| file_patch | Patch / modify files |
| web_scan | Perceive web content |
| web_execute_js | Control browser behavior |
| ask_user | Human-in-the-loop confirmation |
> Additionally, 2 memory management tools (update_working_checkpoint, start_long_term_update) allow the agent to persist context and accumulate experience across sessions.
4️⃣ Capability Extension Mechanism > _Capable of dynamically creating new tools._
Via code_run, FreeBaby can dynamically install Python packages, write new scripts, call external APIs, or control hardware at runtime — crystallizing temporary abilities into permanent tools.
FreeBaby Workflow Diagram
⭐ Support
If this project helped you, please consider leaving a Star! 🙏
You're also welcome to join our FreeBaby Community Group for discussion, feedback, and co-building 👏
WeChat Group 8![]() |
WeChat Group 9![]() |
WeChat Group 11![]() |
🚩 Friendly Links
Thanks for the support from the LinuxDo community!

📄 License
MIT License — see LICENSE
*Disclaimer: This project does not build or operate any commercial website. Apart from DintalClaw, no institution, organization, or individual is currently officially authorized to conduct commercial activities under the FreeBaby name.*
🌟 项目简介
FreeBaby 是一个极简、可自我进化的自主 Agent 框架。核心仅 ~3K 行代码,通过 9 个原子工具 + ~100 行 Agent Loop,赋予任意 LLM 对本地计算机的系统级控制能力,覆盖浏览器、终端、文件系统、键鼠输入、屏幕视觉及移动设备。
它的设计哲学是:不预设技能,靠进化获得能力。
每解决一个新任务,FreeBaby 就将执行路径自动固化为 Skill,供后续直接调用。使用时间越长,沉淀的技能越多,形成一棵完全属于你、从 3K 行种子代码生长出来的专属技能树。
> 🤖 自举实证 — 本仓库的一切,从安装 Git、git init 到每一条 commit message,均由 FreeBaby 自主完成。作者全程未打开过一次终端。
📋 核心特性
- 自我进化: 每次任务自动沉淀 Skill,能力随使用持续增长,形成专属技能树 - 极简架构: ~3K 行核心代码,Agent Loop 约百行,无复杂依赖,部署零负担 - 强执行力: 注入真实浏览器(保留登录态),9 个原子工具直接接管系统 - 高兼容性: 支持 Claude / Gemini / Kimi / MiniMax 等主流模型,跨平台运行 - 极致省 Token: 上下文窗口不到 30K,是其他 Agent(200K–1M)的零头。分层记忆让关键信息始终在场——噪声更少,幻觉更低,成功率反而更高,而成本低一个数量级。🧬 自我进化机制
这是 FreeBaby 区别于其他 Agent 框架的根本所在。
[遇到新任务]-->自主摸索-->
[将执行路径固化为 Skill]-->[写入记忆层]-->[下次同类任务直接调用]
| 你说的一句话 | Agent 第一次做了什么 | 之后每次 | |---|---|---| | *"监控股票并提醒我"* | 安装 mootdx → 构建选股流程 → 配置定时任务 → 保存 Skill | 一句话启动 | | *"用 Gmail 发这个文件"* | 配置 OAuth → 编写发送脚本 → 保存 Skill | 直接可用 |
用几周后,你的 Agent 实例将拥有一套任何人都没有的专属技能树,全部从 3K 行种子代码中生长而来。
🎯 实例展示
| 🧋 外卖下单 | 📈 量化选股 |
|:---:|:---:|
|
|
|
| *"Order me a milk tea"* — 自动导航外卖 App,选品并完成结账 | *"Find GEM stocks with EXPMA golden cross, turnover > 5%"* — 量化条件筛股 |
| 🌐 自主网页探索 | 💰 支出追踪 | 💬 批量消息 |
|
|
|
|
| 自主浏览并定时汇总网页信息 | *"查找近 3 个月超 ¥2K 的支出"* — 通过 ADB 驱动支付宝 | 批量发送微信消息,完整驱动微信客户端 |
📅 最新动态
- 2026-04-21: 📄 技术报告已发布至 arXiv — *FreeBaby: A Token-Efficient Self-Evolving LLM Agent via Contextual Information Density Maximization* - 2026-04-11: 引入 L4 会话归档记忆,并接入 scheduler cron 调度 - 2026-03-23: 支持个人微信接入作为 Bot 前端 - 2026-03-10: 发布百万级 Skill 库 - 2026-03-08: 发布以 FreeBaby 为核心的"政务龙虾" Dintal Claw - 2026-03-01: FreeBaby 被机器之心报道 - 2026-01-16: FreeBaby V1.0 公开版本发布
---
🚀 快速开始
方法一:标准安装
# 1. 克隆仓库
git clone https://github.com/weiwei0450/FreeBaby.git
cd FreeBaby# 2. 安装最小依赖
pip install requests streamlit pywebview
# 3. 配置 API Key
cp mykey_template.py mykey.py
# 编辑 mykey.py,填入你的 LLM API Key
# 4. 启动
python launch.pyw
方法二:uv 快速安装(熟悉 Python 的用户)
如果你习惯现代 Python 工作流,FreeBaby 也提供了一个最小化的 pyproject.toml:
git clone https://github.com/weiwei0450/FreeBaby.git
cd FreeBaby
uv pip install -e ".[ui]" # 核心 + GUI 依赖
cp mykey_template.py mykey.py
python launch.pyw
> FreeBaby 更推荐由 Agent 在使用中自举环境,而不是预先手动装完整依赖。
完整引导流程见 GETTING_STARTED.md。
📖 新手使用指南(图文版):飞书文档
📘 完整入门教程:FreeBaby 文档
---
🤖 Bot 接口(可选)
微信 Bot(个人微信)
无需额外配置,扫码登录即可:
pip install pycryptodome qrcode requests
python frontends/wechatapp.py
> 首次启动会弹出二维码,用微信扫码完成绑定。之后通过微信消息与 Agent 交互。
QQ Bot
使用 qq-botpy WebSocket 长连接,无需公网 webhook:
pip install qq-botpy
在 mykey.py 中补充:
qq_app_id = "YOUR_APP_ID"
qq_app_secret = "YOUR_APP_SECRET"
qq_allowed_users = ["YOUR_USER_OPENID"] # 或 ['*'] 公开访问
python frontends/qqapp.py
> 在 QQ 开放平台 创建机器人获取 AppID / AppSecret。首次消息后,用户 openid 记录于 temp/qqapp.log。
飞书(Lark)
pip install lark-oapi
python frontends/fsapp.py
fs_app_id = "cli_xxx"
fs_app_secret = "xxx"
fs_allowed_users = ["ou_xxx"] # 或 ['*']
入站支持:文本、富文本 post、图片、文件、音频、media、交互卡片 / 分享卡片 出站支持:流式进度卡片、图片回传、文件 / media 回传 视觉模型:图片首轮以真正的多模态输入发送给兼容 OpenAI Vision 的后端
详细配置见 assets/SETUP_FEISHU.md
企业微信(WeCom)
pip install wecom_aibot_sdk
python frontends/wecomapp.py
wecom_bot_id = "your_bot_id"
wecom_secret = "your_bot_secret"
wecom_allowed_users = ["your_user_id"]
wecom_welcome_message = "你好,我在线上。"
钉钉(DingTalk)
pip install dingtalk-stream
python frontends/dingtalkapp.py
dingtalk_client_id = "your_app_key"
dingtalk_client_secret = "your_app_secret"
dingtalk_allowed_users = ["your_staff_id"] # 或 ['*']
其他 App 前端
除默认的 Streamlit Web UI 外,还可以尝试不同风格的前端:
python frontends/qtapp.py # 基于 Qt 的桌面应用
streamlit run frontends/stapp2.py # 另一种 Streamlit 风格 UI
通用聊天命令
默认通过 python launch.pyw 启动的 Streamlit 桌面 UI,以及 QQ / Telegram / 飞书 / 企业微信 / 钉钉前端,都支持以下命令:
- /new - 开启新对话并清空当前上下文
- /continue - 列出可恢复会话快照
- /continue N - 恢复第 N 个可恢复会话
📊 与同类产品对比
| 特性 | FreeBaby | OpenClaw | Claude Code |
|------|:---:|:---:|:---:|
| 代码量 | ~3K 行 | ~530,000 行 | 已开源(体量大) |
| 部署方式 | pip install + API Key | 多服务编排 | CLI + 订阅 |
| 浏览器控制 | 注入真实浏览器(保留登录态) | 沙箱 / 无头浏览器 | 通过 MCP 插件 |
| OS 控制 | 键鼠、视觉、ADB | 多 Agent 委派 | 文件 + 终端 |
| 自我进化 | 自主生长 Skill 和工具 | 插件生态 | 会话间无状态 |
| 出厂配置 | 几个核心文件 + 少量初始 Skills | 数百模块 | 丰富 CLI 工具集 |
🧠 工作机制
FreeBaby 通过分层记忆 × 最小工具集 × 自主执行循环完成复杂任务,并在执行过程中持续积累经验。
1️⃣ 分层记忆系统 > 记忆在任务执行过程中持续沉淀,使 Agent 逐步形成稳定且高效的工作方式
- L0 — 元规则(Meta Rules):Agent 的基础行为规则和系统约束 - L1 — 记忆索引(Insight Index):极简索引层,用于快速路由与召回 - L2 — 全局事实(Global Facts):在长期运行过程中积累的稳定知识 - L3 — 任务 Skills / SOPs:完成特定任务类型的可复用流程 - L4 — 会话归档(Session Archive):从已完成任务中提炼出的归档记录,用于长程召回
2️⃣ 自主执行循环
> 感知环境状态 → 任务推理 → 调用工具执行 → 经验写入记忆 → 循环
整个核心循环仅 约百行代码(agent_loop.py)。
3️⃣ 最小工具集 >FreeBaby 仅提供 9 个原子工具,构成与外部世界交互的基础能力
| 工具 | 功能 |
|------|------|
| code_run | 执行任意代码 |
| file_read | 读取文件 |
| file_write | 写入文件 |
| file_patch | 修改文件 |
| web_scan | 感知网页内容 |
| web_execute_js | 控制浏览器行为 |
| ask_user | 人机协作确认 |
> 此外,还有 2 个记忆管理工具(update_working_checkpoint、start_long_term_update),使 Agent 能够跨会话积累经验、维持持久上下文。
4️⃣ 能力扩展机制
> 具备动态创建新的工具能力
>
通过 code_run,FreeBaby 可在运行时动态安装 Python 包、编写新脚本、调用外部 API 或控制硬件,将临时能力固化为永久工具。
FreeBaby 工作流程图
⭐ 支持
如果这个项目对您有帮助,欢迎点一个 Star! 🙏同时也欢迎加入我们的FreeBaby体验交流群,一起交流、反馈和共建 👏
微信群 9![]() |
微信群 11![]() |
微信群 12![]() |
🚩 友情链接
感谢 LinuxDo 社区的支持!

📄 许可
MIT License — 详见 LICENSE*声明:本项目未构建任何商业站点;除 DintalClaw 外,目前未官方授权任何机构、组织或个人以 FreeBaby 名义从事商业活动。*
📈 Star History
# 🚀 新手上手指南
> 完全没接触过编程也没关系,跟着做就行。Mac / Windows 都适用。 > > 如果你已经有 Python 环境,直接跳到第 2 步。
---
1. 安装 Python
Mac
打开「终端」(启动台搜索 "终端" 或 "Terminal"),粘贴这行命令然后回车:
brew install python
如果提示 brew: command not found,说明还没装 Homebrew,先粘贴这行:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
装完后再执行 brew install python。
Windows
1. 打开 python.org/downloads,点黄色大按钮下载 2. 运行安装包,底部的 "Add Python to PATH" 一定要勾上 3. 点 "Install Now"
验证
终端 / 命令提示符里输入:
python3 --version
看到 Python 3.x.x 就 OK。Windows 上也可以试 python --version。
> ⚠️ 版本提示:推荐 Python 3.11 或 3.12。不要使用 3.14(与 pywebview 等依赖不兼容)。
---
2. 配置 API Key
下载项目
1. 打开 GitHub 仓库页面 2. 点绿色 Code 按钮 → Download ZIP 3. 解压到你喜欢的位置
创建配置文件
进入项目文件夹,把 mykey_template.py 复制一份,重命名为 mykey.py。
用任意文本编辑器打开 mykey.py,填入你的 API 信息。选一种填就行,不用的配置删掉或留着不管都行。
配置示例
最常见的用法:
# 变量名含 'oai' → 走 OpenAI 兼容格式 (/chat/completions)
oai_config = {
'apikey': 'sk-你的密钥',
'apibase': 'http://你的API地址:端口',
'model': '模型名称',
}
# 变量名含 'claude'(不含 'native')→ 走 Claude 兼容格式 (/messages)
claude_config = {
'apikey': 'sk-你的密钥',
'apibase': 'http://你的API地址:端口',
'model': 'claude-sonnet-4-20250514',
}
# MiniMax 使用 OpenAI 兼容格式,变量名含 'oai' 即可
# 温度自动修正为 (0, 1],支持 M2.7 / M2.5 全系列,204K 上下文
oai_minimax_config = {
'apikey': 'eyJh...',
'apibase': 'https://api.minimax.io/v1',
'model': 'MiniMax-M2.7',
}
使用标准工具调用格式(适合较弱模型):
# 变量名同时含 'native' 和 'claude' → Claude 标准工具调用格式
native_claude_config = {
'apikey': 'sk-ant-你的密钥',
'apibase': 'https://api.anthropic.com',
'model': 'claude-sonnet-4-20250514',
}
> 💡 还支持 native_oai_config(OpenAI 标准工具调用)、sider_cookie(Sider)等,详见 mykey_template.py 中的注释。
关键规则
变量命名决定接口格式(不是模型名决定的):
| 变量名包含 | 触发的 Session | 适用场景 |
|-----------|---------------|---------|
| oai | OpenAI 兼容 | 大多数 API 服务、OpenAI 官方 |
| claude(不含 native) | Claude 兼容 | Claude API 服务 |
| native + claude | Claude 标准工具调用 | 较弱模型推荐,工具调用更规范 |
| native + oai | OpenAI 标准工具调用 | 较弱模型推荐,工具调用更规范 |
> 例:用 Claude 模型,但 API 服务提供的是 OpenAI 兼容接口 → 变量名用 oai_xxx。
> 例:用 MiniMax 模型 → 变量名用 oai_minimax_config,MiniMax 走 OpenAI 兼容接口。
apibase 填写规则(会自动拼接端点路径):
| 你填的内容 | 系统行为 |
|-----------|---------|
| http://host:2001 | 自动补 /v1/chat/completions |
| http://host:2001/v1 | 自动补 /chat/completions |
| http://host:2001/v1/chat/completions | 直接使用,不拼接 |
---
3. 初次启动
终端里进入项目文件夹,运行:
cd 你的解压路径
python3 agentmain.py
这就是命令行模式,已经可以用了。你会看到一个输入提示符,直接打字发送任务即可。
试试你的第一个任务:
帮我在桌面创建一个 hello.txt,内容是 Hello World
> 💡 Windows 上如果 python3 不识别,换成 python agentmain.py。
---
4. 让 Agent 自己装依赖
Agent 启动后,只需要一句话,它就会自己搞定所有依赖:
请查看你的代码,安装所有用得上的 python 依赖
Agent 会自己读代码、找出需要的包、全部装好。
> ⚠️ 如果遇到网络问题导致 Agent 无法调用 API,可能需要先手动装一个包: >
> pip install requests
> 升级到图形界面
依赖装完后,就可以用 GUI 模式了:
python3 launch.pyw
启动后会出现一个桌面悬浮窗,直接在里面输入任务指令。
可选:让 Agent 帮你做的事
请帮我建立 git 连接,方便以后更新代码
Agent 会自动配好。如果你电脑上没有 Git,它也会帮你下载 portable 版。
请帮我在桌面创建一个 launch.pyw 的快捷方式
这样以后双击桌面图标就能启动,不用再开终端了。
---
5. 能力解锁
环境跑起来之后,你可以逐步解锁更多能力。每一项都只需要对 Agent 说一句话:
基础能力
| 能力 | 对 Agent 说 | 说明 |
|------|-----------|------|
| PowerShell 脚本执行 | 帮我解锁当前用户的 PowerShell ps1 执行权限 | Windows 默认禁止运行 .ps1 脚本 |
| 全局文件搜索 | 安装并配置 Everything 命令行工具进 PATH | 毫秒级全盘文件搜索 |
浏览器自动化
| 能力 | 对 Agent 说 | 说明 |
|------|-----------|------|
| Web 工具解锁 | 执行 web setup sop,解锁 web 工具 | 注入浏览器插件,使 Agent 能直接操控网页 |
解锁后,Agent 可以在保留你登录态的真实浏览器中操作:
打开淘宝,搜索 iPhone 16,按价格排序
去 B 站,查看我最近看过的历史视频
进阶能力
| 能力 | 对 Agent 说 | 说明 |
|------|-----------|------|
| OCR | 用rapidocr配置你的ocr能力并存入记忆 | 让 Agent 能"看到"屏幕文字 |
| 屏幕视觉 | 仿造你的llmcore,写个调用vision的能力并存入记忆 | 让 Agent 能"看到"屏幕内容 |
| 移动端控制 | 配置 ADB 环境,准备连接安卓设备 | 通过 USB/WiFi 控制 Android 手机 |
聊天平台接入(可选)
接入后可以随时随地通过手机给电脑上的 Agent 发指令。
对 Agent 说:看你的代码,帮我配置 XX 平台的机器人接入
支持的平台:微信个人Bot / QQ / 飞书 / 企业微信 / 钉钉 / Telegram
> Agent 会自动读取代码、引导你完成配置。
高级模式
以下模式全部自文档化——不用查手册,直接问 Agent 即可:
| 模式 | 对 Agent 说 |
|------|------------|
| Reflect(反射) | 查看你的代码,告诉我你的 reflect 模式怎么启用 |
| 计划任务 | 查看你的代码,告诉我你的计划任务模式怎么启用 |
| Plan(规划) | 查看你的代码,告诉我你的 plan 模式怎么启用 |
| SubAgent(子代理) | 查看你的代码,告诉我你的 subagent 模式怎么启用 |
| 自主探索 | 查看你的代码,告诉我你的自主探索模式怎么启用 |
> 💡 这就是 FreeBaby 的核心设计理念:代码即文档。Agent 能读懂自己的源码,所以任何功能你都可以直接问它。
---
💡 使用越久越强
FreeBaby 不预设技能,而是靠使用进化。每完成一个新任务,它会自动将执行路径固化为 Skill,下次遇到类似任务直接调用。
你不需要管理这些 Skill,Agent 会自动处理。使用时间越长,积累的技能越多,最终形成一棵完全属于你的专属技能树。
> 💡 如果你觉得某些重要信息 Agent 没有记住,可以直接告诉它:把这个记到你的记忆里,它会主动记忆。
其他 Claw 的 Skill 也可以直接复用:
- 让 Agent 搜索:帮我找个做 XXX 的 skill → 完成后 → 加入你的记忆中
- 直接指定来源:访问 XXX 文件夹/URL,按照这个 skill 做 XXX
保持更新:
对 Agent 说:git 更新你的代码,然后看看 commit 有什么新功能
> Agent 会自动 pull 最新代码并解读 commit log,告诉你新增了什么能力。
# Contributing to FreeBaby
Why This File Is Short
FreeBaby's core is ~3K lines. Every file in this repo will be read by AI agents — potentially thousands of times. Extra words cost real tokens and push useful context out of the window, increasing hallucinations. This document practices what it preaches: say only what matters.
Before You Contribute
1. Read the codebase first. It's small enough to read in one sitting. Understand the philosophy before proposing changes. 2. Open an Issue first for anything non-trivial. Discuss before coding.
Code Standards
All PRs go through a strict automated code review skill. Key expectations:
- Self-documenting code, minimal comments. If code needs a paragraph to explain, rewrite it. - Compact and visually uniform. Fewer lines, consistent line lengths, no fluff. - Small change radius. Changing A shouldn't ripple through B, C, D. - More features → less code. Good abstractions make the codebase shrink, not grow. - Let it crash by failure radius. Critical errors fail loud; trivial ones pass silently. No blanket try-catch.
> ⚠️ This review is deliberately strict — most AI-generated code (e.g. Claude Code output) will not pass as-is. Read the full principles before submitting.
Skill Contributions
FreeBaby evolves through skills. Not all skills belong in the core repo:
| Type | Where it goes | Example |
|---|---|---|
| Fundamental / universal | Core repo (memory/) | File search, clipboard, basic web ops |
| Domain-specific / niche | Skill Marketplace *(coming soon)* | Stock screening, food delivery, specific API integrations |
If your skill only makes sense for a specific workflow, it's a marketplace candidate, not a core PR.
PR Checklist
- [ ] Issue linked or context explained in ≤3 sentences - [ ] Code passes the [review principles] self-check: 1. Can I safely modify this locally without reading the whole codebase? 2. Is there a clear core abstraction — new features add implementations, not modify old logic? 3. Are change points converging at boundaries, not scattered everywhere? 4. On failure, can I quickly locate the responsible module? - [ ] Net line count: ideally negative or zero for refactors - [ ] No unnecessary dependencies added



