Repository navigation
Releases: JS-PACKAGE/WebChatMCP.js
Releases · JS-PACKAGE/WebChatMCP.js
Release list
v1.8.1
修正
- Hermes 提供商改用 config.yaml 的免金鑰具名 endpoint providers.webchat,修正安裝後仍要求 API_KEY、驗證失敗與模型清單無法讀取的問題。
- 安裝時確認橋接與模型清單;空清單會自動擷取,全部服務讀取失敗時不修改 Hermes 設定。
- 重新安裝會移除本外掛舊 profile 與有標記的假金鑰區塊,保留其他金鑰、提供商及目前選用的模型。反安裝只移除本腳本建立的 endpoint。
- 同步 Linux/macOS、PowerShell 安裝與反安裝腳本,以及三語 README 和官網說明。
升級
先啟動 WebChatMCP,再於更新後的倉庫重新執行安裝:
plugins/hermes/install.shWindows:
powershell -ExecutionPolicy Bypass -File plugins\hermes\install.ps1重啟 Hermes,在 /model 或 hermes model 選 WebChat (WebChatMCP),不需要輸入 API_KEY。需要支援具名 providers: endpoint 的 Hermes 與其 Python/ruamel.yaml;自動尋找不到 Python 時,可指定 --python PATH 或 -Python PATH。
驗證
- npm run build、npm run gen:design 與 npm test 通過:168 項測試,無失敗或略過。
- 隔離沙盒實跑 sh/PowerShell 安裝與反安裝。
- 實際 Hermes 模型選單、模型清單讀取與 SDK 呼叫通過(隔離瀏覽器測試頁)。
- 實際 stdio MCP handshake 回報版本 1.8.1。
v1.8.0
新功能
- 新增選用的本機 CDP 除錯入口:設定
WEBCHATMCP_CDP=1後,Chromium 在127.0.0.1分配隨機 port,WebSocket 端點寫入 stderr,並由webchat_status的cdp.enabled/cdp.endpoint回報。 - CDP 端點隨瀏覽器關閉清空、重啟更新;除錯用戶端斷線不會關閉主瀏覽器。預設關閉、無認證,請勿轉送 port 或提供給不信任的工具。
效能與穩定性
- 提示送出後並行預載下一題的無痕聊天頁,重用相容的載入中頁面,保留模型與思考深度設定的正確語意。
- 回覆取樣傳輸增量與變更標記,模型選單批次讀取,快取 UA 探測結果,減少瀏覽器協定傳輸與等待。
- MCP SSE 收到完整結果即交付,不再等待 EOF;HTTP 回應關閉連線,避開 Node fetch 重用閒置連線的延遲。
- 維持六個宿主外掛的上下文與工具往返語意,同步三語 README、官網及驗收說明。
驗證
npm run build、npm run gen:design成功。npm test:164 項測試全數通過。- 實跑可視/無頭 CDP 接入、端點生命週期與 stdio MCP 流程;v1.8.0 runtime handshake 驗證通過。
v1.6.1
變更
- 修正:omp/pi 的
/webchat-logout省略服務時原本只登出 ChatGPT;現在省略=ChatGPT、Claude、Grok、Gemini 全部登出,也能一次指定多個服務(例如/webchat-logout claude gemini)。 - Codex 外掛支援思考深度:
- 重新擷取模型清單時,ChatGPT、Claude、Gemini 會逐一切到每個模型,讀出該模型各自的思考深度,最後切回原本的模型(比以前慢,只發生在重新擷取時;
--refresh-models的逾時拉長為 30 分鐘)。 - 網頁上有兩段以上深度(ChatGPT 滑桿、Claude 努力程度)的模型,會在 Codex 宣告成 reasoning 選項,值是網頁標籤原樣;Codex 送來的
reasoning.effort若是該模型的標籤,送出前會先在網頁設好。 - 只有開關型(Gemini)或沒有思考設定(Grok)的模型維持單一
medium,effort 會被忽略。
- 重新擷取模型清單時,ChatGPT、Claude、Gemini 會逐一切到每個模型,讀出該模型各自的思考深度,最後切回原本的模型(比以前慢,只發生在重新擷取時;
- 修正:模型名稱比對改為完全相同優先,其次才是包含(選
GPT-5不會誤選排在前面的GPT-5.5)。
驗證
npm test109 項全過。以真實 Codex 0.160.1 驗證:設定自訂 effort 後橋接收到原樣字串;Codex 能解析並保留自訂的 reasoning 選項。- 尚未確認:Codex 選單畫面實際顯示、逐模型擷取在真實登入帳號上的行為(只用假頁面測過)。其他宿主外掛(Claude Code、Grok Build、Hermes、omp、pi)還不會傳思考深度。
v1.6.0
變更
webchat_ask新增thinking?參數:依webchat_models回傳的thinking[].label設定思考深度,在選完model之後才套用(可選的深度會隨模型而異)。- ChatGPT:走訪思考強度滑桿取得各段名稱,以方向鍵移到目標段並以讀數確認;比對不中時滑桿還原。
- Claude:點選「努力程度」子選單中對應的選項。
- Gemini:把「延伸思考」這類開關打開;已開啟就不再點,因此不能用來關閉。
- Grok 沒有獨立的思考設定(併在模式裡),請用
model選擇。
- 新增錯誤碼
thinking_not_found:標籤不在thinking清單內,或該服務沒有思考設定。 - 標籤比對先取完全相同者,再取包含關係者(
High不會先被Extra high吃掉)。 - README(三語)、官網、AGENTS、PLAN 同步更新。
驗證
npm test105 項全過(新增 ChatGPT 滑桿、model 與 thinking 的先後順序、Claude 子選單、Gemini 開關四項假頁面測試)。- 尚未在真實登入帳號上實測滑桿/子選單/開關;既有的 omp、pi、Codex、Claude、Grok、Hermes 橋接尚未接上
thinking。
v1.5.0
變更
- 所有模型外掛(omp、pi、Codex、Claude Code、Grok Build、Hermes)支援本機工具往返:網頁模型只用嚴格的 JSON 信封(綁定每次請求的 nonce,比對宿主工具名稱與必要參數)提出要求,外掛轉成宿主原生工具呼叫,由宿主依自己的權限與確認設定在本機執行,結果再送回網頁模型,直到它給出答案。模型自由輸出的文字永遠不會被執行。
- 新增共用協定
plugins/lib/tool-protocol.js;每次網頁聊天都是全新的無痕聊天,所以每一輪都重新帶入系統提示(截斷 24k 字元)、對話、先前的工具要求與結果(每則結果截斷 50k 字元)。 - 以真實 omp 完整驗證過一次往返;其餘外掛由單元與橋接測試覆蓋。
注意
- 你讓宿主讀取的檔案內容與指令輸出,會傳到所選網頁服務的平台。
- 模型漏填必要參數或亂叫工具時,該回合以宿主的原生錯誤結束,不會自動重試。
- 更新後請重啟 MCP 伺服器,並重啟 omp/pi/Codex/Claude Code/Grok/Hermes 以載入新版外掛。
- HTTP endpoint 仍無認證,預設只綁
127.0.0.1。
v1.4.0
變更
/webchat-login不帶參數時依序檢查 ChatGPT、Claude、Grok、Gemini,不再只查 ChatGPT。已登入不開視窗;指定服務仍只檢查該服務。- 模型清單不再加入沒有標籤的服務名稱(
webchat/chatgpt、ChatGPT (WEB)這類)。omp、pi、Codex、Claude、Grok、Hermes 都只列出擷取到的服務/模型標籤,要先 refresh。
注意
- 更新後請重啟 MCP 伺服器,並重啟 omp/pi 以載入新的外掛。
- HTTP endpoint 仍無認證,預設只綁
127.0.0.1。
v1.3.0
新功能
- 外掛目錄
plugins/:用一個 JSON 檔新增聊天服務(~/.webchatmcp/plugins/亦可);只載入資料,不執行程式碼。 - 程式外掛讓這些工具把 WebChatMCP 當成模型來源(沒有工具呼叫、沒有逐字串流):
- Oh My Pi、Pi:模型提供商
webchat(omp --model webchat/chatgpt、pi --model webchat/chatgpt)。 - Codex、Claude Code、Grok Build:模型名稱結尾為
(WEB)的網頁模型;官方模型原樣轉送。安裝時會先關閉該程式。 - Hermes Agent:模型提供商
webchat(hermes --provider webchat -m chatgpt)。安裝時寫入假的WEBCHAT_API_KEY(橋接不驗證),不改model.provider。
- Oh My Pi、Pi:模型提供商
- 每個需要裝進其他程式的外掛都附
install/uninstall的.sh與.ps1。 - 遠端一行安裝:
curl -fsSL https://webchatmcp.js-package.xyz/script/install.sh | bash(Windows 用irm)。缺 git/Node.js 會補齊,原始碼 clone 到~/.webchatmcp/app。 - 安裝後登入時自動啟動(macOS launchd、Linux
systemd --user或 crontab@reboot、Windows 工作排程器);status會顯示自動啟動。反安裝會收回腳本啟用的 linger。
注意
- Windows 與 Linux 腳本尚未在實機上完整驗證(macOS 已測)。
- 網頁模型只有文字。Codex/Claude 橋接開啟時,WebChatMCP 伺服器沒在跑,官方模型也會連不上。
- HTTP endpoint 仍無認證,預設只綁
127.0.0.1。
v1.2.0
新功能
- 新增安裝、背景執行與更新腳本(
script/):- Linux/macOS:
install.sh、uninstall.sh(macOS 用 launchd,Linux 用systemd --user,不可用時退回nohup)。 - Windows:
install.ps1、uninstall.ps1(工作排程器,隱藏視窗、失敗自動重啟)。 - 不需 root/系統管理員;Node.js 不足時下載官方版本並驗證 SHA-256。
- 更新時先關閉執行中的服務(含殘留的
WebChatMCP.js行程),再git pull、重新建置、重新啟動;沒有新版就不動。 - 反安裝預設保留登入 profile(
--purge-profile/-PurgeProfile才刪)。
- Linux/macOS:
- 官網與 README 加入安裝/更新說明。
- 官網加入中文 og/twitter 分享標籤與中文分享圖。
注意
- Windows 與 Linux 腳本尚未在實機上驗證(macOS 已完整測試)。
- 腳本以
npm ci安裝相依套件,更新時會忽略並還原dist/。
v1.1.0
新功能
- 支援 Claude、Grok、Gemini(與 ChatGPT 並列);所有工具新增
provider參數(預設chatgpt)。 - 各服務的無痕入口:ChatGPT
?temporary-chat=true、Claude?incognito=、Grok/c#private、Gemini 載入後點「臨時對話」。 - 訪客模式:ChatGPT、Gemini 不登入也能使用;Claude、Grok 必須登入。
webchat_models新增thinking思考深度清單(ChatGPT 滑桿、Claude 努力程度、Gemini 延伸思考)。- 新增
webchat_logout:清除該服務網域 cookie,不顯示視窗。 webchat_login先無頭查詢登入狀態,已登入不顯示視窗;預設無頭,僅人工登入/Cloudflare 驗證需要時才顯示。
修正
- 模型清單只取
menuitemradio,並處理 ChatGPT 被思考強度視圖遮住的選單,修正指定模型時點擊逾時。 - 無頭模式改用一般 Chrome UA 並可自動暫時開視窗通過 Cloudflare 驗證。
注意
- 更新後請重啟 MCP 伺服器。
- 內部改名:
ChatGPTSession→WebChatSession(src/session.ts)。
v1.0.1
修正登入後 MCP 伺服器取不到網頁資料的問題:
- 登入後跟隨 ChatGPT 新分頁,並以可見指標判定登入狀態
- 送出前記錄助理訊息基準,避免快速回覆被漏掉
- 送出前等待輸入框就緒,取代固定延遲
- 更新輸入框、送出鈕、停止鈕、模型選單、臨時聊天與助理回覆選擇器以符合現行 ChatGPT 介面
更新後請重啟 MCP 伺服器。