mcpField
U
Uindow

Uindow

本地服务
uindow.com浏览器自动化87 周前更新

关于 Uindow

Uindow 是本地浏览器自动化应用,通过真实鼠标、键盘输入和原生文件对话框控制已签名的 Chromium/Electron 浏览器。它支持无代码录制和 JavaScript 模块,也可由 AI 助手控制。

主要功能

  1. 01自动化操作真实 Chromium/Electron 浏览器
  2. 02无需编写代码即可录制工作流
  3. 03创建并调试 JavaScript 模块
  4. 04使用内置自动补全和代码检查
  5. 05通过 CLI 命令运行应用

适用场景

  1. 01录制可重复执行的浏览器工作流
  2. 02让 AI 助手编写自动化模块
  3. 03编写并调试自定义浏览器自动化
  4. 04在 CI/CD 流水线中运行浏览器自动化

MCP 相关

本地 MCP 服务通过 stdio 通信,使兼容客户端能够在 Uindow 中列出、创建和运行自动化模块。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"uindow": {
"command": "npx",
"args": [
"-y",
"@uindow/cli"
]
}
}
}
启动命令npx -y @uindow/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@uindow/cli0.1.12

工具

38

收录的工具列表 · 更新于 3 周前

参数类型必填说明
querystring否(可选)不区分大小写的搜索查询。省略时,此工具会返回可用的美元符号($)对象属性和方法列表。不允许使用通配符或正则表达式,但一次最多可搜索 10 个词项,以竖线分隔。示例:"navigate|load page|visit url"
maxResultsinteger否(可选)结果的最大数量(1 到 10 之间的数字)。增大此值可获取更多结果,但可能会占用更多上下文内存。

详细介绍

Uindow - 免受提示词注入的 AI 浏览器

README 配图

Uindow 驱动的是一款真实、经过签名的 Chromium/Electron 浏览器,通过真正的操作系统级输入进行控制——实际的光标移动、真实的按键输入和原生文件对话框,而非合成的页面事件。它完全运行在你自己的机器和网络上,并且它执行的每一行代码都清晰地展示在这个代码仓库中。

三种自动化方式:

  • 无需编写代码 - 在集成编辑器中构建自动化,并录制复杂的工作流。
  • 通过任意 AI 助手使用 - Uindow 附带一个本地 MCP 服务,因此 Claude、Cursor、VS Code 或任何 兼容 MCP 的客户端都可以直接列出、创建和运行自动化模块。 请参阅通过 AI 助手控制 Uindow。
  • 使用纯 JavaScript 编写自动化 - 使用集成开发环境轻松编写、测试和 调试自动化。内置自动补全、代码修复、JavaScript 解析和代码检查功能。

运行 Uindow

要使用此应用,请在 uindow.com 免费创建账号, 并按照屏幕上的说明操作。

选项 1 - 预构建二进制文件(推荐)

我们直接从 dist 源代码构建适用于 macOS、Windows 和 Linux 的签名二进制文件,并将其托管在 GitHub Releases 页面(当前版本和旧版本)以及 Uindow 安装页面上。

选项 2 - npx

一条命令即可获取 CLI 并启动应用:

npx -y @uindow/cli@latest app:start

其他生命周期命令:

npx @uindow/cli app:status  # check whether the app is running
npx @uindow/cli app:stop    # stop the app
选项 3 - 从源代码运行

克隆代码仓库并直接从源代码启动应用。

git clone https://github.com/uindow/uindow.git uindow
cd ./uindow/
npm install
npm start

通过 AI 助手控制 Uindow(MCP)

Uindow 提供本地的 Model Context Protocol 服务, 因此任何兼容 MCP 的客户端都可以直接驱动网页自动化 Agent。 该服务通过 stdio 安全通信,并由 AI 助手按需启动。

**要求:**Node.js 18+,且 npx 位于 PATH 中。

npx -y @uindow/cli@latest mcp
快速参考

Uindow 为最常用的 AI 助手提供一键连接器。

前往 Uindow > AI 助手 > 连接

AI 助手即时连接根键配置位置
Claude Code(CLI + 桌面版 Code)✅ 是mcpServers~/.claude.json
Claude Desktop(Chat / Cowork)✅ 是mcpServersclaude_desktop_config.json
Cursor✅ 是mcpServers~/.cursor/mcp.json
VS Code(Copilot)✅ 是serversmcp.json(MCP: Open User Configuration)
Windsurf✅ 是mcpServers~/.codeium/windsurf/mcp_config.json
Zed✅ 是context_serverssettings.json
Codex✅ 是TOML [mcp_servers.*]~/.codex/config.toml
Gemini CLI✅ 是mcpServers~/.gemini/settings.json
Cline✅ 是mcpServerscline_mcp_settings.json
Goose✅ 是YAML extensions~/.config/goose/config.yaml

JetBrains AI Assistant

前往 Settings > Tools > AI Assistant > Model Context Protocol (MCP),点击 Add,然后粘贴 JSON。在同一对话框中,将范围设为 Global,而不是 项目范围,这样该服务就能在你打开的每个项目中使用,然后点击 Apply 启动它。

{
    "mcpServers": {
        "uindow": {
            "command": "npx",
            "args": ["-y", "@uindow/cli@latest", "mcp"]
        }
    }
}
其他 AI 助手

大多数其他 AI 助手都接受放在 mcpServers 下的同一对象。请在主目录(~/.<client>/...)中查找配置文件, 而不是在项目根目录中查找——主目录中的副本是全局配置:

{
    "mcpServers": {
        "uindow": {
            "command": "npx",
            "args": ["-y", "@uindow/cli@latest", "mcp"]
        }
    }
}

将 AI 助手指向命令 npx,并使用参数 -y @uindow/cli@latest mcp。

如果 AI 助手要求明确指定传输字段,请使用 "type": "stdio"。

验证连接

先手动运行启动命令——这是区分“Uindow 出了问题”和“AI 助手无法启动它”最快的方法:

npx -y @uindow/cli@latest mcp

stdio 服务不会输出任何内容,并会保持阻塞。终端静默且卡住,表示它已正确启动;按 Ctrl-C,然后返回 AI 助手。在这里看到的任何堆栈跟踪,才是 AI 助手一直隐藏的真正错误。

然后确认作用范围设置已生效:从不同于配置该服务的目录启动 AI 助手,并检查 Uindow 的工具是否仍列在其中。如果工具消失了,说明条目被写入了项目本地配置。

故障排除
  • 服务在一个项目中正常工作,在另一个项目中却不行。

    • 这是典型的作用范围问题——该条目是项目本地配置。在 Claude Code 中,从另一个目录运行 claude mcp list 会显示为空;使用 --scope user 重新添加。在 Gemini CLI 中,使用 -s user 重新添加。在 Cursor 和 VS Code 中,将条目从 .cursor/mcp.json 或 .vscode/mcp.json 移到 ~/.cursor/mcp.json 或用户配置文件中的 mcp.json。
  • GUI 应用中出现 spawn npx ENOENT / 服务无法启动。

    • 桌面应用不会继承 shell 的 PATH,这会影响任何使用 nvm、asdf 或 Volta 的人。运行 which npx(在 Windows 上运行 where npx),并在 command 中填入绝对路径。
  • 配置已保存,但没有任何反应。

    • 大多数桌面 AI 助手只会在完全重启后重新加载 MCP 配置——请彻底退出应用(macOS:Cmd+Q;Windows:从系统托盘图标退出),而不是只关闭窗口。
  • 添加服务后缺少工具。

    • 根据上表检查根键:VS Code 使用 servers,Zed 使用 context_servers,Codex 的 TOML 使用 mcp_servers,其他所有应用使用 mcpServers。大多数 AI 助手会静默忽略错误的键。
  • 条目重复或被覆盖。

    • 有些 AI 助手会优先采用项目配置,而不是全局配置,因此旧的项目本地 uindow 条目会静默覆盖新的全局条目。请删除过期条目,而不是同时编辑两处配置。
  • 服务已连接,但没有使用工具。

    • 在 Claude Code 中,MCP 工具默认会延后到工具搜索时按需加载,因此它们可能不会出现在初始工具列表中。按名称请求 Uindow 工具,或在服务条目中设置 "alwaysLoad": true,以便在会话开始时加载其工具。
  • 接下来查看哪里。

    • claude mcp list 和 /mcp(Claude Code)、Output 面板 > MCP Logs(Cursor)、Output > MCP(VS Code)、~/Library/Logs/Claude/mcp*.log 或 %APPDATA%\Claude\logs\mcp*.log(Claude Desktop)。

命令行界面

你可以通过任何 CI/CD 流水线或命令行界面运行 Uindow。

npx -y @uindow/cli@latest --help

或者,你可以使用 node dist/bin.js --help,而不是 npx @uindow/cli --help,以获得更快的响应。

  USAGE
    $ npx @uindow/cli <command> [options]

  AVAILABLE COMMANDS
    $ npx @uindow/cli mcp                     Uindow MCP server (stdio) 
    $ npx @uindow/cli app_docs                Query SDK documentation 
    $ npx @uindow/cli app_status              Get application status 
    $ npx @uindow/cli app_start               Start application 
    $ npx @uindow/cli app_stop                Stop application 
    $ npx @uindow/cli agent_list              List agents 
    $ npx @uindow/cli agent_create            Create agent 
    $ npx @uindow/cli agent_update            Update agent 
    $ npx @uindow/cli agent_delete            Delete agent 
    $ npx @uindow/cli agent_status            Get agent status 
    $ npx @uindow/cli agent_start             Start agent 
    $ npx @uindow/cli agent_stop              Stop agent 
    $ npx @uindow/cli agent_screenshot        Grab agent screenshot 
    $ npx @uindow/cli agent_viewport          Scan agent viewport 
    $ npx @uindow/cli agent_execute           Execute code in an agent 
    $ npx @uindow/cli agent_logs              Get agent logs 
    $ npx @uindow/cli agent_settings_get      Get settings 
    $ npx @uindow/cli agent_settings_set      Update settings 
    $ npx @uindow/cli agent_results_get       Get latest results 
    $ npx @uindow/cli src_sample              Module: get sample (yaml) 
    $ npx @uindow/cli src_export              Module: get source (yaml) 
    $ npx @uindow/cli src_code_get            Module: get state or function code 
    $ npx @uindow/cli src_code_set            Module: set state or function code 
    $ npx @uindow/cli src_keys_list           Module: list item keys 
    $ npx @uindow/cli src_keys_reorder        Module: reorder item keys 
    $ npx @uindow/cli src_keys_update         Module: update item key 
    $ npx @uindow/cli src_keys_delete         Module: delete item 
    $ npx @uindow/cli src_input_get           Module: get input 
    $ npx @uindow/cli src_input_set_bool      Module: set boolean input 
    $ npx @uindow/cli src_input_set_int       Module: set integer input 
    $ npx @uindow/cli src_input_set_string    Module: set string input 
    $ npx @uindow/cli src_input_set_files     Module: set files input 
    $ npx @uindow/cli src_input_set_table     Module: set table input 
    $ npx @uindow/cli src_output_get          Module: get output 
    $ npx @uindow/cli src_output_set_bool     Module: set boolean output 
    $ npx @uindow/cli src_output_set_int      Module: set integer output 
    $ npx @uindow/cli src_output_set_string   Module: set string output 
    $ npx @uindow/cli src_output_set_files    Module: set files output 
    $ npx @uindow/cli src_output_set_table    Module: set table output 

  OPTIONS
    --help      Help menu for a specific command 
    --version   Package version 

创建模块

构建模块有三种方式,请按以下顺序尝试:

  1. 录制——零学习成本。 打开集成录制器,像平时一样使用浏览器:指向、点击、滚动、上传和下载文件。录制器会立即将你的操作转换为 JavaScript——确定性执行,不使用任何 AI。所见即所得。

  2. 让 AI 助手通过 MCP 编写。 想要实现更复杂的功能?通过 MCP 将控制权交给本地 AI 助手,让它代你编写模块。描述预期结果,让它为你生成代码。你始终可以掌控自己的自动化,也可以使用内置 IDE 调试代码。

  3. 用纯 JavaScript 自行编写。 如果录制器和 AI 驱动的方式都无法满足需求,就直接动手:

    1. 访问 Uindow SDK 参考
    2. 下载示例模块并将其导入 Uindow
    3. 试用美元符号方法——集成编辑器提供自动补全、代码提示、格式化和代码检查

对大多数人来说,学习成本为零——你只需使用录制器。如果你决定深入使用,学习曲线依然平缓:需要时再使用 SDK,不必提前接触。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。