@roaming-ai/dsh-group-chat 0.2.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/lib/client.js +984 -296
- package/lib/client.js.map +1 -1
- package/lib/index.js +524 -52
- package/lib/types/client/components/Bubble.d.ts +6 -3
- package/lib/types/client/components/ChatPanel.d.ts +1 -0
- package/lib/types/client/components/ConstraintList.d.ts +11 -0
- package/lib/types/client/components/FailCard.d.ts +9 -0
- package/lib/types/client/components/Fold.d.ts +19 -0
- package/lib/types/client/components/HoverTip.d.ts +22 -0
- package/lib/types/client/components/MessageFlow.d.ts +1 -0
- package/lib/types/client/components/MsgActions.d.ts +14 -0
- package/lib/types/client/hooks/useComposer.d.ts +6 -1
- package/lib/types/client/lib/composer-draft.d.ts +17 -0
- package/lib/types/core/constraints.d.ts +61 -0
- package/lib/types/core/errors.d.ts +54 -0
- package/lib/types/core/types.d.ts +22 -0
- package/lib/types/host/api/actions.d.ts +1 -1
- package/lib/types/host/engine/conversation.d.ts +5 -3
- package/lib/types/host/engine/fold.d.ts +17 -0
- package/lib/types/host/engine/index.d.ts +1 -0
- package/lib/types/host/engine/retitle.d.ts +5 -5
- package/lib/types/host/service.d.ts +1 -1
- package/lib/types/host/state.d.ts +2 -0
- package/lib/types/index.d.ts +2 -0
- package/package.json +1 -1
- package/src/client/GroupChatPanel.tsx +18 -3
- package/src/client/components/AsidePanel.tsx +10 -8
- package/src/client/components/Bubble.tsx +45 -18
- package/src/client/components/ChatPanel.tsx +17 -12
- package/src/client/components/Composer.tsx +26 -20
- package/src/client/components/ConstraintList.tsx +69 -0
- package/src/client/components/FailCard.tsx +49 -0
- package/src/client/components/Fold.tsx +72 -0
- package/src/client/components/HoverTip.tsx +134 -0
- package/src/client/components/MessageFlow.tsx +77 -54
- package/src/client/components/MsgActions.tsx +85 -0
- package/src/client/components/NavPanel.tsx +6 -1
- package/src/client/components/ThinkRow.tsx +7 -3
- package/src/client/components/ToolRow.tsx +7 -3
- package/src/client/hooks/useComposer.ts +40 -3
- package/src/client/hooks/useGroupChatState.ts +5 -4
- package/src/client/lib/composer-draft.ts +47 -0
- package/src/client/lib/styles.ts +73 -12
- package/src/client/react-dom-shim.d.ts +2 -0
- package/src/core/constraints.ts +210 -0
- package/src/core/errors.ts +184 -0
- package/src/core/json.ts +1 -0
- package/src/core/types.ts +28 -3
- package/src/host/api/actions.ts +35 -1
- package/src/host/broadcast.ts +3 -3
- package/src/host/engine/conversation.ts +103 -38
- package/src/host/engine/fold.ts +114 -0
- package/src/host/engine/index.ts +1 -0
- package/src/host/engine/retitle.ts +16 -11
- package/src/host/persistence/persistence.ts +18 -1
- package/src/host/service.ts +1 -1
- package/src/host/state.ts +5 -4
- package/src/index.ts +2 -0
package/README.md
CHANGED
|
@@ -7,7 +7,8 @@ DSH Web GUI 的「模型群聊」插件:多模型角色群组对话面板。
|
|
|
7
7
|
- **群组管理**:新建、重命名、删除(至少保留一个群组);左栏搜索框按群组名/会话名过滤
|
|
8
8
|
- **会话目录树**:每个群组内多个会话,左栏以「群组 → 会话」目录树呈现(展开/收起、新建、重命名、删除);消息挂在会话上,会话各有主题
|
|
9
9
|
- **角色-模型绑定**:群组内每个角色绑定一个 provider/model(可各不相同),配置人设、标识色、Temperature、深度思考开关;开启深度思考时可选**推理级别**(选项取自 DSH 当前模型设置的推理选项,未配置则用默认);角色为群组级,全会话共享;配置走右侧滑出抽屉
|
|
10
|
-
-
|
|
10
|
+
- **群内共享对话**:所有消息对全群共享;发言以「【角色名】内容」形式注入每个角色的上下文(最近 40 条原文),流式显示
|
|
11
|
+
- **会话约束备忘**:超过 40 条窗口后,被挤出的旧消息后台折成无主「已定 / 否决 / 未决」,作为「结论备忘」卡插在消息流折点;只读、空则不占位;清空消息时一并清除
|
|
11
12
|
- **消息渲染**:角色发言以宿主同款 markdown 渲染(标题、列表、表格、代码块、公式);开启「深度思考」的角色发言带可折叠的思考行(折叠时显示摘要,展开看全文,流式时实时跟随)
|
|
12
13
|
- **多轮对话**:发送消息后选择参与角色按顺序自动多轮对话(1–10 轮),可随时停止
|
|
13
14
|
- **@点名**:裸 `@` 弹出成员候选(↑↓ 选择、Enter/Tab 插入);被 @ 的成员优先作为本轮参与角色。`@` 后继续键入则在群工作区内检索文件,插入 `@path` 芯片(只写入路径,不把文件正文再灌进 prompt)
|
|
@@ -46,7 +47,7 @@ cd ~/.dsh/profiles/web/plugins/dsh-group-chat && pnpm install && pnpm build
|
|
|
46
47
|
- `ledger.json` — 群组/会话清单(`schema: 2`,纯清单)
|
|
47
48
|
- `<group-id>/roles.json` — 群组角色定义(`schema: 1`)
|
|
48
49
|
- `<group-id>/workspaceDir` — 群组工作区目录设置(纯文本一行)
|
|
49
|
-
- `<group-id>/sessions/session-<uuid>.json` —
|
|
50
|
+
- `<group-id>/sessions/session-<uuid>.json` — 一个会话一个文件(自包含名称/主题/创建时间/消息,可选约束备忘)
|
|
50
51
|
- 事件驱动写:变更按文件标脏,同一 tick 内合并,流式 partial 不落盘
|
|
51
52
|
- 原子写(tmp + fsync + rename,每个实际发生 rename 的目录一次 fsync)、单实例 `.lock`(PID 存活检测,崩溃残留自动清理)
|
|
52
53
|
- 写失败保留脏标记,下次 flush 自动重试;插件卸载时同步最终 flush 后再释放锁
|