{"id":27137892,"url":"https://github.com/tbdavid2019/chrome-webtalk","last_synced_at":"2026-04-15T15:40:50.233Z","repository":{"id":284721676,"uuid":"955019006","full_name":"tbdavid2019/chrome-webtalk","owner":"tbdavid2019","description":"在任何網站上與他人匿名即時聊天！在任何網站使用AI重點摘要！","archived":false,"fork":false,"pushed_at":"2025-04-07T05:28:21.000Z","size":2397,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T06:27:58.288Z","etag":null,"topics":["chrome","chrome-extension"],"latest_commit_sha":null,"homepage":"https://chromewebstore.google.com/detail/webtalk/hhhdloelamldfadfobnhdhpfmbbdppdb","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tbdavid2019.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-26T01:27:58.000Z","updated_at":"2025-04-07T05:26:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"c29095e2-287c-4e14-b7cb-5d0065f83fad","html_url":"https://github.com/tbdavid2019/chrome-webtalk","commit_stats":null,"previous_names":["tbdavid2019/chrome-webtalk"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbdavid2019%2Fchrome-webtalk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbdavid2019%2Fchrome-webtalk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbdavid2019%2Fchrome-webtalk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbdavid2019%2Fchrome-webtalk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tbdavid2019","download_url":"https://codeload.github.com/tbdavid2019/chrome-webtalk/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247779794,"owners_count":20994569,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chrome","chrome-extension"],"created_at":"2025-04-08T04:37:09.885Z","updated_at":"2026-04-15T15:40:50.224Z","avatar_url":"https://github.com/tbdavid2019.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🕸️ Chrome WebTalk - 網頁聊天室擴充功能\n\n\u003e 在任何網站上與他人匿名即時聊天！可以提供LLM 幫你了解網頁內容\n\u003e\n![alt text](image.png)\n\n這是一款去中心化、無伺服器的瀏覽器聊天擴充功能，透過 WebRTC 實現端對端加密傳輸，保護你的隱私，所有資料皆儲存在本地裝置。\n\n本版本 fork 自 [molvqingtai/WebChat](https://github.com/molvqingtai/WebChat)，並進行以下改進：\n- ✅ 使用其他建的 WSS 通訊站台，與原專案用戶分流\n- 🎨 全新設計的使用者介面，提升操作體驗與可讀性\n- 🧠 新增 AI 摘要功能，一鍵生成網頁內容摘要，提高閱讀效率\n\n安裝後，你將能在任何網站上開啟聊天室，再也不怕一個人上網啦！還能使用 AI 摘要功能快速了解網頁內容！\n\n---\n\n## 🆕 近期更新\n\n- 🧾 **AI 摘要面板升級**：全新「摘要 / 問 AI」雙區塊卡片設計，加入清除內容、歷程入口與更柔和的色彩，閱讀與續問體驗更順暢。\n- 📚 **AI 互動歷程**：每次摘要與續問都會記錄網址、頁面標題、時間、摘要與對話內容，可在 Summary Panel 右上角點選 History 開啟專屬 `history.html` 頁面查看。\n- 🔗 **群聊實用工具**：訊息輸入列新增「插入目前頁面 URL」按鈕與「問 AI」捷徑，分享連結或切換到 AI 摘要面板只要一鍵完成。\n- ✨ **可拖曳的浮動入口**：右側的聊天室 / AI 摘要雙圖示現在可以按住任一顆拖曳，上下移動會一起保持位置並記錄在本機，下次開啟同樣套用。\n- 🔐 **預設 GROQ API Key**：即使沒有另外設定 `.env` 或 options 頁面，也會自動載入預設的 GROQ API Key / Base URL / Model；同時 options 介面會顯示相同值，方便覆蓋或還原。\n- 🧠 **AI 續問可離線使用摘要**：續問區可以直接提問，系統會從頁面內容 + 摘要（若已生成）組合參考資訊回覆。\n\n---\n\n## 🚀 安裝方式\n\n### 從瀏覽器擴充商店安裝\nhttps://chromewebstore.google.com/detail/webtalk/hhhdloelamldfadfobnhdhpfmbbdppdb\n\n### 手動安裝\n\n1. 前往 [本專案 Releases 頁面](https://github.com/tbdavid2019/chrome-webtalk/releases)\n2. 點選最新版本中的 `webtalk-*.zip`\n3. 解壓縮 ZIP 檔到你的電腦資料夾中\n4. 開啟瀏覽器的擴充功能管理頁（例如 Chrome 輸入 `chrome://extensions/`）\n   - 開啟右上角「開發人員模式」\n   - 點選「載入未封裝項目」，選取剛剛解壓縮的資料夾\n\n\n### 原始建構\n\n```\npnpm build \n\n```\n會產出 .output \n\n\n---\n\n## 💬 使用說明\n\n當擴充功能安裝完成後，會在每個網站的右側出現兩個小圖示：\n- **聊天室圖示**（上方）：點擊它，就能開啟聊天室，與其他正在同個網站上的使用者即時聊天！\n- **AI 摘要圖示**（下方黃色）：點擊它，可以快速生成當前網頁內容的 AI 摘要，包含總結、觀點、關鍵字等，幫助你快速了解網頁內容。\n\n\n\n---\n\n## ⚙️ WebRTC 架構速記\n\n- **Signaling**：擴充功能的 `Peer` 直接繼承 `@rtco/client` 的 `Artico`（`src/domain/impls/Peer.ts`），未覆寫任何設定，因此會連到 Artico 預設的 Socket signaling 伺服器 `https://0.artico.dev:443`，用來交換 SDP 與 ICE candidate。\n- **STUN / TURN**：`@rtco/client` 內建的 `RTCConfiguration` 只列出 Google 的公開 STUN（`stun:stun.l.google.com:19302`、`stun:stun1.l.google.com:19302`），僅協助取得公網位址並不會中繼資料；目前未設定 TURN，所以遇到嚴格 NAT 可能需要自備 coturn。\n- **RTCConfiguration**：所有 `RTCPeerConnection` 都沿用 `Artico` 的預設 `rtcConfig`；若要指定自家 STUN/TURN 或自架 signaling，可在 `Peer.createInstance` 之外新增參數並傳給 `Artico`。\n- **為什麼要關心**：免費 signaling 僅適合開發／測試，正式環境仍建議自建或評估商用服務，以取得可控的節點數、SLA 與資安策略。\n\n---\n\n## 🧱 聊天運作流程\n\n- **房間如何形成**：內容腳本會把 `location.host` 轉十六進位作為房號（`src/domain/impls/ChatRoom.ts`），同一個網域的使用者都連到同一房間。\n- **即時傳輸**：`ChatRoom` 透過 WebRTC DataChannel 序列化訊息並廣播給房內 peer（`src/domain/impls/ChatRoom.ts`），完全端對端。\n- **歷史同步**：每個節點本地保留完整訊息；新 peer 加入時，舊 peer 依最後訊息時間批次推送近 `SYNC_HISTORY_MAX_DAYS`（預設 3 天）的紀錄，避免漏掉談話（`src/domain/ChatRoom.ts:332-470`）。\n- **本地儲存**：使用 `unstorage` 驅動的 IndexedDB/LocalStorage 保存訊息與設定（`src/domain/impls/Storage.ts`），即使離線或重新載入也能保留記錄，再由其他節點補齊差異。\n\n---\n\n## 🙌 技術來源與致敬\n\n本專案建立在以下開源技術之上，特此致敬：\n\n- **[remesh](https://github.com/remesh-js/remesh)** – 遵循 DDD 原則的 JS 架構，邏輯與 UI 完全分離，極易擴充與重構。\n- **[shadcn/ui](https://ui.shadcn.com/)** – 美觀又彈性的 UI 元件庫，無需安裝即可自訂樣式。\n- **[wxt](https://wxt.dev/)** – 極佳的瀏覽器擴充套件開發框架。\n- **[Artico](https://github.com/matallui/artico)** – 建立自定 WebRTC 解決方案的利器。\n- **[ugly-avatar](https://github.com/txstc55/ugly-avatar)** – 為用戶產生可愛又獨特的隨機頭像。\n\n---\n\n## 📜 授權條款\n\n本專案採用 MIT 授權，詳情請參閱 [LICENSE](https://github.com/tbdavid2019/chrome-webtalk/blob/main/LICENSE)。\n\n---\n\n# 🌐 Chrome WebTalk - Anonymous Chat Anywhere\n\n\u003e Chat with anyone on any website\n\nThis is a decentralized, serverless browser extension that allows real-time, end-to-end encrypted chatting via WebRTC. All data is stored locally to ensure privacy.\n\nThis fork, hosted at [`tbdavid2019/chrome-webtalk`](https://github.com/tbdavid2019/chrome-webtalk), includes:\n- ✅ A custom WSS server to separate userbase from the original project\n- 🎨 A redesigned interface for better user experience and readability\n- 🧠 New AI summary feature that generates concise summaries of web pages\n\n---\n\n## 🚀 Installation\n\n### From Store\n\nhttps://chromewebstore.google.com/detail/webtalk/hhhdloelamldfadfobnhdhpfmbbdppdb\n\n### Manual Installation\n\n1. Go to [Releases](https://github.com/tbdavid2019/chrome-webtalk/releases)\n2. Download the latest `webtalk-*.zip`\n3. Extract the ZIP file to a folder\n4. Open your browser’s extension page (`chrome://extensions/`)\n   - Enable **Developer mode**\n   - Click **Load unpacked** and select the extracted folder\n\n---\n\n## 💬 How to Use\n\nOnce installed, two icons will appear on the right side of any website:\n- **Chat icon** (top): Click it to join a shared chatroom with others browsing the same site!\n- **AI Summary icon** (bottom, yellow): Click it to generate an AI-powered summary of the current webpage, including key points, opinions, and keywords to help you quickly understand the content.\n\n\n\n---\n\n## 🙌 Acknowledgements\n\nBuilt upon amazing open-source tools:\n\n- **[remesh](https://github.com/remesh-js/remesh)** – DDD-inspired logic framework with full UI separation\n- **[shadcn/ui](https://ui.shadcn.com/)** – UI library that enables beautiful, customizable components\n- **[wxt](https://wxt.dev/)** – Best framework for browser extension development\n- **[Artico](https://github.com/matallui/artico)** – WebRTC library suite for building P2P apps\n- **[ugly-avatar](https://github.com/txstc55/ugly-avatar)** – Fun random avatar generator\n\n---\n\n## 📜 License\n\nMIT License – see [LICENSE](https://github.com/tbdavid2019/chrome-webtalk/blob/main/LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftbdavid2019%2Fchrome-webtalk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftbdavid2019%2Fchrome-webtalk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftbdavid2019%2Fchrome-webtalk/lists"}