什麼是 CCMS?
CCMS 讓你為每個專案配備專屬的 AI Worker — 有自己的角色定義、程式碼庫、跨任務記憶,隨時接受指派。
AI 專案負責人
每個 Worker 負責特定專案或任務範圍,而不是萬能但沒記憶的聊天 AI。
自動接管程式碼
Worker 啟動時自動 clone 並更新你的 repo,直接在最新程式碼上工作。
跨任務記憶
知識庫自動記錄每次任務,下次遇到類似問題帶著歷史經驗上陣。
Cluster 協作
多個 Worker 在同一 Cluster 裡分工,共享知識庫,遇到超出範圍就轉介。
Worker 的幾種用法
| 你的需求 | 做法 |
|---|---|
| 讓 AI 負責特定遊戲或功能的開發 | 建立 Worker,設定 git.repo 指向該專案 |
| 讓 AI 記得以前做過什麼 | 加入 kb-recorder + kb-lookup hook |
| 多個 Worker 圍繞同一系統協作 | 建立 Cluster,讓 Workers 加入同一 cluster |
| 根據訊息內容自動找對的 Worker | 設定 routing.pattern 路由規則 |
Loadout:Worker 的能力組件
每個 Worker 可以透過 loadout 選配三種能力組件,就像裝備一樣——不需要的不裝,需要的隨時加入。
Skill
Claude 主動呼叫的操作指南。告訴 AI 什麼時候要做什麼,按步驟執行。
Hook
系統事件自動觸發的背景腳本,不需要 AI 介入,零 context 消耗。
MCP
讓 Claude 能呼叫額外的 API 工具集,掛載後出現在工具清單中。
現有共用組件一覽
| ID | 功能 | 何時用 |
|---|---|---|
common/cluster-kb-lookup |
任務前查 cluster wiki + raw,找相關前例 | 有 cluster 欄位的 worker |
common/cluster-kb-record |
任務後把需求/過程/成果寫進 cluster raw | 同上 |
common/cluster-kb-roster |
查同 cluster 其他 worker,建議轉介 | 需要轉介能力時 |
common/sync-html-to-ccms |
HTML 產出後自動 copy 到 web server,回傳瀏覽 URL | 會產出 HTML 報告的 worker |
common/worker-create |
互動式建立新 CCMS worker(含 Step 5 skill module 接入) | Worker 維護者 |
common/worker-profile-review |
審查 worker-profile.yaml 欄位完整性並問答補完 | Worker 維護者 |
common/worker-maturity-radar |
六維成熟度評分(武力/忠誠/智力/行政/聲望/統帥)送武將系統 | Worker 維護者 |
common/skill-review |
Skill 部署前 8-Phase 品質審查 | 修改或新建 skill 時 |
| ID | 觸發事件 | 功能 |
|---|---|---|
common/cluster-kb |
UserPromptSubmit / Stop |
任務前自動 lookup,任務後自動 record(合併版,取代舊 kb-lookup + kb-recorder) |
common/worker-memory |
SessionStart / PreCompact / PostCompact / Stop |
跨 session 的 MEMORY.md 蒸餾與注入,需在 profile 加 memory.enabled: true |
common/telegram-notify |
Notification / Stop |
等待授權時推 Telegram;每次回覆結束後轉發訊息到 Telegram |
| ID | 工具 | 何時用 |
|---|---|---|
common/session-manager |
session_create / session_list / session_send_input / session_status / session_close |
需要 dispatch 任務給其他 worker 或查詢 session 狀態的 orchestrator worker |
怎麼挑?
| Worker 用途 | 建議組合 |
|---|---|
| 🔨 開發型(程式碼、功能) | cluster-kb hook worker-memory hook cluster-kb-lookup/record/roster skills |
| 🔧 IT / Ops(部署、系統) | cluster-kb hook worker-memory hook telegram-notify hook cluster-kb-lookup/record skills |
| 🎮 Orchestrator(調度多 worker) | session-manager MCP cluster-kb-roster skill worker-memory hook |
| 🛠 Worker 維護者 | worker-create skill worker-profile-review skill worker-maturity-radar skill skill-review skill |
common/cluster-kb(合併版)與舊的獨立 kb-lookup、kb-recorder hook 衝突,三擇一。新 worker 請直接用 common/cluster-kb。
YAML 宣告方式
loadout:
skills:
- common/cluster-kb-lookup
- common/cluster-kb-record
- common/cluster-kb-roster
- common/sync-html-to-ccms # 選配
hooks:
- common/cluster-kb # 自動 lookup + record(UserPromptSubmit + Stop)
- common/worker-memory # 跨 session 記憶(需搭配 memory.enabled: true)
mcp:
- common/session-manager # 僅 orchestrator worker 需要
agents: []
開始使用
透過網頁 Chat Mode 與 AI Worker 對話,只需登入就能開始。
登入方式
- LINE OTP(推薦)— 輸入手機號碼,LINE 會收到一次性驗證碼
- 帳號密碼 — 管理員設定的帳號
進入 Chat Mode
-
打開 CCMS 網頁
前往 https://claude2-agent.jgames888.com,用 LINE OTP 或帳號密碼登入。
-
選擇 Worker
在 Lobby 看到所有 Worker Session,點「進入」進入對話,或讓系統自動路由。
-
描述你的需求
直接輸入你想做的事,AI 會回覆並開始處理。不需要特殊格式。
-
等待完成
AI 處理中會即時顯示進度,完成後告知結果。
實用指令
| 指令 | 說明 |
|---|---|
/switch worker名稱 | 手動切換到指定 Worker |
/clear | 清除目前對話 context,重新開始 |
/help | 顯示可用指令 |
Worker 是什麼?
Worker 是你的 AI 專案負責人:知道自己負責什麼、會自動拿最新程式碼、記得上次做了什麼、遇到超出範圍的事會轉介給對的人。
一般 AI 助理 vs Worker
| 一般 AI 助理 | CCMS Worker | |
|---|---|---|
| 認識你的專案? | ❌ 每次重新介紹 | ✅ 自動 clone repo,直接在程式碼裡工作 |
| 記得做過的事? | ❌ 對話結束即忘 | ✅ 知識庫自動記錄,下次帶著前例來 |
| 知道自己的邊界? | ❌ 什麼都試著做 | ✅ scope 定義清楚,超出範圍主動轉介 |
| 可以多人協作? | ❌ 只有一個 | ✅ Cluster 裡多個 Worker 分工共享知識 |
Worker 的四個核心元素
角色定義(cluster_scope)
明確寫出「負責什麼、不負責什麼」,AI 用這個決定何時自己做、何時轉介。
專案 Repo(git)
設定 git.repo,Worker 每次啟動自動 pull 最新程式碼,直接在 repo 裡工作。
任務記憶(Cluster KB)
加入 kb-lookup + kb-recorder hook,任務自動記錄、下次自動查詢。
能力包(Loadout)
依照 Worker 的工作性質,配備對應的 Skills(技能)、Hooks(自動行為)。
實際案例:遊戲開發 Worker
以 sps-worker-102006 為例,這是負責 slot 遊戲 102006 開發的 Worker:
name: sps-worker-102006
cluster: spsconsole # 加入 spsconsole cluster,與其他遊戲 Worker 共享知識
cluster_scope: |
【負責】slot 遊戲 102006 的 RD 開發:程式實作、RTP 驗算、場景測試
【不負責】其他遊戲編號的任務
git:
repo: https://user:[email protected]/slot-probability-console.git
branch: feature/worker-102006
auto_pull: true # 每次啟動自動 git pull
routing:
pattern: '102006' # 訊息含「102006」自動路由到這個 Worker
loadout:
hooks:
- common/kb-lookup # 啟動時自動查 wiki 前例
- common/kb-recorder # 停止時自動記錄任務摘要
skills:
- sps/jlh5/slot-full-pipeline # 遊戲開發全流程 skill
- common/cluster-kb-lookup
同一 Cluster 的 Workers 如何協作
建立你的 Worker
為你的專案建立一個專屬 Worker,只需要一個 worker-profile.yaml 設定檔。以下是完整的設定流程。
設定步驟
-
決定 Worker 的角色(最重要)
想清楚這個 Worker 負責什麼(例如:某個遊戲的 RD 開發)、不負責什麼(例如:其他遊戲的任務)。這是
cluster_scope的內容,直接決定 AI 的行為邊界。 -
設定 git repo(讓 Worker 接管你的專案)
填入程式碼庫的 URL(帶認證 token)、要跟蹤的 branch,並設定
auto_pull: true。Worker 啟動時會自動 clone/pull 最新版本。建議為每個 Worker 建立一個專屬 branch(例如feature/worker-102006)。 -
加入 Cluster
多個 Worker 圍繞同一個系統時,讓它們加入相同的
cluster(例如所有 SPS 開發 Worker 都加入spsconsole)。同 Cluster 的 Workers 共享知識庫。 -
加入知識庫 Hook
在
loadout.hooks加入kb-lookup(啟動時查知識庫)和kb-recorder(停止時記錄),讓 Worker 自動累積任務經驗。 -
設定路由規則
在
routing.pattern設定關鍵字,讓含有特定字詞的訊息自動路由到這個 Worker。例如遊戲編號102006,或系統名稱myproject。 -
請 ccms-IT-worker 協助部署
把設定完的
worker-profile.yaml交給 ccms-IT-worker,它會協助部署到 CCMS 系統。
完整的 worker-profile.yaml 範例
name: my-worker # Worker 唯一名稱(英文、連字號)
cluster: my-cluster # 所屬 Cluster(同 cluster 共享知識庫)
type: work
cluster_scope: |
【負責】[你的專案名] 的功能開發、Bug fix、程式碼修改。
【不負責】[不在你負責範圍的事項]。
description: 一句話說明這個 Worker 的角色
scope: user # user = 每個人有自己的 session
# shared = 所有人共用一個 session
routing:
pattern: 'keyword1|keyword2' # 包含這些關鍵字的訊息自動路由過來
confidence: 0.85
git:
repo: https://user:[email protected]/your/repo.git
branch: feature/my-worker # 建議建 Worker 專屬 branch
path: repo # clone 到 Worker 目錄下的 repo/ 子目錄
auto_pull: true # 每次啟動自動 git pull
loadout:
hooks:
- common/kb-lookup # 啟動時查知識庫
- common/kb-recorder # 停止時記錄知識庫
skills:
- common/cluster-kb-lookup
- common/cluster-kb-record
- common/cluster-kb-roster
name、cluster、cluster_scope + 兩個 KB hook,就是一個能運作的基本 Worker。之後再逐步加入 git 設定和 skills。
接管專案與 Cluster
Worker 最強大的地方:每次啟動自動拉最新程式碼,然後帶著 Cluster 知識庫的歷史記錄開始工作。
Worker 如何接管你的程式碼
在 worker-profile.yaml 設定 git 區塊後,Worker 第一次啟動時自動 clone repo,之後每次啟動時自動 git pull 更新,不需要手動管理:
git:
repo: https://user:[email protected]/your-team/your-project.git
branch: feature/my-worker # 建議建 Worker 專屬 branch
path: repo # clone 到 Worker 工作目錄下的 repo/ 子目錄
auto_pull: true
feature/worker-102006,讓 Worker 的工作不干擾主 branch,需要合併時再開 PR。這樣多個 Worker 可以同時在不同 branch 上各自工作,互不影響。
Cluster 的設計邏輯
Cluster 是一組圍繞同一個系統或業務的 Workers。同一 Cluster 的 Workers:
- 共享同一個知識庫(
raw/ + wiki/) - 透過
cluster-kb-rosterskill 互相查詢、決定轉介 - 通常有一個 Librarian Worker 負責定期整理知識
不同類型的 Worker 建議設定
| Worker 角色 | 建議設定 |
|---|---|
| 主要開發 Worker 處理程式碼、邏輯 |
設定 git.repo + kb-lookup + kb-recorder定義明確的 cluster_scope |
| Librarian Worker 整理知識庫 |
不需要 git.repo設定為每日定時整理 raw/ → wiki/ |
| 診斷 Worker 只分析,不動手 |
可設定 git.repo(唯讀)cluster_scope 明確寫「不執行修改」 |
Worker 啟動的完整流程
知識庫怎麼用
知識庫讓 AI Worker 不需要每次都從零開始。任務完成後自動記錄,下次遇到類似問題時自動調用歷史經驗。
整體運作流程
啟用知識庫:加這兩個 Hook
| Hook | 何時觸發 | 做什麼 |
|---|---|---|
kb-lookup |
Worker 每次啟動時 | 自動查詢 wiki,把相關前例注入給 AI,讓它帶著歷史知識開始工作 |
kb-recorder |
Worker 每次停止時 | 把這次任務的摘要(需求、做了什麼、結果)自動寫入 raw/ |
loadout:
hooks:
- common/kb-lookup # 啟動時查知識庫
- common/kb-recorder # 結束時記錄知識庫
skills:
- common/cluster-kb-lookup
- common/cluster-kb-record
- common/cluster-kb-roster
AI 也可以主動操作知識庫
除了 Hook 自動觸發,AI 遇到需要時會主動呼叫以下 Skill:
| Skill | AI 什麼時候用它 | 效果 |
|---|---|---|
cluster-kb-lookup |
接到新任務,覺得可能有前例 | 主動查 wiki,找相關歷史記錄 |
cluster-kb-record |
任務完成,屬於自己 scope | 把需求/過程/成果寫進 raw/ |
cluster-kb-roster |
遇到超出自己範圍的任務 | 查 Cluster 名冊,決定轉介給誰 |
raw 和 wiki 的差別
raw/(原始紀錄)
kb-recorder 自動寫入的任務日誌。每次任務一份,完整記錄過程,不加工。
wiki/(整理後)
librarian 把多個 raw 整理成的結構化知識。kb-lookup 查詢的就是這裡。
Skills 與 Hooks
透過 Skills 和 Hooks,可以讓 Worker 擁有特定能力或自動行為,不需要每次都手動操作。
Skills — 給 Worker 領域知識
Skill 是一組指令集,告訴 AI 在特定情境下該怎麼做。和一般 prompt 的差別是:Skill 是結構化的,可以組合、版本控制、在多個 Worker 間共享。
| Skill | 讓 Worker 多了什麼能力 |
|---|---|
cluster-kb-lookup | 主動查知識庫,找相關前例 |
cluster-kb-record | 把任務記錄到知識庫 |
cluster-kb-roster | 查 Cluster 名冊,找到合適的 Worker 轉介 |
sync-html-to-ccms | 寫完 HTML 後自動部署到 CCMS 網頁伺服器 |
| 專案專屬 skill | 例如 slot 遊戲的 spec-translator、verification-engine 等 |
Hooks — 讓特定事情自動發生
Hook 在特定時機自動觸發,不需要 AI 主動決定。
| Hook | 觸發時機 | 效果 |
|---|---|---|
kb-lookup | Worker 啟動 | 自動查知識庫,注入相關前例 |
kb-recorder | Worker 停止 | 自動把任務記錄到知識庫 |
chat-notify | AI 有輸出 | 即時推送到網頁 Chat 介面(預設全域開啟) |
telegram-notify | AI 有輸出 | 同步推送到 Telegram(選用) |
在 worker-profile.yaml 設定
loadout:
skills:
- common/cluster-kb-lookup # 讓這個 Worker 能查知識庫
- common/cluster-kb-record # 讓這個 Worker 能記錄知識
- common/cluster-kb-roster # 讓這個 Worker 能查名冊轉介
- my-domain/my-special-skill # 專案專屬技能
hooks:
- common/kb-lookup # 啟動時自動查知識庫
- common/kb-recorder # 結束時自動記錄
chat-notify(推送到網頁)。只有需要特殊能力的 Worker,才需要在
loadout 裡個別加入。
CCMS 內建 Workers
CCMS 本身也用 Worker 設計來管理和維護系統。以下是目前部署的 CCMS 維護 Workers,它們的設計同樣遵循「角色定義 + 知識庫 + Loadout」的模式。
| Worker | 負責範圍 | 何時找他 |
|---|---|---|
| ⚡ ccms-worker | CCMS 系統程式碼修改、新功能、Bug fix | 修改後端 API、前端 UI、資料庫結構 |
| 🖥️ ccms-IT-worker | 基礎設施、機器部署、nginx、SSL 憑證 | 新增機器、設定服務、部署新 Worker |
| 🔍 ccms-diagnostician | 診斷問題根因、方案分析(只診斷不動手) | 不知道為什麼出錯、需要第二意見、動手前先做全面分析 |
| 📚 ccms-librarian | 整理 ccms cluster 知識庫(raw → wiki) | 知識庫需要立即更新(通常自動定期執行) |
| 💬 feedback-worker | 收集使用者回饋、Bug 回報、功能許願 | 回報問題、許願新功能、對 AI 回答有意見 |
| 📡 worker-monitor | 監控所有 Worker 的執行狀態 | 查某個 Worker 是否卡住、目前進度如何 |
不知道找哪個 Worker?
如果路由錯了,用
/switch worker名稱 手動切換,或直接問:「這個問題應該找誰?」
Worker 轉介流程
當 Worker 判斷任務超出自身範圍,會這樣做:
常見任務指南
幾個常見情境的處理方式,讓你快速上手。
我想讓 AI 負責我的專案開發
- 建立
worker-profile.yaml,設定git.repo指向你的程式碼庫 - 加入
kb-lookup+kb-recorderhook(讓 Worker 有記憶) - 定義
cluster_scope(這個 Worker 負責什麼) - 請 ccms-IT-worker 協助部署
我想修改 CCMS 系統功能
- 進入 ccms-worker(系統自動路由,或用
/switch ccms-worker) - 描述你想改什麼,AI 會先說明影響範圍,等你確認後才動手
- 修改完成後 AI 告知結果,並問要不要 commit/push
系統出問題了,我不知道根因
- 先找 ccms-diagnostician,描述你看到的現象
- AI 分析根因,提出 2-3 個解法方案
- 確認方案後,AI 建議轉介給 ccms-worker 或 ccms-IT-worker 執行
我想讓 AI 記住某些知識,以後自動用
確保 Worker 有加入 kb-recorder hook,每次任務結束自動記錄。
或直接告訴 AI:「請把這件事記到知識庫」,AI 會呼叫 cluster-kb-record。
Worker 好像卡住了
- 問 worker-monitor:「XXX-worker 現在在做什麼,有沒有卡住?」
- 傳送空白訊息或
/clear嘗試重置對話 context - 若仍無反應,聯繫管理員
被路由到錯的 Worker
輸入 /switch 正確的worker名稱,或直接說:「這個問題應該找 XXX-worker 處理」。
我想回報 Bug 或功能需求
找 feedback-worker,描述問題或功能需求。如果是 Bug,附上重現步驟會很有幫助。