BOWLUNA/dsh-sillytavern--packages-group-chat ↗★ 0
dsh-group-chat
提供独立的多智能体群聊房间与轮询模式 适合需要构建多智能体协同对话、群聊房间管理的基础开发任务。
同名包的其他仓库
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:BOWLUNA/dsh-sillytavern#27781a67ed08523ff55366433684a4a0e4c0dea5&path:packages/group-chat说明文档
阅读完整 README ↗dsh-group-chat
Standalone multi-agent group chat for DeepSeek Harness. Depends on the platform and on nothing tavern-specific.
Status: skeleton. The durable room table, the boundary validator and the two browser seats are in place and tested. Rooms do not yet run turns.
What exists
src/wire.ts— the single validation entry. Every untrusted value becomes a typed one here or is rejected. No trimming, no defaulting, no coercion: an unrecognised room mode is an error rather than a silentround-robin, and an empty name is an error rather than a row that takes the whole storage domain down on the next boot.src/domain.ts— the durable room table (group_chat,per-recordlayout). Every record carries anownerfield.src/index.ts— the host half:ctx.groupChat, opened at mount, with one clear diagnostic if the platform'sstorageDomainAPI has moved.src/client/index.tsx— two additive browser seats:conversation.view(a group transcript beside the shipped chat and trajectory views) andsettings.section.@dsh-tavern/contracts/client-slots— the seat-claiming helper, shared with the tavern rather than copied into both.
What does not exist yet
Turn scheduling, reroll/swipe, message editing and tombstones, character cards, slash commands, and the RPC surface that would let the browser half do anything. Nothing here injects into a model prompt.
Tests
node --test tests/*.test.ts
Ten assertions, all written against rejections rather than happy paths. Two pin
failures that corrupted real data in the previous project: an unknown room mode
silently becoming round-robin (leaving ghost rooms), and an empty name
reaching storage (making the whole domain refuse to open, so every room became
unreachable, not just the bad one).
Installing
dsh plugin --profile add ./packages/group-chat
Install this or dsh-tavern, not both — both declare a row with id
group-chat.