首页/新闻资讯/正文详情

Ekko Agent 内置 gh-issues 技能实战:从 GitHub Issue 分流到 Pull Request 的自动化工作流

发布时间:2026/9/24 15:29:44 来源:云帆数科 栏目:资讯中心
Ekko Agent 内置 gh-issues 技能实战:从 GitHub Issue 分流到 Pull Request 的自动化工作流
AI 应用人工智能AI Agent本地部署前端后端工作流自动化【免费下载链接】ekko-studioEkko Studio is a local-first AI workspace for multi-agent chat, coding, and visual workflows, available on desktop and the web.项目地址https://gitcode.com/gh_mirrors/he/ekko-studio点击查看免费下载本篇技术指南以 Ekko Agentekko-studio 开源仓库中的 AI 编程代理运行时内置的gh-issues技能为对象系统讲解如何让 Agent 自主完成Issue 分流 → 修复实现 → 提交 PR → 处理评审反馈的完整闭环。读者将掌握该技能声明的输入契约、仓库解析、去重、隔离、提交与评审处理等全部流程并结合 delegate_task 工具实现 与 运行时约束 理解其底层执行边界。技能定位与适用场景gh-issues是 Ekko Agent 内置技能集中的一员其 frontmatter 声明如下name: gh-issues description: Triage GitHub issues, select safe candidates, implement focused fixes, open pull requests, and address actionable review feedback. metadata: keywords: - github issues - issue to pr - gh issues - issue triage从 内置技能清单测试 可以看到gh-issues与github、spike、skill-creator等技能一起被打包为内置技能集并在每个 profile 初始化时同步安装。技能分为两层gh-issues本技能面向issue 到 PR的端到端工作流编排github配套技能提供ghCLI 在仓库、Issue、PR、CI、Release 与结构化 API 查询上的操作细则见 github/SKILL.md。执行本工作流之前必须先读取github技能因为所有 GitHub 写操作、提交、推送、PR 创建与评审回复都必须在用户请求的结果边界内进行。技能开头明确强调If the user asked only to inspect, triage, or plan, stop before changing files, branches, issues, or PRs.——即用户只要求检查/分流/规划时禁止执行任何变更。输入契约技能接受的输入可分为五类仓库接受owner/repo形式或从git remote get-url origin推断可选过滤条件label标签、milestone里程碑、assignee指派者、state状态、limit数量上限可选 fork 模式把分支推送到指定 fork并针对源仓库打开 PRDry run试运行只列出候选与计划动作不改变本地与远端状态仅评审模式跳过 issue 选择只处理用户明确圈定的 PR 反馈。步骤 1解析并验证仓库工作流第一步是确认环境就绪技能给出的基准命令为git remote get-url origin git status --short gh auth status gh repo view OWNER/REPO --json nameWithOwner,defaultBranchRef随后必须显式推导并保持以下四个变量贯穿全程SOURCE_REPO承载 issue 的源仓库PUSH_REPO仅在用户明确要求时使用 fork否则等于源仓库BASE_BRANCH源仓库默认分支除非用户另行指定PUSH_REMOTE配置好的 fork remote或origin。该步骤包含三条硬性安全约束认证缺失即停止GitHub 认证不可用时立即停止。严禁搜索本地配置文件找 token、打印gh auth token、或要求用户把 token 粘贴进对话脏工作区不混入如果 checkout 是脏的存在与本次 issue 无关的未提交改动必须保留这些改动并询问用户如何处理或先确认仓库与 base 分支后创建独立 git worktreefork 模式先公示在添加或修改 git remote 之前必须展示精确的源仓库、fork、base 分支与 remote 信息。步骤 2拉取候选 Issue候选拉取使用gh issue list注意gh issue list天然排除 PRgh issue list --repo $SOURCE_REPO --state open --limit 10 \ --json number,title,labels,url,body,assignees,milestone只添加用户明确要求的过滤器。若无匹配项直接报告并停止。若为 dry run则以紧凑列表issue 编号、标题、标签、URL展示候选后停止不做任何状态变更。步骤 3避免重复劳动对每个候选在选择前必须排查是否已有现成修复gh pr list --repo $SOURCE_REPO --search $SOURCE_REPO#n --state open \ --json number,url,title,headRefName gh pr list --repo $SOURCE_REPO --head fix/issue-n --state open \ --json number,url gh api repos/$PUSH_REPO/branches/fix/issue-n /dev/null三类探测分别覆盖引用该 issue 的开放 PR、标准命名的修复分支、fork 中已存在的同名分支。判定规则已有开放 PR 或分支的 issue 直接跳过除非用户要求继续该工作阅读 issue 正文与相关代码后才能判定其可执行性优先选择小、可复现、有明确验收条件的 issue对语义模糊或安全敏感的 issue标记为需澄清多个候选且用户未指定时先展示候选并询问用户要修复哪些 issue 编号。步骤 4隔离工作worktree 与子代理委托默认一次只处理一个 issue。技能特别指出Ekko subagents share the workspace, so never let concurrent workers checkout different branches in the same working tree.——由于 Ekko 子代理共享工作区绝不允许并发 worker 在同一工作树中检出不同分支。隔离策略分两种单个 issue本地实现或以前台模式foreground调用delegate_task传入自包含目标与全部所需上下文相互独立的并行任务先为每个 issue 创建一个专属 git worktree再把精确的 worktree 路径交给每个后台子代理。后台模式仅在启用且确实有用时使用——进度对用户可见但父代理不得假装同步收集到了结果。委托任务的上下文必须包含六要素issue URL、标题、正文、标签与验收条件源仓库与推送仓库、base 分支、推送 remote、fork 模式隔离工作目录与目标分支fix/issue-n要求的测试与证明授权变更边界是否包含 commit、push、PR 创建。底层实现delegate_task 的语义与边界delegate_task由 delegation.ts 实现其参数模式为{ goal, context?, mode }mode仅允许foreground等待并返回结果或background立即返回、独立完成。从源码可以看到三条核心约束goal必须非空否则直接失败运行时通过context.delegationDepth 0检查禁止递归委托——Recursive delegation is disabled for Ekko subagents.若运行时不支持委托context.delegateTask缺失返回Subtask delegation is unavailable in this runtime.在 runtime.ts 中还有更细的控制当delegationDepth 0时才暴露delegate_task工具当后台委托被禁用时工具定义会被替换为仅前台版本。这印证了 SKILL.md 中Delegated subagents cannot ask the user questions or delegate recursively. Resolve ambiguity before delegation.的规定——歧义必须在委托前解决因为子代理无法回头提问。子代理与父代理共享模型、provider、工作区与工具但没有父代理的对话历史。步骤 5实现并证明修复对每个选中的 issue执行 8 步流水线在隔离工作树中从已验证的BASE_BRANCH创建fix/issue-n复现或定位问题实现最小连贯修复避免无关重构适当补充或更新聚焦的测试运行相关测试、类型检查与构建步骤审查 diff 中是否有无关文件、生成产物、密钥与误改的用户改动若已授权用清晰的 conventional message 提交不带 force推送若已授权针对SOURCE_REPO与BASE_BRANCH打开 PR。PR 正文必须使用文件而非 shell 插值与github技能中 Use--body-filefor comments and bodies containing backticks, shell snippets, environment names, or user-provided text 的约束一致。PR 正文应包含解决的问题为何做此改动用户影响测试证据需要自动关闭 issue 时附上Fixes SOURCE_REPO#n。技能对证据真实性有硬性要求Never mark a test as passing unless it actually ran. If a failure is environmental, separate it from product failures and include the exact evidence.——不得把未运行的测试标记为通过环境性失败必须与产品失败分离并附精确证据。评审反馈处理发现被圈定的 PR 与评论gh pr view n --repo $SOURCE_REPO \ --json url,headRefName,comments,reviews,reviewDecision gh api repos/$SOURCE_REPO/pulls/n/comments gh api repos/$SOURCE_REPO/issues/n/comments处理范围被严格限定只处理用户点名的 PR或本次任务中由该工作流创建的 PR。规则包括按 PR 分组可执行的评论忽略表扬、纯状态说明、重复评论与已处理的评论每个 PR 在其独立工作树中检出分支做最小改动运行相关测试正常提交并推送除非用户明确要求绝不 force-push仅在请求包含该外部写操作时才回复评审评论且必须引用实际修复与证据。报告格式每个 issue 或 PR 返回紧凑结果编号与标题状态planned已计划、skipped已跳过、fixed locally本地修复、PR openedPR 已开、failed失败、blocked受阻分支与 PR URL若存在已运行的测试及结果跳过、失败或剩余评审评论的精确原因。技能加载机制源码佐证gh-issues之所以能作为可执行技能被 Agent 调用依赖 Ekko 的技能同步与加载体系directories.ts 在同步内置技能时会扫描packages/ekko-agent/skills下每个含SKILL.md的子目录将其复制到目标 profile 目录tools/skills.ts 的skill_view工具可加载SKILL.md全文默认路径skill_manage用于创建/编辑技能文件且要求 SKILL.md 保持紧凑的英文 ASCII frontmattermetadata.keywords以保证宿主机侧确定性发现运行时在每轮模型请求前会把技能内容注入上下文runtime.ts 中[skill_view] name...的日志格式可见其内容哈希与目录记录。这意味着用户可以直接阅读 gh-issues/SKILL.md 查看完整工作流原文并通过skill_view让 Agent 在任何会话中加载该技能。安全边界总结纵观整个工作流授权变更边界贯穿始终可归纳为以下守则维度约束认证gh auth status失败即停止禁止读取本地 token、禁止gh auth token、禁止索取粘贴 token变更范围只做用户请求的结果内动作仅检查/分流/规划时禁止一切变更重复规避有开放 PR/分支的 issue 跳过多候选先询问隔离同一工作树禁止并发分支检出并行必须用独立 worktree委托子代理不可提问、不可递归委托歧义须在委托前解决推送不带 force 推送force-push 需用户明确要求证据测试必须真实运行环境性失败与产品失败分离报告每项给出精确状态与原因skips/failures 必须有理由这套边界正是gh-issues技能在生产环境中可被安全复用的根基它把自主性与可控性通过显式变量SOURCE_REPO/PUSH_REPO/BASE_BRANCH/PUSH_REMOTE、显式授权commit/push/PR 三开关与显式报告六态状态机制度化为 Issue 驱动的开源贡献与内部维护流程提供了一个可直接落地的 Agent 工作流模板。赞分享AI 应用人工智能AI Agent本地部署前端后端工作流自动化【免费下载链接】ekko-studioEkko Studio is a local-first AI workspace for multi-agent chat, coding, and visual workflows, available on desktop and the web.项目地址https://gitcode.com/gh_mirrors/he/ekko-studio点击查看免费下载相关推荐OpenClaw gh-issues 技能实战从 GitHub Issue 到自动修复 PR 的全自动工作流OpenClaw gh issues 技能实战从 GitHub Issue 到自动修复 PR 的全自动工作流 导读 gh issues 是 OpenClawAI 应用AI Agent交互助手后端即时通讯网关seamless_communication的GitHub贡献流程从Issue到Pull Requestseamless_communication的GitHub贡献流程从Issue到Pull Request 引言你还在为开源贡献流程感到困惑吗 在开源社区中人工智能NLP语音多模态大模型Reactive Resume 的 Agent 化 Issue 追踪用 GitHub Issues 与 gh CLI 驱动的规范、Triage 与 Wayfinder 工作流Reactive Resume 的 Agent 化 Issue 追踪用 GitHub Issues 与 gh CLI 驱动的规范、Triage 与 Wayfi前端后端AI 应用MCP 服务dsh-plugin创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

Python入门核心知识盘点
Python入门核心知识盘点

​ 概述 计算机离不开硬件和软件:硬件比如硬盘、CPU、显卡、内存等,而软件则依赖各种计算机语言来实现。 计算机语言的发展,是从最基础的0和1打孔开始的,也就是机器语言;后来出现了汇编语言,用助记符代替二… · 2026/9/24 15:29:44

RunAnywhere Web SDK 架构与实战指南:基于 WASM + WebGPU 的浏览器端本地 AI 运行方案
RunAnywhere Web SDK 架构与实战指南:基于 WASM + WebGPU 的浏览器端本地 AI 运行方案

AI模型推理服务推理引擎本地部署多模态 【免费下载链接】runanywhere-sdks Production ready toolkit to run AI locally 项目地址: https://gitcode.com/gh_mirrors/ru/runanywhere-sdks 点击查看 免费下载 导读 RunAnywhere Web SDK 是 RunAnywhere 项目在浏览器… · 2026/9/24 15:29:31

ESP01 固件烧录全攻略:Flash Download Tool 从入门到精通
ESP01 固件烧录全攻略:Flash Download Tool 从入门到精通

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 15:29:31

Python个人博客项目-7.后台控制管理应用开发
Python个人博客项目-7.后台控制管理应用开发

在项目开发过程中,应用的创建与配置是确保整体框架结构稳定性和功能性的关键步骤。通过对应用模块的精心配置,可以实现更加灵活的扩展和高效的管理。本文以Django框架为基础,详细展示了如何通过xAdmin构建一个模块化且功能丰富的管理系统,从而实现数据的可视化管理和用户交… · 2026/9/24 16:04:54

Python个人博客项目-6.博客评论应用开发
Python个人博客项目-6.博客评论应用开发

此文带领读者深入了解新闻网站中的评论系统开发,涵盖从应用创建、配置到前端渲染等多个关键步骤。借助Django框架的多层嵌套特性以及MPTT模型,本系统为用户提供了良好的交互体验,同时确保了后台的高效管理。首先,通过简洁的项目初始化和模块化的应用配置,为开发奠定了稳固… · 2026/9/24 16:04:48

PyTorch3D 隐式渲染中的 Raymarching 模块:Emission-Absorption 与 Absorption-Only 算法解析与实战
PyTorch3D 隐式渲染中的 Raymarching 模块:Emission-Absorption 与 Absorption-Only 算法解析与实战

PyTorch3D 隐式渲染中的 Raymarching 模块:Emission-Absorption 与 Absorption-Only 算法解析与实战 【免费下载链接】pytorch3d PyTorch3D is FAIRs library of reusable components for deep learning with 3D data 项目地址: https://gitcode.com/gh_mirrors/p… · 2026/9/24 16:04:48

Python个人博客项目-5.统计数据应用开发
Python个人博客项目-5.统计数据应用开发

本项目围绕网站访问统计系统的设计与实现展开,旨在通过精细化的访问数据管理,为网站流量分析和用户行为研究提供支撑。项目从应用创建、数据库模型设计到数据管理及视图控制等方面,构建了多层次的访问追踪和分析结构。以Django框架为基础,系统集成了总体访问量统计、每日访… · 2026/9/24 16:04:42

Akka Streams Unzip 算子深度解析:将二元组流拆分到两个下游流
Akka Streams Unzip 算子深度解析:将二元组流拆分到两个下游流

后端并发编程异步编程 【免费下载链接】akka-core A platform to build and run apps that are elastic, agile, and resilient. SDK, libraries, and hosted environments. 项目地址: https://gitcode.com/gh_mirrors/ak/akka-core 点击查看 免费下载 导读 Unzip… · 2026/9/24 16:04:36

母爱方法论:砍掉80%的无效付出,高质量母爱不用那么辛苦
母爱方法论:砍掉80%的无效付出,高质量母爱不用那么辛苦

导语 一项追踪近三十年的研究显示:与孩子成年后情绪状态关联更强的那一项,不是陪伴时长,也不是物质投入。这篇文章用一套价值守恒框架,把「母爱」这件事重新算了一遍——顺手补上一笔长期被漏记的账。正文一、先说一个有点反常识的… · 2026/9/24 16:04:36

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码