从 GitHub 活动自动生成可直接使用的一对一简报,几秒完成。识别高产出但低审查参与等模式。
概览:Pullstar为一名工程师获取GitHub活动(PRs编写,给定评论),运行一个确定性本地评分引擎,跨越五个维度,并准备LLM输入有效载荷.
功能概述
概览:Pullstar为一名工程师获取GitHub活动(PRs编写,给定评论),运行一个确定性本地评分引擎,跨越五个维度,并准备LLM输入有效载荷.是一项面向实际任务的技能。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
核心要点
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
- 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
使用与执行
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
结果检查与注意事项
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
概览
PullStar 为一名工程师拉取 GitHub 活动数据(包括其创建的 PR 和给出的评审),在五个维度上运行确定性的本地评分引擎,并准备一份供 LLM 使用的输入载荷。随后,agent 执行 LLM 推理,并完成最终简报(brief)。
快速开始:
run_brief.py --login steipete --pr-insights --days 7 读取 llm_input_steipete.json,执行 LLM 推理,输出简报
数据流概要:
| 步骤 | 执行内容 | 外部调用 |
|---|---|---|
| 采集(Ingest) | run_brief.py → ingest.py |
GitHub API |
| 评分(Score) | run_brief.py → score.py |
无 |
| 准备(Prepare) | run_brief.py → agent_prepare_1on1.py |
无 |
| Agent 推理 | Agent 调用 LLM | LLM 提供商 |
| 定稿(Finalize) | Agent 运行 agent_finalize_1on1.py |
无 |
⚠️ 重要提示: 步骤 1–3 全部在本地运行。仅第 4 步(LLM 推理)会将数据发送至您的 AI 提供商。
系统要求
- Python 3.11+
- 安装依赖:
pip install PyGithub python-dotenv requests - 一个 GitHub 个人访问令牌(详见下方“安全与隐私”章节)
安全与隐私
令牌权限范围
| 选项 | 创建位置 | 适用场景 |
|---|---|---|
经典 PAT(repo 权限) |
https://github.com/settings/tokens | 跨用户搜索、组织级批量采集 |
| 细粒度 PAT | https://github.com/settings/personal-access-tokens | 仅限访问您自己的仓库 |
细粒度 PAT 不支持跨任意用户的搜索。如需生成组织级简报,请使用经典 PAT。
设置 GITHUB_ORG 环境变量可将搜索范围限定于单个组织。
令牌解析顺序
密钥按层级查找,**首个匹配项生效**:
--github-tokenCLI 参数(仅用于覆盖或调试 — 绝不记录日志)GITHUB_TOKEN环境变量~/.pullstar/credentials(key=value 格式)- 技能目录下的
.env文件
按模式划分的数据隐私策略
默认模式(未启用 --pr-insights):
- 仅向 LLM 发送聚合统计值与评分结果
- 不包含原始 PR 文本、评论或评审正文
PR 洞察模式(启用 --pr-insights):
- 将受限的原始 PR 讨论文本打包进 LLM 提示词中
- 限制为最多 5 个 PR,每个 PR 最多含 3 条评审/评论,每条内容不超过 600 字符
- 若您关注隐私,请在 LLM 推理前审阅
llm_input_{login}.json
配置
.env
| 变量 | 是否必需 | 说明 |
|---|---|---|
GITHUB_TOKEN |
推荐 | 具备 repo 权限的经典 PAT。若省略,则以未认证方式访问(限 60 次请求/小时)。 |
GITHUB_ORG |
否 | 将采集范围限定于单个组织。 |
使用方法
标准运行
python run_brief.py --login jsmith
启用 PR 洞察
python run_brief.py --login jsmith --pr-insights
常用选项
python run_brief.py --login jsmith --days 14 # 更长回溯窗口(默认:5 天) python run_brief.py --login jsmith --max-results 10 # 高活跃用户下提速(默认:20) python run_brief.py --login jsmith --api-mode rest # 强制使用 REST API(默认:graphql)
全部选项
| 参数 | 默认值 | 说明 |
|---|---|---|
--login |
必需 | 工程师的 GitHub 登录名 |
--days |
5 |
回溯时间窗口(单位:天) |
--pr-insights |
关闭 | 在 LLM 提示词中包含 PR 评审/评论上下文 |
--max-results |
20 |
最大搜索结果数(数值越小,执行越快) |
--api-mode |
graphql |
graphql 或 rest |
--output-dir |
.pullstar |
所有产物的存放目录 |
--github-token |
— | 仅用于覆盖或调试。推荐优先使用 .env。 |
Agent 工作流
run_brief.py 运行确定性流水线(采集 → 评分 → 准备),然后打印一段明确的操作指令块。Agent 必须手动完成最后两个步骤:
============================================================ PIPELINE COMPLETE — AGENT ACTION REQUIRED ============================================================ 1. 读取: .pullstar/llm_input_jsmith.json 2. 提取其中的 "system" 和 "user" 字段 3. 使用这两个字段分别作为 system prompt 和 user message 调用您的 LLM 4. 将响应结果写入 .pullstar/llm_output_jsmith.json 5. 运行: python scripts/agent_finalize_1on1.py --login jsmith
Agent JSON 接口规范
输入(来自 run_brief.py)
文件路径:.pullstar/llm_input_{login}.json
| 字段 | 类型 | 说明 |
|---|---|---|
system |
字符串 | 含指令的 system prompt |
user |
字符串 | 含工程师数据与评分的 user message |
metadata |
对象 | 版本号、时间戳、总分、置信度 |
输出(由 Agent 生成)
文件路径:.pullstar/llm_output_{login}.json
{
"version": "1.0",
"engineer_login": "jsmith",
"brief": "## Quick Summaryn..."
}
格式要求:
- 合法 JSON 格式
brief字段必须是非空的 Markdown 字符串- 也接受纯文本 — 整个文件内容将被直接用作简报正文
简报输出格式
最终简报文件(output_{login}.json)是一份 Markdown 文档,包含以下六个部分:
| 章节 | 内容要求 |
|---|---|
| Quick Summary(快速摘要) | 2–3 句话,开头需突出具体数字 |
| Highlights(亮点) | 2–4 个要点,每个要点仅含一个数据点 |
| Areas to Explore(待探讨方向) | 2–3 个开放式问题,供一对一沟通时使用 |
| Patterns Worth Noting(值得关注的行为模式) | 1–3 条基于事实的行为观察 |
| Score Summary(评分汇总) | Markdown 表格 — 列为:维度 / 分数 / 置信度 / 依据。置信度列鼓励使用 Emoji。 |
| Suggested Focus(建议聚焦主题) | 一段文字,阐述本次一对一沟通最有价值的主题 |
评分汇总表示例:
| 维度 | 分数 | 置信度 | 依据 |
|---|---|---|---|
| Velocity | 16/20 | ✅ High | 10 个 PR 已合并,连续活跃 3 周 |
| PR Quality | 14/20 | ✅ High | 平均 320 行,其中 2 个大型 PR 被标记 |
| Review Participation | 8/20 | ⚠️ Medium | 窗口期内共给出 3 次评审 |
| Collaboration | 12/20 | ✅ High | 涉及 4 个仓库,平均每 PR 有 3 名评审人 |
| Consistency | 10/20 | 🔴 Low | 3 周中有 1 周处于非活跃状态 |
产物文件
所有产物均写入 .pullstar/ 目录(该目录已加入 .gitignore,永不提交)。
| 文件 | 生成者 | 是否发送至 AI? |
|---|---|---|
ingest_{login}.json |
ingest.py |
❌ 否 |
score_{login}.json |
score.py |
❌ 否 |
llm_input_{login}.json |
agent_prepare_1on1.py |
✅ 是 |
llm_output_{login}.json |
Agent | ❌ 否 |
output_{login}.json |
agent_finalize_1on1.py |
❌ 否 |
故障排查
“GitHub 拒绝了 PR 搜索请求(422)”
请使用经典 PAT — 细粒度 PAT 不支持跨任意用户的搜索。
“触发 GitHub 速率限制”
认证后:5000 次请求/小时;未认证:60 次请求/小时。请设置 GITHUB_TOKEN。
高活跃用户下采集缓慢
使用 --max-results 10 限制迭代数量。默认值为 20。
GraphQL 报错
使用 --api-mode rest 回退至传统 REST API。
面向 Agent 开发者的说明
子 Agent 最佳实践(勿做焦虑型家长)
当在 LLM 推理步骤中使用 sessions_spawn 时:
✅ 应当:
- 仅调用一次
sessions_spawn,任务为:读取llm_input_{login}.json并写入llm_output_{login}.json - 信任“自动完成即广播”的行为机制 — 您将收到 completion 事件
- 在事件到达后处理结果
❌ 不应:
- 在紧循环中反复轮询
subagents list等待完成 - 为同一任务启动多个子 Agent
- 每隔几秒就检查一次状态 — 浪费资源
原因: 子 Agent 轻量高效(无完整 OpenClaw 上下文,环境隔离),但轮询违背了基于事件推送完成的设计初衷。系统会在任务完成后主动通知您。
恢复方案: 若子 Agent 执行失败,您始终可在主会话中直接生成简报 — 上述 JSON 接口规范简洁明确,且已完整文档化。
许可证
MIT 协议 — 完整许可文本请参阅源代码仓库。
热门AI工具
相关专题
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习
最新文章