dsh-bot-team 0.0.0-stage → 1.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/CHANGELOG.md +194 -0
- package/LICENSE +21 -0
- package/README.md +249 -2
- package/client.js +13558 -0
- package/cordis.patch.yml +68 -0
- package/host/agents.js +542 -0
- package/host/background-interactions.js +213 -0
- package/host/chat-settings.js +24 -0
- package/host/conversations.js +45 -0
- package/host/discussion-flow.js +179 -0
- package/host/discussion-runner.js +491 -0
- package/host/domain.js +975 -0
- package/host/engine.js +1698 -0
- package/host/execution.js +471 -0
- package/host/layout.js +95 -0
- package/host/message-metrics.js +99 -0
- package/host/native-activity.js +225 -0
- package/host/native-session.js +144 -0
- package/host/pdf.js +895 -0
- package/host/personas.js +120 -0
- package/host/prompt.js +668 -0
- package/host/routes.js +135 -0
- package/host/service.js +3209 -0
- package/host/session-export.js +22 -0
- package/host/session-visibility.js +147 -0
- package/host/storage-layout.js +109 -0
- package/host/tools.js +900 -0
- package/host/update-check.js +351 -0
- package/host/util.js +149 -0
- package/host/workspace.js +228 -0
- package/icon.svg +6 -0
- package/index.js +20 -0
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/package.json +80 -4
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
# 变更日志
|
|
2
|
+
|
|
3
|
+
按版本倒序记录主要功能、修复和兼容变化。当前源码版本见[包清单](<package.json>)。
|
|
4
|
+
|
|
5
|
+
`1.x` 按源码升版归档,已提交的版本链接到首次写入该版本号的 Git 提交,包含上一版本边界之后的改动;之后尚未升版的内容列入「未发布」。日期为源码升版日期,不代表 npm 发布时间。`0.x` 沿用早期文档的内部迭代编号,与当时包清单中的 `0.1.0` 分开记录;M0–M4 是开发里程碑,不推断为额外版本。
|
|
6
|
+
|
|
7
|
+
## 1.3.0 — 2026-10-28
|
|
8
|
+
|
|
9
|
+
### 新增
|
|
10
|
+
|
|
11
|
+
- 插件启动后在后台异步检测 npm 稳定版本;按 SemVer 与运行中 DSH 的兼容要求选择可更新版本。设置「关于」新增版本检测、更新说明、检测状态与原生插件管理入口,发现兼容更新时在设置入口显示小圆点。
|
|
12
|
+
- 设置新增「数据存储」标签页,集中展示数据、人格文件及单聊和群聊默认工作目录。
|
|
13
|
+
- 后台 Bot 会话使用宿主默认 Agent preset,支持原生工具、Skill、子代理、目标续跑与上下文压缩;提供完整日志查看、原始事件 JSON 和 JSONL 导出。
|
|
14
|
+
- 提问与审批直接在 Bot Team 聊天中的待处理卡片完成。
|
|
15
|
+
- 新增 `/new`、输入框与顶部菜单的新建会话入口:单聊重置当前 Bot 的上下文,群聊为全体成员开启新段,保留聊天、项目、历史消息及日志。
|
|
16
|
+
- 新增结构化讨论和 1v1 辩论,支持自定义轮数、独立裁判、暂停/继续、失败重试、提前收束、停止及补充材料;新增 `bot_team_debate` 与 `bot_team_discussion_control` 工具。
|
|
17
|
+
- 消息右键可基于选中内容发起讨论或辩论;聊天消息支持删除,同时保留既有会话记忆、执行日志与附件。
|
|
18
|
+
- Bot 支持可选签名,在消息、聊天头部及管理列表展示;头像支持随机预设与配色。
|
|
19
|
+
|
|
20
|
+
### 调整与修复
|
|
21
|
+
|
|
22
|
+
- Bot 会话在后台管理,既有普通 Bot 会话在空闲后归档;模型、人格与工作目录设置在恢复和插件重载后继续生效。
|
|
23
|
+
- 完善逻辑会话的持久提交、幂等重试、跨窗口草稿归属和历史日志绑定;会话分隔显示时间范围。
|
|
24
|
+
- 讨论控制移入侧栏,修复旧讨论详情恢复,区分讨论与辩论的界面标签。
|
|
25
|
+
- 优化 Bot 管理列表、模型信息分组、群标签换行,以及头像、名字和签名表单的布局与间距。
|
|
26
|
+
|
|
27
|
+
### 维护
|
|
28
|
+
|
|
29
|
+
- 插件源码、测试和包清单统一放到仓库根目录,移除多余的同名嵌套;同步本地安装路径、开发命令和 Git 根目录安装方式,移除 `repository.directory` 子目录元数据。
|
|
30
|
+
- 根 README 同时作为 npm 包说明,原包 README 的详细内容整理到配置与接口指南;将本变更日志加入 npm 发布文件。
|
|
31
|
+
- 清理过时调研、阶段报告、设计预览、临时产物和一次性工具;保留使用与维护指南、当前截图,并提炼新建会话的数据模型与接口说明。
|
|
32
|
+
- 新增本变更日志,集中维护各版本修改记录。
|
|
33
|
+
|
|
34
|
+
升级说明:本地源码安装应指向包含 `package.json` 的仓库根目录;原有子目录安装需更新本地链接,Git 安装新布局时移除旧子目录参数。后台会话与新建会话引入历史归属记录,讨论流程将存储 schema 升至 8;重新加载 Host 后刷新页面,数据恢复边界见[后台会话与完整日志](<https://github.com/shper/dsh-bot-team/blob/main/docs/%E5%8E%9F%E7%94%9F%E4%BC%9A%E8%AF%9D%E4%B8%8E%E5%AE%8C%E6%95%B4%E6%97%A5%E5%BF%97.md>)、[新建会话](<https://github.com/shper/dsh-bot-team/blob/main/docs/%E6%96%B0%E5%BB%BA%E4%BC%9A%E8%AF%9D.md>)和[讨论与辩论](<https://github.com/shper/dsh-bot-team/blob/main/docs/%E8%AE%A8%E8%AE%BA%E4%B8%8E%E8%BE%A9%E8%AE%BA.md>)。
|
|
35
|
+
|
|
36
|
+
## [1.2.2](https://github.com/shper/dsh-bot-team/commit/26fe0fccbd9dc9356fce900d283320d1cadfdd02) — 2026-10-28
|
|
37
|
+
|
|
38
|
+
- 新增侧边栏「显示单聊」设置,支持保存、取消和恢复默认,偏好在当前浏览器保持。
|
|
39
|
+
- 调整侧栏收起/展开及新建 Bot、群聊、分组图标的尺寸和点击区域,减少单聊与群聊分区间距,移除聊天条目的多余菜单按钮。
|
|
40
|
+
- 单聊 Token 用量统一采用群聊的展示样式,并移到 Bot 详情上方。
|
|
41
|
+
- 统一 Bot 管理与「关于」弹窗的布局和视觉样式;同步包版本与 Host/Client 版本兜底。
|
|
42
|
+
|
|
43
|
+
## [1.2.1](https://github.com/shper/dsh-bot-team/commit/f86eeb2aeaa67d6394e03216fb9e93053e5a1fdf) — 2026-10-27
|
|
44
|
+
|
|
45
|
+
- 修复执行记录的服务访问与日志分页,历史回复继续指向原执行记录。
|
|
46
|
+
- 完整会话改为独立只读页面,支持全部轮次与明确返回入口;返回后保留执行入口、草稿、滚动位置和聊天选择。
|
|
47
|
+
- 回复完成或事件连接恢复后自动刷新 Token 累计用量,合并并行刷新,阻止过期响应覆盖新数据。
|
|
48
|
+
- 移除每小时回复轮数限制,保留每日 Token 预算、并行限制和单 Bot 串行调度。
|
|
49
|
+
- 输入框新增文件夹/项目入口,单聊和群聊可引入、更换或移除本地项目。
|
|
50
|
+
- 欢迎页与「开始使用」入口仅在没有 Bot 且没有群聊时出现;删除全部数据后恢复,避免已有用户误入欢迎页。
|
|
51
|
+
- 将实际存储目录从 `storages/bot_team` 迁至 `storages/dsh-bot-team`,保留兼容链接,并完善「关于」中的版本与数据路径说明。
|
|
52
|
+
|
|
53
|
+
## [1.2.0](https://github.com/shper/dsh-bot-team/commit/6adb43e602f19ae98a8b1754c519c527f60e3806) — 2026-10-27
|
|
54
|
+
|
|
55
|
+
- 新增首次使用欢迎页与三步快速引导,以创建 Bot 为主入口、创建群聊为次入口;创建完成后进入对应聊天。
|
|
56
|
+
- 欢迎页支持中英文、深浅色和窄屏布局,隐藏右侧 Bot 库;侧栏调整为 232px,底部 Bot 管理与设置上下排列。
|
|
57
|
+
- 新增单条 Bot 回复的「执行过程」面板,展示输入、模型输出、工具、审批、重试及结束状态,并提供完整会话入口。
|
|
58
|
+
- 对旧消息缺少执行关联、日志缺失以及 Host 尚未加载新增接口提供明确提示与恢复说明。
|
|
59
|
+
- 移除群聊侧栏任务面板及新建任务入口;已有任务、任务模型工具和 HTTP action 保留。
|
|
60
|
+
|
|
61
|
+
## [1.1.0](https://github.com/shper/dsh-bot-team/commit/bac59340b84ed3ba2b6a1a9aa6f45f0d781b2893) — 2026-10-27
|
|
62
|
+
|
|
63
|
+
- 界面、导出标签及宿主生成的事件消息支持中文/English,跟随 DSH 语言设置即时切换,保留用户消息与名称原文。
|
|
64
|
+
- 新增群聊 PDF 导出,支持 A4 分页、页眉页脚、Markdown 基础排版及可选择、搜索、复制的正文。
|
|
65
|
+
- 新增 `fontkit` 运行时依赖和 `pdfFontPath` 配置,自动发现系统 CJK 字体并进行字形子集化。
|
|
66
|
+
- 输入框新增 **+** 分组菜单、文件附件和 `/` Skill 选择器;附件存入 DSH 附件库,以只读路径交给 Bot。
|
|
67
|
+
- Bot 预设接入工作区 Skill 发现与加载;群聊回复 Bot 消息时自动 `@` 原作者。
|
|
68
|
+
|
|
69
|
+
升级说明:本地源码安装需先安装依赖;新增 Host 路由和 Bot 预设声明后应重新加载 Host,预设变更需要重新应用 bundle。PDF 导出需要可用的 CJK 字体。
|
|
70
|
+
|
|
71
|
+
## [1.0.0](https://github.com/shper/dsh-bot-team/commit/29d09ccee2f62427d10dc0cb1ed849af57e82561) — 2026-10-26
|
|
72
|
+
|
|
73
|
+
- 准备首个公开发行基线,汇总单聊、群聊、流式回复、评审、经典多轮讨论、任务编排、分组及全能力 Bot。
|
|
74
|
+
- 补齐 MIT 许可证、仓库与问题反馈地址、npm 公开发布配置、发布文件白名单和 `engines.dsh` 兼容范围。
|
|
75
|
+
- 新增语法检查、测试及发布前检查命令,提供 npm、Git 与可选插件市场索引的发布说明。
|
|
76
|
+
- 同步包版本、运行时版本兜底与安装文档,移除 bundle patch 中的本机专用冒烟输出路径。
|
|
77
|
+
|
|
78
|
+
## 0.8.1(内部迭代)
|
|
79
|
+
|
|
80
|
+
- 单聊默认工作目录改为 `<dataDir>/direct/<botId>`,与群聊的 `groups/` 分层。
|
|
81
|
+
- 启动时幂等迁移采用旧默认目录的单聊并更新记录,保留外部自定义工作目录。
|
|
82
|
+
- 工作目录变化时重新建立底层 DSH 会话,保留单聊消息与旧 session 文件;这轮内部迭代纳入 `1.0.0` 发行基线。
|
|
83
|
+
|
|
84
|
+
## 0.8(内部迭代)
|
|
85
|
+
|
|
86
|
+
- 包名及 Client ID 从 `@local/bot-team` 改为 `dsh-bot-team`,沿用原有工具名、API 路由、storage domain 和浏览器偏好键。
|
|
87
|
+
- 新增 `dataDir`,默认使用 `$DSH_HOME/dsh-bot-team`,分别管理人格、单聊及群聊工作目录。
|
|
88
|
+
- 默认布局启动时迁移旧 `$DSH_HOME/bot-team` 下的人格和工作目录;外部自定义工作目录保留,自定义数据根目录不自动迁移。
|
|
89
|
+
- 工作目录变化时重新建立 Bot 的底层会话,保留群消息、任务及旧 session 文件;包名变更需完整重启 DSH。
|
|
90
|
+
|
|
91
|
+
## 0.7(内部迭代)
|
|
92
|
+
|
|
93
|
+
- 每个 Bot 自动获得独立记忆的单聊,直接发送消息即可,无需 `@`;schema v6 为已有 Bot 补齐单聊。
|
|
94
|
+
- 新增一层群聊分组,支持拖动和菜单排序;删除分组时将群移回未分组。
|
|
95
|
+
- 单聊与群聊分开管理:单聊不提供群评审、讨论和任务流程,删除 Bot 时同步清理其单聊。
|
|
96
|
+
- 新增侧栏分区与右侧面板的收起偏好,将设置整理为消息设置和关于;旧 Host 显示加载提示并禁用不支持的动作。
|
|
97
|
+
|
|
98
|
+
## 0.6.5(内部迭代)
|
|
99
|
+
|
|
100
|
+
- 左侧栏支持收为图标栏,保留头像、运行状态、悬停提示和新建入口。
|
|
101
|
+
- 在浏览器保存收起偏好,刷新或重新进入后保持;完善键盘操作、焦点显示及减少动态效果设置的支持。
|
|
102
|
+
|
|
103
|
+
## 0.6.4(内部迭代)
|
|
104
|
+
|
|
105
|
+
- 新增消息右键菜单,支持回复、复制、评审、修改、重试、复制为引用及定位原消息。
|
|
106
|
+
- 菜单支持键盘操作和视口边缘避让,按消息状态禁用不适用的动作;选中文字或链接时保留浏览器原生菜单。
|
|
107
|
+
|
|
108
|
+
## 0.6.3(内部迭代)
|
|
109
|
+
|
|
110
|
+
- 新增 9 套人格模板,覆盖通用助手、代码实现与评审、需求、调研、测试、文档、质疑和数据分析。
|
|
111
|
+
- 模板支持按编辑内容插入、追加或替换末尾旧模板,避免重复插入;Esc 优先关闭模板菜单。
|
|
112
|
+
|
|
113
|
+
## 0.6.2(内部迭代)
|
|
114
|
+
|
|
115
|
+
- 界面跟随 DSH 的 light/dark/system 主题即时切换,无需单独设置或刷新。
|
|
116
|
+
- 统一三栏、消息、弹窗、审批卡片、输入控件和滚动条的深浅色样式。
|
|
117
|
+
|
|
118
|
+
## 0.6.1(内部迭代)
|
|
119
|
+
|
|
120
|
+
- 群头像支持名称渐变、随机配色、10 个 SVG 插画、图片上传和重置。
|
|
121
|
+
- 保存后实时同步到侧栏与聊天顶部;已有群沿用根据名称生成的头像。
|
|
122
|
+
|
|
123
|
+
## 0.6(内部迭代)
|
|
124
|
+
|
|
125
|
+
- 群聊采用左右消息气泡、作者分组、头像与时间分隔布局,群头操作收进菜单。
|
|
126
|
+
- 新增引用回复、复制和悬停操作,点击引用可定位原消息;Host 校验引用的群归属。
|
|
127
|
+
- 上翻阅读时新消息和流式输出保留滚动位置,提供新消息提示,加载历史时保持阅读锚点。
|
|
128
|
+
- 新消息记录实际模型、provider 和 reasoning effort 快照,悬停显示模型与用量。
|
|
129
|
+
|
|
130
|
+
## 0.5.9(内部迭代)
|
|
131
|
+
|
|
132
|
+
- 新增根据名称生成的机器人头像,支持随机生成、10 个本地 SVG 插画和重置。
|
|
133
|
+
- 支持上传图片并裁切压缩为 256 × 256,统一展示在消息、成员、Bot 库、提及选择器、讨论和审批卡片中。
|
|
134
|
+
- 已有 Bot 自动生成头像,自己的消息优先使用 DSH 账号头像。
|
|
135
|
+
|
|
136
|
+
## 0.5.8(内部迭代)
|
|
137
|
+
|
|
138
|
+
- 默认审批策略从 `never` 改为 `ask`;工作目录沙箱内无需审批的操作继续直接执行。
|
|
139
|
+
- 群时间线新增审批请求及结果卡片,通过「去审批」打开 Bot 会话,允许一次或拒绝。
|
|
140
|
+
- 保留 `never` 配置;无人处理、超时或审批服务不可用时不自动放行。
|
|
141
|
+
|
|
142
|
+
## 0.5.7(内部迭代)
|
|
143
|
+
|
|
144
|
+
- 移除讨论型、评审型和执行型能力档位,所有 Bot 统一支持文件读写、搜索、联网和命令执行,使用 `workspace-write` 沙箱。
|
|
145
|
+
- schema v5 将旧 `talk` / `review` Bot 归一化为 `work`,后续重建 Agent 时挂载完整工具。
|
|
146
|
+
- 忽略旧 `capability` 参数与 `allowWorkBots` 配置,保留编排工具的递归防护。此时审批策略仍为 `never`,需要审批的操作直接拒绝。
|
|
147
|
+
|
|
148
|
+
## 0.5.6(内部迭代)
|
|
149
|
+
|
|
150
|
+
- Bot 弹窗采用固定标题/操作栏和独立滚动内容区,支持 Esc 关闭,完善名称必填校验与保存状态。
|
|
151
|
+
- 人格与工作规范统一到 `BOT.md`,使用一个编辑器并支持模板插入。
|
|
152
|
+
- 缺少新文件时兼容读取旧 `SOUL.md` / `AGENT.md`,首次保存生成 `BOT.md`,保留旧文件并优先使用新文件。
|
|
153
|
+
|
|
154
|
+
## 0.5.5(内部迭代)
|
|
155
|
+
|
|
156
|
+
- 统一字体、间距、圆角、边框、阴影与按钮反馈。
|
|
157
|
+
- 调整群列表、成员与任务卡片、消息气泡及元信息层次,统一输入框、提及选择器、弹窗和滚动条样式。
|
|
158
|
+
|
|
159
|
+
## 0.5.4(内部迭代)
|
|
160
|
+
|
|
161
|
+
- 侧栏新增全局 Bot 管理入口,支持查看、新建、编辑、删除 Bot 和查看所属群。
|
|
162
|
+
- 删除前展示影响范围;删除时停止相关执行、释放成员会话并将 Bot 移出各群。
|
|
163
|
+
|
|
164
|
+
## 0.5.3(内部迭代)
|
|
165
|
+
|
|
166
|
+
- 将任务面板操作简化为派发、中断和执行流,其他任务能力继续通过模型工具与 HTTP action 使用。
|
|
167
|
+
- 中断时停止正在运行的 Bot 并移除排队任务,防止失败回写覆盖取消状态。
|
|
168
|
+
- 执行流入口可打开指派 Bot 的完整 DSH 会话。
|
|
169
|
+
|
|
170
|
+
## 0.5.2(内部迭代)
|
|
171
|
+
|
|
172
|
+
- 新增按优先级与创建时间一键派发就绪任务,模型工具支持 `dispatch_ready`。
|
|
173
|
+
- 展示执行中、排队数量和任务排队状态。
|
|
174
|
+
- 新增依赖解锁后自动派发配置,默认关闭;任务队列保存在内存中,重启后不保留排队状态。
|
|
175
|
+
|
|
176
|
+
## 0.5.1(内部迭代)
|
|
177
|
+
|
|
178
|
+
- 新增 `bot_team_task_create`、`bot_team_task_list`、`bot_team_task_update`,支持从模型工具创建、查询、更新和派发任务并等待交付。
|
|
179
|
+
- 新增四档优先级、依赖校验、阻塞提示和任务编辑;前置任务验收后自动解锁,默认不自动派发。
|
|
180
|
+
- schema 从 3 升至 4,为已有任务补齐默认优先级与依赖。
|
|
181
|
+
- 修复依赖解锁时引发宿主崩溃,以及任务列表返回值不符合 JSON 约束的问题。
|
|
182
|
+
|
|
183
|
+
## 0.5(内部迭代)
|
|
184
|
+
|
|
185
|
+
- 新增任务板与任务创建表单,展示状态、指派者、评审者和修订次数。
|
|
186
|
+
- 支持派发、交付、评审/人工验收、要求修改和重新交付的完整流转。
|
|
187
|
+
- 群消息显示任务标记,任务状态实时同步。
|
|
188
|
+
|
|
189
|
+
## [0.1.0](https://github.com/shper/dsh-bot-team/commit/f8a12a2d2c7818959fe1ef7a85f76755d208ae70) — 2026-10-26(初始导入包版本)
|
|
190
|
+
|
|
191
|
+
- 仓库最初导入时,包名为 `dsh-bot-team`,包清单版本为 `0.1.0`,并标记为私有包。
|
|
192
|
+
- 这份快照已包含多个早期内部迭代的实现,不能将包版本映射为 M0–M4 的开发阶段;后续包版本直接调整为 `1.0.0`。
|
|
193
|
+
|
|
194
|
+
早期内部迭代由 [Git 留存的历史记录](https://github.com/shper/dsh-bot-team/tree/47dc2da/docs) 汇总,未标注没有证据的发布日期。发布维护流程见[发布指南](<https://github.com/shper/dsh-bot-team/blob/main/docs/%E5%8F%91%E5%B8%83%E6%8C%87%E5%8D%97.md>)。
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 shper
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,250 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Bot Team
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> 把 DeepSeek Harness 变成一间「Bot 公司」:每个 Bot 都是真实的 Agent,有独立会话、模型、人格和全套工具。你可以像用 IM 一样单聊、拉群、`@` 派活、评审、讨论、建任务。
|
|
4
|
+
|
|
5
|
+
`版本 1.3.0` · `MIT` · `DSH 0.2.1-rc.x` · `npm dsh-bot-team`
|
|
6
|
+
|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
*当前客户端的真实 React 浏览器截图,使用隔离的模拟 API 数据。*
|
|
10
|
+
|
|
11
|
+
## 这是什么
|
|
12
|
+
|
|
13
|
+
Bot Team 是 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)(DSH)的侧栏插件。常见的「多 Agent」是在一次对话里临时开几个子 Agent,聊完即散;Bot Team 把 Bot 做成长期存在的同事:
|
|
14
|
+
|
|
15
|
+
- 每个 Bot 有名字、头像、独立的 provider / model / reasoning effort / maxTokens,以及独立 Session 记忆;
|
|
16
|
+
- 人格与工作规范写在 `BOT.md`,改完下一轮生效;
|
|
17
|
+
- 单聊是它的工位,群聊是会议室,任务工具管理工单,评审和讨论组织协作流程;
|
|
18
|
+
- 所有 Bot 统一为全能力 Bot:读写文件、搜索、联网、执行命令、Skill;不提供只读版或按角色裁剪工具的版本(`workspace-write` 沙箱,范围受群/单聊工作目录限制);
|
|
19
|
+
- 每个 Bot 都有持久会话,点「查看会话」可在完整历史页面查看所有轮次与执行记录。
|
|
20
|
+
|
|
21
|
+
## 功能
|
|
22
|
+
|
|
23
|
+
### 对话
|
|
24
|
+
|
|
25
|
+
| 能力 | 说明 |
|
|
26
|
+
|---|---|
|
|
27
|
+
| 单聊 | 每个 Bot 自动拥有一个单聊窗口,不需要 `@`,记忆与群聊相互独立 |
|
|
28
|
+
| 群聊 | 群 / 话题、成员管理、`@` 派活、多 `@` 并行回复 |
|
|
29
|
+
| 流式 | 实时流式输出、停止、失败重试、断线补齐 |
|
|
30
|
+
| 消息 | 引用回复(群聊回复 Bot 时自动 `@` 原作者)、右键菜单、同作者消息合并、时间分隔、新消息分隔线、回到底部 |
|
|
31
|
+
| 输入 | 左下角 **+** 打开 DSH 风格分组命令菜单(文件 / 文件夹 / 技能 / 提及 / 停止 / 导出 / 设置);键入 `/` 选择 Skill;文件存入 DSH 附件库,Bot 拿到只读路径 |
|
|
32
|
+
| 项目 | **+ → 文件夹** 引入本地项目,单聊和群聊均可用;Bot 在原目录检索、修改和运行任务,输入框支持更换或移除项目 |
|
|
33
|
+
| 导出 | 群聊导出 Markdown / HTML / PDF(PDF 文本可选中、A4 分页、页脚页码) |
|
|
34
|
+
|
|
35
|
+
### 组织与界面
|
|
36
|
+
|
|
37
|
+
- **首次使用引导**:欢迎页以 **创建 Bot** 为主入口、**创建群聊** 为次入口;**快速上手** 提供三步引导,创建成功后直接进入新 Bot 单聊或新群;
|
|
38
|
+
- 欢迎页及侧栏 **开始使用** 仅在没有 Bot 且没有群聊时显示;存在任一即隐藏,已有数据时不能返回欢迎页;删除全部 Bot 和群聊后恢复;欢迎页不显示右侧 Bot 库;
|
|
39
|
+
- 单聊、群聊、未分组和自定义分组都能展开 / 收起,群与分组支持拖动排序;
|
|
40
|
+
- 左侧栏从 232px 收起成 68px 图标栏,底部 **Bot 管理 / 设置** 上下排列;欢迎页随可用宽度调整卡片布局,窄屏通过导航按钮展开侧栏;
|
|
41
|
+
- 深浅色跟随 DSH(light / dark / system),使用 `--bt-*` token,切换即时生效;
|
|
42
|
+
- 账号头像、群头像(随机配色 / 10 个 SVG 插画 / 上传)、Bot 头像(按名字生成机器人面具);
|
|
43
|
+
- **设置 → 关于** 提供异步版本检测、兼容更新入口与更新说明;插件启动后自动检查 npm,发现兼容更新时在 **设置** 入口显示小圆点。检测失败不影响聊天;
|
|
44
|
+
- **设置 → 数据存储** 集中显示数据、人格文件、单聊和群聊默认工作目录。
|
|
45
|
+
- **中文 / English 界面**跟随 DSH 的 **设置 → General → Language** 即时切换;宿主生成的讨论/评审/审批事件消息也会随语言切换,Bot 消息、群名、Bot 名等用户内容保持不变。
|
|
46
|
+
|
|
47
|
+
### 协作
|
|
48
|
+
|
|
49
|
+
以下讨论与辩论扩展已纳入 **1.3.0 源码版本**。加载本地目录中的新代码,需要在插件管理中 **disable → enable** 重新加载 Host,再刷新现有页面。完整流程与接口见[讨论与辩论](<https://github.com/shper/dsh-bot-team/blob/main/docs/%E8%AE%A8%E8%AE%BA%E4%B8%8E%E8%BE%A9%E8%AE%BA.md>)。
|
|
50
|
+
|
|
51
|
+
- **评审**:让另一个 Bot 评审一条消息,返回「通过 / 需修改」结论徽标,可一键「让作者修改」;
|
|
52
|
+
- **多成员讨论**:结构化讨论至少 2 人,界面提供快速 2 轮、标准 3 轮、深入 5 轮及自定义 2–20 轮,按观点、质询、收敛推进,穿插小结并可选最终总结;经典讨论支持 1–20 轮,旧工具调用默认 2 轮;
|
|
53
|
+
- **1v1 辩论**:正反方各 1 人,可另选独立裁判;双方开篇、交替先手的交叉问答、总结陈词,再由裁判裁决。无裁判不生成胜负;
|
|
54
|
+
- **过程控制**:查看阶段与发言者,暂停、继续、重试失败步骤、提前收束、停止,或补充材料与同群历史消息引用;
|
|
55
|
+
- **任务管理(模型工具/API)**:创建任务并设置描述、验收标准、指派与评审者;派发 → 交付 → 评审 → 验收;支持优先级、DAG 依赖、环检测、验收后自动解锁、批量派发、队列与中断。群聊右侧的任务面板和「新建任务」入口已移除,任务能力仍可通过模型工具与 HTTP action 使用;
|
|
56
|
+
- **审批**:Bot 需要越界或升权时,聊天区域显示待处理审批卡片,可直接在 Bot Team 中允许一次或拒绝。
|
|
57
|
+
|
|
58
|
+
### 模型工具
|
|
59
|
+
|
|
60
|
+
当前工作区在普通会话里提供 10 个群聊工具;Bot 成员禁用写入编排工具以防递归,仍可读取群与任务列表:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
bot_team_list bot_team_create_group bot_team_send bot_team_review
|
|
64
|
+
bot_team_discuss bot_team_debate bot_team_discussion_control
|
|
65
|
+
bot_team_task_create bot_team_task_list bot_team_task_update
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## 安装
|
|
69
|
+
|
|
70
|
+
前置:DeepSeek Harness `0.2.1-rc.x`(桌面版或 CLI profile 均可)。
|
|
71
|
+
|
|
72
|
+
### 桌面版
|
|
73
|
+
|
|
74
|
+
1. 左侧栏 **插件 / Plugins** → **添加插件**;
|
|
75
|
+
2. 填 `dsh-bot-team@1.3.0`(也可以填本地目录绝对路径或 Git 地址);
|
|
76
|
+
3. 安装完成后启用;如果之前启用过,对该 bundle **disable → enable**(或完整重启 DSH);
|
|
77
|
+
4. 刷新页面,左侧栏出现 **Bot Team** 图标。
|
|
78
|
+
|
|
79
|
+
### CLI
|
|
80
|
+
|
|
81
|
+
```sh
|
|
82
|
+
dsh plugin --profile <profile> add dsh-bot-team@1.3.0
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
安装后同样要重新加载 Host 模块(disable→enable 或重启)。
|
|
86
|
+
|
|
87
|
+
> `1.3.0` 是当前源码版本;npm 上的公开发行版需按 [发布指南](https://github.com/shper/dsh-bot-team/blob/main/docs/%E5%8F%91%E5%B8%83%E6%8C%87%E5%8D%97.md) 执行 `npm publish`。在发布前安装本机源码,请用本地目录路径。
|
|
88
|
+
|
|
89
|
+
### 从源码
|
|
90
|
+
|
|
91
|
+
```sh
|
|
92
|
+
git clone https://github.com/shper/dsh-bot-team.git
|
|
93
|
+
cd dsh-bot-team
|
|
94
|
+
npm install
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
在插件页把 `/path/to/dsh-bot-team` 作为本地目录添加;或让 Agent 执行 `plugin_manager` 的 `install_bundle`,`target` 填这个绝对路径。改完代码需要 disable→enable 或重启,才会加载新的 Host 模块。
|
|
98
|
+
|
|
99
|
+
> 仓库根目录就是插件目录。从源码安装时先运行 `npm install`,安装 PDF 字体子集化所需的 `fontkit` 依赖。
|
|
100
|
+
|
|
101
|
+
### 兼容性
|
|
102
|
+
|
|
103
|
+
`engines.dsh` 为 `^0.2.1-rc.3`,安装在运行中的 DSH 版本上校验(含预发布版本)。DSH 升级到 0.3 后需要先跑一遍回归、再放宽范围并发新版本;用户被拦时可用 exact-version exemption,但会有风险提示。
|
|
104
|
+
|
|
105
|
+
## 快速开始
|
|
106
|
+
|
|
107
|
+
打开 **Bot Team**,没有 Bot 且没有群聊时会看到「开始使用」欢迎页。主按钮 **创建 Bot** 是推荐的第一步,也可以从次入口 **创建群聊** 开始;欢迎页右上角 **快速上手** 可查看以下三步:
|
|
108
|
+
|
|
109
|
+
1. **先认识一位 Bot**:点 **创建 Bot**,起名、选模型、填写 `BOT.md` 人格(可插入 9 套现成人格模板)。创建成功后自动打开它的单聊,直接发消息即可,无需 `@`。
|
|
110
|
+
2. **为共同的目标,建一个群**:点侧栏「群聊」右侧 **+**,保存后进入新群,再用右侧「+ 添加」邀请 Bot;同一 Bot 可以参与多个群。
|
|
111
|
+
3. **用 @ 邀请它们参与**:在群输入框里用 `@Bot名` 派活,多个 `@` 会并行回复并实时流式显示;随后可以发起评审或多轮讨论。
|
|
112
|
+
|
|
113
|
+
创建 Bot 或群聊后进入相应会话,欢迎页与侧栏 **开始使用** 隐藏,已有数据时不能返回欢迎页;删除全部 Bot 和群聊后恢复。取消创建会留在欢迎页。首页不显示右侧 Bot 库,全局 Bot 管理可从侧栏底部打开。欢迎页与引导支持中文 / English、light / dark 主题,并随可用宽度调整布局,窄屏可通过导航按钮访问侧栏。
|
|
114
|
+
|
|
115
|
+
任务可通过 `bot_team_task_create` / `bot_team_task_list` / `bot_team_task_update` 或 HTTP action 管理;群聊侧栏已移除任务面板。
|
|
116
|
+
|
|
117
|
+
<details>
|
|
118
|
+
<summary>浅色欢迎页(当前实现)</summary>
|
|
119
|
+
|
|
120
|
+

|
|
121
|
+
|
|
122
|
+
同样来自当前客户端的真实 React 浏览器渲染,API 使用隔离的模拟数据。
|
|
123
|
+
|
|
124
|
+
</details>
|
|
125
|
+
|
|
126
|
+
## 它是怎么工作的
|
|
127
|
+
|
|
128
|
+
| 层 | 做法 |
|
|
129
|
+
|---|---|
|
|
130
|
+
| Bot | `ctx.agents.create/resume` 创建真实 Agent 与持久 Session;`meta.origin='subagent'` 让它不出现在侧栏 |
|
|
131
|
+
| 群消息 | 群消息转成 `UserMessage` 走 `agent.followup()`;`session/event` 与 `agent/assistant-stream` 驱动消息与流式 |
|
|
132
|
+
| 人格 | `ctx.systemPrompt.section/context`(agent 作用域)注入 `BOT.md` 与群上下文 |
|
|
133
|
+
| 工具 | `ctx.agentPresets.mount` 挂载「全能力」preset;`ctx.tools.restrict` 防止 Bot 递归调用 Team 工具 |
|
|
134
|
+
| 数据 | storage domain 内部标识 `bot_team`,实际目录 `storages/dsh-bot-team`(群 / 单聊 / 分组 / Bot / 成员 / 消息 / 讨论 / 任务),不写会话日志 |
|
|
135
|
+
| 页面 | 单文件 `client.js` 通过 `window.__ModuleLoader__.load` 注册到 `main` 与 `sidebar.panellist` 槽位 |
|
|
136
|
+
| 通道 | `/api/bot-team.*`(bootstrap / messages / events(SSE) / action / file / health),全部在登录态栅栏内 |
|
|
137
|
+
|
|
138
|
+
> 升级 DSH 后按 [升级检查清单](https://github.com/shper/dsh-bot-team/blob/main/docs/%E5%8D%87%E7%BA%A7%E6%A3%80%E6%9F%A5%E6%B8%85%E5%8D%95.md) 逐项验证。
|
|
139
|
+
|
|
140
|
+
## 配置
|
|
141
|
+
|
|
142
|
+
`cordis.patch.yml` 的 `config` 可在 profile 的 patch 层覆盖:
|
|
143
|
+
|
|
144
|
+
| 字段 | 默认 | 说明 |
|
|
145
|
+
|---|---|---|
|
|
146
|
+
| `dataDir` | `$DSH_HOME/dsh-bot-team` | 插件数据根目录(人格与工作目录) |
|
|
147
|
+
| `botsDir` | `<dataDir>/bots` | `BOT.md` 存放目录 |
|
|
148
|
+
| `maxParallelTurns` | 3 | 群级并行回复上限 |
|
|
149
|
+
| `maxContextMessages` | 40 | 单轮注入的历史消息上限 |
|
|
150
|
+
| `enableModelTools` | true | 是否向普通会话暴露 `bot_team_*` 工具 |
|
|
151
|
+
| `dailyTokenBudget` | 5000000 | 每群每日 token 上限 |
|
|
152
|
+
| `botSandbox` | true | Bot session 是否显式设为 `workspace-write` |
|
|
153
|
+
| `botApprovalPolicy` | ask | `ask`:越界时在群里出现审批卡片;`never`:无头模式直接拒绝 |
|
|
154
|
+
|
|
155
|
+
Bot 回复不再按小时限制轮数,旧配置中的小时轮数上限会被忽略。每群每日 token 预算仍由 `dailyTokenBudget` 控制,按 Host 本地时间零点重置;并行上限、单 Bot 串行及讨论轮数等调度规则保持不变。
|
|
156
|
+
|
|
157
|
+
完整字段、HTTP action 与工具参数见 [插件配置与接口](https://github.com/shper/dsh-bot-team/blob/main/docs/%E9%85%8D%E7%BD%AE%E4%B8%8E%E6%8E%A5%E5%8F%A3.md)。
|
|
158
|
+
|
|
159
|
+
## 数据与隐私
|
|
160
|
+
|
|
161
|
+
| 路径 | 内容 |
|
|
162
|
+
|---|---|
|
|
163
|
+
| `$DSH_HOME/storages/dsh-bot-team/` | 群、单聊、分组、Bot、成员、消息、任务、讨论 |
|
|
164
|
+
| `$DSH_HOME/dsh-bot-team/bots/<botId>/BOT.md` | 人格与工作规范 |
|
|
165
|
+
| `$DSH_HOME/dsh-bot-team/groups/<groupId>/` | 群聊工作目录 |
|
|
166
|
+
| `$DSH_HOME/dsh-bot-team/direct/<botId>/` | 单聊工作目录 |
|
|
167
|
+
|
|
168
|
+
- 启动时自动把旧的 `storages/bot_team/` 实体目录迁到 `storages/dsh-bot-team/`,旧路径保留为兼容目录链接;已有记录和后续写入均位于新目录。使用自定义 JSON 存储根目录时,在该根目录下做同样迁移。
|
|
169
|
+
- 插件不向任何第三方服务上传数据;Bot 的模型请求走你在 DSH 里配置的 provider。
|
|
170
|
+
- Bot 默认拥有 `workspace-write` 的文件与命令能力,范围受工作目录限制。把它们指向敏感目录之前,请先确认这是你想要的。
|
|
171
|
+
|
|
172
|
+
## 仓库结构
|
|
173
|
+
|
|
174
|
+
```
|
|
175
|
+
host/ 服务、存储、Agent 与协作逻辑
|
|
176
|
+
locale/ 中英文本
|
|
177
|
+
test/ 回归测试与测试辅助
|
|
178
|
+
docs/ 使用、接口、发布与升级文档
|
|
179
|
+
assets/ 文档使用的截图
|
|
180
|
+
index.js Host 入口
|
|
181
|
+
client.js Web 客户端
|
|
182
|
+
cordis.patch.yml 插件与 Bot 工具预设
|
|
183
|
+
package.json 包元数据、依赖与验证命令
|
|
184
|
+
README.md 项目入口与开发说明
|
|
185
|
+
CHANGELOG.md 各版本修改记录
|
|
186
|
+
LICENSE MIT 许可证
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
仓库根目录同时是 npm 包根目录;开发、测试与打包命令均在这里运行。安装已有源码时直接选择包含 `package.json` 的仓库目录。
|
|
190
|
+
|
|
191
|
+
## 开发
|
|
192
|
+
|
|
193
|
+
宿主侧是普通 ESM,不 import 任何 `@deepseek-ai/*` 包;客户端是单文件 `client.js`,React 来自平台模块表。PDF 导出用 `fontkit` 读取并子集化系统 CJK 字体(唯一运行时依赖);其余测试不依赖第三方包、不调用真实模型、不访问个人数据。
|
|
194
|
+
|
|
195
|
+
在仓库根目录运行:
|
|
196
|
+
|
|
197
|
+
```sh
|
|
198
|
+
npm install # 安装唯一运行时依赖 fontkit(PDF 字体子集)
|
|
199
|
+
npm run check # node --check:index.js / client.js / host/*.js
|
|
200
|
+
npm test # 隔离回归测试;部分 PDF 用例按系统字体条件运行或跳过
|
|
201
|
+
npm pack --dry-run # 查看真正会被发布的文件
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
发布前自检,以及 npm / Git / 插件市场索引三条发布路线见 [https://github.com/shper/dsh-bot-team/blob/main/docs/%E5%8F%91%E5%B8%83%E6%8C%87%E5%8D%97.md](docs/发布指南.md)。
|
|
205
|
+
|
|
206
|
+
## 已知限制
|
|
207
|
+
|
|
208
|
+
- 分组只有一层;展开 / 收起是浏览器本地偏好,不跨设备同步;
|
|
209
|
+
- 同一群只允许一个未结束的讨论或辩论;`paused` 仍占用该位置,阻止新流程、`/new` 和切换项目。停止后若原生执行尚忙,会保留 `stopping`,需要等待并重新检查;
|
|
210
|
+
- 讨论视角、正反方和裁判是临时提示,仍复用成员的原会话;不保证角色或立场之间的记忆隔离;
|
|
211
|
+
- 任务队列是 Engine 内存态,重启后排队标记丢失(任务仍为进行中);
|
|
212
|
+
- Markdown 渲染较轻量:无语法高亮,图片未支持;
|
|
213
|
+
- PDF 使用系统 CJK 字体(macOS 优先 Hiragino Sans GB / Arial Unicode(宋体等无嵌入许可的字体自动跳过);Windows/Linux 用常见中文字体);没有 CJK 字体时导出返回 501,可用 `pdfFontPath` 指定字体文件;PDF 为轻量排版(无图片/头像、链接不可点击、emoji 可能缺字),正文文本可选中与搜索;
|
|
214
|
+
- 语言只覆盖界面与宿主事件消息;Bot 的回复、群名/Bot 名、人格模板正文、部分宿主错误仍按原语言显示;
|
|
215
|
+
- Bot 的操作边界由群/单聊工作目录、`botSandbox` 与审批策略共同约束。
|
|
216
|
+
|
|
217
|
+
## 文档
|
|
218
|
+
|
|
219
|
+
- [版本变更记录](CHANGELOG.md)
|
|
220
|
+
- [完整功能、HTTP 通道与配置](https://github.com/shper/dsh-bot-team/blob/main/docs/%E9%85%8D%E7%BD%AE%E4%B8%8E%E6%8E%A5%E5%8F%A3.md)
|
|
221
|
+
- [使用指南](https://github.com/shper/dsh-bot-team/blob/main/docs/%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97.md)
|
|
222
|
+
- [讨论与辩论:流程、工具、API 与恢复边界](<https://github.com/shper/dsh-bot-team/blob/main/docs/%E8%AE%A8%E8%AE%BA%E4%B8%8E%E8%BE%A9%E8%AE%BA.md>)(1.3.0 源码版本)
|
|
223
|
+
- [发布指南](https://github.com/shper/dsh-bot-team/blob/main/docs/%E5%8F%91%E5%B8%83%E6%8C%87%E5%8D%97.md)
|
|
224
|
+
- [升级检查清单](https://github.com/shper/dsh-bot-team/blob/main/docs/%E5%8D%87%E7%BA%A7%E6%A3%80%E6%9F%A5%E6%B8%85%E5%8D%95.md)
|
|
225
|
+
- [消息执行过程](https://github.com/shper/dsh-bot-team/blob/main/docs/%E6%B6%88%E6%81%AF%E6%89%A7%E8%A1%8C%E8%BF%87%E7%A8%8B.md)
|
|
226
|
+
- [后台会话与完整日志](https://github.com/shper/dsh-bot-team/blob/main/docs/%E5%8E%9F%E7%94%9F%E4%BC%9A%E8%AF%9D%E4%B8%8E%E5%AE%8C%E6%95%B4%E6%97%A5%E5%BF%97.md)
|
|
227
|
+
- [新建会话:数据模型与接口](https://github.com/shper/dsh-bot-team/blob/main/docs/%E6%96%B0%E5%BB%BA%E4%BC%9A%E8%AF%9D.md)
|
|
228
|
+
|
|
229
|
+
当前源码版本为 `1.3.0`;各版本修改见 [CHANGELOG](CHANGELOG.md),详细提交与历史验收记录可通过 Git 历史查阅。临时预览、调研副本和一次性工具不纳入维护目录。
|
|
230
|
+
|
|
231
|
+
## License
|
|
232
|
+
|
|
233
|
+
MIT © [shper](https://github.com/shper)
|
|
234
|
+
|
|
235
|
+
## English
|
|
236
|
+
|
|
237
|
+
**Bot Team** is a DeepSeek Harness plugin for long-lived agent colleagues. Every bot is a real DSH agent with its own persistent session, model, `BOT.md` persona and full toolset (files, search, web, commands inside a `workspace-write` sandbox). Each bot gets a direct chat; groups support `@mention` dispatch, parallel streaming replies, peer review and multi-round discussions. Task tools and HTTP APIs support priorities, dependencies, review/acceptance and a dispatch queue; the group sidebar task panel and its creation entry have been removed. Data lives in the `bot_team` storage domain and `$DSH_HOME/dsh-bot-team/`; group conversations never pollute session logs.
|
|
238
|
+
|
|
239
|
+
Source version **1.3.0** adds structured discussions, 1v1 debates with an optional independent judge, and pause/resume/retry/finish/stop/context controls. Existing discuss tool calls still default to classic two-round discussions. Reload the local plugin Host with disable → enable, then refresh the page; see the [discussion and debate guide](<https://github.com/shper/dsh-bot-team/blob/main/docs/%E8%AE%A8%E8%AE%BA%E4%B8%8E%E8%BE%A9%E8%AE%BA.md>).
|
|
240
|
+
|
|
241
|
+
Version **1.2.1** fixes execution history loading and live token totals. **Open full session** now opens a separate read-only history page with an explicit return button; returning preserves the original execution entry, chat draft and scroll position. Member and sidebar session entries use the same history reader, including saved sessions from earlier replies. The hourly reply limit has been removed; daily token budgets remain in effect.
|
|
242
|
+
|
|
243
|
+
```sh
|
|
244
|
+
# Desktop: Plugins → Add plugin → dsh-bot-team@1.3.0, then reload
|
|
245
|
+
dsh plugin --profile <profile> add dsh-bot-team@1.3.0
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
`1.3.0` is the current source version; these npm installation examples apply once that version is published. Use a local directory to install the source before publication.
|
|
249
|
+
|
|
250
|
+
Requires DSH `0.2.1-rc.x`. The UI follows DSH's zh/en language setting, and group timelines export to Markdown, HTML, or a paginated PDF with selectable text. MIT licensed.
|