返回顶部
l

localsend本地发送

Send and receive files to/from nearby devices using the LocalSend protocol. Trigger with /localsend to get an interactive Telegram menu with real inline buttons — device discovery, file sending, text sending, and receiving.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 3.4.0
安全检测
已通过
687
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

localsend

LocalSend

使用真实的Telegram内联键盘按钮在本地网络上的设备之间进行交互式文件传输。适用于任何运行LocalSend应用的设备(Android、iOS、Windows、macOS、Linux)。

安装

localsend-cli是一个零依赖的Python CLI工具。从GitHub安装:

bash
curl -fsSL https://raw.githubusercontent.com/Chordlini/localsend-cli/master/localsend-cli -o ~/.local/bin/localsend-cli
chmod +x ~/.local/bin/localsend-cli

完整文档:https://github.com/Chordlini/localsend-cli

需要Python 3.8+和openssl(用于TLS)。



Telegram按钮格式

所有菜单必须使用OpenClaw的内联按钮格式。使用此结构将按钮与消息一起发送:

json
buttons: [
[{ text: 标签, callback_data: ls:action }],
[{ text: 第二行, callback_data: ls:other }]
]

  • - 外层数组 = 按钮行
  • 内层数组 = 每行的按钮(为保持可读性,每行最多3个)
  • 所有callbackdata前缀为ls:以命名此技能
  • 当用户点击按钮时,您将收到:callbackdata: ls:action

状态感知(关键)

此技能使用对话状态。跟踪您在流程中的位置:

状态含义下一个用户输入应被视为...
idle无活动流程正常消息 — 正常回复
awaiting_file
已要求用户拖放/指定要发送的文件 | 要发送的文件 — 不要评论、描述或回应它。立即将其用作发送负载。 |
| awaiting_text | 已要求用户输入要发送的文本 | 文本负载 — 发送它,不要讨论它 |
| awaiting_confirm | 等待发送确认 | 期望ls:confirm-send或ls:menu |
| receiving | 接收端活跃 | 监控传入文件 |

规则:

  • - 当处于awaitingfile状态且用户发送图片/文件/路径时 → 将其视为要发送的文件。立即显示确认按钮。
  • 当处于awaitingtext状态且用户输入任何内容时 → 将其视为要发送的文本。
  • 当处于awaiting_file状态时,永远不要评论、描述或回应文件/图片。
  • 当用户点击ls:menu或流程完成时,状态重置为idle。



触发时:主菜单

当用户输入/localsend或提到本地发送/接收文件时,发送此消息并附带真实内联按钮

消息:

📡 LocalSend — 文件传输

按钮:
json
buttons: [
[
{ text: 📤 发送, callback_data: ls:send },
{ text: 📥 接收, callback_data: ls:receive }
],
[
{ text: 🔍 扫描设备, callback_data: ls:devices }
]
]

暂时不要运行任何命令。等待按钮点击。



流程:扫描设备

触发: callback_data: ls:devices或用户说扫描、发现、查找设备

  1. 1. 运行:
bash localsend-cli discover --json -t 2
  1. 2. 找到设备 — 为每个设备创建一个按钮,加上刷新和返回按钮:

消息:

📡 找到3个设备:

按钮(每行一个设备):
json
buttons: [
[{ text: 📱 Fast Potato — 192.168.0.148, callback_data: ls:dev:Fast Potato }],
[{ text: 💻 Rami-Desktop — 192.168.0.100, callback_data: ls:dev:Rami-Desktop }],
[{ text: 🖥️ Living Room PC — 192.168.0.105, callback_data: ls:dev:Living Room PC }],
[
{ text: 🔄 刷新, callback_data: ls:devices },
{ text: ⬅️ 返回, callback_data: ls:menu }
]
]

  1. 3. 未找到设备:

消息:

📡 未找到设备。
请确保LocalSend在另一台设备上打开,并且两台设备连接到同一个WiFi。

按钮:
json
buttons: [
[
{ text: 🔄 重试, callback_data: ls:devices },
{ text: ⬅️ 返回, callback_data: ls:menu }
]
]

  1. 4. 用户点击设备(callback_data: ls:dev:DEVICENAME)— 将其存储为选定的目标。显示操作菜单:

消息:

✅ 已选择:Fast Potato (192.168.0.148)
您想做什么?

按钮:
json
buttons: [
[
{ text: 📄 发送文件, callback_data: ls:sendfile },
{ text: 📝 发送文本, callback_data: ls:sendtext }
],
[
{ text: 📦 发送多个, callback_data: ls:sendmulti },
{ text: ⬅️ 返回, callback_data: ls:devices }
]
]



流程:发送

触发: callback_data: ls:send

第1步 — 选择目标设备(如果尚未选择)

运行发现并显示设备选择器(参见上面的扫描设备流程)。

第2步 — 选择要发送的内容

消息:

发送到 Fast Potato:

按钮:
json
buttons: [
[
{ text: 📄 发送文件, callback_data: ls:sendfile },
{ text: 📝 发送文本, callback_data: ls:sendtext }
],
[
{ text: 📦 发送多个, callback_data: ls:sendmulti },
{ text: ⬅️ 返回, callback_data: ls:menu }
]
]

发送文件(callback_data: ls:sendfile)

  1. 1. 询问:发送文件给我,拖放路径,或告诉我发送哪个文件
  2. 用户提供文件路径或通过聊天发送文件
  3. 使用stat或ls -lh获取文件大小
  4. 使用按钮确认:

消息:

📤 发送到 Fast Potato?
📄 project.zip — 4.2 MB

按钮:
json
buttons: [
[
{ text: ✅ 发送, callback_data: ls:confirm-send },
{ text: ❌ 取消, callback_data: ls:menu }
]
]

  1. 5. 确认后,运行:
bash localsend-cli send --to Fast Potato /path/to/project.zip
  1. 6. 报告结果:

消息:

✅ 已将 project.zip (4.2 MB) 发送到 Fast Potato

按钮:
json
buttons: [
[
{ text: 📤 发送另一个, callback_data: ls:send },
{ text: ⬅️ 菜单, callback_data: ls:menu }
]
]

发送文本(callback_data: ls:sendtext)

  1. 1. 询问:输入您要发送的文本:
  2. 用户输入他们的消息
  3. 将文本写入临时文件,发送:
bash echo 用户的文本 > /tmp/localsend-text.txt localsend-cli send --to Fast Potato /tmp/localsend-text.txt rm /tmp/localsend-text.txt
  1. 4. 确认:

消息:

✅ 文本已发送到 Fast Potato

按钮:
json
buttons: [
[
{ text: 📝 发送更多文本, callback_data: ls:sendtext },
{ text: 📤 发送文件, callback_data: ls:sendfile }
],
[{ text: ⬅️ 菜单, callback_data: ls:menu }]

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 localsend-1776420065 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 localsend-1776420065 技能

通过命令行安装

skillhub install localsend-1776420065

下载

⬇ 下载 localsend v3.4.0(免费)

文件大小: 5.72 KB | 发布时间: 2026-4-17 18:13

v3.4.0 最新 2026-4-17 18:13
- Updated install instructions: now uses direct download from the GitHub repo for the latest `localsend-cli`.
- Referenced official CLI documentation link for further help.
- Clarified that `localsend-cli` is a zero-dependency Python CLI, not just a bundled script.
- No changes to flows, buttons, or state logic.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部