- book.sh add-chapter 新增 --key、--skills-dir:建立章節頁並產生 skills/<key>/SKILL.md, 同步更新插件 README 領域表與 wiki 技能的指令清單 - book-import 新增領域的流程:確認標題、說明與 key,決定技能寫入位置,並提醒重新載入與提交 - 移除文件中寫死的「八章」 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
jsc-wiki
讀取並擴充 JSC 知識庫(本 repo 的 wiki,一本書),依領域提供指令,並可把網路上的知識整理後加入 wiki。讀取指令唯讀,第一次使用會 clone 到 ~/.cache/jsc-wiki,之後每次先更新,離線時使用快取。
指令
/jsc-wiki:wiki [關鍵字]
顯示目錄;給關鍵字則跨章搜尋並讀取最相關的頁面。
/jsc-wiki:wiki traefik
依領域
| 指令 | 章 | 內容 |
|---|---|---|
/jsc-wiki:system |
1 系統維護 | 時區、磁碟延展、憑證、busybox、Kernel Panic |
/jsc-wiki:network |
2 網路與儲存 | netplan、53 埠、SMB、TGT、OpenSSH、OpenWrt、DSM |
/jsc-wiki:virt |
3 虛擬化 | Proxmox VE、直通、Hyper-V、WSL |
/jsc-wiki:container |
4 容器與編排 | Docker、K3s、k3d、Traefik |
/jsc-wiki:database |
5 資料庫與搜尋 | PostgreSQL、SQL Server、Redis、Elasticsearch |
/jsc-wiki:dev |
6 開發與持續整合 | Gitea、Runner、GitLab、ASP.NET、Django、Coder |
/jsc-wiki:ai |
7 AI 工具 | ccstatusline、CLIProxyAPI、OpenClaw、OpenCode、PicoClaw |
/jsc-wiki:apps |
8 應用服務 | Emby、MeTube、Vaultwarden、ezBookkeeping |
不給主題時只列出該章篇目;給主題則讀取對應頁面回答。
/jsc-wiki:database 怎麼安裝 PostgreSQL 並建立使用者
/jsc-wiki:book-search <主題>
到網路蒐集主題的知識,交叉驗證後依頁面格式整理成草稿(~/.cache/jsc-wiki/drafts/)。只產生草稿,不修改 wiki。
/jsc-wiki:book-search Caddy 在 Ubuntu 安裝與反向代理
/jsc-wiki:book-import <草稿路徑>
把草稿加入 wiki:判斷知識領域與章節 → 主題已存在就修改該頁,否則新增 → 套用頁面格式 → 重建目錄與上下頁導覽 → lint → 你確認後推送。
/jsc-wiki:book-import ~/.cache/jsc-wiki/drafts/caddy-ubuntu-reverse-proxy.md
推送需要 tea 的預設 login(或環境變數 JSC_WIKI_TOKEN)。寫入工具 scripts/book.sh 以 TypeScript(book.ts)實作,需要 Node 與 git;Node 不支援直接執行 TypeScript 時,會自動用 npx tsx 執行。
頁面格式
格式規則放在 wiki 的 頁面格式 頁,兩個技能都會讀取它。除了固定結構(簡介、步驟、補充),另有兩條規則:
- 簡化技術中文:參考 ASD-STE100 skill,一句一個動作、祈使句、一詞一義、不用分號。
- 繁體中文無亂碼,盡量用圖表(Mermaid 與表格)。
scripts/book.sh lint 會檢查編碼與亂碼、結構、密碼與 token、STE 規則和圖表。
設定
環境變數可選:JSC_WIKI_URL(wiki git 位址)、JSC_WIKI_CACHE(讀取用快取目錄)、JSC_WIKI_WORK(寫入用工作副本)、JSC_WIKI_TOKEN(推送用 token)。
新增領域時,book-import 會執行 book.sh add-chapter <標題> <說明> --key <名稱>:建立章節頁,同時產生 skills/<名稱>/SKILL.md(/jsc-wiki:<名稱>),並更新本 README 的領域表與 wiki 技能的指令清單。在 marketplace repo 的 clone 內執行時加上 --skills-dir,技能檔才能 commit 進 repo;寫進已安裝的插件目錄,下次更新插件時會消失。重新載入插件(/reload-plugins)後新指令才會出現。