Skip to main content
Glama
saicharanrajoju

io.github.saicharanrajoju/letswork

LetsWork

通过 Claude Code 进行实时协作编码 — 两名开发者,一个代码库,各自使用自己的 Claude 订阅。

一名开发者主持会话。另一名开发者可从任何地方加入。双方都会获得连接到同一项目的实时 Claude Code 窗口 — 带有文件锁定和审批系统,以防止冲突。


工作原理

  1. 主持人 在其项目文件夹中运行 letswork start

  2. 通过 Cloudflare 自动创建安全的 HTTPS 隧道

  3. 生成并打印一次性 URL + 访客令牌

  4. 主持人将加入命令分享给访客

  5. 访客 在自己的机器上运行 letswork join <url> --token <token>

  6. 现在两位开发者都有了连接到同一个代码库的 Claude Code


Related MCP server: pairwave

环境要求

要求

macOS

Windows (WSL)

Python 3.10+

brew install python

Ubuntu WSL 自带

cloudflared

brew install cloudflared

请参阅下方 WSL 部分

Claude Code

npm install -g @anthropic-ai/claude-code

npm install -g @anthropic-ai/claude-code(在 WSL 内)

Node.js

brew install node

sudo apt install nodejs npm(在 WSL 内)


macOS — 主持人设置

主持人是拥有该项目的开发者。您启动会话并分享加入命令。

第 1 步 — 安装依赖

brew install cloudflared
pip install letswork

第 2 步 — 安装 Claude Code

npm install -g @anthropic-ai/claude-code

第 3 步 — 启动会话

导航到您的项目文件夹并运行:

cd /path/to/your/project
letswork start

系统会要求您输入显示名称,然后会出现一个会话框:

╔══════════════════════════════════════════════════════════════════════╗
║  🤝 LetsWork Session Active                                          ║
║                                                                      ║
║  Send this command to your collaborator:                             ║
║  letswork join https://abc123.trycloudflare.com --token a1b2c3d4    ║
║                                                                      ║
║  Press Ctrl+C to stop.                                               ║
╚══════════════════════════════════════════════════════════════════════╝

复制完整的 letswork join ... 命令并发送给您的协作者。

将自动打开两个新的终端窗口:

  • Claude Code — 已连接到 LetsWork

  • 用于与协作者沟通的聊天窗口

第 4 步 — 批准访客更改

当访客编辑文件时,您会在 Claude Code 中看到通知。请对 Claude 说:

get_pending_changes

然后批准或拒绝:

approve_change <id>
reject_change <id>

第 5 步 — 停止会话

在您运行 letswork start 的终端中按 Ctrl+C


macOS — 访客设置

访客连接到主持人的项目。您需要主持人提供的加入命令。

第 1 步 — 安装依赖

brew install cloudflared
pip install letswork

第 2 步 — 安装 Claude Code

npm install -g @anthropic-ai/claude-code

第 3 步 — 加入会话

运行主持人发给您的命令:

letswork join https://abc123.trycloudflare.com --token a1b2c3d4

系统会要求您输入显示名称。然后会打开两个窗口:

  • Claude Code — 连接到主持人的项目

  • 用于与主持人沟通的聊天窗口

第 4 步 — 编辑文件

像平常一样让 Claude 读取和编辑文件。当您写入文件时,它会进入审批队列 — 主持人会在文件写入磁盘之前进行审核。当它被批准或拒绝时,您会收到通知。


Windows — 访客设置(WSL)

LetsWork 在 WSL(Windows Subsystem for Linux)内运行。一旦 WSL 设置完成,访客体验与 macOS 相同。

第 1 步 — 启用 WSL 并安装 Ubuntu

打开 PowerShell(以管理员身份) 并运行:

wsl --install

出现提示时重启计算机。Ubuntu 将自动安装。

从开始菜单打开 Ubuntu,并设置您的 Linux 用户名和密码。

第 2 步 — 在 Ubuntu 内安装依赖

打开 Ubuntu,并逐一运行以下命令:

# Update packages
sudo apt update && sudo apt upgrade -y

# Install Python
sudo apt install python3 python3-pip -y

# Install Node.js and npm
sudo apt install nodejs npm -y

# Install cloudflared
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o cloudflared
chmod +x cloudflared
sudo mv cloudflared /usr/local/bin/

# Install letswork
pip3 install letswork

第 3 步 — 在 Ubuntu 内安装 Claude Code

npm install -g @anthropic-ai/claude-code

第 4 步 — 加入会话

在 Ubuntu 内运行主持人发给您的命令:

letswork join https://abc123.trycloudflare.com --token a1b2c3d4

系统会要求您输入显示名称。Claude Code 将直接在同一个终端窗口中启动。

Windows 用户注意事项: Claude Code 在 WSL 终端中运行 — 而不是作为单独的窗口。其他所有操作都与 macOS 完全相同。


可用的 MCP 工具

主持人和访客都可以在 Claude Code 中使用以下工具:

工具

可用者

说明

list_files

双方

列出文件和目录及其锁定状态

read_file

双方

读取文件内容(限制 1MB,仅限文本文件)

write_file

双方

提交文件更改(访客的更改需要主持人批准)

lock_file

双方

锁定文件以进行独占编辑

unlock_file

双方

释放您自己的文件锁

get_status

双方

显示会话信息、已连接用户和活动锁

get_notifications

双方

快速汇总需要关注的事项

ping

双方

验证与主持人 MCP 服务器的连接

set_display_name

仅访客

设置您在会话中的显示名称

my_pending_changes

仅访客

查看您提交的待批准的更改

get_pending_changes

仅主持人

查看所有待批准的更改及差异

approve_change

仅主持人

批准待批准的更改并将其写入磁盘

reject_change

仅主持人

拒绝待批准的更改

force_unlock

仅主持人

强制释放卡住的文件锁


审批流程

访客的文件写入不会直接写入磁盘 — 而是进入主持人的审批队列:

  1. 访客让 Claude 编辑文件 → write_file 提交更改

  2. 主持人看到:📝 guest submitted change to server.py (ID: a1b2c3)

  3. 主持人让 Claude:get_pending_changes — 查看完整差异

  4. 主持人批准:approve_change a1b2c3 → 文件写入磁盘

  5. 或拒绝:reject_change a1b2c3 → 通知访客


安全性

  • 随机 Cloudflare 子域 — URL 不可猜测

  • 加密令牌 — 在 URL 之上提供第二层身份验证

  • 所有流量均通过 HTTPS 加密

  • 路径遍历防护 — 访客无法访问项目根目录之外的文件

  • 文件锁在 30 分钟后自动过期

  • 无需账户、无需注册、无持久凭证 — 主持人停止时会话即结束


限制

  • 每个会话最多 2 名用户(1 名主持人 + 1 名访客)

  • 仅支持文本文件 — 不支持二进制文件

  • 每次读/写操作的文件大小限制为 1MB

  • 访客没有 shell 访问权限 — 只能进行文件操作

  • cloudflared 必须安装在主持人机器上(访客在 macOS 上不需要,但 WSL 访客需要)


CLI 参考

letswork start [--port PORT] [--debug]   # Start a session (default port: 8000)
letswork join <URL> --token <TOKEN>      # Join a session as guest

架构

Host Machine:
[Project Files] ← [MCP Server :8000] ← [Cloudflare Tunnel] ← HTTPS URL
                                                                    ↑
                                             Guest connects here
                                             via stdio proxy + secret token

访客通过 stdio 代理连接,而不是直接通过 HTTP — 这避免了 Cloudflare SSE 的可靠性问题,并提供稳定的 MCP 连接。


许可证

MIT — 请参阅 LICENSE


使用 Model Context Protocol 构建。

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/saicharanrajoju/letswork-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server