feat(user): add user statistics shortcuts #323

Closed
ohanabi wants to merge 0 commits from ohanabi/gitlink-cli:feat/user-statistics-shortcuts into master
Contributor

合并请求描述

本次合并请求为 user 模块新增用户统计类快捷命令,覆盖贡献热力图、用户聚合统计和项目趋势查询,减少 Agent 和用户对 Raw API 的依赖,并补齐贡献
者洞察工作流中此前标记为不可用的 user 统计能力。

相关Issue

关联Issue编号:暂无

变更内容

1. 新增用户统计快捷命令

  • 新增 user +heatmap,调用 GET /users/{user}/headmaps
  • 新增 user +statistics,调用 GET /users/{user}/statistics
  • 新增 user +project-trends,调用 GET /users/{user}/project_trends
  • 新增短别名 user +statsuser +trends,兼容贡献者分析 Skill 中的既有表达。

2. 支持当前用户回退和查询参数

  • --user 可省略,省略时通过 /users/me 解析当前认证用户。
  • user +heatmap 支持 --year
  • user +statistics / user +project-trends 支持 --start-time--end-time

3. 补充测试和 i18n

  • 新增路径、查询参数、默认用户回退、别名命令、HTTP 错误测试。
  • 新增中英文命令描述、参数说明和错误信息。

4. 完善 README 与 Skill 文档

  • 更新 README / README.zh-CN 的用户画像示例。
  • 更新 skills/README.mdskills/gitlink-user/SKILL.md
  • 新增 gitlink-user 三个参考页:heatmap、statistics、project-trends。
  • 更新 contributor insight / insight 相关 Skill,优先使用新 shortcut。
  • 新增 doc/changes/user-statistics-shortcuts.md

问题描述

当前 gitlink-user Skill 中,用户贡献热力图、用户统计、项目趋势仍通过 Raw API 示例暴露;gitlink-contributor-insight 也将 user +heatmapuser +statsuser +trends 标记为不可用,导致贡献者分析只能从 PR/Issue 列表中近似推算贡献频率、产出和趋势。

问题复现步骤

  1. 查看 skills/gitlink-user/SKILL.md
  2. 发现热力图、统计和项目趋势需要使用 gitlink-cli api GET /users/:user_id/...
  3. 查看 skills/gitlink-contributor-insight/SKILL.md
  4. 发现 user +heatmapuser +statsuser +trends 被标记为不可用。
  5. 进行贡献者分析时,只能从 PR 时间戳和列表聚合中推算相关指标。

根本原因

user shortcut 当前只覆盖 user +meuser +info,没有把 GitLink 已有的用户统计类只读接口沉淀为高层命令。相关 Skill 因此只能保留 Raw
API 或替代推算流程,降低了 Agent 工作流的准确性和一致性。

修复方案

shortcuts/user 中新增热力图、统计、项目趋势三个只读 shortcut,并加入 stats / trends 短别名。复用统一的用户解析逻辑:显式传入
--user 时直接使用目标用户;省略时调用 /users/me 获取当前登录用户。同步补充测试、i18n、README、Skill 文档和变更说明,并将相关贡献者洞察
Skill 从“命令不可用”更新为优先使用新快捷命令。

验证

  • gofmt -w shortcuts/user/user.go shortcuts/user/user_test.go
  • git diff --check
  • go run ./internal/i18n/cmd/check
  • go test ./shortcuts/user ./shortcuts
  • go test ./...
## 合并请求描述 本次合并请求为 user 模块新增用户统计类快捷命令,覆盖贡献热力图、用户聚合统计和项目趋势查询,减少 Agent 和用户对 Raw API 的依赖,并补齐贡献 者洞察工作流中此前标记为不可用的 user 统计能力。 ## 相关Issue 关联Issue编号:暂无 ## 变更内容 ### 1. 新增用户统计快捷命令 - 新增 `user +heatmap`,调用 `GET /users/{user}/headmaps`。 - 新增 `user +statistics`,调用 `GET /users/{user}/statistics`。 - 新增 `user +project-trends`,调用 `GET /users/{user}/project_trends`。 - 新增短别名 `user +stats` 和 `user +trends`,兼容贡献者分析 Skill 中的既有表达。 ### 2. 支持当前用户回退和查询参数 - `--user` 可省略,省略时通过 `/users/me` 解析当前认证用户。 - `user +heatmap` 支持 `--year`。 - `user +statistics` / `user +project-trends` 支持 `--start-time` 和 `--end-time`。 ### 3. 补充测试和 i18n - 新增路径、查询参数、默认用户回退、别名命令、HTTP 错误测试。 - 新增中英文命令描述、参数说明和错误信息。 ### 4. 完善 README 与 Skill 文档 - 更新 README / README.zh-CN 的用户画像示例。 - 更新 `skills/README.md` 和 `skills/gitlink-user/SKILL.md`。 - 新增 `gitlink-user` 三个参考页:heatmap、statistics、project-trends。 - 更新 contributor insight / insight 相关 Skill,优先使用新 shortcut。 - 新增 `doc/changes/user-statistics-shortcuts.md`。 ## 问题描述 当前 `gitlink-user` Skill 中,用户贡献热力图、用户统计、项目趋势仍通过 Raw API 示例暴露;`gitlink-contributor-insight` 也将 `user +heatmap`、`user +stats`、`user +trends` 标记为不可用,导致贡献者分析只能从 PR/Issue 列表中近似推算贡献频率、产出和趋势。 ## 问题复现步骤 1. 查看 `skills/gitlink-user/SKILL.md`。 2. 发现热力图、统计和项目趋势需要使用 `gitlink-cli api GET /users/:user_id/...`。 3. 查看 `skills/gitlink-contributor-insight/SKILL.md`。 4. 发现 `user +heatmap`、`user +stats`、`user +trends` 被标记为不可用。 5. 进行贡献者分析时,只能从 PR 时间戳和列表聚合中推算相关指标。 ## 根本原因 user shortcut 当前只覆盖 `user +me` 和 `user +info`,没有把 GitLink 已有的用户统计类只读接口沉淀为高层命令。相关 Skill 因此只能保留 Raw API 或替代推算流程,降低了 Agent 工作流的准确性和一致性。 ## 修复方案 在 `shortcuts/user` 中新增热力图、统计、项目趋势三个只读 shortcut,并加入 `stats` / `trends` 短别名。复用统一的用户解析逻辑:显式传入 `--user` 时直接使用目标用户;省略时调用 `/users/me` 获取当前登录用户。同步补充测试、i18n、README、Skill 文档和变更说明,并将相关贡献者洞察 Skill 从“命令不可用”更新为优先使用新快捷命令。 ## 验证 - `gofmt -w shortcuts/user/user.go shortcuts/user/user_test.go` - `git diff --check` - `go run ./internal/i18n/cmd/check` - `go test ./shortcuts/user ./shortcuts` - `go test ./...`
ohanabi added 1 commit 2026-07-03 11:04:18 +08:00
wbtiger closed this pull request 2026-07-14 22:56:54 +08:00
wbtiger reopened this pull request 2026-07-14 23:02:11 +08:00
wbtiger closed this pull request 2026-07-14 23:05:31 +08:00

Pull request closed

Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Gitlink/gitlink-cli#323
No description provided.