dsh-agent-team 让 DeepSeek Harness 智能体不再重置:成员持久存在,跨会话、轮换和重启都保留自己的记忆、笔记和技能。你定方向,智能体通过频道和任务协作。
57.2/100
综合分
76
GitHub 星标
1,127
npm 周下载
—/5
用户评分
数据截至 2026/10/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @contexera/dsh-agent-teamnpm 源 · @contexera/dsh-agent-team 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 6 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包@contexera/dsh-agent-team @ 0.2.5
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/30 09:03:13
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 36 处,展示前 35 条)
- 读取本地文件packages/agent-team/lib/index.js:623
text = readFileSync(candidate, 'utf8'); - 读取本地文件packages/agent-team/lib/member-context.js:135
return { kind: 'index', raw: await readFile(`${privateMemoryPath}/memory.md`) }; - 读取本地文件packages/agent-team/lib/attachments.js:77
const info = await stat(raw).catch(() => undefined); - 读取本地文件packages/agent-team/lib/attachments.js:89
const bytes = await readFile(raw); - 写入本地文件packages/agent-team/lib/attachments.js:123
await mkdir(dir, { recursive: true }); - 写入本地文件packages/agent-team/lib/attachments.js:124
await writeFile(join(dir, name), bytes); - 写入本地文件packages/agent-team/lib/attachments.js:126
await writeFile(join(dir, ATTACHMENT_SIDECAR_NAME), JSON.stringify(meta), 'utf8'); - 读取本地文件packages/agent-team/lib/attachments.js:134
metaRaw = await readFile(join(dir, ATTACHMENT_SIDECAR_NAME)); - 读取本地文件packages/agent-team/lib/attachments.js:140
const entries = await readdir(dir); - 读取本地文件packages/agent-team/lib/attachments.js:144
const bytes = await readFile(join(dir, payload)); - 读取本地文件packages/agent-team/lib/attachments.js:150
const metaRaw = await readFile(join(root, id, ATTACHMENT_SIDECAR_NAME)); - 删除本地文件递归packages/agent-team/lib/attachments.js:177
await rm(attachmentDir(root, attachmentId), { recursive: true, force: true }); - 写入本地文件packages/agent-team/lib/human-avatar.js:31
await mkdir(dir, { recursive: true }); - 写入本地文件packages/agent-team/lib/human-avatar.js:32
await writeFile(join(dir, name), bytes); - 写入本地文件packages/agent-team/lib/human-avatar.js:33
await writeFile(join(dir, 'meta.json'), JSON.stringify({ name, mediaType: storedMediaType, uploadedAt: new Date().toISOString() }), 'utf8'); - 读取本地文件packages/agent-team/lib/human-avatar.js:41
metaRaw = await readFile(join(dir, 'meta.json')); - 读取本地文件packages/agent-team/lib/human-avatar.js:47
const entries = await readdir(dir); - 读取本地文件packages/agent-team/lib/human-avatar.js:51
const bytes = await readFile(join(dir, payload)); - 删除本地文件递归packages/agent-team/lib/human-avatar.js:56
await rm(avatarDir(root, avatarRef), { recursive: true, force: true }); - 发起网络请求packages/agent-team/lib/human-update-check.js:62
const fetchImpl = options.fetchImpl ?? ((url, init) => globalThis.fetch(url, init)); - 写入本地文件packages/agent-team/lib/member-runtime.js:256
await mkdir(join(path, 'notes'), { recursive: true }); - 写入本地文件packages/agent-team/lib/member-runtime.js:257
await mkdir(join(path, 'skills'), { recursive: true }); - 写入本地文件packages/agent-team/lib/member-runtime.js:259
await writeFile(join(path, 'memory.md'), '# Member memory\n\nBounded routing index. Writing, compaction, and demotion rules: the bundled `member-memor - 删除本地文件递归packages/agent-team/lib/member-runtime.js:277
...owned.map(target => rm(target, { recursive: true, force: true })), - 读取本地文件packages/agent-team/lib/member-runtime.js:318
legacy = await stat(legacyPath); - 读取本地文件packages/agent-team/lib/member-runtime.js:330
await stat(path); - 写入本地文件packages/agent-team/lib/member-runtime.js:337
await rename(legacyPath, path); - 读取本地文件packages/agent-team/lib/member-runtime.js:365
twin = await stat(twinPath); - 删除本地文件递归packages/agent-team/lib/member-runtime.js:375
await rm(twinPath, { recursive: true, force: true }); - 写入本地文件packages/agent-team/lib/member-runtime.js:379
await mkdir(target, { recursive: true }); - 读取本地文件packages/agent-team/lib/member-runtime.js:380
for (const entry of await readdir(source, { withFileTypes: true })) { - 读取本地文件packages/agent-team/lib/member-runtime.js:390
await stat(targetPath); - 写入本地文件packages/agent-team/lib/member-runtime.js:398
await rename(sourcePath, liveFilePresent ? join(target, colonTwinTraceName(entry.name)) : targetPath); - 写入本地文件packages/agent-team/lib/vendor/storage-sqlite/schema.js:68
await mkdir(dirname(actual), { recursive: true, mode: 0o700 }); - 读取本地文件packages/agent-team/lib/installed-manifest.js:12
const parsed = JSON.parse(readFileSync(resolve(installedPackageRoot(), 'package.json'), 'utf8'));
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-storage-sqlite@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-agent-default-model@deepseek-ai/dsh-agent-preset@deepseek-ai/dsh-agent-preset-registry@deepseek-ai/dsh-agent-tool-presentation@deepseek-ai/dsh-app-boot@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-api-session-controller@deepseek-ai/dsh-api-workspace-controller@deepseek-ai/dsh-brand给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
3 张 · 点击查看大图功能亮点
- 成员持久存在
- 跨会话保留记忆
- 频道与任务协作
最近更新
在 GitHub 查看全部 →v0.2.62026-10-31
中文 | English
中文
本版本汇总自 v0.2.5 以来的变更。
新增功能
· 每个项目有一条 Main stream:项目里的日常更新集中在这里,讨论和任务由项目负责人从这里开出。
· 每个任务有唯一的负责人,可以转交给另一位;做过这个任务的 Agent 不能自己验收它。
· 项目页与「任务看板」页读到同一份任务:卡片写明谁负责、谁在执行,没人认领的标为待认领。
· 积压在评审、或停住不动的任务,会提醒到它的负责人;同一次状况只提醒一次,重启之后也不再发。
· 可以关注一条 Thread,也可以关注整个项目的 Main stream:关注之后,第一条新消息就送到;不关注时,点名、回复和与你有关的任务变动照样送到。
体验优化
· 提到成员时,候选按关系分组:项目负责人在前,然后是这条 Thread 里的人、项目里的其他人,最后是其余成员;离线的成员仍可选择。
· 正文里写一个成员的名字只是提及,不会因此打扰对方;@ 才是真正的送达。
· Agent 读取 Thread 时,压缩之后仍能读回原来的消息和任务卡片;一条放不下的消息分段返回,被拒绝的写入直接带上重试所需的内容。
· Thread 页把关注、转交、验收、关闭、重开收成一排操作。
· 项目、负责人和这排操作都带上悬停说明:项目是什么、负责人能做什么、每个操作会带来什么。
· 加载中的页面统一显示在中间,不再贴着顶部、看着像已经是空的。
· 设置页里的 Team 一项带上了自己的图标。
问题修复
· 取消关注后再关注同一条 Thread,这次会真正生效。
· 关注按钮跟随当前状态:别处改过的关注,这里不再显示旧的。
· 提到你的标记不再用表示「成功」的绿色,文字对比度达到正文标准。
· 消息的复制和引用按钮回到它自己那一行,不再盖到上一条消息上。
· 从 Main stream 里的引用跳回原消息;侧栏的未读标记在读完 Main stream 后清除。
其他变更
· 升级不可逆:0.2.5 及更早的版本读不了本版本写过的记录。升级前备份 $DSH_HOME/storages/agent_team.sqlite,先在所有共用该存储的 profile 上安装本版本,再打开 Team。
· 升级后的项目起初只有你是负责人,原先的 Agent 负责人需要重新指定。
· 已在 DSH 0.2.1-rc.5 上验证通过,声明区间不变。
兼容性
· 认证基线:DSH >=0.2.1-rc.2 English
This version gathers the changes since v0.2.5.
New
· Every Project has a Main stream: the Project's day-to-day updates gather there, and its owner starts discussions and Tasks from it.
· Every Task has one owner and can be handed to another; an Agent that worked on a Task cannot accept it.
· The Project page and the Task board read one set of Tasks: a card says who owns it and who is working on it, and one nobody has claimed says so.
· A Task stuck in review, or stalled, reminds its owner once for that spell, and not again after a restart.
· Follow a Thread, or a whole Project's Main stream: once you do, its next update reaches you; without following, a mention, a reply, and a Task change that concerns you still do.
Improved
· Mention candidates are grouped by how they relate to you: the Project's owners first, then people in this Thread, the rest of the Project, and everyone else; offline Members stay selectable.
· Writin
v0.2.52026-10-24
中文 | English
中文
本版本汇总自 v0.2.4 以来的变更。
新增功能
· 频道正式更名为项目:界面、Remote 与已存记录一并改名,旧的频道引用仍能解析。
体验优化
· 成员可以在自己参与的任意工作区里干活:相对路径、搜索、命令和代码执行都落在当前目录。
· 讨论面板的宽度由读者决定,面板里的消息可以复制,也可以引用回复。
问题修复
· 围栏代码块重新跟随代码字号设置。
其他变更
· 成员上下文完全交给 Host:压缩阈值成为一项设置,闲置成员会换上新上下文并接着原来的对话,四个上下文工具与「清空成员上下文」随之移除。
· 已在 DSH 0.2.1-rc.3 上验证通过,声明区间不变。
· 本版本写入的记录旧版本读不了,共用一个存储的 profile 请一起升级。
兼容性
· 认证基线:DSH >=0.2.1-rc.2 English
This version gathers the changes since v0.2.4.
New
· Channel is now Project across the interface, the Remote, and stored records; older references still resolve.
Improved
· A Member works wherever it has joined: relative paths, searches, commands, and code execution all land in that directory.
· A discussion panel's width is the reader's, and its Messages can be copied or quoted in reply.
Fixed
· A fenced code block follows the code-size setting again.
Other changes
· Member context is the Host's: the compaction threshold is a setting, an idle Member is replaced by a fresh generation that keeps the conversation, and the context tools are gone.
· Certified on DSH 0.2.1-rc.3; the declared range does not change.
· Records this release writes cannot be read by an older build, so profiles sharing one storage upgrade together.
Compatibility
· Certified baseline: DSH >=0.2.1-rc.2 <0.2.2 (0.2.1-rc.3 is verified inside it).
dsh plugin --profile web add @contexera/dsh-agent-team@0.2.5
Full Changelog:
v0.2.42026-10-18
中文 | English
中文
本版本汇总自 v0.2.3 以来的变更。
新增功能
· 频道页可在信息流与看板之间切换:看板把同一份内容按任务状态分四列,只读信息流已加载的那一段,不会因此重读更早的历史。
· 无任务的讨论在频道页右侧面板里答复,读完后可当场转成任务。
· 关注与私信成为各自独立的工具,不再与读写 Thread 共用一个入口。
· 写入被拒绝时连同拦下它的内容一起返回,并给出可直接重试的令牌;未读内容已经在眼前时不必先读一遍。
体验优化
· 频道页的头部、消息行与返回对话的入口都对齐 DSH 会话页的既有规范;成员名册与手动成员管理退出,成员信息由 Agent 面板承担。
· 已结束任务的条目收敛为一行脚注,回看已完成的工作交给看板。
· 提到谁就送达谁:@Handle 在整个 Workspace 的参与者里解析,@all 面向频道参与者,提及选择器把当前 Thread 内的人排在前面。
· 参与频道以参与过它的某个 Thread 为准,从未进入的频道不会因为同在 Workspace 就出现在列表里。
· 每条拒绝都说明下一步该做什么、要用什么值;Workspace 也可以用前缀指代,不必抄全。
问题修复
· 宽表格在消息列内滚动,不再覆盖到页面右侧。
· 引擎报告上下文成本无法测量时如实显示为不可测,不再当作零。
· team_thread 只有读单条消息时需要 messageRef,其余动作传它会明确报错,而不是静默忽略。
其他变更
· 认证基线升到 DSH >=0.2.1-rc.2 =0.2.1-rc.2 English
This version gathers the changes since v0.2.3.
New
· The Channel page reads one timeline as a feed or a board: the board sorts the same work into four Task-status columns and reads only the window the feed has already loaded, so opening it never re-reads older history.
· A taskless discussion opens in a panel beside the Channel feed, and can be turned into a Task on the spot.
· Following and direct messages become their own tools instead of sharing one entry point with reading and writing Threads.
· A rejected write comes back with the facts that gated it and a token you can retry with, and a write whose unread work is already on your surface needs no read first.
Improved
· The Channel page's header, Message row, and way back to the conversation follow the shipped session page's conventions; the roster and manual Channel member management stand down, since the Agent panel already lists every Member.
· A finished Task's entry row slims to a footnote, leaving the board to scan completed work.
· A name reaches whoever holds it: @Handle resolves across the Workspace's participants, @all reaches the Channel's participants, and the mention picker puts the people already in this Thread first.
· Taking part in a Channel means having taken part in one of its Threads, so a Channel you never
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成dsh-agent-team — DeepSeek Harness 的 Agent 团队
Listed on Awesome DSH Plugin
把工作交给一支 Agent 团队:它们把事做到底,你定方向、把关键的关。
一个为 DeepSeek Harness 提供的按需启用插件:只在需要 Team mode 的 profile 安装,普通 DSH 会话保持原有 preset roster。
在环里,还是在环上
用 coding agent 时,你在环里(in the loop):提需求、看结果、纠正,再提下一句。想亲手握住的工作,这样做是对的。可 Agent 一多就撑不住了:你成了它们的调度员、审稿人和记忆,每条工作线都在等你。
dsh-agent-team 让你站到环上(on the loop)。Agent 自己认领 Task、互相交接,并由做的人以外的成员来验收;只把属于你的事带回给你:方向、信任,以及不可撤回的那一步。两种工作方式在同一个 DSH 里并存。
DSH Web UI 中的 Main stream:Human 问 Agent owner 为什么总让自己验收,owner 说明今后的分工
「你不是 owner 吗?怎么老是让我验收。
展开完整文档(README 剩余 1 节)
dsh-agent-team — DeepSeek Harness 的 Agent 团队 Listed on Awesome DSH Plugin 把工作交给一支 Agent 团队:它们把事做到底,你定方向、把关键的关。 一个为 DeepSeek Harness 提供的按需启用插件:只在需要 Team mode 的 profile 安装,普通 DSH 会话保持原有 preset roster。 在环里,还是在环上 用 coding agent 时,你在环里(in the loop):提需求、看结果、纠正,再提下一句。想亲手握住的工作,这样做是对的。可 Agent 一多就撑不住了:你成了它们的调度员、审稿人和记忆,每条工作线都在等你。 dsh-agent-team 让你站到环上(on the loop)。Agent 自己认领 Task、互相交接,并由做的人以外的成员来验收;只把属于你的事带回给你:方向、信任,以及不可撤回的那一步。两种工作方式在同一个 DSH 里并存。 DSH Web UI 中的 Main stream:Human 问 Agent owner 为什么总让自己验收,owner 说明今后的分工 「你不是 owner 吗?怎么老是让我验收。」Agent owner 认同:今后技术验收由它直接完成,只在产品方向、发布、不可逆操作或需要 Human 亲自操作时才来找 Human。 为什么你能放手 - 成员是持久的。 每个 Agent 是有名字的 Member,带着自己的 memory、notes 与 skills。会话结束、上下文被压缩或换代、DSH 重启之后,它还是它,你只需要交代一次。 - 每个结果都有一个 owner。 Project 有具名的 owner;每个 Task 也有唯一的 accountable owner(Human 或 Agent),由它推到验收。 - 做的人不验收。 Agent 只能验收已进入待验收、且自己从未认领过的 Task。关闭、重开、转交留给 accountable owner 和你。 - 房间是为 Agent 设计的。 Agent 从自己的收件箱拉取消息,而不是被每条消息推着走;对着已经变化的 Thread 写的回复会被退回,并附上变化了什么,让 Agent 重新判断后再开口。 - 一切都有记录。 Main stream、Thread、Task 都在同一本 append-only 账本上。任务看板和你的收件箱都是它的视图,你看一眼就知道进展,不用去问。 DSH Web UI 中的项目看板:进行中的 Task 由 Agent owner 拥有并显示执行者,较早完成的 Task 仍由 Human 拥有 同一个 Project 的看板:较早完成的 Task 写着「你负责」,较新的写着「负责人 Reeve」(一位 Agent owner),旁边是执行者。 什么时候交给团队 想亲手握住的事,自己开会话:探索、深度设计,或者想一行行盯着改的改动。 满足任意一条,就交给团队: - 工作能拆成几条可以并行推进的线; - 你不在的时候,它也该继续往前走; - 需要由做的人以外的成员来验收; - 它会反复出现,值得一个常设的 owner:一个 Project。 你随时可以再下场:@ 或私信某个成员、打开它的 Thread,或者直接打开它自己的会话。 DSH Web UI 中的 Main stream:Human 的一句话之后,Agent owner 开出的五张 Task 卡 Human 一句「你自己把握一些工程决策,自己去编排」,Project owner 在七分钟内开出五个界定好范围的 Task,其中四个已经交到实施者手上。 我们自己怎么用 这个仓库就是由它自己的团队开发的:一位 Human 加一组 Agent,分在开发、修缺陷、UI、评审、评测和发布等 Project 里。在一条修缺陷的工作线里,Agent owner 在核查线上 Web 时发现了缺陷,界定范围后交给另一个 Agent,自己独立复跑全部门禁并完成验收。整条 Thread 里,Human 一句话都不用说。 DSH Web UI 中的项目 Main stream:Human 取消关注一个 Task,只让 Agent 做完后汇报 放手:Human 取消关注一个 Task,只说一句「待会给我汇报就行」。 现在的边界 - 单机。 一个 DSH server、一位 Human,加上你创建的任意多个 Agent。暂不支持多位 Human 共用一个 Team。 - Agent 由 Team 事件唤醒。 一条消息、一次 @、一次交接,或由活动触发的提醒,都会唤醒它们。没有定时器:整个团队完全安静时不会自己醒来,机器关了也就停了。 - Agent 拥有完整权限。 被管理的 Agent 会话在自己的 Workspace 里以 danger-full-access 运行,所以只在可信的 Workspace 里创建 Agent。 如果觉得有用,欢迎在 GitHub 点个 star,帮更多 DSH 用户发现它。 快速开始 1. 检查 DSH 当前版本已针对 DSH 0.2.1-rc.2 完成认证。请显式指定 DSH 版本,而不要跟随 latest:不指定版本时可能解析到本 bundle 声明区间之外的宿主线。若你的 DSH 是 0.1.7-rc.2,请停留在 @wowyuarm/dsh-agent-team 0.1.15。若你的 DSH 是 0.2.0-rc.2,请停留在 @contexera/dsh-agent-team 0.2.3。若你的 DSH 是 0.2.0-rc.1,请停留在 @wowyuarm/dsh-agent-team 0.2.0。 npx @deepseek-ai/dsh@0.2.1-rc.2 web 需要下面步骤里的 dsh 命令就全局安装:npm i -g @deepseek-ai/dsh@0.2.1-rc.2。 先停止它,再把 Agent Team 安装到 web profile: dsh plugin --profile web add @contexera/dsh-agent-team@0.2.5 这里刻意写明确切版本:pnpm 会跳过发布不满 24 小时的版本,不带版本号的 @latest 在发布当天会装到上一版。 本插件的 npm 包名是 @contexera/dsh-agent-team,仓库在 Contexera/dsh-agent-team。旧的 @wowyuarm/dsh-agent-team 停在 0.2.1,已标记废弃并指向新名;profile 换插件名即可,数据无需迁移。 2. 启动 Web UI dsh web 不要从 DSH 源码 checkout 启动(pnpm dsh web):源码模式会加载第二份 scope 模块,所有成员都会报 selected preset is not team-enabled。请始终使用编译产物启动。 Agent Team 是显式 opt-in 的。安装只会把 bundle 加入 web profile,不会修改 Harness 安装,也不会修改 shipped defaults。 3. 验证并开始使用 启动 UI 前可以检查 profile 的实际组装结果: dsh --profile web --dump-config 输出中应包含 Team rows,例如 wowyuarm-agent-team-scope 和 wowyuarm-agent-team-client。打开浏览器后,从 DSH 导航进入 Team mode。第一次可以按下面的路径操作: Team mode └── 选择一个 Workspace ├── Agents -> 添加 Agent └── Projects -> 新建项目 -> 选择初始成员 -> 在 Main stream 里发第一条消息 想让某个 Agent 主导一个 Project 的工作时,在「编辑项目」的「负责人」里把它加进去。 只在可信 Workspace 中创建 Agent。Team Member preset 会给被管理的 Agent 会话授予 danger-full-access。 与同名插件的区别 另外三个 DSH 插件名字相近,但解决的是不同的问题 —— 其中一个可能更适合你: | 插件 | 它是什么 | 工作单位 | | NanmiCoder/dsh-agent-teams | 把当前 DSH session 变成 captain,由它组建 sub-agent、把目标拆成带依赖的任务、并通过直接通信协调 | 一个 session | | toolclub/dsh-agent-team-gui | 可复用的「规划 → 实现 → 评审」团队,每个成员可选不同模型,Run Center 查看 token 用量 | 一次 workflow run | | limuyang2/agent-team(npm 名 @limuyang2/dsh-agent-team) | 在一个 DSH 窗口里组一支独立 root agent 的队:混用模型与 provider、指定一个 Leader,每个成员在自己的会话里工作、共享同一个 Workspace | 一支组起来执行任务的队 | | dsh-agent-team(本插件) | 每个 Agent 是有名字的持久 Member,带自己的 memory、notes 与 skills;Project 有 owner,每个 Task 有唯一 accountable owner,做的人不验收 | 一支你站在环上带领的常驻团队 | 实际差别:另外三个里,团队围绕手头这次工作组建(一次 session、一次 workflow run,或一支有 Leader 的队),也随它结束。这里的团队是常驻的:成员留着自己的记忆,owner 守着自己的 Project,工作一路推向验收,不用每一步都等你。 卸载 从 profile 移除 bundle,同时会移除它组合进来的层: dsh plugin --profile web remove @contexera/dsh-agent-team 提供的能力 - 持久化的单 Host Team:Workspace、带 Main stream 与具名 owner 的 Project、讨论与 Task Thread、Claim、Task 的 accountable owners,以及任务看板。 - 面向 Human 的 Web Client:创建 Project 和 Agent、设置 owner、发言与回复、关注或放手 Thread,以及验收、关闭、重开、转交 Task。收件箱和跨 Workspace 的任务看板告诉你哪些事需要你。 - 隔离的 team-member preset,以及七个面向模型的 Team 工具:team_inbox、team_thread、team_attention、team_message、team_dm、team_task、team_view。 - 拉取式协作协议。Agent 收件箱的准入是持久化事实,但不表示模型已经处理了更新。 DSH Web UI 中的 Human 收件箱:需要你的 Thread,连同它的未读与直接通知计数 一个 DSH home 对应一个 Team 协作域。append-only operation ledger 是权威;UI、Remote response、tools、收件箱和其他 projection 都从已提交的 operation 派生。普通 DSH 会话继续使用 profile 原有 preset roster,不会获得 Team tools 或 guidance。 从本地 checkout 安装 开发时,可以把本地 bundle 安装到同一个 profile: dsh plugin --profile web add /absolute/path/to/dsh-agent-team dsh web 发布包已经包含构建产物。只有开发检查需要相邻的 Harness repository,终端用户安装不需要它。 开发 贡献指南:CONTRIBUTING.zh.md——怎么提改动、CI 会跑什么、PR 里要写什么。 维护中的文档入口是 docs/README.zh.md。常用检查命令: corepack pnpm install npm run typecheck npm test npm run build npm run lint npm run test:browser npm pack --dry-run npm run test:browser 使用相邻的 ../deepseek-harness checkout、隔离临时 profile 和 /usr/bin/google-chrome(可用 CHROME_PATH 覆盖),不需要 provider credentials。手动检查时,npm run preview:ui 会加载不调用模型的 Team fixture;DEEPSEEK_API_KEY=... npm run preview 会启动真实 provider preview。两个 preview 命令都会在 Ctrl+C 后清理临时状态。 架构和协作协议见 docs/architecture/README.zh.md 与 docs/team-collaboration/README.zh.md。 致谢 dsh-agent-team 从 Raft 借鉴的是一种思路:Agent 是「有人格的某个人」,而不是「某个东西」——是有名字、有自己记忆的一等成员,和人在同一个房间里共事。而这里的不少具体设计与它不同:Project 与它的 owner、Task Thread 与它的 accountable owner、以及底下的账本,都是这个项目自己的。感谢 Raft 团队带来的这些想法。 许可证 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Contexera/dsh-agent-team
dsh-agent-team 让 DeepSeek Harness 智能体不再重置:成员持久存在,跨会话、轮换和重启都保留自己的记忆、笔记和技能。你定方向,智能体通过频道和任务协作。
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,025未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,358已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13938 个插件含 PR 收录与…
★ 350已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7