跳到主要内容

开发工具

Helix 内置 12 个 MCP server,向你的 Agent 暴露大约 70 个工具。这些工具覆盖代码智能、文件管理、终端访问、Web 交互、远程操作等。每个工具都通过 Model Context Protocol 运行,使 Agent 可以以统一方式发现、调用和组合它们。

本页解释每个工具组的作用、工具如何在各 Agent 层之间分配,以及如何用你自己的 MCP server 扩展工具集。


工具如何与 Agent 关联​

Helix 中所有工具都以 MCP server 的形式暴露。当一个会话启动时,系统会根据 Workspace 配置与 Agent 层级组装工具集:

  • Manager Agent —— 只看到 Longterm Agent 工具。它的职责是协调,而不是执行。
  • Execution Agent —— 可访问除 Longterm Agent 之外的所有工具。真正的工作在这里发生。
  • Sub Agents —— 继承父会话的工具,但去掉 SubAgent server 本身(防止递归创建)。

这种分层过滤让每个 Agent 专注于自身角色,同时防止意外的工具循环。


代码智能 —— Serena LSP​

28 个工具 · 全局共享服务

Serena 是 Helix 核心的代码智能引擎。它接入 Go、TypeScript、Python、Rust、Dart、Java 与 C/C++ 的 Language Server Protocol 服务,让 Agent 拥有人类在 IDE 中获得的同等深度的代码理解能力。

符号分析​

工具作用
activate_project打开一个项目并启动其 language server
list_projects显示所有活跃项目及其 LSP 状态
get_symbols_overview列出文件中所有的类、函数与变量
find_symbol在项目中按名称搜索符号
go_to_definition跳转到符号的定义处
find_references查找符号被使用的所有位置
get_hover_info获取符号的类型信息与文档
rename_symbol在整个项目中安全地重命名符号

文件操作​

工具作用
read-file读取文件内容,可指定行范围
write_file创建或覆盖一个文件
list_dir列出目录内容,可选递归
find_file按通配符模式查找文件
search_pattern跨文件搜索正则模式
replace_content用字面匹配或正则替换文本
delete_lines删除文件中的特定行
replace_lines用新内容替换特定行
insert_at_line在指定行号插入内容

符号编辑​

工具作用
replace_symbol_body替换整个函数或类的定义
insert_after_symbol在符号之后立即插入代码
insert_before_symbol在符号之前立即插入代码

工作流引导​

工具作用
think_about_collected_information反思已收集的信息是否足够
think_about_task_adherence检查 Agent 是否仍在正确轨道上
think_about_whether_you_are_done验证任务是否真的完成
summarize_changes生成所有代码改动的摘要
start_code_review启动自动化代码审查循环
switch_modes在 editing、planning 与 interactive 模式间切换
prepare_for_new_conversation为新会话重置上下文
initial_instructions加载 Serena 操作手册

正是这些工作流工具让 Serena 不只是一个代码搜索引擎。它们引导 Agent 走过一个有纪律的流程:收集信息、确认方向、执行变更、复核结果、最终汇总。这种结构正是 Helix 能在 50 步任务中保持连贯性的原因。

提示

Serena 会通过 go.mod、tsconfig.json、pyproject.toml、Cargo.toml 等标识文件自动识别项目语言。多数情况下无需手动配置。


Shell 与终端​

Shell 执行​

1 个工具 · 全局共享服务

工具作用
execute_shell运行 shell 命令并返回输出

直接的命令执行,可配置超时与工作目录。Agent 通过它运行构建、测试、linter、包管理器等任意 CLI 工具。

Tmux 终端​

6 个工具 · Workspace 级服务

工具作用
create_window创建一个新的终端窗口
close_window关闭一个终端窗口
execute_command在指定窗口中运行命令
read_output读取窗口当前的输出
send_keys向窗口发送按键输入
kill_process终止窗口中正在运行的进程

Tmux 让 Agent 拥有持久化的终端会话。与每次运行一条命令并返回的 execute_shell 不同,Tmux 窗口保持打开。这对以下场景至关重要:

  • 长时间运行的进程,如开发服务器、watch 模式或数据库进程
  • 交互式调试,Agent 需要多步发送输入并读取输出
  • 并行终端工作,不同窗口处理不同事项

在 UI 中,每个 Tmux 窗口显示为一个独立的终端 tab。你可以实时观察 Agent 在终端中的工作。


Web 与浏览器​

网页抓取 —— Snag​

4 个工具 · 全局共享服务

工具作用
fetch_url抓取一个 URL,可选 JavaScript 渲染
fetch_tab从已经打开的浏览器 tab 中获取内容
list_tabs列出所有打开的浏览器 tab
screenshot_url对一个网页截图

Snag 负责网页内容获取。它可以抓取静态页面,通过真实浏览器渲染重 JavaScript 站点,并从你已经打开的 tab 中获取内容(适合从已登录会话中抓取文档或工单详情)。

Chrome DevTools​

约 10 个工具 · 外部 Stdio 服务

工具作用
navigate_page跳转到一个 URL
new_page打开一个新的浏览器页面
click点击页面元素
fill填写表单字段
take_screenshot截图
take_snapshot捕获 DOM 快照
evaluate_script在页面上下文中运行 JavaScript
list_network_requests列出捕获到的网络请求
performance_start_trace开始一次性能 trace
performance_stop_trace停止并获取性能 trace

Chrome DevTools 让 Agent 拥有完整的浏览器自动化能力。这对测试 Web UI、调试前端问题、填写表单与验证视觉输出非常强大。Agent 可以导航页面、与元素交互、运行脚本、捕获截图——这正是手动浏览器测试中会用到的同一套能力。


远程操作 —— SSH​

6 个工具 · 全局共享服务

工具作用
remote_connect用密钥或密码注册一个 SSH 连接
remote_disconnect关闭并移除一个连接
remote_list列出所有已注册连接及其状态
remote_shell在远程服务器上执行 shell 命令
remote_upload通过 SFTP 上传本地文件或目录到远程服务器
remote_download通过 SFTP 将远程文件下载到本地路径

远程 SSH 让 Agent 可以在远程服务器上工作,而无需让你在那台机器上运行 Helix。Agent 可以连接到 staging 环境、生产服务器或云实例,然后执行命令并传输文件。连接按名称注册,整个会话可复用。

典型使用场景:

  • 在 staging 服务器上部署并验证改动
  • 从远程环境拉取日志或配置
  • 上传构建产物或配置文件
  • 调试只在特定服务器上重现的问题

Agent 协作​

Sub Agent​

2 个工具 · Workspace 级服务

工具作用
run_subagent启动一个独立的 sub agent 并发执行任务
create_worktree_binding创建 Git worktree 绑定,用于隔离的代码改动

Sub agent 是 Helix 实现并行工作的方式。Execution Agent 可以在一条消息中创建多个 sub agent,它们以独立的上下文并发运行。每个 sub agent 继承父级的工具(不包括 SubAgent server 本身),完成后返回一个结果摘要。

create_worktree_binding 与 sub agent 协同工作于代码修改任务。它创建一个隔离的 Git worktree,让 sub agent 可以在独立分支上做改动,不会干扰主工作树或其他 sub agent。任务完成后,改动会自动合并回来。

Longterm Agent​

4 个工具 · 全局共享服务(仅限 Manager 层)

工具作用
longterm_chat向 Execution Agent 发送一次对话或创建新会话
longterm_history获取对话历史,详细程度可配置
longterm_history_item通过 ID 获取特定的历史条目
longterm_check_id检查会话 ID 是否仍然有效

Longterm Agent 是 Manager 层与 Execution 层之间的桥梁。Manager 用它来委派工作、检查进度并获取结果。这种分离让 Manager 能保持任务的高层视图,而 Execution Agent 处理细节。


上下文与缓存​

1 个工具 · Workspace 级服务

工具作用
recall_cached_content通过 SHA256 哈希取回缓存的工具调用结果

当工具输出很大时(长文件内容、大型搜索结果、冗长的命令输出),Helix 会缓存它们并在对话中插入一个紧凑的引用。对话消息中的 [CACHED] 标记包含一个哈希,Agent 在需要时可以用它召回完整内容。

这一机制是 Helix 让长会话保持可用的关键。系统不会让重复的大型输出灌满上下文窗口,而是只存储一次,让 Agent 在需要时按需取回。结合对话压缩,会话可以运行数小时而不发生上下文崩塌。


端口转发​

3 个工具 · Workspace 级服务(仅限容器环境)

工具作用
expose_port通过 HTTP 反向代理或 TCP 隧道暴露容器端口
list_ports列出所有活跃的端口转发规则
close_port关闭一条端口转发规则

当 Helix 运行在容器环境中时,端口转发可用。它让 Agent 可以将容器内运行的服务(如开发服务器、数据库、API 端点)暴露到外部,以便从外部访问。这对于在基于容器的开发中测试 Web 应用或 API 至关重要。


添加自定义 MCP Server​

除了 12 个内置 server 之外,你还可以添加任意兼容 MCP 的 server 来扩展 Helix 的能力。自定义 server 通过设置 UI 管理,支持两种传输模式。

HTTP(StreamableHTTP)​

适用于以 HTTP 服务方式运行的 MCP server:

{
"name": "my-database-tools",
"url": "http://localhost:3001/mcp",
"enabled": true
}

Stdio​

适用于以本地进程方式运行的 MCP server:

{
"name": "my-custom-tools",
"command": "npx",
"args": ["-y", "my-mcp-server@latest"],
"env": {
"API_KEY": "your-key"
},
"enabled": true
}

自定义 server 配置存储在 global_mcp_servers.json 中,对所有 Workspace 可用。新会话会自动包含全局启用的 server。你也可以按会话管理哪些 server 处于活跃状态。

常见的扩展方向:

  • 数据库工具 —— 直接在 Agent 对话中查询和管理数据库
  • 云厂商工具 —— 与 AWS、GCP 或 Azure 资源交互
  • 工单系统工具 —— 在 Jira、Linear 或 GitHub Issues 中创建和管理工单
  • 监控工具 —— 从 Datadog、Grafana 或类似平台拉取指标与告警
  • 自定义内部工具 —— 把团队的内部 API 与工作流暴露给 Agent
提示

MCP 生态正在快速发展。你可以在 MCP servers directory 查找社区维护的 server 并加入 Helix。


各 Agent 层的工具访问权限​

并不是所有工具对每个 Agent 都可用。下面是完整的访问矩阵:

Tool ServerManagerExecution AgentSub Agent
Longterm Agent✅——
Serena LSP—✅✅
Shell—✅✅
Tmux Terminal—✅✅
Snag (Web)—✅✅
Chrome DevTools—✅✅
Remote SSH—✅✅
Skills—✅✅
Context Cache—✅✅
Port Forward—✅✅
SubAgent—✅—
Custom MCP Servers—✅✅

关键规则:

  • Manager 仅有 longterm_chat 等相关工具,所有事情都通过 Execution Agent 委派。
  • Execution Agent 拥有完整工具集(除 Longterm Agent 外的全部)。
  • Sub Agents 继承 Execution Agent 的工具,但不能再创建 sub agent,也不能创建 worktree 绑定(防止递归循环)。
  • 自定义 MCP server 与内置 Workspace 工具遵循相同的模式。

接下来​

  • 工作流与扩展 —— Git worktree 工作流、Skills 体系、Agent Profile,以及如何在 Helix 工具基础上构建扩展
  • Serena LSP 配置 —— Serena Language Server 集成的详细配置指南
  • 多 Agent 架构 —— Manager、Execution、Sub Agent 如何协调工作