ruilisi

lsbot

Built by ruilisi 381 stars

What is lsbot?

Lean & Secure Bot

How to use lsbot?

1. Install a compatible MCP client (like Claude Desktop). 2. Open your configuration settings. 3. Add lsbot using the following command: npx @modelcontextprotocol/lsbot 4. Restart the client and verify the new tools are active.
🛡️ Scoped (Restricted)
npx @modelcontextprotocol/lsbot --scope restricted
🔓 Unrestricted Access
npx @modelcontextprotocol/lsbot

Key Features

Native MCP Protocol Support
Real-time Tool Activation & Execution
Verified High-performance Implementation
Secure Resource & Context Handling

Optimized Use Cases

Extending AI models with custom local capabilities
Automating system workflows via natural language
Connecting external data sources to LLM context windows

lsbot FAQ

Q

Is lsbot safe?

Yes, lsbot follows the standardized Model Context Protocol security patterns and only executes tools with explicit user-granted permissions.

Q

Is lsbot up to date?

lsbot is currently active in the registry with 381 stars on GitHub, indicating its reliability and community support.

Q

Are there any limits for lsbot?

Usage limits depend on the specific implementation of the MCP server and your system resources. Refer to the official documentation below for technical details.

Official Documentation

View on GitHub

English | 中文

<div align="center"> <img src="https://files.lingti.com/images/lsbot-banner-dark.svg" alt="lsbot — Lean & Secure Bot" width="360" /> </div>

lsbot — Lean & Secure Bot

不需要信任的地方,就不应该建立信任依赖。

Go Version License Website CN Mirror

📖 文档:lsbot.org/docs | 国内镜像:bot.lingti.com/docs


Bot Needs to be Secured

当你运行一个 AI Bot,你实际上把机器的钥匙交了出去:文件、终端、数据库、浏览器会话、凭证。Bot 读取你的代码、笔记、私人文档,并以你的名义执行命令。

问题不是 Bot 是否有用。问题是:还有谁能看到它看到的东西?

你每天操作电脑,层层加密加锁——密码管理器、磁盘加密、双重验证。但当你打开一个 AI Bot,这一切防线往往荡然无存。你的每一条消息、每一个工具调用结果,都在你不知情的情况下流经某台你不控制的服务器。

这不是理论风险。这是今天几乎所有 AI Bot 工具的默认配置。


Why OpenClaw is Not Secured

OpenClaw(以及大多数同类工具)以便利性和功能广度为设计目标,安全性是事后考虑,而非核心设计原则。

问题意味着什么
消息通过开发者的云服务路由服务商可以读取每一条消息
没有端到端加密任何中继节点都可以审查内容
npm 依赖链500+ 第三方包,任何一个都可能被攻击
Node.js 运行时动态执行环境,攻击面庞大
没有本地数据保证对话历史、上下文、记忆——存储位置不明

OpenClaw 在功能和集成方面做得出色。但它的架构假设你信任中继基础设施。对于个人电脑、企业环境,或任何数据敏感的场合,这个假设不成立。

当你把终端和文件的访问权限交给 AI Bot,传输层必须被当作敌对环境对待。OpenClaw 没有做到这一点。


Why lsbot

lsbotLean Secure Bot 的缩写。名字也呼应了 ls——Unix 最基础的命令,第一次拿到新机器时你敲的第一个命令。像 ls 一样,lsbot 是一个基础工具:精简、专注、永远可用。

lsbot 建立在一个核心原则上:你的数据属于你。

这个原则决定了每一个架构选择:

  • 端到端加密,默认开启。 所有 relay 流量使用 P-256 ECDH + AES-256-GCM 加密。中继服务器只看到密文,无法读取你的消息。
  • 单一静态二进制。 没有运行时,没有包管理器,没有依赖链。攻击面就是这一个二进制文件——可审计、确定性、可复现。
  • 本地优先。 对话历史、记忆、配置、凭证——全部存储在你的机器上。没有任何内容写入云端数据库。
  • 密钥验证带外进行。 浏览器不会自动从服务器获取 Bot 的公钥。你从 lsbot e2e pubkey 手动粘贴,并核对指纹。中继服务器无法替换密钥。

Lean Secure Bot

lsbot relay --provider deepseek --api-key sk-xxx

一条命令启动安全 Bot:

  1. 首次运行自动在 ~/.lsbot.pem 生成持久化 P-256 密钥对
  2. 通过 WebSocket 连接中继服务器
  3. 仅发布公钥——私钥永远不离开你的机器
  4. 每一条响应在离开你的进程前加密
  5. 每一条消息到达你的进程后解密

中继服务器(lsbot.org,国内镜像 bot.lingti.com)只看到密文。它无法读取你的消息,无法记录你的对话,无法推断你在使用哪些工具或访问哪些文件。

lsbot e2e pubkey
# Key file:    ~/.lsbot.pem
# Public key:  BK3x9f2...
# Fingerprint: sha256:29f8954f

打开 Bot 页面,点击 Secure,粘贴公钥,核对指纹与命令行输出一致。此后每次访问自动激活加密。


我们不能相信任何聊天服务器

信任中继服务器是 AI Bot 安全的原罪。

几乎所有主流 AI Bot 工具都依赖一个隐含假设:消息通过开发者的服务器路由是安全的。这个假设在以下任何场景中都会失效:

  • 服务商被攻击或遭受数据泄露
  • 政策变更导致日志保留或内容审查
  • 内部员工滥用访问权限
  • 法律程序要求披露用户数据
  • 服务商出售或被收购

你的 AI Bot 可以访问你的终端、你的文件、你的代码库。它知道你在做什么项目,知道你的工作流程,知道你的私人文档。这些信息通过一个你不控制的服务器转发——这不是可接受的风险,这是一个架构缺陷。

lsbot 的设计前提是:中继服务器是不可信的。这不是对 lsbot.org 或 bot.lingti.com 的不信任,而是一个工程原则:不需要信任的地方,就不应该建立信任依赖。


数据库保存在本地

lsbot 没有云端数据库。

数据存储位置云端是否存在
对话历史浏览器 IndexedDB(本地)
E2EE 私钥~/.lsbot.pem
配置文件~/.lsbot.yaml
AI API 密钥~/.lsbot.yaml
Cron 任务数据库~/.lingti.db
技能文件~/.lingti/skills/

云中继服务器(lsbot.org,国内镜像 bot.lingti.com)只做一件事:路由加密后的消息。它不保存任何内容,不分析任何内容,不记录任何内容。消息转发后立即丢弃。

即使中继服务器明天关闭,你所有的数据、配置、历史记录都完好无损在你的机器上。这不是承诺,这是架构决定的结果。


快速开始

两步启动,无需平台账号,无需公网服务器:

第一步:安装

# macOS / Linux / WSL
curl -fsSL https://files.lingti.com/install-lsbot.sh | bash

# Windows (PowerShell)
irm https://files.lingti.com/install-lsbot.ps1 | iex

第二步:运行

lsbot relay --provider deepseek --api-key sk-xxx

启动后自动输出你的专属 Bot 页面:

Your bot page: https://lsbot.org/bots/xxx
E2E fingerprint: sha256:a3f7c91b2d4e8f06

国内用户:Bot 页面也可通过 https://bot.lingti.com/bots/xxx 访问。

打开链接,点击状态栏的 Secure → 粘贴公钥 → 核对指纹,即可在浏览器中与 Bot 进行端到端加密对话。

支持的 --providerdeepseekclaudekimiminimaxgeminiopenai 等,详见 AI-PROVIDERS.md

端到端加密(E2EE)

Bot Page 默认启用端到端加密,relay 服务器(lsbot.org / bot.lingti.com)无法读取消息内容:

  • bot 首次启动时,在 ~/.lsbot.pem 自动生成持久化 P-256 密钥,日志打印指纹
  • 浏览器打开 Bot Page,点击状态栏 Secure 进入设置面板
  • 从终端运行 lsbot e2e pubkey,将公钥粘贴到面板,核对指纹一致后点击 Activate
  • 状态栏出现蓝色锁图标,此后页面刷新自动恢复加密(密钥存储在浏览器本地)
  • 使用 --plain 可跳过 E2EE(不推荐)
<div align="center"> <img src="https://files.lingti.com/images/lsbot-pubkey.png" alt="只需粘贴公钥,即可与 Bot 进行端到端加密对话" width="600" /> <p><em>只需提供公钥——私钥永远不离开你的机器,中继服务器只看到密文</em></p> </div>
# 查看本机公钥和指纹
lsbot e2e pubkey

# 手动生成密钥对
lsbot e2e keygen --save

详情:端到端加密文档

桌面客户端(MacOS/Windows)

桌面端不光拥有完整的安装、升级和使用 lsbot 的交互界面,还提供了 AI 网关、AI 加速等功能。

下载地址: lsbot.org/download

移动端 App(Android / iOS)

lsbot 官方 Android App 已发布,iOS 版本开发中。手机端支持端对端加密聊天,通过扫描 QR Code 一键配对 Bot,无需手动输入 Bot ID 或复制公钥。

下载:lsbot.org/download

Bot 启动后终端会自动打印配对 QR Code:

[Relay] Scan with lsbot mobile to add this bot:
██████████████...

打开 App → 添加 Bot → 扫描,即可建立端对端加密连接。

详细文档:移动端使用指南


进阶:接入消息平台(企业微信、飞书等)

如需接入企业微信、飞书、钉钉等平台,追加对应平台参数即可:

# 企业微信
lsbot relay --platform wecom \
  --wecom-corp-id ww... --wecom-agent-id 1000002 \
  --wecom-secret xxx --wecom-token xxx --wecom-aes-key xxx \
  --provider deepseek --api-key sk-xxx

# 飞书
lsbot relay --platform feishu \
  --feishu-app-id cli_xxx --feishu-app-secret xxx \
  --provider claude --api-key sk-ant-xxx

详见 云中继文档


为什么选择 lsbot?

lsbot vs OpenClaw

lsbotOpenClaw
端到端加密✅ 默认开启,P-256 ECDH + AES-256-GCM❌ 无
服务器读取消息❌ 不可能(只看密文)✅ 可以
数据存储位置本地云端
语言纯 Go 实现Node.js
运行依赖无(单一二进制)需要 Node.js 运行时
依赖链风险极低(Go 静态编译)高(500+ npm 包)
安装大小~15MB 单文件100MB+ (含 node_modules)
嵌入式设备✅ ARM/MIPS❌ 需要 Node.js
中国平台原生支持飞书/企微/钉钉需自行集成
云中继✅ 免自建服务器❌ 需自建 Web 服务

详细功能对比:OpenClaw vs lsbot 技术特性对比

核心能力

  • 📱 移动端 App — Android 已发布,iOS 开发中;扫码配对,E2EE 加密聊天
  • 🔒 端到端加密,默认开启 — P-256 ECDH + AES-256-GCM,中继服务器只路由密文
  • 🚀 零依赖部署 — 单个 ~15MB 二进制文件,无需 Node.js/Python 运行时
  • ☁️ 云中继加持 — 无需公网服务器、域名备案、HTTPS 证书,5 分钟接入企业微信/微信公众号
  • 🤖 浏览器自动化 — 内置完整 CDP 控制引擎,无需 Puppeteer/Playwright/Node.js
  • 🌐 社交平台自动化 — AI 代操作知乎、小红书等内容平台
  • 🛠️ 75+ MCP 工具 — 覆盖文件、Shell、系统、网络、日历、Git、GitHub 等全场景
  • 🌏 中国平台原生支持 — 钉钉、飞书、企业微信、微信公众号开箱即用
  • 💬 内置 Web 聊天界面 — 无需任何客户端,浏览器直开,支持多会话并行
  • 🧠 多 AI 后端 — 集成 Claude、DeepSeek、Kimi、MiniMax、Gemini 等 16 种 AI 服务
  • 🔬 Claude 深度思考 — 原生支持 Claude Extended Thinking API
  • 🩺 健康诊断lsbot doctor 一键检查配置、连接、依赖

样例

📺 完整演示、截图和使用示例,请访问:bot.lingti.com/docs/examples

主要功能演示:


Agents 与 Channels

什么是 Agent?

Agent 是 lsbot 中的 AI 实例单元。每个 Agent 拥有独立的:

  • AI 配置 — 可指定不同的 provider、model、API Key,或继承全局配置
  • 系统提示词(Instructions) — 定义 Agent 的角色、风格、行为边界
  • 工作目录(Workspace) — Agent 读写文件的默认根目录,天然沙箱隔离

典型用途:work-assistant(工作助手)、coder(专注代码)、writer(内容写作)……每个 Agent 可以有完全不同的人格和能力边界。

什么是 Channel?

Channel 是消息的来源/目标通道,对应一个具体的聊天平台接入点(如某个企业微信应用、某个 Slack Bot、某个 Telegram Bot)。你可以为不同 Channel 绑定不同的 Agent,实现"同一个 lsbot 进程,多个平台、多套 AI 人格"的效果。

管理 Agents

lsbot agents add          # 交互式添加 Agent
lsbot agents list         # 列出所有 Agent
lsbot agents info <name>  # 查看某个 Agent 详情
lsbot agents remove <name>

管理 Channels

lsbot channels add           # 交互式添加 Channel 凭证
lsbot channels list          # 列出所有已配置的 Channel
lsbot channels remove <name>

添加 Channel 后如何启动?

gateway 模式(适用于大多数平台:Telegram、Discord、Slack、钉钉、飞书等)

lsbot gateway

relay 模式(仅适用于需要云中继的平台:企业微信、微信公众号、飞书、Slack)

lsbot relay --platform wecom    # 企业微信
lsbot relay --platform feishu   # 飞书
lsbot relay --platform wechat   # 微信公众号
  • gateway — 本地直连,支持所有平台,一条命令启动全部
  • relay — 云中继,仅支持 wecom/feishu/wechat/slack,无需公网服务器

功能概览

MCP Server — 标准协议,无缝集成

lsbot 实现了完整的 MCP (Model Context Protocol) 协议,让任何支持 MCP 的 AI 客户端都能访问本地系统资源。

客户端状态
Claude Desktop
Cursor
Windsurf
其他 MCP 客户端

多平台消息网关 — 企业 IM 秒接入

平台协议接入方式文件发送状态
企业微信回调 API云中继 / 自建✅ 全格式
微信公众号云中继10秒接入✅ 图片/语音/视频
钉钉Stream Mode一键接入🔜 计划中
飞书/LarkWebSocket一键接入🔜 计划中
SlackSocket Mode一键接入🔜 计划中
TelegramBot API一键接入🔜 计划中
DiscordGateway一键接入🔜 计划中
WhatsAppWebhook + Graph API自建🔜 计划中
LINEWebhook + Push API自建🔜 计划中
Microsoft TeamsBot Framework自建🔜 计划中
Matrix / ElementHTTP Sync自建🔜 计划中
Google ChatWebhook + REST自建🔜 计划中
MattermostWebSocket + REST自建🔜 计划中
iMessageBlueBubbles自建🔜 计划中
Signalsignal-cli REST自建🔜 计划中
TwitchIRC自建
NOSTRWebSocket Relays自建🔜 计划中
ZaloWebhook + REST自建🔜 计划中
Nextcloud TalkHTTP Polling自建🔜 计划中
Web 聊天界面WebSocket--webapp-port

完整列表(含配置参数、环境变量):聊天平台列表

MCP 工具集 — 75+ 本地系统工具

分类工具数功能
文件操作9读写、搜索、整理、批量删除、废纸篓
Shell 命令2命令执行、路径查找
系统信息4CPU、内存、磁盘、环境变量
进程管理3列表、详情、终止
网络工具4接口、连接、Ping、DNS
日历6查看、创建、搜索、删除日程 (macOS)
提醒事项5列表、添加、完成、删除 (macOS)
备忘录6文件夹、列表、读取、创建、搜索、删除 (macOS)
天气2当前天气、多日预报
网页搜索2DuckDuckGo 搜索、网页内容获取
剪贴板2读写剪贴板
截图1屏幕截图
系统通知1发送桌面通知
音乐控制7播放、暂停、切歌、音量、搜索 (macOS)
Git4状态、日志、差异、分支
GitHub6PR 列表/详情、Issue 管理、仓库信息
浏览器自动化14CDP 控制引擎,可接管已有 Chrome,快照定位、点击/输入/JS、多标签页、截图
定时任务5创建、列表、删除、暂停、恢复计划任务

健康诊断

lsbot doctor
lsbot doctor
=================
OS: darwin/arm64, Go: go1.24.0

Checks:
  ✓ Config file (~/.lsbot.yaml) — loaded
  ✓ AI API key — set (sk-ant-a..., provider: claude)
  ✓ AI provider connectivity — reachable (HTTP 200)
  ✓ Platform credentials — wecom, telegram
  ✓ Binary: gh — found
  ✗ Binary: chrome — not found in PATH

8 passed, 1 failed

按平台/频道模型切换

ai:
  provider: deepseek
  api_key: sk-xxx
  model: deepseek-chat
  overrides:
    - platform: telegram
      provider: claude
      api_key: sk-ant-xxx
      model: claude-sonnet-4-20250514
    - platform: slack
      channel_id: C12345
      provider: claude
      api_key: sk-ant-xxx

Claude 深度思考 — 原生 Extended Thinking API

命令模式思考 Token 预算
/think off关闭0
/think low简单1,024
/think medium中等(默认)4,096
/think high深度16,384

Skills — 模块化能力扩展

lsbot skills          # 列出所有 Skills
lsbot skills check    # 查看就绪状态
lsbot skills info github

内置 8 个 Skills:Discord、GitHub、Slack、Peekaboo(macOS UI 自动化)、Tmux、天气、1Password、Obsidian。

详细文档:Skills 指南

功能速览表

模块说明特点
移动端 AppAndroid 已发布,iOS 开发中QR Code 扫码配对,E2EE 加密,本地消息历史
端到端加密P-256 ECDH + AES-256-GCM默认开启,中继服务器只路由密文
MCP Server标准 MCP 协议服务器兼容 Claude Desktop、Cursor、Windsurf 等
多平台消息网关19 种聊天平台微信公众号、企业微信、Slack、飞书一键接入
Web 聊天界面内置浏览器 UI多会话并行,独立记忆隔离,Markdown 渲染
MCP 工具集75+ 本地系统工具文件、Shell、系统、网络、日历、Git、GitHub
Skills模块化能力扩展8 个内置 Skill,支持自定义和项目级扩展
智能对话多轮对话与记忆上下文记忆、16 种 AI 后端
深度思考Claude Extended Thinking原生 Thinking API,4 级思考深度
健康诊断doctor 命令一键检查配置、连接、依赖
Docker 部署容器化多阶段构建,docker-compose 支持

云中继:零门槛接入企业消息平台

告别公网服务器、告别复杂配置,让 AI Bot 接入像配置 Wi-Fi 一样简单

工作原理:

企业微信(用户消息) --> lsbot.org(云中继,只看密文) --WebSocket--> lsbot(本地AI处理)

国内用户可使用镜像节点 bot.lingti.com,效果相同。

传统方案云中继方案
公网服务器✅ 需要❌ 不需要
域名/备案✅ 需要❌ 不需要
HTTPS证书✅ 需要❌ 不需要
接入时间数天5分钟
AI处理位置服务器本地
数据安全云端存储本地处理 + E2EE

📖 云中继技术方案详解

微信公众号

微信搜索公众号「灵缇小秘」,关注后发送任意消息获取接入教程。 详细教程:微信公众号接入指南

企业微信

lsbot relay --platform wecom \
  --wecom-corp-id YOUR_CORP_ID \
  --wecom-agent-id YOUR_AGENT_ID \
  --wecom-secret YOUR_SECRET \
  --wecom-token YOUR_TOKEN \
  --wecom-aes-key YOUR_AES_KEY \
  --provider deepseek \
  --api-key YOUR_API_KEY

详细教程:企业微信集成指南

飞书

飞书原生支持 WebSocket 长连接,无需公网服务器:

lsbot gateway \
  --feishu-app-id cli_your_app_id \
  --feishu-app-secret your_app_secret \
  --provider minimax \
  --api-key YOUR_API_KEY

详细教程:飞书集成指南

钉钉

lsbot gateway \
  --dingtalk-client-id YOUR_APP_KEY \
  --dingtalk-client-secret YOUR_APP_SECRET \
  --provider deepseek \
  --api-key YOUR_API_KEY

Sponsors

  • 灵缇游戏加速 - PC/Mac/iOS/Android 全平台游戏加速、热点加速、AI 及学术资源定向加速
  • 灵缇路由 - 您的路由管家、网游电竞专家

lingti-cli 生态

lsbotlingti-cli 五位一体平台的核心开源组件。

模块定位说明
CLI操控总台统一入口,如同操作系统的引导程序
Net全球网络跨洲 200Mbps 加速,畅享全球 AI 服务
Token数字员工Token 即代码,代码即生产力
Bot助理管理数字员工接入与管理,简单到极致 ← 本项目
Code开发环境Terminal 回归舞台中央,极致输入效率

联系我们 / 加入我们

<table> <tr> <th align="center" width="56%">邮件联系</th> <th align="center" width="44%">扫码加群</th> </tr> <tr> <td width="56%"> 无论您是追求极致效率的顶尖开发者、关注 AI 时代生产力变革的投资人,还是想成为 Sponsor, 欢迎联系: <code>jiefeng@ruc.edu.cn</code> / <code>jiefeng.hopkins@gmail.com</code> </td> <td width="44%" align="center"> <img src="https://lingti-1302055788.cos.ap-guangzhou.myqcloud.com/contact_me_qr-2.png" alt="扫码加群" width="230" /> </td> </tr> </table>
                              lsbot
    +---------------+    +---------------+    +---------------+
    |  MCP Server   |    |   Message     |    |    Agent      |
    |   (stdio)     |    |   Gateway     |    |   (Claude)    |
    +-------+-------+    +-------+-------+    +-------+-------+
            |                    |                    |
            +--------------------+--------------------+
                                 |
                                 v
                       +-------------------+
                       |    MCP Tools      |
                       | Files, Shell, Net |
                       | System, Calendar  |
                       | Browser Automation|
                       +-------------------+
                                 |
            +--------------------+--------------------+
            |                                         |
            v                                         v
    +---------------+                       +------------------+
    | Claude Desktop|                       | Slack / Feishu   |
    | Cursor, etc.  |                       | Messaging Apps   |
    +---------------+                       +------------------+

MCP Server 快速配置

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "lsbot": {
      "command": "/path/to/lsbot",
      "args": ["serve"]
    }
  }
}

Cursor (.cursor/mcp.json):

{
  "mcpServers": {
    "lsbot": {
      "command": "/path/to/lsbot",
      "args": ["serve"]
    }
  }
}

其他安装方式

从源码编译

git clone https://github.com/ruilisi/lsbot.git
cd lsbot
make build  # 或: make darwin-arm64 / make linux-amd64

手动下载

支持的目标平台:

平台架构编译命令
macOSARM64 (Apple Silicon)make darwin-arm64
macOSAMD64 (Intel)make darwin-amd64
LinuxAMD64make linux-amd64
LinuxARM64make linux-arm64
LinuxARMv7 (树莓派等)make linux-arm
WindowsAMD64make windows-amd64

配置优先级

所有配置项按以下优先级解析:命令行参数 > 环境变量 > 配置文件 (~/.lsbot.yaml)

完整的环境变量、命令行参数、配置文件对照表:配置优先级


详细文档


依赖


许可证

MIT License


lsbot — Lean & Secure Bot · lsbot.org · bot.lingti.com(国内) · GitHub

Global Ranking

-
Trust ScoreMCPHub Index

Based on codebase health & activity.

Manual Config

{ "mcpServers": { "lsbot": { "command": "npx", "args": ["lsbot"] } } }