GitHub 管理器工具

使用 GitHub 管理器语音工具进行仓库管理的完整指南

GitHub 管理器提供一套全面的语音激活工具,用于管理 GitHub 仓库、问题、拉取请求等。每个工具都设计为通过自然语言命令和特定关键字触发。

仓库管理

获取用户仓库

工具: get_user_repositories

描述: 检索经过身份验证的用户的仓库列表。

触发短语:

  • "显示我的仓库"
  • "列出我的 GitHub 仓库"
  • "我有什么仓库?"
  • "显示我的私有/公共仓库"
  • "获取我最新的仓库"

参数:

  • visibility:按仓库可见性过滤(all、public、private)
  • affiliation:按用户关联过滤(owner、collaborator、organization_member)
  • sort:按...排序仓库(created、updated、pushed、full_name)
  • per_page:每页结果数

获取仓库详情

工具: get_repository_details

描述: 获取有关特定仓库的全面信息。

触发短语:

  • "显示[仓库名称]的详细信息"
  • "告诉我关于[所有者]/[仓库]仓库的信息"
  • "[仓库]的状态是什么?"
  • "获取关于[仓库]的信息"
  • "描述[仓库]仓库"

参数:

  • owner:仓库所有者用户名(必需)
  • repo:仓库名称(必需)

获取仓库内容

工具: get_repository_contents

描述: 浏览仓库中目录或文件的内容。

触发短语:

  • "显示[仓库]中的文件"
  • "列出[仓库]中[路径]的内容"
  • "[文件夹]目录中有什么?"
  • "浏览[仓库]仓库结构"
  • "显示[仓库]的根目录"

参数:

  • owner:仓库所有者用户名(必需)
  • repo:仓库名称(必需)
  • path:目录或文件的路径(可选,默认为根目录)
  • ref:分支或提交引用(可选,默认为默认分支)

获取文件内容

工具: get_file_content

描述: 检索仓库中特定文件的原始内容。

触发短语:

  • "显示[文件]的内容"
  • "从[仓库]读取[文件]"
  • "从[文件]获取代码"
  • "显示[文件]内容"
  • "在[仓库]中打开[文件]"

参数:

  • owner:仓库所有者用户名(必需)
  • repo:仓库名称(必需)
  • path:文件路径(必需)
  • ref:分支或提交引用(可选)

获取仓库树

工具: get_repository_tree

描述: 获取仓库的完整 Git 树结构。

触发短语:

  • "显示[仓库]的完整结构"
  • "获取完整的文件树"
  • "显示仓库层次结构"
  • "显示[仓库]中的所有文件和文件夹"
  • "映射项目结构"

参数:

  • owner:仓库所有者用户名(必需)
  • repo:仓库名称(必需)
  • tree_sha:树 SHA 或分支名称(可选,默认为默认分支)
  • recursive:递归获取树(可选,默认为 true)

搜索仓库代码

工具: search_repository_code

描述: 在仓库中搜索代码模式、函数或文本。

触发短语:

  • "在[仓库]中搜索[术语]"
  • "在代码中查找[函数名]"
  • "在[仓库]中查找[模式]"
  • "在[仓库]中搜索[关键字]"
  • "查找[文本]的所有出现"

参数:

  • owner:仓库所有者用户名(必需)
  • repo:仓库名称(必需)
  • query:搜索查询(必需)
  • path:限制搜索到特定路径
  • language:按编程语言过滤
  • per_page:每页结果数

分析代码结构

工具: analyze_code_structure

描述: 提供有关项目组织、架构和模式的见解。

触发短语:

  • "分析[仓库]的结构"
  • "这个项目的架构是什么?"
  • "给我关于[仓库]的见解"
  • "分析[仓库]代码库"
  • "描述项目组织"

参数:

  • owner:仓库所有者用户名(必需)
  • repo:仓库名称(必需)
  • include_dependencies:包括依赖项分析(可选)

获取仓库分支

工具: get_repository_branches

描述: 列出仓库中的所有分支。

触发短语:

  • "显示[仓库]中的分支"
  • "列出所有分支"
  • "[仓库]中存在什么分支?"
  • "获取[仓库]的分支列表"
  • "显示可用的分支"

参数:

  • owner:仓库所有者用户名(必需)
  • repo:仓库名称(必需)

获取仓库标签

工具: get_repository_labels

描述: 获取仓库中可用的所有标签。

触发短语:

  • "显示[仓库]的标签"
  • "列出问题标签"
  • "有哪些可用的标签?"
  • "获取[仓库]中的所有标签"
  • "显示标签选项"

参数:

  • owner:仓库所有者用户名(必需)
  • repo:仓库名称(必需)

问题管理

获取仓库问题

工具: get_repository_issues

描述: 使用过滤选项检索特定仓库的问题。

触发短语:

  • "显示[仓库]中的问题"
  • "列出所有打开的问题"
  • "获取带有[标签]标签的问题"
  • "显示已关闭的问题"
  • "哪些问题需要关注?"

参数:

  • owner:仓库所有者用户名(必需)
  • repo:仓库名称(必需)
  • state:按状态过滤(open、closed、all)
  • labels:按标签过滤(逗号分隔)
  • sort:按...排序(created、updated、comments)
  • direction:排序方向(asc、desc)
  • per_page:每页结果数

获取问题详情

工具: get_issue_details

描述: 获取有关特定问题的完整信息。

触发短语:

  • "显示问题 #[编号]"
  • "获取问题[编号]的详细信息"
  • "问题 #[编号]的状态是什么?"
  • "告诉我关于问题[编号]的信息"
  • "打开问题编号[编号]"

参数:

  • owner:仓库所有者用户名(必需)
  • repo:仓库名称(必需)
  • issue_number:问题编号(必需)

创建问题

工具: create_issue

描述: 在仓库中创建新问题。在描述中自动提及 @claude。

触发短语:

  • "创建新问题"
  • "打开关于[主题]的问题"
  • "报告错误"
  • "为[问题]提交问题"
  • "创建标题为[标题]的问题"

参数:

  • owner:仓库所有者用户名(必需)
  • repo:仓库名称(必需)
  • title:问题标题(必需)
  • body:问题描述
  • labels:要应用的标签
  • assignees:要分配的用户

更新问题

工具: update_issue

描述: 修改现有问题。在更新中自动提及 @claude。

触发短语:

  • "更新问题 #[编号]"
  • "更改问题[编号]标题"
  • "关闭问题 #[编号]"
  • "重新打开问题[编号]"
  • "将标签添加到问题[编号]"
  • "将问题[编号]分配给[用户]"

参数:

  • owner:仓库所有者用户名(必需)
  • repo:仓库名称(必需)
  • issue_number:问题编号(必需)
  • title:新标题
  • body:新描述
  • state:更改状态(open、closed)
  • labels:更新标签
  • assignees:更新受让人

添加问题评论

工具: add_issue_comment

描述: 向问题或拉取请求添加评论。自动提及 @claude。

触发短语:

  • "评论问题 #[编号]"
  • "向问题[编号]添加评论"
  • "回复问题[编号]"
  • "在 PR #[编号]上发表评论"
  • "回复问题[编号]"

参数:

  • owner:仓库所有者用户名(必需)
  • repo:仓库名称(必需)
  • issue_number:问题或 PR 编号(必需)
  • body:评论文本(必需)

获取问题评论

工具: get_issue_comments

描述: 检索问题或拉取请求的所有评论。

触发短语:

  • "显示问题 #[编号]的评论"
  • "获取问题[编号]评论"
  • "阅读 PR #[编号]的评论"
  • "列出问题[编号]的所有评论"
  • "人们对问题[编号]说了什么?"

参数:

  • owner:仓库所有者用户名(必需)
  • repo:仓库名称(必需)
  • issue_number:问题或 PR 编号(必需)

获取问题评论

工具: get_issue_comment

描述: 通过 ID 获取有关特定评论的详细信息。

触发短语:

  • "显示评论[id]"
  • "获取 ID 为[id]的评论"
  • "阅读特定评论[id]"
  • "显示评论编号[id]"

参数:

  • owner:仓库所有者用户名(必需)
  • repo:仓库名称(必需)
  • comment_id:评论 ID(必需)

拉取请求管理

获取拉取请求

工具: get_pull_requests

描述: 使用过滤选项列出仓库的拉取请求。

触发短语:

  • "显示拉取请求"
  • "列出打开的 PR"
  • "获取[仓库]的 PR"
  • "显示合并的拉取请求"
  • "哪些 PR 需要审查?"

参数:

  • owner:仓库所有者用户名(必需)
  • repo:仓库名称(必需)
  • state:按状态过滤(open、closed、all)
  • head:按头分支过滤
  • base:按基分支过滤
  • sort:按...排序(created、updated、popularity)
  • direction:排序方向(asc、desc)
  • per_page:每页结果数

获取拉取请求详情

工具: get_pull_request_details

描述: 获取有关特定拉取请求的全面信息。

触发短语:

  • "显示 PR #[编号]"
  • "获取拉取请求[编号]详细信息"
  • "PR [编号]的状态是什么?"
  • "告诉我关于拉取请求[编号]的信息"
  • "审查 PR 编号[编号]"

参数:

  • owner:仓库所有者用户名(必需)
  • repo:仓库名称(必需)
  • pr_number:拉取请求编号(必需)

创建拉取请求

工具: create_pull_request

描述: 创建新的拉取请求。在描述中自动提及 @claude。

触发短语:

  • "创建拉取请求"
  • "从[分支]到[基分支]打开 PR"
  • "提交 PR 以供审查"
  • "创建标题为[标题]的拉取请求"
  • "将[头分支]合并到[基分支]"

参数:

  • owner:仓库所有者用户名(必需)
  • repo:仓库名称(必需)
  • title:PR 标题(必需)
  • head:头分支(必需)
  • base:基分支(必需)
  • body:PR 描述
  • draft:创建为草稿 PR

更新拉取请求

工具: update_pull_request

描述: 修改现有的拉取请求。自动提及 @claude。

触发短语:

  • "更新 PR #[编号]"
  • "更改拉取请求[编号]标题"
  • "关闭 PR [编号]"
  • "编辑拉取请求[编号]"
  • "修改 PR 描述"

参数:

  • owner:仓库所有者用户名(必需)
  • repo:仓库名称(必需)
  • pr_number:拉取请求编号(必需)
  • title:新标题
  • body:新描述
  • state:更改状态(open、closed)

PR 监控

启动 PR 监控

工具: start_pr_monitoring

描述: 开始监控仓库的新拉取请求并发送语音通知。

触发短语:

  • "开始监控[仓库]的 PR"
  • "监视[仓库]的新拉取请求"
  • "提醒我[仓库]中的新 PR"
  • "监控拉取请求"
  • "跟踪[仓库]中的新 PR"

参数:

  • owner:仓库所有者用户名(必需)
  • repo:仓库名称(必需)
  • checkIntervalMs:检查间隔(毫秒)(可选,默认:30000)
  • voiceAnnouncements:启用语音通知(可选,默认:true)

停止 PR 监控

工具: stop_pr_monitoring

描述: 停止监控仓库的拉取请求。

触发短语:

  • "停止监控[仓库]"
  • "停止监视 PR"
  • "禁用[仓库]的 PR 警报"
  • "关闭 PR 监控"
  • "停止跟踪拉取请求"

参数:

  • owner:仓库所有者用户名(必需)
  • repo:仓库名称(必需)

检查 PR 监控状态

工具: check_pr_monitoring_status

描述: 查看所有或特定仓库的当前 PR 监控状态。

触发短语:

  • "我在监控什么仓库?"
  • "显示监控状态"
  • "检查[仓库]的 PR 监控"
  • "列出受监控的仓库"
  • "我在监视[仓库]吗?"

参数:

  • owner:仓库所有者(可选)
  • repo:仓库名称(可选)

手动检查新 PR

工具: manually_check_new_prs

描述: 执行一次性检查以查找新的拉取请求。

触发短语:

  • "现在检查新 PR"
  • "[仓库]中有任何新的拉取请求吗?"
  • "手动检查[仓库]的 PR"
  • "查找最近的 PR"
  • "快速检查拉取请求"

参数:

  • owner:仓库所有者用户名(必需)
  • repo:仓库名称(必需)

导航工具

导航到工单

工具: navigate_to_ticket

描述: 按编号直接导航到 GitHub 问题或拉取请求。

触发短语:

  • "转到问题 #[编号]"
  • "打开工单[编号]"
  • "导航到 PR [编号]"
  • "显示问题编号[编号]"
  • "带我到拉取请求[编号]"

参数:

  • ticket_number:问题或 PR 编号(必需)
  • reason:导航原因

工具: navigate_to_path

描述: 导航到特定的应用程序路径和页面。

触发短语:

  • "转到[页面名称]"
  • "导航到设置"
  • "打开仪表板"
  • "带我到[部分]"
  • "显示[页面]"

参数:

  • path:应用程序路径(必需)
  • query:查询参数
  • reason:导航原因

列出应用程序路由

工具: list_app_routes

描述: 显示所有可用的应用程序路由和导航选项。

触发短语:

  • "我可以导航到哪些页面?"
  • "显示可用的路由"
  • "列出所有页面"
  • "有哪些导航选项?"
  • "显示所有可用路径"

参数: 无


页内导航

工具: in_page_navigation

描述: 控制当前页面内的滚动和导航。

触发短语:

  • "向下滚动"
  • "转到顶部"
  • "滚动到底部"
  • "向上/向下翻页"
  • "滚动到[元素]"

参数:

  • action:导航操作(scroll_down、scroll_up、page_down、page_up、scroll_to_top、scroll_to_bottom、scroll_to_element)
  • selector:scroll_to_element 的 CSS 选择器
  • amount:滚动量(像素)

返回对话

工具: return_to_conversation

描述: 在导航离开后返回语音对话界面。

触发短语:

  • "返回对话"
  • "返回语音聊天"
  • "带我回去"
  • "返回对话"
  • "返回主屏幕"

参数:

  • reason:返回原因

系统管理

重置代理状态

工具: reset_agent_state

描述: 清除各种类型的代理状态和上下文以重新开始。

触发短语:

  • "重置代理"
  • "清除所有状态"
  • "重新开始"
  • "清除对话历史"
  • "重置工作区"

参数:

  • clearWorkspace:清除工作区数据(默认:true)
  • clearConversation:清除对话历史(默认:true)
  • clearEventLogs:清除事件日志(默认:true)
  • clearNavigationHistory:清除导航历史(默认:true)
  • clearToolCallHistory:清除工具调用历史(默认:true)
  • clearPRMonitoring:清除 PR 监控状态(默认:false)
  • clearAuthentication:清除身份验证令牌(默认:false)
  • clearUserPreferences:清除用户首选项(默认:false)
  • clearCache:清除缓存(默认:true)
  • clearTempFiles:清除临时文件(默认:true)

有效使用提示

  1. 自然语言:这些工具旨在理解自然语言。您不需要使用确切的短语。

  2. 上下文感知:代理从您的对话中记住上下文,因此您可以在提及一次后引用"仓库"或"那个问题"。

  3. 自动提及:在创建或更新问题、PR 和评论时,代理会自动包含 @claude 提及以保持可追溯性。

  4. 语音反馈:许多工具在操作完成时提供语音反馈,特别是对于监控和导航任务。

  5. 链接操作:您可以将多个操作链接在一起,例如"创建关于我们刚才讨论的错误的问题并将其分配给我。"

  6. 智能默认值:大多数可选参数都有合理的默认值,因此您只需要指定要更改的内容。

  7. 错误处理:如果出现问题,代理将提供有用的错误消息,并在可能的情况下建议替代方案。

常见工作流程

错误报告工作流程

  1. "创建标题为'按钮在移动设备上不起作用'的问题"
  2. "添加错误和高优先级标签"
  3. "将其分配给移动团队"
  4. "添加带有屏幕截图的评论"

PR 审查工作流程

  1. "显示打开的拉取请求"
  2. "获取 PR #42 的详细信息"
  3. "显示 PR #42 中的更改"
  4. "添加批准更改的评论"

仓库探索

  1. "显示仓库结构"
  2. "搜索身份验证代码"
  3. "显示 auth 文件夹的内容"
  4. "获取 login.js 的文件内容"

监控设置

  1. "开始监控 my-repo 的新 PR"
  2. "检查监控状态"
  3. "新 PR 到达时通过语音提醒我"
  4. "完成后停止监控"