Merge pull request '修改流水线相关信息处理' (#31) from zzx_branch into master

This commit is contained in:
zzx-coder 2026-07-08 10:29:59 +08:00
commit e26160a335
3 changed files with 7 additions and 18 deletions

View File

@ -420,7 +420,6 @@
<div class="sidebar-section" id="skills-section">
<div class="sidebar-header skills-header" onclick="toggleSection('skills-section')">
<span class="section-arrow"></span> 🤖 AGENT SKILLS
<span id="session-badge" style="display:none;font-size:10px;background:var(--purple);color:#fff;padding:1px 6px;border-radius:8px;margin-left:6px;" title="会话进行中">● 会话中</span>
<div class="agent-selector" onclick="event.stopPropagation()">
<button class="agent-btn agent-claude active" data-agent="claude" onclick="setAgent('claude')">🤖 Claude Code</button>
<button class="agent-btn agent-codex" data-agent="codex" onclick="setAgent('codex')">📟 Codex</button>
@ -1468,7 +1467,6 @@ function sendClaudeRequest(prompt) {
// ── 会话管理:保存 session_id 并提示用户 ──
if (data.session_id) {
claudeSessionId = data.session_id;
updateSessionBadge();
var shortId = data.session_id.substring(0, 8);
if (data.ok) {
appendEntry('info', '💬 会话持续中 · ID: <code>' + shortId + '</code> · <span style="color:var(--accent);cursor:pointer;text-decoration:underline;" onclick="newClaudeSession()">点击开始新会话</span> · 下一条 Claude 指令将自动延续本会话');
@ -1513,24 +1511,10 @@ function sendClaudeRequest(prompt) {
// ── Start a fresh Claude Code session ──
function newClaudeSession() {
claudeSessionId = null;
updateSessionBadge();
appendEntry('info', '🆕 已开始新会话 — 下一条 Claude 指令将创建全新对话');
showToast('Claude 会话已重置', 'ok');
}
// ── Update session badge in sidebar ──
function updateSessionBadge() {
var badge = document.getElementById('session-badge');
if (badge) {
if (claudeSessionId) {
badge.style.display = 'inline';
badge.textContent = '● 会话中';
} else {
badge.style.display = 'none';
}
}
}
// ── Reset after execution ──
function resetExecState() {
isRunning = false;

View File

@ -101,7 +101,7 @@ if ($prsJson) {
$prData = ($prsJson | ConvertFrom-Json).data
$prs = if ($prData.issues) { @($prData.issues) } elseif ($prData.pulls) { @($prData.pulls) } elseif ($prData -is [array]) { @($prData) } else { @() }
foreach ($pr in $prs) {
$prTitle = if ($pr.subject) { $pr.subject } elseif ($pr.title) { $pr.title } else { "N/A" }
$prTitle = if ($pr.name) { $pr.name } elseif ($pr.subject) { $pr.subject } elseif ($pr.title) { $pr.title } else { "N/A" }
$prNum = if ($pr.pull_request_number) { $pr.pull_request_number } elseif ($pr.number) { $pr.number } else { "?" }
$prAuthor = if ($pr.author_login) { $pr.author_login } elseif ($pr.author.login) { $pr.author.login } else { "?" }
$prItems += "- $prTitle (#$prNum) (@$prAuthor)"
@ -122,6 +122,9 @@ $docLines = @()
$otherLines = @()
$issContributors = @{}
$issCount = 0
# Dedupe by issue index: the same issue can be returned by both the open
# and closed state queries, which would otherwise double-count it.
$seenIssues = @{}
$today = (Get-Date -Format "yyyy-MM-dd")
$yesterday = ((Get-Date).AddDays(-1)).ToString("yyyy-MM-dd")
@ -133,6 +136,8 @@ foreach ($state in @("open","closed")) {
$issues = if ($issData.issues) { @($issData.issues) } elseif ($issData -is [array]) { @($issData) } else { @() }
foreach ($iss in $issues) {
$num = if ($iss.project_issues_index) { $iss.project_issues_index } elseif ($iss.number) { $iss.number } else { "?" }
if ($num -ne "?" -and $seenIssues.ContainsKey($num)) { continue }
if ($num -ne "?") { $seenIssues[$num] = $true }
$title = if ($iss.subject) { $iss.subject } elseif ($iss.title) { $iss.title } else { "N/A" }
$desc = if ($iss.description) { $iss.description } else { "" }
$author = if ($iss.author.login) { $iss.author.login } elseif ($iss.author.username) { $iss.author.username } else { "?" }

View File

@ -94,7 +94,7 @@ PR_CONTRIBUTORS=""
PR_TMP=$(mktemp)
PRS_JSON=$(gl_run pr +list --owner "$OWNER" --repo "$REPO" --state merged --limit 100 2>/dev/null || true)
if [[ -n "$PRS_JSON" ]]; then
echo "$PRS_JSON" | jq -r '(.data.issues // .data.pulls // .data // [])[]? | "\(.subject // .title // "N/A")\t\(.pull_request_number // .number // .id)\t\(.author_login // .author.login // "?")"' 2>/dev/null > "$PR_TMP" || true
echo "$PRS_JSON" | jq -r '(.data.issues // .data.pulls // .data // [])[]? | "\(.name // .subject // .title // "N/A")\t\(.pull_request_number // .number // .id)\t\(.author_login // .author.login // "?")"' 2>/dev/null > "$PR_TMP" || true
while IFS=$'\t' read -r pr_title pr_num pr_author || [[ -n "$pr_title" ]]; do
PR_ITEMS+="- ${pr_title} (#${pr_num}) (@${pr_author})"$'\n'
PR_CONTRIBUTORS+="@${pr_author} "