Token导航 LogoToken导航TokenDH.com
Yet Another Agent Harness logo
开发工具未说明官方级别未说明来源级核验

Yet Another Agent Harness

MCP Server

yaah是一个统一的代码代理配置工具,可从单一Go代码库生成四种代码代理(Claude Code、OpenCode、Codex CLI和GitHub Copilot CLI)的配置,提供钩子、中间件链、MCP服务器和多代理支持等功能,适用于开发效率提升和多代理协作场景。

工具数

5

提示词数

0

GitHub Stars

16

资源数

0
开发工具GoClaude配置管理Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

dirien

提供方

dirien

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

是啊

又一个代理工具

只需配置一次编码代理,即可在任何地方使用。

的问题

编码代理配置一团糟。设置位于JSON文件中,技能标记分散在各个目录中,钩子是手工连接的shell脚本,MCP服务器需要手动JSON条目。将其乘以您使用的repo和代理的数量。祝你好运,保持一致。

yaah是做什么的

yaah生成配置 四种编码剂 来自一个Go代码库:Claude Code、OpenCode、Codex CLI和GitHub Copilot CLI。每个代理、每个仓库都有一个命令,结果相同。

yaah generate                      # all agents
yaah generate --agent claude       # Claude Code only
yaah generate --agent opencode     # OpenCode only
yaah generate --agent codex        # Codex CLI only
yaah generate --agent copilot      # GitHub Copilot CLI only

这个命令可以给你:

  • 5个开箱即用的钩子:linting(golangci lint,ruff,better,tsc),一个阻挡的指挥警卫 rm -rf / 和朋友,一个泄露密钥的秘密扫描仪,一个捕捉 TODO: implement 占位符和会话记录器
  • 用于组合处理程序的中间件链(例如秘密扫描+自动修复建议)
  • 用于Context7和Pulumi的MCP服务器,以及一个内置的yaah MCP服务器,将秘密扫描、linting和命令检查等工具直接暴露给代理
  • 生成多代理配置,并对每个代理进行调整(MCP格式、钩子交付、代理工具、技能前沿)
  • 通过官方市场为Go、Python、TypeScript和C#提供LSP支持
  • 会话跟踪,记录会话中的每个工具调用、阻止的命令和文件修改
  • 3种内置技能(提交、公关、审核)加上74种远程和工作流技能,涵盖Pulumi IaC、Flux CD GitOps、Go、Python、TypeScript、Kubernetes、DevOps、SRE、安全审计、代码质量、技术债务分析等
  • 16个代理:3个内置代理(执行者、图书管理员、审阅者)加上4个工作流代理(研究员、规划师、文档编写者、验证者)和9个远程代理 代理代理商 涵盖人工智能工程、后端架构、安全、代码审查、DevOps、SRE和测试
  • 插件支持市场自动启用——随附 OpenAI 代码专家 用于代码审查和任务委派

不想要全部吗?关闭你不需要的东西:

opts := harness.DefaultOptions{
    EnableCommandGuard:  true,
    EnableSecretScanner: true,
    EnableGopls:         true,
    EnableCommitSkill:   true,
    EnableYaahMCP:       true,
}
h := harness.NewWithDefaults(opts)

安装

家酿

brew install dirien/tap/yaah

go install github.com/dirien/yet-another-agent-harness/cmd/yaah@latest

二进制

获取释放 。二进制文件由共同签署,包括SBOM。

快速开始

# Generate .claude/ with all defaults
cd your-repo
yaah generate

# Check that everything is installed
yaah doctor

yaah doctor 告诉您缺少什么以及如何安装:

LSP Servers:
  ✓ gopls                    /usr/local/bin/gopls
  ✓ pyright                  /usr/local/bin/pyright-langserver
  ✗ csharp                   not found → dotnet tool install -g csharp-ls

工作流程

yaah包含一个结构化的项目工作流,其中包含29个斜线命令。所有命令的命名空间为 /yaah:* 并且被注册为显式用户命令——模型永远不会自动触发它们。

生命周期

/yaah:init → /yaah:discuss → /yaah:plan → /yaah:execute → /yaah:verify → /yaah:ship
                                                                    ↓
/yaah:next ← /yaah:progress ← /yaah:complete-milestone ← /yaah:docs

命令参考

命令描述子代理
核心工作流程
/yaah:init项目入职:发现代码库,设定愿景,创建路线图
/yaah:discuss在规划之前捕捉实施决策
/yaah:plan创建波浪分组实施计划
/yaah:execute与并行子代理一波接一波地执行计划
/yaah:verify根据计划进行三级工件验证
/yaah:docs生成经过代码库验证的文档
/yaah:next自动检测并推荐下一步
/yaah:quick在没有充分计划的情况下执行任务
运输和里程碑
/yaah:ship从已验证的阶段工作创建PR
/yaah:complete-milestone归档里程碑、标签发布、生成变更日志
/yaah:new-milestone以新的目标开始新的版本周期
会话管理
/yaah:pause保存会话状态以供稍后恢复
/yaah:resume从上一个会话切换恢复
阶段管理
/yaah:add-phase将阶段添加到路线图末尾
/yaah:insert-phase在现有阶段之间插入紧急阶段
/yaah:remove-phase删除未来阶段
质量与安全
/yaah:review阶段实施的结构化代码审查
/yaah:secureSTRIDE威胁建模和漏洞分析
/yaah:health验证 .planning/ 完整性和一致性
状态和捕获
/yaah:progress详细的项目进度和指标
/yaah:todo捕获、列出或完成快速待办事项
/yaah:note零摩擦创意捕捉
配置
/yaah:settings查看或更新工作流配置
分析与高级
/yaah:explore交互式代码库探索
/yaah:scan扫描安全性、质量、依赖性问题
/yaah:import将现有项目导入规划工作流
/yaah:autonomous无需人工干预即可运行完整的工作流程
/yaah:forensics调查失败或卡住的工作流运行
/yaah:cleanup清理临时规划工件

.规划/目录结构

.planning/
├── PROJECT.md          # Vision, goals, tech stack, constraints
├── REQUIREMENTS.md     # Scoped requirements with REQ-IDs
├── ROADMAP.md          # Phases with scope, success criteria, status
├── STATE.md            # Current position and progress tracking
├── HANDOFF.md          # Session pause/resume state
├── TODOS.md            # Quick todo items
├── config.json         # Workflow settings
├── research/           # Project-level research
├── phases/             # Per-phase artifacts
│   └── 01-auth/
│       ├── CONTEXT.md        # Implementation decisions
│       ├── RESEARCH.md       # Phase-specific research
│       ├── 01-01-PLAN.md     # Task plan with wave grouping
│       ├── 01-01-SUMMARY.md  # Execution outcomes
│       ├── VERIFICATION.md   # Validation results
│       ├── REVIEW.md         # Code review findings
│       ├── SECURITY.md       # Threat model (STRIDE)
│       └── CHANGELOG.md      # Milestone changelog
├── quick/              # Ad-hoc task records
└── notes/              # Idea captures

四名专业代理支持工作流程: researcher (十四行诗,只读), planner (opus,目标向后分解), doc-writer (十四行诗、代码库验证文档),以及 verifier (十四行诗,人工制品验证)。还暴露了两个MCP工具: yaah_planning_statusyaah_planning_init.

组件文档 了解全部细节。

运行时功能

yaah不仅仅是一个配置生成器,它还与Claude Code一起作为运行时运行。

MCP服务器

yaah serve 通过stdio启动MCP服务器,将yaah的功能作为Claude Code可以直接调用的工具公开:

工具说明
yaah_scan_secrets扫描文件以查找硬编码的机密和凭据
yaah_lint使用配置的配置文件运行lint检查
yaah_check_command检查shell命令是否可以安全运行
yaah_doctor运行健康检查并报告缺少的依赖项
yaah_session_info查询会话历史记录或获取服务器信息

MCP服务器由Claude Code通过以下方式自动发现 .mcp.json 在项目根目录(由生成 yaah generate).

会话跟踪

每个钩子事件都被记录到 .claude/sessions/.json这为您提供了Claude Code在每个会话中所做工作的完整审计跟踪:工具调用、被阻止的命令、修改的文件和安全发现。

yaah session list              # List recent sessions
yaah session show          # Full details for a session
yaah session clean             # Remove sessions older than 7 days

中间件链

使用条件逻辑将处理程序组合到顺序管道中:

chain := hooks.NewChain("secret-remediation",
    []schema.HookEvent{schema.HookPostToolUse},
    regexp.MustCompile(`(?i)^(Edit|Write)$`),
    hooks.HandlerLink(handlers.NewSecretScanner()),
    hooks.OnBlock(func(ctx context.Context, input *hooks.Input, prev *hooks.Result) (*hooks.Result, error) {
        prev.Output += "\n\nRemediation: Move the secret to an env var or secrets manager."
        return prev, nil
    }),
)
h.Hooks().Register(chain)

可用组合子: HandlerLink, OnBlock, OnError, Transform.

运作原理

yaah有一个简单的心智模型:接口和注册表。每种组件类型(钩子、MCP、LSP、技能、代理、命令)都有一个你实现的接口和一个你添加到其中的注册表 Harness 将它们连接在一起,每个代理生成器就会生成正确的文件。

多代理输出

每个代理都以其本机格式获取文件:

代理设置MCP钩子技能代理
克劳德.claude/settings.json.mcp.json嵌入设置中.claude/skills/.claude/agents/*.md
开源代码opencode.json嵌入式("mcp" 按键).opencode/plugins/yaah.js.opencode/skills/.opencode/agents/*.md
法典.codex/config.toml嵌入式([mcp_servers]).codex/hooks.json.agents/skills/不支持
副驾驶没有.copilot/mcp-config.json.github/hooks/hooks.json.github/skills/.github/agents/*.agent.md

每个代理的关键调整:

  • 开源代码:MCP使用 "mcp" 钥匙与 "local"/"remote" 类型和 "command" 作为阵列。代理工具呈现为禁用映射。通过JS插件交付的钩子(execFileSync).
  • 副驾驶:MCP使用 "stdio"/"http" 运输类型。Env vars穿过。代理文件使用 .agent.md 扩展。
  • 法典:MCP嵌入TOML。挂钩仅限于 SessionStart/Stop --通过yaah MCP工具提供衣冠和安全检查。
  • 克劳德:原生格式,支持所有功能。

写你自己的钩子?实施 hooks.Handler自定义MCP服务器?实施 mcp.Provider到处都是同样的模式。

文档

详细的参考文献位于 docs/:

  • 组件 --钩子、MCP、LSP、技能、代理、命令、插件、MCP服务器、会话存储、中间件链
  • 配置 --设置、CLI命令、项目结构

许可证

麻省理工学院

目录标签

目录标签

开发工具GoClaude配置管理代码代理本地部署自动化多代理系统

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP