dsh-share-room
用一次性链接邀请别人加入同一段对话,不需要账号:最多 20 位访客一起讨论、一起问 AI,分享用的 fork 以只读权限运行,所有者可以随时移除访客或结束分享。
安装
dsh plugin --profile web add dsh-share-room
沙箱测试结果
| 阶段 | 结果 |
|---|---|
| 1 安装 | ✓ |
| 2 列装 | ✓ |
| 3 挂载 | ✓ |
| 4 启动 | — |
四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。
README
dsh-share-room
繁體中文 | [简体中文](README.zh-CN.md) | [English](README.md)
邀請朋友加入你和 AI 的對話。大家用手機或電腦打開連結就能一起討論、一起問 AI,不需要帳號。
這是 DeepSeek Harness(DSH) 的外掛。
完整影片(含字幕):[docs/media/demo.mp4](docs/media/demo.mp4)・討論與回饋:DSH Discussions
它做什麼
- 一鍵分享:在對話標題列按「🔗 分享」。外掛會另外 fork 一份分享用的對話,原本的對話維持私人。
- 免帳號加入:每位訪客一條邀請連結,用手機或電腦打開就能加入,只能用一次。不需要安裝 DSH,也不用知道你的站台密碼。
- 多人群聊:一個分享最多 20 位訪客,每個人都用自己的名字發言。
- 兩種發言:
- 💬 討論:人跟人聊,AI 不會插嘴。
- 🤖 問 AI:AI 會讀到上次問 AI 之後的討論再回答,大家都看得到答案。
- 只看得到這一段:訪客看不到你的其他對話、檔案或設定。
- 隨時收回:你可以移除某位訪客、關掉訪客問 AI,或結束分享。結束後訪客立刻不能發言,可以選擇保留唯讀頁讓對方閱讀和下載。
- 圖片:大家都能在 💬 討論或 🤖 問 AI 時附圖片(一次最多 4 張),所有人都看得到;問 AI 時,AI 也會看到這些圖片。訪客傳圖可以在「分享中」視窗關掉或設定張數上限(預設 30 張)。
- 事後調整:分享進行中,可以延長或縮短天數(最長 90 天,從建立那天算)、調整問 AI 的次數上限,以及 AI 的權限。
- 站主開關:整個功能可以在「設定 → 一般 → 對話分享」關掉。
畫面
站主(電腦) · 訪客(手機)
 · 
 · 
 · 
使用前要知道的事
訪客可以問你的 AI,AI 會用它看得到的東西回答。dsh-share-room 會限制影響範圍,但沒辦法讓 AI 保守秘密。
- 費用算你的。 AI 在你的 DSH 上執行,用你的模型金鑰。不管是誰問,費用都由你支付。訪客問 AI 的次數全房共用一個上限,預設 50 次,之後可以調整。
- 分享用的對話預設是唯讀的。 建立分享時,外掛會把 fork 出來的對話切到 DSH 的
read-only權限,要更多權限得經過你核准;切換失敗就不會建立分享。原本的對話維持原來的權限。 - 權限可以調高,但由你決定。 在「分享中」視窗可以把訪客問 AI 時的權限改成「可寫入工作區」或「完全權限」。完全權限代表 AI 不經你核准就能執行任何指令、修改或刪除檔案,所以要先在「設定 → 一般 → 分享可使用完全權限」開放(預設關閉),每次啟用還會再確認一次;關掉這個開關時,使用完全權限的分享會自動改回唯讀。如果你在對話裡把權限調得比選定的還高,訪客會暫時不能問 AI。每次變更都記錄在稽核紀錄裡。
- 訪客傳的圖片會存在你的站台上。 圖片在瀏覽器裡先縮小、去掉 GPS 等資訊再上傳,伺服器只接受真的圖片。不想收圖片就在「分享中」視窗關掉。
- 唯讀還是讀得到。 AI 可以讀你的 DSH 讀得到的檔案,再寫進回答裡。AI 看得到的,訪客都可能拿到。 只分享給你信得過的人,並讓分享的對話跑在只放必要內容的工作區。
- 訪客的文字會標成不可信。 AI 會知道誰在說話、訪客不是擁有者,但模型還是可能被說服。
- 每件事都看得到。 所有發言和 AI 的動作都記錄在分享的對話裡,你可以即時看到。結束分享時,訪客還在排隊的提問也會一起撤回;但已經看過的內容、AI 已經做完的事,都無法收回。
- 帶入歷史時,訪客看得到整段對話。 建立分享時勾選「帶入這段對話到目前為止的內容」,訪客就會看到到目前為止的所有內容,包括 AI 的回答。
- 訪客頁和你的 DSH 在同一個網域。 訪客頁用嚴格的 CSP(
script-src 'self',不允許 inline script)。所有內容都當純文字處理,AI 回答的 Markdown 只轉成固定幾種元素,連結和圖片都不啟用。但萬一出現能注入程式的漏洞,程式會帶著你的登入狀態執行。要最強的隔離,請讓/share/走另一個主機名稱。
安裝
需求:DSH 0.1.5-rc.1 或 0.1.7-rc.2(都測試過)、Node.js 22 以上,以及一個對方連得到的 HTTPS 網址(公開網域或 tunnel)。
1. 安裝到 DSH 的 web profile:
dsh plugin --profile web add dsh-share-room
DSH 會用 pnpm 從 npm 安裝,並自動把它加進 profile 的 dsh.profile.bundles。
2. 重新啟動 DSH。對話標題列會出現「🔗 分享」。
更新用 dsh plugin --profile web update dsh-share-room,移除用 dsh plugin --profile web remove dsh-share-room。
不想從 npm 安裝的話,也可以直接用 GitHub 的版本:dsh plugin --profile web add github:yillkid/dsh-share-room#v0.3.0。
各部分的位置:
- 擁有者的 API 在
/api/share-room.*,沿用 DSH 本身的登入。 - 訪客頁在
/share/<id>/,由外掛自己驗證訪客。 - 如果 DSH 前面有整站登入閘門(例如
@summersec/dsh-web-auth),閘門必須放行/share/,而且只放行它。做法見 [docs/web-auth-public-prefixes.md](docs/web-auth-public-prefixes.md)。 - DSH 經由反向代理以 HTTPS 提供時,只要代理送出
X-Forwarded-Proto: https,訪客 cookie 就會自動加上Secure。也可以設定SHARE_ROOM_SECURE_COOKIE=1強制開啟。
開關
裝好預設就是開的。站主可以在「設定 → 一般 → 對話分享」關掉。
- 關閉時不能建立新分享或邀請,所有訪客會立刻看到「分享暫停中」。
- 分享、連結和紀錄都不會刪除,重新開啟後就恢復。
站台範本如果想預設關閉,可以在 cordis.patch.yml 裡給 share-room 設 config: { enabled: false }。站主自己的選擇優先。
開發
node --test test/*.test.js # 單元與伺服器測試,不需要 DSH node e2e/two-browsers.mjs # 兩個瀏覽器的端到端測試,需要拋棄式 DSH,見 e2e/README.md
設計與決策紀錄見 [PLAN.md](PLAN.md),版本紀錄見 [CHANGELOG.md](CHANGELOG.md)。
授權
[MIT](LICENSE)
以上内容来自 npm 上的 README,我们只做格式化,不改内容。
版本
npm 上共发布:7,最后更新 2026-11-06