feat/tea-token-fallback-and-chart-first-wiki #3

Merged
admin merged 3 commits from feat/tea-token-fallback-and-chart-first-wiki into develop 2026-08-21 08:26:15 +00:00
Member

摘要

  • 需求描述:實作兩條使用者規則——(1) tools/gitea.sh 在 GITEA_TOKEN 未設定或 API 回 401/403 時,自動退回 tea CLI 登入 token 重試一次;(2) wiki 技能寫頁面時圖表優先(mermaid 圖、markdown 表格),純文字為最後手段。同步更新 README 與三份 plugin manifest 版本號(0.0.1 → 0.0.2)。
  • 計畫名稱:無
  • 計畫頁:無
  • 分析頁:無

變更內容

檔案 為什麼改
tools/gitea.sh 新增 tea_token() 解析 ~/.config/tea/config.yml(優先 default: true 的登入);啟動時 GITEA_TOKEN 空值改用 tea token;req() 遇 401/403 以 tea token 重試一次;usage 註解補退回機制說明
skills/wiki/SKILL.md 新增圖表優先內容規則(mermaid、markdown 表格優先,純文字為最後手段)與認證退回說明;frontmatter description 同步更新
README.md 「Skills 目錄」的 wiki 條目補圖表優先說明;環境變數表 GITEA_TOKEN 一列補 401/403 自動退回 tea token 的行為
plugin.json 版本號 0.0.1 → 0.0.2
.claude-plugin/plugin.json 版本號 0.0.1 → 0.0.2
.codex-plugin/plugin.json 版本號 0.0.1 → 0.0.2

設計重點

  • 退回順序明確:先用 GITEA_TOKEN,401/403 時才換 tea token,且以 retried 旗標保證最多重試一次,避免無限迴圈。
  • tea token 與當前 token 相同時不重試,避免無意義的重複請求。
  • 兩條認證路徑都失敗時維持原本錯誤行為(token 必填錯誤或 exit 4),對既有呼叫方零破壞。
  • 解析 tea 設定檔僅用 POSIX awk,不新增相依套件;sh -eu 相容。
  • 規則同時寫入 SKILL.md 正文與 frontmatter description,技能挑選階段即可看到 chart-first 要求。

測試結果

  • sh -n tools/gitea.sh:語法檢查通過。
  • GITEA_TOKEN= ./tools/gitea.sh owners:token 為空時經 tea CLI token 成功取得結果(啟動退回路徑)。
  • GITEA_TOKEN=deadbeef ./tools/gitea.sh owners:無效 token 觸發 401 後以 tea token 重試成功(req() 重試路徑)。
  • 無 HOME tea 設定檔且 token 為空:維持原本的 GITEA_TOKEN is required 錯誤(雙路徑皆無時的失敗行為不變)。

前置 Push Request

  • 無

🤖 Generated with Claude Code

## 摘要 - 需求描述:實作兩條使用者規則——(1) `tools/gitea.sh` 在 GITEA_TOKEN 未設定或 API 回 401/403 時,自動退回 tea CLI 登入 token 重試一次;(2) wiki 技能寫頁面時圖表優先(mermaid 圖、markdown 表格),純文字為最後手段。同步更新 README 與三份 plugin manifest 版本號(0.0.1 → 0.0.2)。 - 計畫名稱:無 - 計畫頁:無 - 分析頁:無 ## 變更內容 | 檔案 | 為什麼改 | | --- | --- | | `tools/gitea.sh` | 新增 `tea_token()` 解析 `~/.config/tea/config.yml`(優先 `default: true` 的登入);啟動時 GITEA_TOKEN 空值改用 tea token;`req()` 遇 401/403 以 tea token 重試一次;usage 註解補退回機制說明 | | `skills/wiki/SKILL.md` | 新增圖表優先內容規則(mermaid、markdown 表格優先,純文字為最後手段)與認證退回說明;frontmatter description 同步更新 | | `README.md` | 「Skills 目錄」的 wiki 條目補圖表優先說明;環境變數表 `GITEA_TOKEN` 一列補 401/403 自動退回 tea token 的行為 | | `plugin.json` | 版本號 0.0.1 → 0.0.2 | | `.claude-plugin/plugin.json` | 版本號 0.0.1 → 0.0.2 | | `.codex-plugin/plugin.json` | 版本號 0.0.1 → 0.0.2 | ## 設計重點 - 退回順序明確:先用 GITEA_TOKEN,401/403 時才換 tea token,且以 `retried` 旗標保證最多重試一次,避免無限迴圈。 - tea token 與當前 token 相同時不重試,避免無意義的重複請求。 - 兩條認證路徑都失敗時維持原本錯誤行為(token 必填錯誤或 exit 4),對既有呼叫方零破壞。 - 解析 tea 設定檔僅用 POSIX awk,不新增相依套件;`sh -eu` 相容。 - 規則同時寫入 SKILL.md 正文與 frontmatter description,技能挑選階段即可看到 chart-first 要求。 ## 測試結果 - `sh -n tools/gitea.sh`:語法檢查通過。 - `GITEA_TOKEN= ./tools/gitea.sh owners`:token 為空時經 tea CLI token 成功取得結果(啟動退回路徑)。 - `GITEA_TOKEN=deadbeef ./tools/gitea.sh owners`:無效 token 觸發 401 後以 tea token 重試成功(req() 重試路徑)。 - 無 HOME tea 設定檔且 token 為空:維持原本的 `GITEA_TOKEN is required` 錯誤(雙路徑皆無時的失敗行為不變)。 ## 前置 Push Request - 無 🤖 Generated with [Claude Code](https://claude.com/claude-code)
jiantw83 added 3 commits 2026-08-21 08:23:36 +00:00
What(改了什麼)
- tools/gitea.sh 新增 tea_token():解析 ~/.config/tea/config.yml,優先取 default: true 的登入 token,否則取第一個。
- 啟動時 GITEA_TOKEN 未設定或為空,改用 tea token;兩者皆無才維持原本的必填錯誤。
- req() 遇 HTTP 401/403 且 tea token 存在又與當前 token 不同時,換用 tea token 重試一次,之後不再重試。
- 檔頭用法註解補上退回機制的說明。

Why(為什麼改)
- 使用者規則:api token 401/403 時,若 tea CLI 已登入就取其 token 重試,避免因 GITEA_TOKEN 過期或未設定就直接中斷流程。

How(怎麼改)
- 以 awk 解析 tea 設定檔的 logins 清單,抓各登入的 token 與 default 旗標。
- req() 改為 while 迴圈包住 curl,retried 旗標保證最多重試一次;HTTP >= 400 仍以 exit 4 收場。
- 實測:sh -n 語法檢查通過;GITEA_TOKEN 為空時經 tea token 成功;GITEA_TOKEN=deadbeef 時走 401 重試路徑成功;無 tea 設定且 token 為空時維持原錯誤訊息。

Who(影響哪個功能/使用者)
- 所有經 tools/gitea.sh 呼叫 Gitea API 的技能(wiki、repo-sync、jsc-git pr 等)與使用者:token 缺失或失效時多一層自動救援,行為只在原本會失敗的情境改變。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
What(改了什麼)
- skills/wiki/SKILL.md 新增兩條規則:頁面內容以圖表優先(mermaid 流程圖、時序圖、甘特圖、圓餅圖與 markdown 表格),純文字為最後手段且保持精簡;tools/gitea.sh 已內建認證退回機制,兩條路徑都失敗才回報認證錯誤。
- SKILL.md frontmatter description 補上 chart-first 說明,讓技能挑選時就能看到此規則。
- README.md:「Skills 目錄」的 wiki 條目補上圖表優先說明;環境變數表的 GITEA_TOKEN 一列補上 401/403 自動退回 tea CLI token 的行為。

Why(為什麼改)
- 使用者規則:wiki 輸出盡量用 mermaid 與表格呈現,不要只有純文字。
- 認證退回已在 tools/gitea.sh 實作,技能文件與 README 需同步,避免技能誤判認證失敗或文件與行為不一致。

How(怎麼改)
- 在 SKILL.md 規則清單追加第 4、5 條,並同步改寫 frontmatter description。
- README 對應兩處文字更新,與 gitea.sh 的實際行為一致。

Who(影響哪個功能/使用者)
- 使用 jsc-gitea:wiki 的所有呼叫方(jsc-ask、jsc-sdlc、jsc-log):之後寫出的 wiki 頁會以圖表為主;閱讀 README 的使用者能得知 token 退回行為。

備註:README.md 的 GITEA_TOKEN 環境變數表一列在語意上屬於前一個 commit(tea token 退回),但為避免以 hunk 拆分 README,整檔併入本 commit。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
What(改了什麼)
- plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json 三份 manifest 的 version 同步由 0.0.1 改為 0.0.2。

Why(為什麼改)
- 本次加入 tea CLI token 退回與 wiki 圖表優先規則兩項功能,需要提升版本讓各 AI CLI 的插件更新機制抓到新版。

How(怎麼改)
- 三份 manifest 僅改 version 欄位,其餘內容不動,維持三處版本一致。

Who(影響哪個功能/使用者)
- 安裝 jsc-gitea 插件的所有 AI CLI 使用者:更新後可取得本次的功能。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
admin merged commit 51be91ce9d into develop 2026-08-21 08:26:15 +00:00
admin deleted branch feat/tea-token-fallback-and-chart-first-wiki 2026-08-21 08:26:15 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Reference: plugins/gitea#3