Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

飞书机器人接入 Claude Code,多人独立上下文,本地电脑操作助手,效果类似clawdbot

Notifications You must be signed in to change notification settings

qingpingwang/remote-claude-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

2 Commits

Repository files navigation

Claude Code 飞书机器人

将 Claude Code 接入飞书,实现本地电脑助手功能。

核心特性

多人协作,独立上下文

  • 支持多人同时使用,互不干扰
  • 每个聊天窗口(私聊/群聊)拥有独立的对话上下文
  • 上下文自动持久化,重启后可继续之前的对话
┌─────────────────────────────────────────────────────┐
│ 飞书聊天窗口 Claude Code Session │
├─────────────────────────────────────────────────────┤
│ 张三 私聊 ────────► session_abc (独立上下文) │
│ 李四 私聊 ────────► session_xyz (独立上下文) │
│ 项目群聊 ────────► session_123 (共享上下文) │
│ 测试群聊 ────────► session_456 (共享上下文) │
└─────────────────────────────────────────────────────┘

本地电脑操作能力

  • 文件读写、创建、删除
  • 执行 Shell/Python 脚本
  • 打开/关闭应用程序
  • Git 操作、包管理等开发任务

与 ClawdBot 的比较

特性 本项目 ClawdBot
聊天平台 飞书 Slack/Discord
AI 后端 Claude Code (本地 CLI) Claude API
核心能力 本地电脑操作 对话助手
连接方式 飞书长连接 WebSocket Webhook
多用户支持 每个聊天独立上下文 全局/按用户
会话管理 SQLite 持久化 内存/Redis

相似之处:

  • 都是将 Claude 接入企业聊天工具
  • 都支持多轮连续对话
  • 都通过 session/thread 管理对话上下文

本项目特色:

  • 使用 Claude Code,可执行本地命令、操作文件
  • 每个聊天窗口独立上下文,群聊成员共享同一上下文
  • 飞书长连接方式,无需公网域名
  • 轻量级,单文件即可运行

快速开始

1. 安装依赖

pip install -r requirements.txt

2. 配置环境变量

cp .env.example .env
# 编辑 .env,填入飞书应用的 APP_ID 和 APP_SECRET
APP_ID=cli_xxxxxx
APP_SECRET=xxxxxx

3. 安装 Claude Code

# macOS/Linux
curl -fsSL https://claude.ai/install.sh | bash
# Windows
npm install -g @anthropic-ai/claude-code
# 登录
claude login

4. 飞书应用配置

  1. 进入 飞书开放平台
  2. 创建应用,获取 APP_ID 和 APP_SECRET
  3. 事件订阅 → 选择"使用长连接接收事件"
  4. 添加事件:im.message.receive_v1
  5. 权限管理 → 添加 im:message 相关权限

5. 启动

# 前台运行
python -m src.main_websocket
# 后台运行
./start.sh
# 停止
./stop.sh
# 查看日志
tail -f log.log

使用示例

在飞书中 @机器人:

@机器人 帮我创建一个 hello.py 文件
@机器人 运行刚才的脚本
@机器人 打开网易云音乐
@机器人 当前目录有哪些文件

项目结构

├── src/
│ ├── main_websocket.py # 主程序(飞书长连接)
│ ├── claude_code/ # Claude Code 封装
│ │ ├── conversation.py # 对话客户端
│ │ └── __init__.py
│ ├── feishu_utils/ # 飞书工具
│ │ └── feishu_utils.py
│ └── data_base_utils/ # 数据库
│ └── session_store.py # 会话存储
├── data/
│ └── sessions.db # SQLite 数据库
├── .env # 环境变量
├── start.sh / stop.sh # 启停脚本
└── requirements.txt

技术栈

  • Python 3.10+
  • claude-agent-sdk(Claude Code Python SDK)
  • lark-oapi(飞书 SDK)
  • SQLite(会话持久化)

扩展其他 Agent

本项目采用模块化设计,可轻松替换或扩展后端 Agent:

┌──────────────┐ ┌─────────────────┐ ┌────────────────────┐
│ 飞书消息 │ ───► │ main_websocket │ ───► │ Agent 后端 │
│ (chat_id) │ │ (路由/分发) │ │ │
└──────────────┘ └─────────────────┘ └────────────────────┘
 │
 ┌──────────────────────────┼──────────────────────────┐
 ▼ ▼ ▼
 ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
 │ Claude Code │ │ OpenAI │ │ 自定义 Agent │
 │ (当前实现) │ │ Agent │ │ │
 └──────────────┘ └──────────────┘ └──────────────┘

扩展方式

只需实现一个 chat_sync(message, session_id) 函数:

# src/your_agent/client.py
def chat_sync(message: str, session_id: str = None) -> tuple[str, str]:
 """
 Args:
 message: 用户消息
 session_id: 会话 ID(用于保持上下文)

 Returns:
 (回复内容, 新的 session_id)
 """
 # 你的 Agent 实现
 reply = your_agent.chat(message, session_id)
 return reply, session_id

然后在 main_websocket.py 中替换导入:

# 替换这行
from src.claude_code import chat_sync
# 改为
from src.your_agent import chat_sync

可扩展的 Agent 示例

Agent 能力 适用场景
Claude Code 本地文件/命令操作 开发助手、自动化
OpenAI Assistants 对话 + 代码解释器 数据分析、问答
LangChain Agent 自定义工具链 复杂工作流
Dify/Coze 可视化编排 快速原型
本地 LLM Ollama/vLLM 私有部署

About

飞书机器人接入 Claude Code,多人独立上下文,本地电脑操作助手,效果类似clawdbot

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /