Files
assist/README.md
T
jiantw83 6e18a373f3 feat(assist): 樣板改成 jsc-assist domain,加上 status 技能
What:
- 三份 manifest 的 name 由 jsc-template 改成 jsc-assist,version 設為 0.0.1,description 改寫成助理的定位,並加上 jsc.requires 宣告對 jsc-cli、jsc-gitea、jsc-hooks、jsc-log 的最低版本。
- README.md 與 AGENTS.md 依 meta domain 的格式重寫,AGENTS.md 多一節「助理的界線」。
- 刪掉樣板的 hello 技能,新增 status 技能與 references/behaviors.md 行為清單。

Why:
- 這個存取庫原本整份是 template 的樣板,四份 manifest 都還叫 jsc-template。名字沒改,marketplace 認不出它是獨立的 domain,各 CLI 也裝不上。
- 助理的閘門、心跳與巡檢要有落點,前提是存取庫先認得出自己。
- 樣板的 hello 技能只是安裝驗證用,留著會讓助理的技能清單從第一天就帶著一支沒有用途的技能。換成唯讀的 status,行為檢查與 frontmatter 檢查也才有掃描對象。

How:
- status 全程唯讀:讀心跳檔判斷助理在不在跑,判準只看時間戳距現在是否不到 300 秒,不看 pid 存活——五支 CLI 與容器裡的行程互相看不到彼此的 pid。
- 心跳檔不存在時印「助理未運行」,這是正常結果,不以非 0 結束。
- 這支不新增 tools/ 腳本。讀兩個路徑印一張表還不到抽腳本的門檻,助理主體落地時再一併評估。
- 三份 manifest 的 version 由 sync-skill-manifest.sh 同步,README 的技能目錄區塊一起更新。

Who:
助理 domain 落地的第一步,後續的閘門、心跳與排程都接在這個基礎上。
2026-09-01 11:20:52 +08:00

4.0 KiB
Raw Blame History

jsc-assist — 技能助理

jsc 技能組的 assist domain:技能與 hook 每跑一次就留下事件,助理負責把事件收攏、判斷健康狀態、寫進 wiki 的監控頁(MONITOR_{HASH})。

助理只做三件事:觸發既有技能、巡檢既有的唯讀腳本與狀態檔、把結果提醒給前景會話。它不做決策、不改程式碼、不覆寫 wiki。完整界線見 AGENTS.md 的「助理的界線」。

安裝、更新、移除

Marketplace 統一為 jsc(https://gitea.jsc.idv.tw/plugins/meta.git),安裝 token 為 jsc-assist@jsc。每個指令一行:

CLI 安裝 更新 移除
claude claude plugin marketplace add https://gitea.jsc.idv.tw/plugins/meta.git && claude plugin install jsc-assist@jsc claude plugin marketplace update jsc && claude plugin update jsc-assist@jsc claude plugin uninstall jsc-assist@jsc
codex codex plugin marketplace add https://gitea.jsc.idv.tw/plugins/meta.git && codex plugin add jsc-assist@jsc codex plugin marketplace upgrade jsc codex plugin remove jsc-assist@jsc
copilot copilot plugin marketplace add https://gitea.jsc.idv.tw/plugins/meta.git && copilot plugin install jsc-assist@jsc copilot plugin marketplace update jsc && copilot plugin update jsc-assist@jsc copilot plugin uninstall jsc-assist@jsc
antigravity git clone https://gitea.jsc.idv.tw/plugins/assist.git ~/plugins/assist && agy plugin install ~/plugins/assist git -C ~/plugins/assist pull && agy plugin uninstall jsc-assist && agy plugin install ~/plugins/assist agy plugin uninstall jsc-assist
kiro kiro-cli plugin marketplace add https://gitea.jsc.idv.tw/plugins/meta.git && kiro-cli plugin install jsc-assist@jsc kiro-cli plugin marketplace update jsc && kiro-cli plugin update jsc-assist@jsc kiro-cli plugin uninstall jsc-assist@jsc

antigravity 不支援 gitea URL 安裝,改用本地 clone 路徑。批次操作五個 CLI:使用 /jsc-cli:deploy。

Skills 目錄

呼叫方式:Claude / Antigravity /jsc-assist:{name};Codex ${name};Copilot / Kiro 描述需求自動觸發。

status

查助理現在的狀況,全程唯讀。讀心跳檔判斷助理是不是還在跑——檔案在、而且 ts 距現在不到 300 秒才算新鮮,過期就是沒在跑;接著列出待辦簿裡的每一筆,印成一張現況表。心跳檔不存在時印「助理未運行」,不當成錯誤。這支不寫檔、不寫 wiki、不碰閘門。

相依

Plugin 最低版本 用途
jsc-cli >=0.2.7 CLI 偵測與委派
jsc-gitea >=0.2.0 監控頁的所有 wiki 讀寫,一律經 tools/gitea.sh
jsc-hooks >=0.3.4 心跳、閘門與事件來源($JSC_HOME 底下的狀態檔)
jsc-log >=0.1.4 使用統計與工作日誌的資料來源

參考與工具

檔案 用途
references/behaviors.md 本 domain 的技能行為清單:一支技能一節,五列記下觸發時機、關鍵步驟、外部呼叫、完成條件、可驗證跡象,供稽核與驗證比對。格式合約見 plugins/meta 的 references/guidelines.md「技能行為清單」

助理的狀態檔

全部放在 $JSC_HOME/assistant/ 底下,一律純文字 key=value:

路徑 內容
heartbeat 心跳檔,欄位 ts、pid、cli、session。判準只看 ts,不看 pid 存活——五支 CLI 與容器裡的行程互相看不到彼此的 pid
tasks/{id} 待辦簿,一筆一檔。一筆一檔是為了讓並行寫入不互相覆寫

相關 domain

  • jsc-hooks:閘門與心跳,跟 hook 一起裝
  • jsc-gitea:wiki 讀寫的唯一入口
  • jsc-log:使用統計與工作日誌
  • jsc-cli:環境健檢與跨 CLI 委派