科学工具
科学工具让世界更美好
让世界更美好

AI代理变成工具Catnip

Catnip 是一个为AI代理编程设计的多代理编码工作区,能解决AI助手并行处理任务时的混乱管理问题,提供了一个隔离的容器化沙盒环境(支持Docker和Apple Container SDK),确保AI代理安全运行而无需频繁权限确认,通过自动化的Git工作树管理实现多任务并行开发,每个代理拥有独立的开发空间并自动将变更提交到可追溯的Git分支。Catnip具备可视化的Web界面和移动端UI,允许用户随时随地创建、监控和管理代理任务,支持内置代理实时预览容器内运行的Web服务变更,深度集成主流IDE进行远程开发,允许高度定制化的环境配置,如指定语言版本、传递环境变量,支持容器内运行Docker命令,全面优化了AI工程师进行LLM和代理应用开发的复杂工作流。

隔离沙箱:所有代码运行在容器化环境中,安全无虞

工作树管理:使用Git工作树让多个代理可以并行工作

移动界面:支持手机访问,随时查看和管理项目

全终端访问:通过Web界面、CLI或SSH打开多个终端

实时预览:内置代理和端口检测,启动服务即可预览

通用访问:支持Cursor或VS Code等IDE远程开发

Catnip 快速上手

GitHub Codespaces / Devcontainers

.devcontainer/devcontainer.json中添加Catnip特性:

{
  "features": {
    "ghcr.io/wandb/catnip/feature:1": {}
  },
  "forwardPorts": [6369]
}

端口6369是因为在手机键盘上输入CATS得到的数字就是6369。

启动后,通过左侧边栏的猫图标打开界面,或访问catnip.run在手机上使用。

Catnip 本地开发

# 安装
curl -sSfL install.catnip.sh | sh

# 在项目中运行
cd ~/Development/my_awesome_project
catnip run

# 打开 http://localhost:6369

Catnip 高级功能

环境配置

语言版本:设置环境变量指定语言版本

CATNIP_NODE_VERSION=20.11.0
CATNIP_PYTHON_VERSION=3.12

项目初始化:在仓库根目录添加setup.sh自动安装依赖

pip install -r requirements.txt
npm install
docker-compose up -d --build

环境变量:使用-e参数传递API密钥等敏感信息

catnip run -e ANTHROPIC_API_KEY -e OPENAI_API_KEY

Catnip 开发工具

SSH访问:默认配置SSH,支持远程开发

Docker in Docker:添加--dind参数支持容器内运行Docker

Git集成:自动创建工作区,提交更改到refs/catnip/$NAME

端口转发:自动检测并转发端口,支持多种服务预览

Catnip 常见问题

与其他工具的区别:Catnip是开源的,优先本地开发,支持云端部署,专为AI工程师设计。

AI助手支持:目前优化支持Claude Code,架构可扩展到其他AI助手。

适用场景:非常适合LLM应用开发,支持各种服务和工具的集成。

Git工作流:每个代理在独立工作树中,自动同步到友好命名的分支。