gitlink-cli/gitlink-web
wyxfzgg c88e6f51f9 feat: add gitlink-web 科研智能分析服务(子任务四)
新增基于 Flask + DeepSeek API + gitlink-cli 的科研智能分析 Web 服务:
- 14 个 Skill(核心 9 + 科研实验室 5:热点追踪/项目洞悉/合规检查/协作匹配/进度跟踪)
- 输入研究主题或仓库 → 自动调 gitlink-cli 拉数据 → DeepSeek 按 Skill 工作流生成结构化报告
- 含 app.py、deploy.py(paramiko 一键部署)、templates、skills prompts、requirements.txt

对应《课程实践任务》子任务四「应用 GitLink 辅助科研」5 个场景。
来源:GitLink 大赛 2026 子赛题四。
2026-07-10 18:38:59 +08:00
..
skills feat: add gitlink-web 科研智能分析服务(子任务四) 2026-07-10 18:38:59 +08:00
templates feat: add gitlink-web 科研智能分析服务(子任务四) 2026-07-10 18:38:59 +08:00
README.md feat: add gitlink-web 科研智能分析服务(子任务四) 2026-07-10 18:38:59 +08:00
app.py feat: add gitlink-web 科研智能分析服务(子任务四) 2026-07-10 18:38:59 +08:00
deploy.py feat: add gitlink-web 科研智能分析服务(子任务四) 2026-07-10 18:38:59 +08:00
requirements.txt feat: add gitlink-web 科研智能分析服务(子任务四) 2026-07-10 18:38:59 +08:00

README.md

GitLink Skills Web Service科研智能分析服务

子任务四「应用 GitLink 辅助科研」的在线服务。基于 Flask + DeepSeek API + gitlink-cli,通过 AI Agent 自动分析 GitLink 平台数据,覆盖科研项目分析、热点追踪、合规校验、协作匹配、进度预警等全链路科研辅助场景。

🌐 在线地址:http://121.41.212.97/skills/ 归属jiangtx/gitlink-cli 小组


一、它能做什么

输入一个研究主题或仓库地址,服务会自动调用 gitlink-cli 拉取 GitLink 平台数据,再由 DeepSeek 大模型按各 Skill 的工作流生成结构化分析报告。共 14 个 Skill,分两类:

🎯 核心 Skill开发者场景

Skill 入口 说明 典型输出
技术调研 research-tracker /research 输入主题→多关键词搜索→深度评估→调研报告 热点概览 / 项目排行 / 重点分析 / 趋势建议
贡献者分析 contributor-insight /contributor 仓库贡献者活跃度与团队健康度 团队概览 / 活跃排行 / 重点画像
Issue 分拣 issue-triage /issue-triage 自动分类 Issue、评估紧急度 类型分类 / 紧急度 / 行动建议
CI 健康巡检 ci-health /ci-health CI/CD 状态、构建成功率 健康度总览 / 构建趋势 / 故障分析
仓库健康巡检 repo-health /repo-health 综合活跃度、社区、代码产出 基本信息 / 活跃度 / 综合评分
PR 效率分析 pr-analytics /pr-analytics PR 吞吐量、合并率 吞吐量 / 合并效率 / 贡献排行
跨维搜索 cross-search /cross-search 仓库+代码+Issue 三维搜索 各维命中 / 代码片段 / 讨论热点
用户分析 user-analysis /user-analysis 用户画像与项目参与 基本信息 / 活跃度 / 贡献列表
仓库对比 repo-compare /repo-compare 两仓库指标对比 基本/社区/活动对比 / 结论

🔬 科研实验室(科研场景,对应子任务四)

Skill 入口 科研场景 典型输出
热点追踪 lab-hotspot /lab-hotspot 多关键词搜索 + 领域知识图谱 热点概览 / 排行 / 知识图谱 / 趋势
项目洞悉 lab-insight /lab-insight 仓库+贡献者+PR/Issue 全息分析 项目概况 / 社区活跃 / 团队画像
合规检查 lab-compliance /lab-compliance License/CI/文档/复现性 合规评分 / 文档完整性 / 可复现性
协作匹配 lab-match /lab-match 新手友好度 + 社区健康度 项目概览 / 入门友好度 / 贡献方向
进度跟踪 lab-track /lab-track 多仓库批量巡检 + 三级告警 状态概览 / 指标表 / 预警详情

科研实验室 5 个 Skill 与《课程实践任务》子任务四场景一一对应:仓库级科研项目洞悉、科研热点追踪与知识图谱、科研项目合规与复现性检查、科研协作智能匹配、科研进度智能跟踪与预警。


二、架构

┌──────────────┐   HTTP    ┌──────────────────────────────┐
│  浏览器/评委  │ ───────► │  Flask (app.py, gunicorn)     │
└──────────────┘           │  路由 / /<slug> /api/run      │
                           └──────────────┬───────────────┘
                                          │ 按 Skill 选 agent_*()
                           ┌──────────────▼───────────────┐
                           │  DeepSeek API (Chat)          │
                           │  注入 SKILL.md prompt + 日期  │
                           └──────────────┬───────────────┘
                                          │ 工具调用 gitlink-cli
                           ┌──────────────▼───────────────┐
                           │  gitlink-cli (npm 全局)        │
                           │  repo/issue/pr/release/...    │
                           └──────────────┬───────────────┘
                                          │
                           ┌──────────────▼───────────────┐
                           │  GitLink 平台 OpenAPI         │
                           └──────────────────────────────┘
  • app.pyFlask 服务14 个 agent_* / lab_* 函数分别对应 14 个 Skill每个严格遵循 skills/*.txt 里的工作流。
  • skills/*.txt:各 Skill 的 prompt 工作流(与仓库 skills/gitlink-*/SKILL.md 同源)。
  • templates/base.html / index.html / skill.html 三套页面。
  • reports/:运行时生成的历史报告(运行时创建)。

三、本地运行

# 1. 依赖
pip install -r requirements.txt          # flask requests gunicorn

# 2. 安装 gitlink-cli数据源
npm install -g gitlink-cli
gitlink-cli auth login                    # 登录 GitLink

# 3. 配置大模型 KeyDeepSeek 或兼容 OpenAI 的接口)
export API_KEY="sk-xxxxxxxx"
export API_BASE="https://api.deepseek.com/v1"
export API_MODEL="deepseek-chat"

# 4. 启动
python app.py                             # 默认 5000 端口;--port=80 指定
# 访问 http://localhost:5000/

API_KEY 也可不设环境变量,app.py 会回退到内置占位(仅本地测试)。生产环境务必用环境变量,不要把 Key 写进代码。


四、部署到服务器

方式 ADevOps 流水线(推荐,可复现)

仓库根目录 .devops/gitlink-web.yml 是建木流水线master 合并后自动 git clone → 同步 gitlink-web//opt/gitlink-web → 装 Python 依赖 → 写 systemd 单元 → 重启 → 健康检查。需在建木密钥组 gitlink_cli 中配置:

  • wyx_ssh_pass:服务器 SSH 密码
  • deepseek_api_keyDeepSeek API Key

方式 B手动脚本

cd gitlink-web
# 编辑 deploy.py 顶部的 PASSWORD 与 API_KEY或改成从环境变量读
python deploy.py

deploy.py 用 paramiko 走 SSH装系统依赖 → 装 gitlink-cli → 上传文件 → 装 Python 依赖 → 写 systemd 服务 → 启动。服务以 gitlink-web.service 常驻,监听 80 端口。


五、API 端点

端点 方法 说明
/ GET 首页Skill 列表)
/<slug> GET 单个 Skill 表单页(如 /research/lab-hotspot
/api/run POST 执行 Skillbody{"skill":"research-tracker","input":"大模型"},返回生成报告

六、目录结构

gitlink-web/
├── app.py              # Flask 服务 + 14 个 Skill 处理函数865 行)
├── deploy.py           # paramiko 一键部署脚本
├── requirements.txt    # flask / requests / gunicorn
├── skills/             # 各 Skill 的 prompt 工作流
│   ├── research-tracker.txt
│   ├── contributor-insight.txt
│   ├── issue-triage.txt
│   └── ci-health.txt
└── templates/
    ├── base.html
    ├── index.html
    └── skill.html

七、与 CLI Skills 的关系

本服务的 skills/*.txt 与仓库 skills/gitlink-*/SKILL.md 同源、可互换:

  • CLI Skillskills/gitlink-research-tracker/SKILL.md):供 Claude Code / Cursor 等 Agent 平台直接调用,离线、可复现。
  • Web Skill(本服务):封装成 Web 界面 + 后端 DeepSeek评委无需装 Agent 即可在浏览器体验。

两者覆盖相同的科研场景,互为印证。