BOWLUNA/dsh-agent-group--packages-group-chat ↗★ 0

dsh-group-chat

提供独立的多智能体群聊房间与轮询模式 适合需要构建多智能体协同对话、群聊房间管理的基础开发任务。

包名
dsh-group-chat
兼容性
待验证
Cordis 依赖范围
^4.0.0
版本
0.0.1
许可证
MIT
最近更新
2026年9月17日

同名包的其他仓库

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:BOWLUNA/dsh-agent-group#8d10bafe9b172787093a3e18390cb1a19db0fc9a&path:packages/group-chat

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 silent round-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-record layout). Every record carries an owner field.
  • src/index.ts — the host half: ctx.groupChat, opened at mount, with one clear diagnostic if the platform's storageDomain API has moved.
  • src/client/index.tsx — two additive browser seats: conversation.view (a group transcript beside the shipped chat and trajectory views) and settings.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.