docs: jsc-wiki README 改為統一格式,補上新增領域自動產生技能

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
root
2026-10-14 05:31:32 +00:00
co-authored by Claude Sonnet 5.5
parent f36c522a24
commit 9b3802d28a
2 changed files with 18 additions and 22 deletions
+1 -1
View File
@@ -28,7 +28,7 @@ Matt Pocock 的工程技能整套(grilling、spec/ticket、TDD、code review
### [jsc-wiki](plugins/jsc-wiki) `0.0.2` ### [jsc-wiki](plugins/jsc-wiki) `0.0.2`
讀取本 repo 的 wiki「JSC 知識庫」(一本書),依領域提供 `/jsc-wiki:system`、`:network`、`:virt`、`:container`、`:database`、`:dev`、`:ai`、`:apps` 等指令,並可用 `book-search`/`book-import` 蒐集網路知識後加入 wiki。 讀取本 repo 的 wiki「JSC 知識庫」(一本書),依領域提供 `/jsc-wiki:system`、`:network`、`:virt`、`:container`、`:database`、`:dev`、`:ai`、`:apps` 等指令;`book-search` 蒐集網路知識,`book-import` 依章節加入 wiki,新增領域時自動產生對應技能。
各插件的指令與可複製的程式碼片段請見其資料夾內的 README。 各插件的指令與可複製的程式碼片段請見其資料夾內的 README。
+17 -21
View File
@@ -1,18 +1,18 @@
# jsc-wiki # jsc-wiki
讀取並擴充 [JSC 知識庫](https://gitea.jsc.idv.tw/jiantw83/jsc-marketplace/wiki)(本 repo 的 wiki,一本書),依領域提供指令,並可把網路上的知識整理後加入 wiki。讀取指令唯讀,第一次使用會 clone 到 `~/.cache/jsc-wiki`,之後每次先更新,離線時使用快取。
## 指令 ## 指令
### `/jsc-wiki:wiki [關鍵字]` ### `/jsc-wiki:wiki [關鍵字]`
顯示目錄;給關鍵字則跨章搜尋並讀取最相關的頁面。 顯示 [JSC 知識庫](https://gitea.jsc.idv.tw/jiantw83/jsc-marketplace/wiki)(本 repo 的 wiki,一本書)的目錄;給關鍵字則跨章搜尋並讀取最相關的頁面。
```text ```text
/jsc-wiki:wiki traefik /jsc-wiki:wiki traefik
``` ```
### 依領域 ### `/jsc-wiki:<領域> [主題]`
依領域讀取對應章節。不給主題時列出該章篇目,給主題則讀取對應頁面回答。
| 指令 | 章 | 內容 | | 指令 | 章 | 內容 |
| --- | --- | --- | | --- | --- | --- |
@@ -25,8 +25,6 @@
| `/jsc-wiki:ai` | 7 AI 工具 | ccstatusline、CLIProxyAPI、OpenClaw、OpenCode、PicoClaw | | `/jsc-wiki:ai` | 7 AI 工具 | ccstatusline、CLIProxyAPI、OpenClaw、OpenCode、PicoClaw |
| `/jsc-wiki:apps` | 8 應用服務 | Emby、MeTube、Vaultwarden、ezBookkeeping | | `/jsc-wiki:apps` | 8 應用服務 | Emby、MeTube、Vaultwarden、ezBookkeeping |
不給主題時只列出該章篇目;給主題則讀取對應頁面回答。
```text ```text
/jsc-wiki:database 怎麼安裝 PostgreSQL 並建立使用者 /jsc-wiki:database 怎麼安裝 PostgreSQL 並建立使用者
``` ```
@@ -41,25 +39,23 @@
### `/jsc-wiki:book-import <草稿路徑>` ### `/jsc-wiki:book-import <草稿路徑>`
把草稿加入 wiki:判斷知識領域與章節 → 主題已存在就修改該頁,否則新增 → 套用頁面格式 → 重建目錄與上下頁導覽 → lint → 你確認後推送。 把草稿加入 wiki:判斷領域與章節 → 主題已存在就修改該頁,否則新增 → 套用頁面格式 → 重建目錄與上下頁導覽 → lint → 確認後推送。沒有合適的章節時可新增領域,並自動產生對應的 `/jsc-wiki:<領域>` 技能。
```text ```text
/jsc-wiki:book-import ~/.cache/jsc-wiki/drafts/caddy-ubuntu-reverse-proxy.md /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` 執行。 ## 說明
## 頁面格式 - 讀取:第一次使用會 clone wiki 到 `~/.cache/jsc-wiki`,之後每次先更新,離線時用快取。
- 頁面格式:規則在 wiki 的 [頁面格式](https://gitea.jsc.idv.tw/jiantw83/jsc-marketplace/wiki/%E9%A0%81%E9%9D%A2%E6%A0%BC%E5%BC%8F) 頁,包含固定結構、簡化技術中文(參考 [ASD-STE100 skill](https://github.com/danyuchn/asd-ste100-skill)),以及繁體中文無亂碼、盡量用圖表。
- 寫入:`scripts/book.sh`(TypeScript,需要 Node 與 git;Node 不支援直接執行 TypeScript 時自動用 `npx tsx`)。推送需要 `tea` 的預設 login,或環境變數 `JSC_WIKI_TOKEN`。
- 新增領域:在 marketplace repo 的 clone 內執行 `book-import`,技能檔才會寫進 repo(可 commit);寫進已安裝的插件目錄,下次更新插件時會消失。新指令需 `/reload-plugins` 後才會出現。
- 其他環境變數:`JSC_WIKI_URL`(wiki git 位址)、`JSC_WIKI_CACHE`(讀取快取)、`JSC_WIKI_WORK`(寫入工作副本)。
格式規則放在 wiki 的 [頁面格式](https://gitea.jsc.idv.tw/jiantw83/jsc-marketplace/wiki/%E9%A0%81%E9%9D%A2%E6%A0%BC%E5%BC%8F) 頁,兩個技能都會讀取它。除了固定結構(簡介、步驟、補充),另有兩條規則: ```bash
scripts/book.sh chapters # 列出章節與篇目
1. 簡化技術中文:參考 [ASD-STE100 skill](https://github.com/danyuchn/asd-ste100-skill),一句一個動作、祈使句、一詞一義、不用分號。 scripts/book.sh find redis # 找已存在的主題
2. 繁體中文無亂碼,盡量用圖表(Mermaid 與表格)。 scripts/book.sh lint <頁面檔> # 檢查格式
scripts/book.sh add-chapter "資訊安全" "防火牆與 SSH 加固。" --key security
`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`)後新指令才會出現。