
Security News
Axios Supply Chain Attack Reaches OpenAI macOS Signing Pipeline, Forces Certificate Rotation
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.
remote-claude
Advanced tools
在电脑终端上打开的 Claude Code 进程,也可以在飞书中共享操作。电脑端、手机端无缝来回切换
电脑上用终端跑 Claude Code 写代码,同时在手机飞书上看进度、发指令、点按钮 — 不用守在电脑前,随时随地掌控 AI 编程。
Claude Code 只能在启动它的那个终端窗口里操作。一旦离开电脑,就只能干等。Remote Claude 让你:
attach共享操作同一个Claude进程,延续手机端的工作。attach继续操作在公司ssh登录到服务器上打开的claude/codex进程操作。以下安装方式2选1, 安装后重启shell生效
npm install remote-claude
需要安装uv、tmux等依赖,第一次可能有点慢.
git clone https://github.com/yyzybb537/remote_claude.git
cd remote_claude
./init.sh
init.sh 会自动安装 uv、tmux 等依赖,配置飞书环境(可选),并写入 cla / cl / cx / cdx 快捷命令。执行完成后重启终端生效。
| 快捷命令 | 说明 |
|---|---|
cla | 启动 Claude (以当前目录路径为会话名) |
cl | 同 cla,但跳过权限确认 |
cx | 启动 Codex (以当前目录路径为会话名,跳过权限确认) |
cdx | 同 cx,但需要确认权限 |
remote-claude | 管理工具(一般不用) |
remote-claude list
remote-claude attach <会话名>
cla或cl启动一次claude(或用cx或cdx启动一次codex), 按照交互提示填入App ID 和 App Secret添加应用能力(机器人能力)事件与回调 -> 事件配置 -> 订阅方式右边的笔图标 -> 选择:使用长连接接收事件 -> 点击保存 -> 下面添加事件: 接收消息 v2.0 (im.message.receive_v1)事件与回调 -> 回调配置 -> 订阅方式右边的笔图标 -> 选择:使用长连接接收回调 -> 点击保存 -> 下面添加回调: 卡片回传交互 (card.action.trigger)权限管理 -> 批量导入/导出权限 -> 导入以下内容{
"scopes": {
"tenant": [
"base:app:read",
"base:field:read",
"base:form:read",
"base:record:read",
"base:record:retrieve",
"base:table:read",
"board:whiteboard:node:read",
"calendar:calendar.free_busy:read",
"cardkit:card:write",
"contact:contact.base:readonly",
"contact:user.employee_id:readonly",
"contact:user.id:readonly",
"docs:document.comment:read",
"docs:document.content:read",
"docs:document.media:download",
"docs:document.media:upload",
"docs:document:import",
"docs:permission.member:auth",
"docs:permission.member:create",
"docs:permission.member:transfer",
"docx:document.block:convert",
"docx:document:create",
"docx:document:readonly",
"docx:document:write_only",
"drive:drive.metadata:readonly",
"drive:drive.search:readonly",
"drive:drive:version:readonly",
"drive:file:download",
"drive:file:upload",
"im:chat.members:read",
"im:chat.members:write_only",
"im:chat.tabs:read",
"im:chat.tabs:write_only",
"im:chat.top_notice:write_only",
"im:chat:create",
"im:chat:delete",
"im:chat:operate_as_owner",
"im:chat:read",
"im:chat:update",
"im:message.group_at_msg:readonly",
"im:message.group_msg",
"im:message.p2p_msg:readonly",
"im:message.reactions:read",
"im:message.reactions:write_only",
"im:message.urgent",
"im:message.urgent.status:write",
"im:message:readonly",
"im:message:recall",
"im:message:send_as_bot",
"im:message:update",
"im:resource",
"sheets:spreadsheet.meta:read",
"sheets:spreadsheet.meta:write_only",
"sheets:spreadsheet:create",
"sheets:spreadsheet:read",
"sheets:spreadsheet:write_only",
"space:document:delete",
"space:document:retrieve",
"wiki:wiki:readonly"
],
"user": [
"base:app:read",
"base:field:read",
"base:record:read",
"base:record:retrieve",
"base:table:read",
"calendar:calendar.event:create",
"calendar:calendar.event:delete",
"calendar:calendar.event:read",
"calendar:calendar.event:reply",
"calendar:calendar.event:update",
"calendar:calendar.free_busy:read",
"calendar:calendar:read",
"cardkit:card:write",
"contact:user.base:readonly",
"contact:user.employee_id:readonly",
"contact:user.id:readonly",
"docs:document.comment:read",
"docs:document.content:read",
"docs:document.media:download",
"docs:document.media:upload",
"docx:document.block:convert",
"docx:document:create",
"docx:document:readonly",
"docx:document:write_only",
"im:chat.managers:write_only",
"im:chat.members:read",
"im:chat.members:write_only",
"im:chat.tabs:read",
"im:chat.tabs:write_only",
"im:chat.top_notice:write_only",
"im:chat:delete",
"im:chat:read",
"im:chat:update",
"im:message.reactions:read",
"im:message.reactions:write_only",
"im:message:readonly",
"im:message:recall",
"im:message:update",
"search:docs:read",
"sheets:spreadsheet.meta:read",
"sheets:spreadsheet.meta:write_only",
"sheets:spreadsheet:create",
"sheets:spreadsheet:read",
"sheets:spreadsheet:write_only",
"space:document:retrieve",
"task:task:read",
"task:task:readonly",
"task:task:write",
"task:task:writeonly",
"task:tasklist:read",
"wiki:wiki:readonly"
]
}
}
创建版本 -> 发布到线上/menu 展示菜单卡片,后续操作都操作这个卡片上的按钮即可| 命令 | 说明 |
|---|---|
cla | 启动飞书客户端 + 以当前目录路径为会话名启动 Claude |
cl | 同 cla,但跳过权限确认 |
cx | 启动飞书客户端 + 以当前目录路径为会话名启动 Codex(跳过权限确认) |
cdx | 同 cx,但需要确认权限 |
remote-claude start <会话名> # 启动新会话
remote-claude attach <会话名> # 连接现有会话
remote-claude list # 查看所有会话
remote-claude kill <会话名> # 终止会话
remote-claude lark start # 启动(后台运行)
remote-claude lark stop # 停止
remote-claude lark restart # 重启
remote-claude lark status # 查看状态
飞书中与机器人对话,可用命令:/menu、/attach、/detach、/list、/help 等。
在 ~/.remote-claude/.env 中可配置以下选项:
| 配置项 | 默认值 | 说明 |
|---|---|---|
CLAUDE_COMMAND | claude | 启动 Claude CLI 的命令 |
FEISHU_APP_ID | — | 飞书应用 ID |
FEISHU_APP_SECRET | — | 飞书应用密钥 |
ENABLE_USER_WHITELIST | false | 是否启用用户白名单 |
ALLOWED_USERS | — | 白名单用户 ID,逗号分隔 |
若你的 Claude CLI 安装方式不同,启动命令不是 claude,可通过 CLAUDE_COMMAND 指定:
# ~/.remote-claude/.env
# 使用两段式命令(如 ccr code)
CLAUDE_COMMAND=ccr code
# 使用绝对路径
CLAUDE_COMMAND=/usr/local/bin/claude
FAQs
双端共享 Claude CLI 工具
The npm package remote-claude receives a total of 221 weekly downloads. As such, remote-claude popularity was classified as not popular.
We found that remote-claude demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.

Security News
Open source is under attack because of how much value it creates. It has been the foundation of every major software innovation for the last three decades. This is not the time to walk away from it.

Security News
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.