跳到主要内容

工作流与扩展

Helix 设计用于承载真实的工程工作,这意味着它需要:用于代码改动的结构化工作流、按项目自定义 Agent 行为的方式,以及干净的扩展点,让你能在不修改核心系统的前提下教它新能力。

本页覆盖四个支柱:用于隔离代码改动的 Git Worktree 工作流、控制 Agent 行为的 Agent Profile 体系、注入领域知识的 Skills 体系,以及用于扩展工具集的自定义 MCP server 配置。


Git Worktree 工作流​

当 Agent 需要修改代码时,Helix 会创建一个隔离的 Git worktree,让改动发生在一个独立分支上。这样既能保护你的工作树免受半成品改动的影响,也能让多个 sub agent 并发修改代码而不互相影响。

工作原理​

  1. 创建绑定 —— Agent 调用 create_worktree_binding,传入项目目录与任务描述
  2. 设置分支 —— Helix 解析 Git 根目录,以当前分支为基准,创建一个名为 aiagent/{sessionID}/{task-description}-{hash} 的新分支
  3. 创建 worktree —— 在 Helix 数据目录下创建一个独立的工作目录,并检出到新分支
  4. 执行工作 —— Agent(或 sub agent)在 worktree 中读取、编辑并提交文件,原工作目录不受影响
  5. 合并回主线 —— 任务完成后,Helix 提交剩余改动,切换回基础分支,拉取最新代码,执行 --no-ff merge,并清理 worktree 与临时分支

这为什么重要​

  • 安全 —— 主工作树永远不会被直接修改。如果 Agent 的改动不符合你的预期,你可以在合并之前检查分支。
  • 并行性 —— 多个 sub agent 可以各自拥有自己的 worktree 与分支,同时修改代码库的不同部分,执行期间不会出现合并冲突。
  • 代码审查 —— 系统提示词会要求 Agent 在合并前运行 start_code_review,为 AI 产出的改动提供内建的质量门。
  • 干净的历史 —— --no-ff merge 保留了清晰记录,能看出 Agent 改了什么、何时改的。

示例流程​

用户:"重构鉴权模块并更新其测试"

Agent 思考:
→ 为鉴权模块创建 worktree binding
→ 启动 sub agent A:在 worktree A 中重构鉴权模块
→ 启动 sub agent B:在 worktree B 中更新鉴权测试
→ 两者在隔离分支上并发工作
→ 各自在完成前运行代码审查
→ 改动依次合并回主分支
提示

你不需要手动创建 worktree。Agent 会根据任务自行判断何时需要隔离。对于代码审查、架构分析这类只读任务,不会创建 worktree。


Agent Profiles​

Agent Profile 让你可以创建可复用的配置,控制 Agent 的行为。每个 profile 定义了模型、可用工具、思考行为与运行参数。你可以为不同任务创建不同的 profile:一个快速审查者、一个深思熟虑的架构师、一个对成本敏感的日常助手。

Profile 配置​

Profile 以 YAML 文件形式存储于 ~/.aiagent/agent/{id}.yaml。每个 profile 可配置:

字段控制内容
Model使用哪个 LLM,格式为 providerId:modelId
MCP ServersAgent 可访问的 MCP server(限制工具集)
Thinking Mode是否启用 extended thinking 以及 token 预算
LanguageAgent 的回答语言(如 zh、en)
Timeout最大会话时长(支持超过 5 小时的会话)
Cache and Compaction上下文缓存与对话压缩策略

Profile 与 Workspace 的关联​

Profile 与 Workspace 绑定。当你在某个 Workspace 中创建新的对话会话时,Workspace 的 profile 配置会自动应用。这意味着你可以这样组织:

  • 一个 代码 Workspace,使用 Claude + 完整的 Serena LSP + 启用 thinking,用于深度工程工作
  • 一个 审查 Workspace,使用 DeepSeek + 只读工具,用于高性价比的代码审查
  • 一个 运维 Workspace,使用 Remote SSH + Shell 工具,用于服务器管理

每个 Workspace 都保留自己的 profile 配置,因此切换项目也意味着切换 Agent 的行为与能力。

按 Profile 限制工具​

Profile 中最有用的特性之一是 MCP server 过滤。在 profile 中只列出特定的 MCP server,就能创建聚焦且安全的 Agent:

# 示例:只读审查 Agent
mcp_servers:
- builtin_serena # 代码智能(可设置为 planning 模式)
- builtin_skills # 访问审查 skill

这个 profile 无法执行 shell 命令,无法修改 Serena 控制范围之外的文件,也无法访问远程服务器。它仅能阅读、分析与汇报。


Skills 体系​

Skill 是 Helix 向 Agent 注入领域知识与工作流的机制。一个 skill 是一个带结构化提示的 Markdown 文件,Agent 在遇到与该 skill 描述匹配的任务时按需加载。

Skill 工作原理​

  1. 发现 —— 会话启动时,Helix 读取所有可用 skill 的元数据(名称与描述)并将其包含在系统提示中
  2. 匹配 —— Agent 看到 skill 列表,决定是否有 skill 与当前任务相关
  3. 加载 —— Agent 调用 read_skill(name) 把完整的 skill 内容载入对话
  4. 执行 —— skill 的指令引导 Agent 按特定的工作流或约定执行

这种两阶段方式让系统提示保持紧凑。Agent 不需要预先加载所有可能的指令,而是按需取用。

Skill 文件格式​

每个 skill 是一个目录,包含一个 SKILL.md 文件。该文件用 YAML frontmatter 存放元数据,用 Markdown 写实际指令:

---
name: commit
description: Smart commit assistant that checks incremental code changes,
filters large files and binary artifacts, and safely executes git commit.
version: "1.0"
author: your-name
tags: [git, commit, safety]
---

# Smart Commit Assistant

You are a smart Git commit assistant that helps users safely commit code changes.
Before executing `git add`, you check whether new files contain large files
or binary artifacts, and stop immediately if problems are found.

## Workflow

### Step 1: Check current Git status

(detailed instructions follow...)

内置 Skill​

Helix 自带三个内置 skill:

Skill用途
commit智能提交助手——在提交前检查大文件与二进制产物,并生成清晰的提交信息
serenaSerena LSP 编码助手——提供使用符号级代码分析与编辑工具的详细指引
code-reviewer代码审查助手——分析本地仓库或远程 MR 的代码质量、安全问题与最佳实践

创建你自己的 Skill​

自定义 skill 放在 ~/.aiagent/skills/。创建一个目录并放入 SKILL.md:

~/.aiagent/skills/
my-deploy-skill/
SKILL.md # 必需:skill 定义
checklist.md # 可选:附属资源
config-template/ # 可选:模板文件

Agent 可以通过 read_skill_file(skill, file) 访问附属文件,并用 list_skill_files(skill) 列出可用文件。

实用的 skill 想法:

  • 部署工作流 —— 针对你基础设施的逐步部署指引
  • API 约定 —— 团队的 API 设计规范与模式
  • 测试策略 —— 项目特定的测试方法与覆盖率要求
  • PR 审查清单 —— 针对你代码库的自定义审查标准
  • 故障响应 —— 处理常见生产问题的 runbook 式指引
信息

如果自定义 skill 与内置 skill 同名,自定义版本优先生效。这让你可以在需要时覆盖内置行为。


把所有要素组合起来​

Helix 的扩展点彼此协同。一个典型的进阶配置可能是这样的:

  1. Agent Profile 定义一个启用 thinking 的 Claude 模型与一组精心挑选的 MCP server
  2. Workspace 把 profile 与具体项目目录绑定
  3. Skills 注入团队在提交、审查与部署上的约定
  4. 自定义 MCP server 提供数据库访问与工单系统集成
  5. Git Worktree 隔离代码改动,让 Agent 可以无风险地自由工作

Agent 启动一个任务、加载相关 skill、使用可用工具、为代码改动创建 worktree、执行审查并合并结果——一切都在你只配置一次、跨会话复用的结构化工作流中完成。


接下来​