154 lines
12 KiB
HTML
154 lines
12 KiB
HTML
<h2 class="sr-only">社区运营自动化工作流架构图</h2>
|
||
<div style="font-family: var(--font-sans, sans-serif); max-width: 720px; margin: 0 auto; padding: 20px;">
|
||
<h1 style="font-size: 18px; font-weight: 500; text-align: center; margin-bottom: 8px;">GitLink 社区运营自动化工作流</h1>
|
||
<p style="font-size: 13px; text-align: center; color: var(--color-text-secondary, #555); margin-bottom: 24px;">四个 Skill 统一编排 · C1 纯文档模式 · 跨平台兼容</p>
|
||
|
||
<svg viewBox="0 0 680 560" width="100%" role="img">
|
||
<title>社区运营自动化工作流架构图</title>
|
||
<desc>四个 Skill 统一编排三阶段</desc>
|
||
<defs>
|
||
<marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
|
||
<path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||
</marker>
|
||
</defs>
|
||
<style>
|
||
.th{font:500 13px var(--font-sans,sans-serif);fill:var(--color-text-primary,#000)}
|
||
.ts{font:400 12px var(--font-sans,sans-serif);fill:var(--color-text-secondary,#555)}
|
||
.tb{font:400 12px var(--font-sans,sans-serif);fill:var(--color-text-secondary,#555)}
|
||
.tc{font:500 12px var(--font-sans,sans-serif);fill:var(--color-text-primary,#000)}
|
||
</style>
|
||
|
||
<!-- 统一入口 Skill -->
|
||
<rect x="170" y="20" width="340" height="50" rx="10" fill="#EEEDFE" stroke="#534AB7" stroke-width="0.5"/>
|
||
<text class="th" x="340" y="38" text-anchor="middle" dominant-baseline="central">gitlink-community-ops</text>
|
||
<text class="ts" x="340" y="56" text-anchor="middle" dominant-baseline="central">统一入口 Skill (编排 Step 1→2→3)</text>
|
||
|
||
<!-- 三个子 Skill -->
|
||
<line x1="340" y1="70" x2="340" y2="95" stroke="#534AB7" stroke-width="1.5" fill="none" marker-end="url(#arrow)"/>
|
||
|
||
<!-- Step 1 -->
|
||
<rect x="20" y="100" width="210" height="130" rx="12" fill="#E1F5EE" stroke="#0F6E56" stroke-width="0.5"/>
|
||
<text class="th" x="125" y="120" text-anchor="middle" dominant-baseline="central">Step 1: Issue 分类+分配</text>
|
||
<text class="ts" x="125" y="138" text-anchor="middle" dominant-baseline="central">gitlink-issue-triage-rules</text>
|
||
|
||
<rect x="35" y="150" width="90" height="28" rx="5" fill="#fff" stroke="#0F6E56" stroke-width="0.5"/>
|
||
<text class="tc" x="80" y="164" text-anchor="middle" dominant-baseline="central">规则匹配</text>
|
||
<rect x="135" y="150" width="85" height="28" rx="5" fill="#fff" stroke="#0F6E56" stroke-width="0.5"/>
|
||
<text class="tc" x="177" y="164" text-anchor="middle" dominant-baseline="central">LLM 兜底</text>
|
||
<rect x="35" y="185" width="90" height="28" rx="5" fill="#fff" stroke="#0F6E56" stroke-width="0.5"/>
|
||
<text class="tc" x="80" y="199" text-anchor="middle" dominant-baseline="central">双语翻译</text>
|
||
<rect x="135" y="185" width="85" height="28" rx="5" fill="#fff" stroke="#0F6E56" stroke-width="0.5"/>
|
||
<text class="tc" x="177" y="199" text-anchor="middle" dominant-baseline="central">PATCH 写回</text>
|
||
|
||
<!-- Step 2 -->
|
||
<rect x="240" y="100" width="210" height="130" rx="12" fill="#F1EFE8" stroke="#5F5E5A" stroke-width="0.5"/>
|
||
<text class="th" x="345" y="120" text-anchor="middle" dominant-baseline="central">Step 2: 社区周报</text>
|
||
<text class="ts" x="345" y="138" text-anchor="middle" dominant-baseline="central">gitlink-community-report</text>
|
||
|
||
<rect x="255" y="150" width="85" height="28" rx="5" fill="#fff" stroke="#5F5E5A" stroke-width="0.5"/>
|
||
<text class="tc" x="297" y="164" text-anchor="middle" dominant-baseline="central">数据采集</text>
|
||
<rect x="350" y="150" width="90" height="28" rx="5" fill="#fff" stroke="#5F5E5A" stroke-width="0.5"/>
|
||
<text class="tc" x="395" y="164" text-anchor="middle" dominant-baseline="central">时间过滤</text>
|
||
<rect x="255" y="185" width="85" height="28" rx="5" fill="#fff" stroke="#5F5E5A" stroke-width="0.5"/>
|
||
<text class="tc" x="297" y="199" text-anchor="middle" dominant-baseline="central">生成周报</text>
|
||
<rect x="350" y="185" width="90" height="28" rx="5" fill="#fff" stroke="#5F5E5A" stroke-width="0.5"/>
|
||
<text class="tc" x="395" y="199" text-anchor="middle" dominant-baseline="central">Issue 发布</text>
|
||
|
||
<!-- Step 3 -->
|
||
<rect x="460" y="100" width="210" height="130" rx="12" fill="#E6F1FB" stroke="#185FA5" stroke-width="0.5"/>
|
||
<text class="th" x="565" y="120" text-anchor="middle" dominant-baseline="central">Step 3: Release Notes</text>
|
||
<text class="ts" x="565" y="138" text-anchor="middle" dominant-baseline="central">gitlink-release-notes</text>
|
||
|
||
<rect x="475" y="150" width="85" height="28" rx="5" fill="#fff" stroke="#185FA5" stroke-width="0.5"/>
|
||
<text class="tc" x="517" y="164" text-anchor="middle" dominant-baseline="central">版本去重</text>
|
||
<rect x="570" y="150" width="90" height="28" rx="5" fill="#fff" stroke="#185FA5" stroke-width="0.5"/>
|
||
<text class="tc" x="615" y="164" text-anchor="middle" dominant-baseline="central">Issue 分类</text>
|
||
<rect x="475" y="185" width="85" height="28" rx="5" fill="#fff" stroke="#185FA5" stroke-width="0.5"/>
|
||
<text class="tc" x="517" y="199" text-anchor="middle" dominant-baseline="central">生成 Notes</text>
|
||
<rect x="570" y="185" width="90" height="28" rx="5" fill="#fff" stroke="#185FA5" stroke-width="0.5"/>
|
||
<text class="tc" x="615" y="199" text-anchor="middle" dominant-baseline="central">Release 创建</text>
|
||
|
||
<!-- 依赖关系箭头 Step 1 → Step 2 → Step 3 -->
|
||
<line x1="230" y1="165" x2="240" y2="165" stroke="#0F6E56" stroke-width="1.5" fill="none" marker-end="url(#arrow)"/>
|
||
<line x1="450" y1="165" x2="460" y2="165" stroke="#5F5E5A" stroke-width="1.5" fill="none" marker-end="url(#arrow)"/>
|
||
|
||
<!-- 底层 CLI -->
|
||
<rect x="100" y="260" width="480" height="44" rx="8" fill="#FAEEDA" stroke="#854F0B" stroke-width="0.5"/>
|
||
<text class="th" x="340" y="282" text-anchor="middle" dominant-baseline="central">gitlink-cli / gh / glab / curl → 各平台 REST API</text>
|
||
|
||
<!-- CLI 命令清单 -->
|
||
<line x1="340" y1="304" x2="340" y2="320" stroke="#854F0B" stroke-width="1.5" fill="none" marker-end="url(#arrow)"/>
|
||
|
||
<rect x="20" y="320" width="640" height="230" rx="12" fill="#f8f8f8" stroke="#ccc" stroke-width="0.5"/>
|
||
<text class="th" x="340" y="340" text-anchor="middle" dominant-baseline="central">串联的 CLI 命令清单 (14 项)</text>
|
||
|
||
<!-- Step 1 命令 -->
|
||
<text class="ts" x="40" y="370">Step 1 (gitlink-issue-triage-rules):</text>
|
||
<rect x="40" y="380" width="110" height="22" rx="4" fill="#E1F5EE" stroke="#0F6E56" stroke-width="0.3"/>
|
||
<text class="tb" x="95" y="394" text-anchor="middle" dominant-baseline="central">auth status</text>
|
||
<rect x="160" y="380" width="110" height="22" rx="4" fill="#E1F5EE" stroke="#0F6E56" stroke-width="0.3"/>
|
||
<text class="tb" x="215" y="394" text-anchor="middle" dominant-baseline="central">issue +list</text>
|
||
<rect x="280" y="380" width="110" height="22" rx="4" fill="#E1F5EE" stroke="#0F6E56" stroke-width="0.3"/>
|
||
<text class="tb" x="335" y="394" text-anchor="middle" dominant-baseline="central">label +list</text>
|
||
<rect x="400" y="380" width="110" height="22" rx="4" fill="#E1F5EE" stroke="#0F6E56" stroke-width="0.3"/>
|
||
<text class="tb" x="455" y="394" text-anchor="middle" dominant-baseline="central">member +list</text>
|
||
<rect x="520" y="380" width="120" height="22" rx="4" fill="#E1F5EE" stroke="#0F6E56" stroke-width="0.3"/>
|
||
<text class="tb" x="580" y="394" text-anchor="middle" dominant-baseline="central">issue +view</text>
|
||
<rect x="40" y="410" width="110" height="22" rx="4" fill="#E1F5EE" stroke="#0F6E56" stroke-width="0.3"/>
|
||
<text class="tb" x="95" y="424" text-anchor="middle" dominant-baseline="central">api PATCH</text>
|
||
<rect x="160" y="410" width="110" height="22" rx="4" fill="#E1F5EE" stroke="#0F6E56" stroke-width="0.3"/>
|
||
<text class="tb" x="215" y="424" text-anchor="middle" dominant-baseline="central">+comment</text>
|
||
<rect x="280" y="410" width="110" height="22" rx="4" fill="#E1F5EE" stroke="#0F6E56" stroke-width="0.3"/>
|
||
<text class="tb" x="335" y="424" text-anchor="middle" dominant-baseline="central">issue +view</text>
|
||
|
||
<!-- Step 2 命令 -->
|
||
<text class="ts" x="40" y="450">Step 2 (gitlink-community-report):</text>
|
||
<rect x="40" y="460" width="110" height="22" rx="4" fill="#F1EFE8" stroke="#5F5E5A" stroke-width="0.3"/>
|
||
<text class="tb" x="95" y="474" text-anchor="middle" dominant-baseline="central">auth status</text>
|
||
<rect x="160" y="460" width="110" height="22" rx="4" fill="#F1EFE8" stroke="#5F5E5A" stroke-width="0.3"/>
|
||
<text class="tb" x="215" y="474" text-anchor="middle" dominant-baseline="central">issue +list</text>
|
||
<rect x="280" y="460" width="110" height="22" rx="4" fill="#F1EFE8" stroke="#5F5E5A" stroke-width="0.3"/>
|
||
<text class="tb" x="335" y="474" text-anchor="middle" dominant-baseline="central">release +list</text>
|
||
<rect x="400" y="460" width="110" height="22" rx="4" fill="#F1EFE8" stroke="#5F5E5A" stroke-width="0.3"/>
|
||
<text class="tb" x="455" y="474" text-anchor="middle" dominant-baseline="central">member +list</text>
|
||
<rect x="520" y="460" width="120" height="22" rx="4" fill="#F1EFE8" stroke="#5F5E5A" stroke-width="0.3"/>
|
||
<text class="tb" x="580" y="474" text-anchor="middle" dominant-baseline="central">issue +create</text>
|
||
|
||
<!-- Step 3 命令 -->
|
||
<text class="ts" x="40" y="500">Step 3 (gitlink-release-notes):</text>
|
||
<rect x="40" y="510" width="110" height="22" rx="4" fill="#E6F1FB" stroke="#185FA5" stroke-width="0.3"/>
|
||
<text class="tb" x="95" y="524" text-anchor="middle" dominant-baseline="central">auth status</text>
|
||
<rect x="160" y="510" width="110" height="22" rx="4" fill="#E6F1FB" stroke="#185FA5" stroke-width="0.3"/>
|
||
<text class="tb" x="215" y="524" text-anchor="middle" dominant-baseline="central">issue +list</text>
|
||
<rect x="280" y="510" width="110" height="22" rx="4" fill="#E6F1FB" stroke="#185FA5" stroke-width="0.3"/>
|
||
<text class="tb" x="335" y="524" text-anchor="middle" dominant-baseline="central">release +list</text>
|
||
<rect x="400" y="510" width="110" height="22" rx="4" fill="#E6F1FB" stroke="#185FA5" stroke-width="0.3"/>
|
||
<text class="tb" x="455" y="524" text-anchor="middle" dominant-baseline="central">release +create</text>
|
||
</svg>
|
||
|
||
<div style="margin-top: 28px; font-size: 13px; line-height: 1.7;">
|
||
<h3 style="font-size: 14px; font-weight: 500; margin-bottom: 8px;">Skill 编排流程</h3>
|
||
<p style="color: var(--color-text-secondary, #555); margin-bottom: 16px;">
|
||
<strong>gitlink-community-ops</strong> 是统一入口,编排三个子 Skill:<br>
|
||
Step 1: <strong>gitlink-issue-triage-rules</strong> — Issue 自动分类 + 分配责任人 (规则匹配 + LLM 兜底)<br>
|
||
Step 2: <strong>gitlink-community-report</strong> — 社区周报自动生成 + 发布<br>
|
||
Step 3: <strong>gitlink-release-notes</strong> — Release Notes 自动生成 + 发布<br>
|
||
每个子 Skill 独立做 dry-run 预览 + 用户确认,上下文参数 (OWNER/REPO/BACKEND) 自动继承。
|
||
</p>
|
||
|
||
<h3 style="font-size: 14px; font-weight: 500; margin-bottom: 8px;">关键依赖</h3>
|
||
<p style="color: var(--color-text-secondary, #555); margin-bottom: 16px;">
|
||
Step 1 必须先完成 → Issue 才有标签 → Step 2 周报标签分布准确 → Step 3 Release Notes 按 Bug/Feature 正确分类。
|
||
容错:某步骤失败不阻塞后续。
|
||
</p>
|
||
|
||
<h3 style="font-size: 14px; font-weight: 500; margin-bottom: 8px;">执行方式</h3>
|
||
<pre style="background: var(--color-background-secondary, #f5f5f5); padding: 12px; border-radius: 8px; font-size: 12px; overflow-x: auto;"><code># Skill 方式 (Agent 对话触发)
|
||
"帮我跑 Angel123456/gitlink-cli 的完整社区运营工作流"
|
||
|
||
# 脚本方式 (无 Agent 环境)
|
||
python3 community-ops.py --owner Angel123456 --repo gitlink-cli --skill-md SKILL.md # dry-run
|
||
python3 community-ops.py --owner Angel123456 --repo gitlink-cli --skill-md SKILL.md --apply # 真实写回</code></pre>
|
||
</div>
|
||
</div>
|