Skip to content

Repository files navigation

Plasma workflows

opencode、Claude Code 與 Codex 使用的共用工作流程 plugin。 以 Plasma 知識庫查核來源與 SQL,在 mview 完成運算,再以 pview 提供參數篩選。 只有使用者明確指定 mview 為最終目標時,才停在 mview。 三種宿主共用同一份 skills,分別提供對應的 manifest/設定檔與 ZIP。

預設流程:查核來源 → 驗證 SQL → manual mview → 使用者確認同步/排程 → 同步與排程核對 → pview 篩選 → 驗證並交付。 指定 mview 時,在同步與排程核對後交付 mview。資料 API 由使用者自行建立。

Plugin 是工作流程;遠端 MCP gateway 是工具服務;MCP client 由宿主提供。 Codex 與 Claude plugin 直接內含 .mcp.json,安裝後由宿主載入連線,再完成 OAuth。 公開 MCP endpoint 為 https://plasma-mcp.bbg-x.top/mcp,不需另外填 URL 或安裝 client。

opencode / Claude Code / Codex
├─ Plasma plugin:共用 skills
└─ 宿主的 MCP client ──── OAuth ────> plasma-backend /mcp
                                      ├─ Plasma REST API
                                      └─ Plasma 知識庫工具

連線一律走 OAuth:使用 plugin 提供的 MCP 連線,由宿主開啟瀏覽器完成授權。 使用者以自己的 Plasma 帳號登入、選 workspace,選定即完成授權——沒有額外的權限 確認頁,每次授權都取得該部署支援的完整權限。token 由宿主保管並自動更新, 不需要手動核發或複製任何憑證。

宿主 設定 授權
opencode opencode.jsonmcp 區塊 opencode mcp auth plasma
Claude Code plugin 內含 .mcp.json 對話中 /mcp → plugin 的 plasma 連線 → Authenticate
Codex plugin 內含 .mcp.json 「幫我登入 Plasma」,或在 plugin 的 MCP 連線選 Authenticate

Endpoint 已公開,不再有僅內網可達的限制。ChatGPT 網頁版是否接受此 plugin 的 MCP 宣告、OAuth 及匯入方式,仍依宿主支援與 workspace 政策而定,需另行驗收。

部署前提

OAuth 的最後一步是從 gateway 導回 127.0.0.1 的本機接收埠。gateway 必須提供 用戶端信任的 HTTPS 憑證,否則:

  • Chrome 142 之後會擋下這個跨網段導轉,且不顯示任何提示(要求該權限的資格僅限 HTTPS 頁面),使用者選完 workspace 後只會看到頁面不動
  • 部分宿主的 MCP SDK 會直接拒絕非 TLS 位址上的 OAuth token endpoint

自簽而未將 CA 佈到用戶端不算受信任。詳見 後端修改清單

2026-09-22 測試:公開 /mcp 接受 Streamable HTTP 請求並回傳未授權 401,但 WWW-Authenticate 的 resource metadata URL 及 OAuth discovery 的 issuer/endpoints 仍指向 https://mcp.192.168.1.120.nip.io。後端需更新公開 base URL 與 discovery, 才能驗收外網使用者的 OAuth;plugin 不自行替換伺服器回傳的授權網址。

功能與平台相容性

Skill 用途
plasma-mcp-setup 連結服務、核對 workspace/scopes、診斷
plasma-knowledge-lookup 查核來源、欄位、代碼、業務規則
plasma-create-pview 統一建立 mview 運算層與 pview 篩選層;明確指定 mview 時停在 mview

三個版本均無本機 hooks、Bash launcher、Go binary、下載快取或狀態檔依賴。 scripts/ 僅供維護者封裝與測試,不會放進安裝包;使用者不需要 Python 或 Go。 歷史 releases/ 記錄舊版本,不代表目前仍提供那些功能。

全程台灣繁體中文。查核、驗證與建立依交付範圍連續完成,宿主權限仍適用。 新建 mview 先使用 sync_mode=manual,同步前呈現來源、資料範圍與排程, 等待使用者明確確認後才執行 sync_viewset_view_schedule。 確認是 skill 軟限制,不是後端強制核准;OAuth 授權不代表已確認同步。 使用者指定只建立定義時不啟動同步;拒絕同步時保留定義並回報未完成項目。

mview 負責 JOIN、清理、計算與聚合;pview 只選欄位與設定參數化 WHERE。 mview 須保留篩選欄位與足夠歷史範圍;無法以預先計算結果正確回答的區間指標, 先釐清需求,不以近似值交付。先 mview 再 pview 是 plugin 預設,不是後端來源限制。

本流程不建立 access entry、export API、匯出 blueprint 或外部資料庫輸出; API 由使用者在 Plasma 自行建立。後端 mview 初始化使用的內部同步 blueprint 維持系統既有行為。 新 skill 內附 API/工具格式, 包含 pview 參數、執行回應、同步與排程格式,三個宿主安裝包都會收錄。

新版 gateway 啟動後直接提供 pview、mview 同步與排程工具,不需要設定 tool_profile。 使用 views:read、knowledge:read、query:run、views:write,不提供 API 發布/匯出工具。 詳見 後端整合與驗收

opencode

skills 沒有 marketplace,直接放進 opencode 掃描的目錄;連線走 OAuth:

mkdir -p ~/.config/opencode/skills
cp -R skills/* ~/.config/opencode/skills/

~/.config/opencode/opencode.json 合併套件內的連線設定(URL 已預設):

{
  "mcp": {
    "plasma": {
      "type": "remote",
      "url": "https://plasma-mcp.bbg-x.top/mcp",
      "enabled": true
    }
  }
}
opencode mcp auth plasma      # 開瀏覽器登入、選 workspace,選定即完成
opencode mcp list             # 查看授權狀態

token 由 opencode 保管在 ~/.local/share/opencode/mcp-auth.json 並自動更新, 使用者不需要保存任何字串。完整步驟見安裝包內的 INSTALL.md

Claude Code

安裝 workflows(保留既有 plugin 名稱與 marketplace,方便原使用者更新):

/plugin marketplace add BrobridgeOrg/plasma-agent-plugin
/plugin install plasma-plugin@plasma-plugin-local

安裝後宿主載入 .mcp.json,不需另行 claude mcp add。 在對話中輸入 /mcp,選 plugin 的 plasma 連線 → Authenticate,瀏覽器完成授權。 token 存進系統憑證庫並自動更新。

Claude 安裝包為 plasma-plugin_0.7.1_claude.zip;三個版本的 skills 完全相同,無 hooks。 其他 Claude 介面的 plugin 安裝能力以該產品為準,這裡的安裝指令專供 Claude Code。

Codex

使用 plasma-plugin_0.7.1_chatgpt.zip,依宿主的原生 plugin 流程安裝。 Manifest 已宣告 mcpServers: "./.mcp.json";無額外安裝工具,不需 Python。 安裝後開新對話說「幫我登入 Plasma」,skill 會使用宿主可呼叫的授權入口。 若宿主未提供可呼叫入口,請在 MCP server 清單選該 plugin 的連線並按 Authenticate。 CLI 先確認 codex mcp list --json 列出 plugin 連線,再以其實際名稱登入,不猜命名空間。 宿主開啟系統預設瀏覽器後,agent 立即結束當前回合,不等待授權、 不呼叫 whoami,也不使用 Browser、computer use 或桌面內建瀏覽器。使用者完成授權並在 新訊息確認後,agent 才於新回合呼叫 whoami

升級自舊版

原有手動設定的 plasma MCP 可能與 plugin 連線重複,請檢查並選用 plugin 提供的連線。

更新 plugin 後重新開啟對話/session,讓宿主移除舊 hook 註冊及舊版 skills。 plasma-create-view 已由 plasma-create-pview 取代,仍維持三份 skills; 手動複製安裝的使用者需移除舊 plasma-create-viewophion-knowledge-lookup 目錄,避免舊流程同時載入。 plasma-data-apiplasma-export 維持移除,資料 API 由使用者自行建立。 不要沿用舊對話載入的匯出/發布指示;新包中只有三份 skills。 若曾手動將舊 hook 複製到宿主設定,請在該宿主刪除該自訂設定;新版不會執行舊 binary。 本次不自動修改使用者家目錄、既有 MCP 連線或其他宿主設定。 workspace 綁在授權上;換 workspace 要重新授權一次,plugin 不保存選擇。

從 GitHub Actions 取得安裝包

在 GitHub 開啟 Actions → Package plugins → Run workflow,選擇要封裝的分支, tag 留空即可。完成後在該次執行頁面的 Artifacts 下載 plasma-plugin-<版本>,解壓縮後可取得 Claude ZIP、Codex ZIP、opencode ZIP 與 SHA-256 checksums.txt。Codex 包的檔名沿用 _chatgpt.zip,內容是 .codex-plugin/plugin.json.mcp.json 與同一份 skills。Artifact 保留 30 天。

手動執行且 tag 留空只產生安裝包,不建立 GitHub Release。 推送 v* tag,或手動指定既有 tag,會封裝該 tag 的程式,並同時將安裝包附加到 新建的 GitHub Release;tag 必須與 VERSION 及兩份 manifest 一致。 工作流程檔須先推送到 GitHub 預設分支,才會顯示手動執行入口。

維護者本機驗證

make check
make release

本分支測試包可使用獨立目錄,避免混入先前同版本的本機產物:

python3 scripts/package_plugin.py --output dist/v0.7.1-test

僅需 Python 3.10+;封裝使用標準函式庫。產物在 dist/v0.7.1/,包括三個 ZIP 與 SHA-256 checksums.txt。Codex/Claude 安裝包收錄對應 manifest、.mcp.json 與共用 Markdown skills, 避免將開發工具、本機功能或後端修改清單帶入執行環境。

更新 VERSION、兩份 manifest 與對應的 releases/vX.Y.Z.md,再依團隊流程提交 及推送 tag。正式安裝包由 GitHub Actions 驗證、封裝並上傳,不再跨平台編譯 binary。 本機產生 ZIP 不會自動推送 tag 或發 GitHub Release。

Release notes 採一般專案的變更紀錄格式:以使用者可觀察的新增、修正與相容性影響為主, 每項簡短條列。不要寫開發過程、對作者的解釋、對話語氣或未採用方案;只有實際需要操作時 才加入升級或部署提醒。

About

A plugin for claude code, codex, opencode

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages