本地终端访问服务

OpenLoL是一个本地操作层服务,允许AI代理安全地访问用户机器的终端,执行文件操作和系统检查等任务。

  • by altamsh04
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 altamsh04/openlol

使用说明

OpenLoL😆

打开本地操作层——让任何AI代理直接安全地访问您的机器终端。

🔄 状态:正在积极开发中


它做什么

OpenLoL 启动本地 模型上下文协议 服务器的作用域为您计算机上的一个文件夹。将任何兼容MCP的AI客户端指向生成的URL,它可以读取文件、写入文件、运行终端命令和检查系统信息——所有这些都在您定义的边界内。

没有云。没有接力。你的机器,你的文件夹,你的代币。


快速开始

# Recommended: install globally
npm i -g openlol

# Or install locally
npm i openlol

# Expose the current folder
openlol .

CLI选项

标志 描述 默认值
[path] 要公开的文件夹(位置) .
-f, --folder <path> 要公开的文件夹(替代 [path]) —
-p, --port <number> 要收听的端口 3333
--host <host> 要绑定的主机 localhost

连接到游标

添加 .cursor/mcp.json 在项目根目录中(或 ~/.cursor/mcp.json 全球):

{
  "mcpServers": {
    "openlol": {
      "url": "http://localhost:3333/mcp?token=<your-token>",
      "transport": "http"
    }
  }
}

每次服务器启动时都会打印令牌。每次都会生成一个新的令牌。


可用工具

工具 说明
execute_command 在作用域文件夹中运行任何shell命令
read_file 读取文件内容
write_file 创建或覆盖文件
append_file 将内容附加到文件
delete_file 删除文件或目录
list_directory 列出文件和文件夹
create_directory 创建目录(递归)
move_file 移动或重命名文件
file_exists 检查是否存在路径
get_system_info 操作系统、内存、正常运行时间
get_disk_usage 所有驱动器的存储使用情况
get_environment_variables 检查环境变量(带可选过滤器)

所有文件和命令操作都是 沙盒到您指定的文件夹。目录遍历被阻止。


用例

文件和项目管理

“创建一个 ideas.md 归档并添加10个SaaS创业想法。” “全部重命名 .txt 此文件夹中的文件 .md." “显示此项目的文件夹结构。”

系统检查

“我的笔记本电脑上还有多少存储空间?” “我目前的内存使用情况如何?” “列出包含单词PATH的所有环境变量。”

开发工作流程

“跑 npm install 然后 npm run build 并向我展示输出结果。" “检查 package.json 存在,然后阅读并总结依赖关系。" “创建新 src/utils 文件夹和脚手架a helpers.ts 文件。"

脚本编写和自动化

“编写一个shell脚本来备份所有内容 .json 文件到a backup/ 子文件夹并运行它。” “跑 git status 告诉我哪些文件发生了变化。"


安全模型

  • 每一个请求 /mcp 和 /sse 需要会话令牌(Bearer标头或 ?token= 查询参数)。
  • 所有文件和命令操作仅限于通过传递的文件夹 -f。转义根的路径将被拒绝。
  • 令牌是每次启动时新生成的UUID v4——会话之间永远不会重用任何令牌。
  • /health 是唯一的公共端点。

绑定到 localhost 仅 (默认设置)。在没有额外加固的情况下,不要将此服务器暴露在公共互联网上。


运输支持

传输 端点 客户端支持
流式HTTP POST /mcp Claude Desktop、Cursor、现代MCP客户端
SSE(传统) GET /sse 较旧的MCP客户端

技术栈

  • TypeScript --严格模式,NodeNext模块
  • **@modelcontextprotocol/sdk**--MCP服务器+传输
  • 快速 --HTTP层
  • 指挥官 --CLI
  • 黄道带 --运行时输入验证
  • 通用唯一标识符 --会话令牌生成

路线图

  • 发布到npm openlol
  • 配置文件支持(.openlolrc)
  • 每个会话有多个文件夹作用域
  • Https隧道集成用于远程访问
  • 工具允许/拒绝列表配置
  • 用于会话监控的Web UI

许可证

麻省理工学院