仓库专属微代理:为你的仓库定制 OpenHands

仓库专属微代理允许你通过将项目专有的上下文和指导规则嵌入仓库中,优化 OpenHands 的工作方式。这种定制化使 AI 的辅助更具一致性和针对性,为你的项目提供详细的指导、编码标准和工作流程,满足项目的独特要求。


如何创建仓库专属微代理

要集成仓库专属的指导,你需要在仓库根目录下创建一个专用目录:

your-repository/
└── .openhands/
└── microagents/

在此目录中,你可以添加三种不同类型的微代理,每种微代理都有其特定功能:

  1. 仓库微代理
    文件:.openhands/microagents/ 目录下创建一个名为 repo.md 的文件。
    作用: 该文件包含整体仓库专用的指导信息,例如项目总体规范、团队惯例、编码标准以及架构指引。
    使用方式: 每当 OpenHands 与该仓库进行交互时,这个文件会自动加载,无需通过关键词触发。
  2. 知识微代理
    位置: 将这些文件存放在 .openhands/microagents/knowledge/ 目录下。
    作用: 提供可复用的、领域专属的专业知识,如针对 Git、Docker、Python 等工具和常见实践的具体指导。
    使用方式: 当你在对话中提到特定关键词(例如 “git”)时,对应的知识微代理(例如 git.md 文件)会自动触发,提供额外的上下文和建议。
  3. 任务微代理
    位置: 将任务导向型的微代理存储在 .openhands/microagents/tasks/ 目录中。
    作用: 为常见的开发工作流程和任务提供分步指导。这些微代理可以接收输入并根据不同情境进行调整,确保复杂操作能一贯地获得一致的结果,例如自动更新拉取请求描述或处理 PR 评论。
    使用方式: 你可以明确调用这些微代理,让它们引导你完成旨在规范重复工作流程的交互式步骤。

仓库微代理的最佳实践

  • 仅使用一个 repo.md 文件:
    OpenHands 仅支持每个仓库中一个 repo.md 文件(类型为仓库微代理)。建议将所有仓库专用指导信息整合进这个单一文件中,并分成多个结构清晰的部分。
  • 目录结构:
    虽然 OpenHands 依据 YAML 前言中的 type 字段来判断微代理类型,而非单纯依据文件位置,但采用标准目录结构(将仓库微代理、知识微代理和任务微代理分别存放)有助于保持清晰和条理。
  • 上下文管理:
    请注意,每加载一个微代理都会占用上下文窗口的空间。必须在提供更多细节与用户输入指令之间取得平衡,以确保整体性能达到最佳状态。
  • 定制与更新:
    OpenHands 同时支持利用现有公共微代理(例如 add_agent 微代理)来创建新的微代理。这让你可以随着时间推移逐步扩充和优化仓库的指导。

示例目录结构

你的仓库可能具有以下结构:

your-repository/
└── .openhands/
└── microagents/
├── repo.md      # 仓库专用指导
└── knowledge/
├── git.md      # 关于 Git 的专属指导
├── docker.md    # Docker 相关专业知识
└── python.md    # Python 的最佳实践
└── tasks/
├── update_pr_description.md  # 更新拉取请求描述的指导
└── address_pr_comments.md   # 处理拉取请求评论的流程


总结

通过使用仓库专属微代理,你可以让 OpenHands 提供高度相关、具上下文意识的辅助,完美契合你项目的具体需求。这不仅能节省开发时间,更确保从日常编码到复杂工作流程的每个环节,都能得到来自内嵌项目指导的专家级建议。

祝你编码顺利,享受 OpenHands 带来的真正个性化 AI 驱动开发环境!

评论

发表回复

人生梦想 - 关注前沿的计算机技术 acejoy.com 🐾 步子哥の博客 🐾 背多分论坛 🐾 知差(chai)网
快取状态: Yes
内存使用量: 0.4624 MB
资料库查询次数: 0
页面产生时间: 0.007 (秒)