JackClaw 是一个基于飞书的智能工作助手系统,提供个人助手和团队协作两种模式。
JackClaw 包含两个核心模块:
- 飞书消息接收 - WebSocket 长连接接收私聊/群聊/thread 消息
- AI 对话助手 - 支持多轮对话、会话持久化
- 技能系统 - 动态加载外部技能(PDF/Excel/Word/搜索等)
- 沙盒执行 - 本地安全执行 Python/Bash 脚本
- 定时任务 - 支持 at/every/cron 三种调度模式
- 可观测性 - Prometheus metrics 暴露(端口 9091)
- 多角色协作 - Manager/PM/RD/QA 四个角色协同工作
- 智能任务分配 - 基于 SOP 的任务拆解和分配
- 邮箱系统 - 角色间异步通讯机制
- 心跳机制 - 定期检查和处理待办事项
- 项目全流程 - 从需求澄清到设计开发到测试交付的完整流程
- Python 3.12+
- Docker(用于 pgvector 和 sandbox 服务)
git clone https://github.com/jackluo2012/jack-claw.git
cd jack-claw./init.sh这个脚本会:
- 创建 Python 虚拟环境
- 安装依赖包
- 生成配置文件
- 创建必要目录
- 询问是否启动 Docker 服务
编辑项目根目录的 .env 文件:
# 飞书开放平台 https://open.feishu.cn/ → 应用 → 凭证与基础信息
FEISHU_APP_ID=your_app_id
FEISHU_APP_SECRET=your_app_secret
# 阿里云百炼 https://bailian.console.aliyun.com/
QWEN_API_KEY=your_qwen_api_key
# 百度千帆(用于搜索技能)
BAIDU_API_KEY=your_baidu_api_key
# pgvector 连接串(可选,用于语义检索)
MEMORY_DB_DSN=postgresql://user:pass@localhost:5432/jackclaw./start.sh
# 或
source .venv/bin/activate
python3 -m jackclaw.mainsource .venv/bin/activate
python3 -m jackclaw_team.mainsource .venv/bin/activate
python3 -m jackclaw_team.main --no-feishujack-claw/
├── .env # 所有密钥配置(不入 Git)
├── config.yaml # JackClaw 配置
├── jackclaw_team/
│ └── config.yaml # JackClaw Team 配置
├── jackclaw/ # 个人助手模块
│ ├── main.py # 入口文件
│ ├── config.py # 配置加载
│ ├── feishu/ # 飞书集成
│ ├── session/ # 会话管理
│ ├── llm/ # LLM 适配器
│ ├── agents/ # Agent 实现
│ ├── skills/ # 技能系统
│ └── sandbox/ # 沙盒执行
├── jackclaw_team/ # 团队协作模块
│ ├── main.py # 入口文件
│ ├── agents/ # 多角色 Agent
│ ├── workspace/ # 工作空间
│ │ ├── manager/ # 项目经理角色
│ │ ├── pm/ # 产品经理角色
│ │ ├── rd/ # 研发角色
│ │ ├── qa/ # 测试角色
│ │ └── shared/ # 共享项目空间
│ └── cron/ # 定时任务
├── data/ # 数据目录
│ ├── workspace/ # 工作区
│ ├── ctx/ # 上下文
│ ├── logs/ # 日志
│ └── sessions/ # 会话记录
├── start.sh # 启动脚本
├── stop.sh # 停止脚本
└── init.sh # 初始化脚本
workspace:
id: jackclaw-default
name: JackClaw 个人助手
feishu:
app_id: ${FEISHU_APP_ID}
app_secret: ${FEISHU_APP_SECRET}
agent:
model: qwen-turbo-1101
max_iter: 50
timeout_s: 300
sandbox:
url: http://localhost:8022/mcp
timeout_s: 120
memory:
workspace_dir: ./data/workspace
ctx_dir: ./data/ctx
db_dsn: ${MEMORY_DB_DSN:-}
session:
max_history_turns: 20workspace:
id: jackclaw-team
name: JackClaw 团队协作
agent:
model: qwen3.6-max-preview
max_iter: 30
sandbox:
url: http://localhost:8029/mcp
team:
roles: ["manager", "pm", "rd", "qa"]
memory:
workspace_dir: ./workspace
ctx_dir: ./data/ctxdocker compose -f pgvector-docker-compose.yaml up -ddocker compose -f sandbox-docker-compose.yaml up -d# JackClaw 日志
tail -f data/logs/jackclaw.log
# 实时监控
tail -f data/logs/*.log- JackClaw: http://localhost:9091/metrics
- JackClaw Team: http://localhost:9100/metrics
A: 检查 .env 文件中的飞书凭证是否正确配置。
A:
- 确认飞书应用已发布
- 检查权限配置(im:message、im:chat等)
- 验证 App ID 和 App Secret
A: 启动 sandbox 服务 docker compose -f sandbox-docker-compose.yaml up -d
A:
- 检查
jackclaw_team/config.yaml配置 - 确认 sandbox 服务运行在正确端口(8029)
- 查看日志中的错误信息
A:
- 减少
session.max_history_turns - 降低
agent.max_iter - 使用更快的模型(如 qwen-turbo)
.env文件包含敏感信息,已在.gitignore中排除- 飞书 App Secret 需要在开放平台重置后使用
- 建议在生产环境使用独立的数据库实例
- 在
jackclaw/skills/创建新的技能目录 - 编写
SKILL.md定义技能行为 - 在
load_skills.yaml中注册技能
- 在
jackclaw_team/workspace/创建新角色目录 - 定义
agent.md、soul.md、memory.md - 在
main.py中注册角色
MIT License
欢迎提交 Issue 和 Pull Request!