关于 lasso
lasso 面向 Agent,可管理可连接主机上的编码 Agent,并通过浏览器界面供人类查看。它提供 MCP 工具来管理 Agent 和主机、通知人类、展示文件,以及控制共享的 Chromium 浏览器。
主要功能
- 01创建和管理编码 Agent
- 02查看 Agent 与可连接主机
- 03通知人类并展示文件
- 04控制共享的 Chromium 浏览器
- 05管理浏览器配置和标签页
适用场景
- 01跨多个仓库启动编码 Agent
- 02查看 Agent 状态并关闭 Agent
- 03展示文件供人类审阅
- 04在共享 Chromium 中执行浏览器任务
MCP 相关
lasso 提供两个 MCP 服务:一个用于管理 Agent、主机、通知、文件和浏览器标签页;另一个提供导航、点击、截图和网络检查等浏览器工具。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ execution-associates/ lasso --skill lasso安装后在 Claude Code 中输入/lasso确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEREADME.mdNOTICE.gitignoreCLAUDE.md.claude/settings.json.github/workflows/release.ymlci.ymlbrand/icon/build.pydocs/assets/architecture/lasso.reladrawdocs/concepts/agents.mdnotifications.mdshared-browser.mdindex.mdhosts.mddocs/deployment/cloudflare.mdindex.mdtailnet.mdsystemd.mdupdating.mddocs/design/agent-records.mdinput-dial.mdfile-viewer-host.mdchat-view.mdmcp-cli.mdagent-scope.mdper-tab-hosts.mdshared-browser.mdnotifications.mdsidebar-layout.md详细介绍
将 lasso 用作 Agent
lasso 在一台机器上运行,并管理一组服务:通过 herdr 为人类提供浏览器 UI,并为你提供 MCP 服务。通过它,你可以在 lasso 能访问的任意主机上创建其他编码 Agent,查找并关闭 Agent(包括你自己),通知人类,向他们展示文件,并操控他们可以实时观看的真实 Chromium。
完整文档:本仓库中的 docs/,从 docs/index.md 开始。工具参考见 docs/mcp/tools.md。
如何连接
通常由 lasso connect 注册两个 MCP 服务:
| 服务 | URL | 用途 |
|---|---|---|
lasso | <lasso>/mcp | Agent、主机、notify、open_file、浏览器配置文件和标签页 |
lasso-browser | <lasso>/browser-mcp | 针对共享浏览器使用 chrome-devtools-mcp 的工具(navigate、click、fill、screenshot、console、network) |
如果缺少工具,请检查 claude mcp list(或你的 CLI 对应命令),并请人类运行 lasso connect。每个 MCP 工具也有对应的 shell 命令:lasso mcp 会列出这些工具,lasso mcp <tool> -h 会显示标志;lasso notify、lasso open 和 lasso closeme 是常用工具的快捷命令。
重要规则
- lasso 不会与 Agent 通信。 它会创建、列出、检查并关闭 Agent。若要向其他 Agent 提示词发送内容、读取其屏幕或等待它,请使用 herdr(
herdr agent prompt/read/wait)或你所用框架自带的 Agent 消息功能。 - 你必须自行传入
$HERDR_PANE_ID。 MCP 服务运行在 lasso 进程中,无法读取你的环境变量。将其作为pane_id传给whoami、notify、open_file和close_agent。 host默认为你自己的主机,而非 lasso 所在主机。只有要在其他机器上操作时才传入主机,而且只能传入list_hosts返回的主机。- 列表为空通常是作用范围受限,并非服务中断。 你的凭据会限制你可查看的主机。
- 使用
close_agent(或lasso closeme)关闭 lasso Agent,切勿使用herdr pane close。 直接关闭窗格会留下 Agent 记录和已暂存的提示词文件。
创建 Agent
- 使用
list_hosts选择一台主机(不传host表示选择你自己的主机)。状态为probing或timeout的条目并不代表主机已宕机;稍后重试,或传入refresh: true。 - 对于 git Agent,使用
list_repos获取仓库路径,并使用list_branches获取基础分支。 - 使用
create_agent:type:git(基于base_branch新建分支并创建全新的工作树;默认使用仓库的 HEAD)或scratch(空工作区)。agent:claude(默认)、codex、opencode、omp或pi。可选参数:model、effort、extra_args。prompt:初始任务。省略后,CLI 会以空闲状态启动,供人类使用。title、branch_name、branch_prefix、notes(写入工作目录中的NOTES.md)、plan_mode(claude、opencode、omp)、advisor(omp)。focus: true会将人类的视图切换到新窗格;默认情况下视图保持不变。
命令会立即返回 Agent 的 id、工作区和根窗格;Agent 会异步启动。使用 get_agent 查看状态(working、idle、blocked、unknown 或 failed)。list_agents 也会显示 lasso 未创建的外部 herdr 会话;可通过 sidebar_name 或 root_pane 操作这些会话。
若要让多个仓库更新到最新状态,请对每个仓库分别调用一次 create_agent。
完成工作并关闭自己
lasso closeme # close the calling agent (uses $HERDR_PANE_ID)
或者通过 MCP 操作:使用 close_agent,将 pane_id 设为你的 $HERDR_PANE_ID;也可以先调用 whoami,然后使用返回的 id 和 host 调用 close_agent。remove_worktree: true 还会删除 git Agent 的工作树并丢弃未提交的工作,因此只有在工作已提交或推送后才使用此选项。
联系人类
notify 会向他们的手机发送通知,即使手机处于锁定状态也一样。只有在确实需要联系他们时才使用:需要由他们做出的决定、阻塞进度的问题,或他们离开期间完成的长时间任务。此工具没有频率限制,因此每次调用都会让手机振动。
lasso notify "the migration drops 2 columns. Safe to run on prod?"
检查结果:sent: false(或 CLI 返回非零退出码)表示没有注册设备,也没有人收到通知。不要声称已通知他们。
open_file 会在他们终端旁边的 Files 面板中打开文件,该面板会显示在每个可见的 lasso 标签页中。当他们说“帮我打开”或你希望他们查看某些内容时,可使用此工具。传入绝对路径或 ~/ 路径(CLI 会解析相对路径),以及可选的 line。传入目录会在该目录下打开文件树。检查 delivered:0 表示没有打开的 lasso 标签页,他们也没有看到文件。
lasso open docs/plan.md -line 40
状态卡片。 在 herdr 侧边栏和 lasso 窗格切换器中的窗格卡片上,用一行文字概述你正在做的事情,并在阶段变化时更新:
herdr pane report-metadata "$HERDR_PANE_ID" --source agent:self --token summary="<what you're doing>" --ttl-ms 1800000
不要使用 herdr pane report-agent;它会覆盖 herdr 自带的状态检测。
共享浏览器
运行在 lasso 设备上的真实 Chromium,人类可以通过 lasso 的 Browser 标签页查看并点击操作。
- 调用
shared_browser启动浏览器并获取/browser-mcpURL(mcp_endpoint)、原始 CDP WebSocket(用于 Playwright 的connectOverCDP)、profiles_url(普通GET请求,用于列出每个配置及其各自的 CDP WebSocket),以及已打开的页面。available: false或mcp_available: false会附带原因。 - 打开自己的页面(在
lasso-browser上调用new_page),不要导航到并非由你打开的页面。人类的标签页会显示最近打开的页面,因此打开页面会让他们切换到该页面。 - 完成后关闭自己打开的页面。
- 浏览器中的
localhost指的是 lasso 的设备,而不是你的设备。 - 已登录的账号属于人类。 可以阅读;发布、发送、接受或购买则需要先征得他们同意。
- 配置是彼此独立的 Chromium 实例,各自拥有独立的 Cookie、登录信息和代理。每个
lasso-browser工具都接受可选的profile(ID 或显示名称;省略时使用默认配置)。页面 ID 仅属于某个配置,因此每次调用涉及某个页面时,都要传入相同的profile。使用list_browser_profiles、create_browser_profile、update_browser_profile、delete_browser_profile管理配置。 - 要通过
/mcp将页面显示在人类的屏幕上,请使用open_browser_tab;使用show_browser_tab、list_browser_tabs和close_browser_tab管理已有标签页。
插件工具
已启用的插件会向 /mcp 添加名为 <plugin>__<tool> 的工具。它们会出现在你的工具列表和 lasso mcp 中。在 lasso 上像使用其他工具一样使用它们。