跳到主要内容

开发工具

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.modtsconfig.jsonpyproject.tomlCargo.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 如何协调工作