@dsh-libing/solo-team

中文文档
0.4.5发布于 2026/11/12UNLICENSEDTypeScriptES Module近 30 天下载 2166

带头像侧边栏、原生多私聊会话和按需群协作的独立 Agent

原始使用文档
文档目录12 节
  1. 安装与开始使用
  2. 任务进展与 Token 用量
  3. 持续对话与配置生效
  4. 指挥模式
  5. MCP、知识与记忆
  6. 旧数据兼容
  7. 持久数据与恢复
  8. 单次输出上限与继续执行
  9. Windows 工作区权限修复
  10. 部署配置
  11. 开发验证
  12. 图标

@dsh-libing/solo-team

当前开发基线为 DSH 0.2.2-rc.2,本轮版本为 0.4.5。接口迁移与验证边界见适配记录。本轮尚未上传 npm。

DSH 0.2.2-rc.2 的个人 Agent 团队:一名真人管理长期独立的根 Agent,先配置和私聊,再按需建群协作。当前开发版本为 0.4.5(尚未发布),提供队长维护的进展简报和手工干预。不依赖官方实验性 Agent Teams。

Agent 编辑页按「身份与职责、模型与权限、工作区与存储、工具与技能、知识与记忆」分组,使用统一边框与间距,所有改动统一保存。技能和知识目录为空时,添加按钮放在左侧;目录选择确认后才加入,取消不生成空行。Agent 工作区展示当前目录与「更改目录」,不再重复提供已有工作区下拉框;未指定时保存后自动创建专属工作区。专属存储也通过选择目录配置,不手填绝对路径。页内选择器可通过 DSH 官方接口新建文件夹,创建后进入该目录,再确认使用;取消选择不会删除已创建目录。原生后端仍使用 DSH 系统目录窗口。

安装与开始使用

在「我的 Agent」首页的「我的昵称」中设置统一的真人 #代称,所有群共用。支持中文、字母、数字、下划线和短横线,最多 32 个字符,不带 # 输入;不能与已有 Agent handle 或 all 重名。原 #human 仍可使用,内部真人身份和历史正文不变。设置只影响后续提示词及当前展示,不会中断或重新派发正在执行的请求。SQLite 数据版本升级至 6,加载后不能用旧包直接写回,更新前请备份。

当前队长/默认回复者在群成员栏、消息头像及执行状态头像上带角色标识:指挥模式显示金色皇冠,普通模式显示蓝色星标。标识随本群配置变化,不代表 Agent 在所有群都是队长;点击入口仍打开本群控制私聊。

新建/编辑 Agent 和添加会话的保存、创建与取消按钮位于表单末尾,随页面内容滚动,不覆盖正在填写的字段。

群设置的页头与表单共用居中的 960px 最大内容宽度,窄屏铺满可用区域并折为单列。

群标题紧旁按 session-id 样式显示群 ID:标签、等宽 ID、复制图标组成整块可点击入口,悬停显示提示,成功显示短暂勾选反馈。窄屏隐藏标签,长 ID 可横向滚动;失败提示重试。

群聊错误提示与协调消息沿用聊天正文宽度,长文本自动换行;协调消息使用居中的浅底提示,错误提示保留独立的错误颜色和边框。

任务进展中的指挥任务、普通待办和展开详情共用列表宽度与卡片边距,窄屏保持单列。

群工作区使用同一个可输入、可选择已有目录的输入框,旁边保留「浏览目录」;清空输入即使用各成员自己的默认工作区。新建会话与群设置使用同一控件。群设置中的归档区直接展示说明、确认项和按钮,勾选确认后才允许归档。

pnpm run pack
dsh plugin --profile web add --save-exact ./artifacts/dsh-libing-solo-team-0.4.5.tgz
dsh web
  1. 点击侧边栏「我的 Agent」,在页面中新建伙伴,填写名称与角色定位,选择头像、独立 provider/model、能力预设、权限、技能、工具、MCP、知识与记忆。handle(编辑页的「@ 名称」)不能重复,群中用 #handle 点名。新建保存成功后自动返回「我的 Agent」首页,并在首页及侧边栏显示新伙伴;保存失败保留草稿和错误提示。已有 Agent 编辑保存后仍停留当前管理页。无需先组队或设置任务。
  2. 每个 Agent 自动创建专属工作区与存储,也可通过「更改目录」指定工作区。额外技能目录按官方 registry 发现;专属 skills/ 自动挂载,storage/ 保存跨会话私有笔记。聊天不会自动训练模型或保存已确认记忆。
  3. 侧边栏列表顶部显示「Agent工作区」,沿用官方「工作区」标题样式;放大镜点击展开搜索时收起标题,关闭或 Escape 恢复,加号直接新建 Agent。Agent 按官方工作区行展示:14px 字体、16px 图标与8px行内边距,当前私聊所属头像显示主题色高亮,收起时仍可辨认;点击行主体进入管理页面,有私聊时同时开合列表,方向键也可开合;悬停显示「···」与新会话图标。成员旁的新会话悬停提示仅显示「新会话」,点击直接打开独立私聊并自动命名;通用「添加会话」仍可选择一位 Agent 创建私聊。一个 Agent 可以有多个独立私聊,它们共享身份与已确认资产,各自保留独立上下文。点击私聊直接进入完整 DSH 原生 Conversation,沿用对话、模型选择、工具记录、轨迹和记忆页签。私聊页头保持 DSH 原生,不添加「会话设置」或 Agent 管理按钮;在侧边栏点击 Agent 管理身份,私聊行菜单管理会话。
  4. 「添加会话」选择多位已有 Agent 创建群会话,会话名可选,你作为真人成员参与。工作区可选,留空时各成员使用自己的工作区;侧边栏统一展示群会话,不按执行目录拆分。高级设置可调整默认响应者、自动回应上限和互相 #,创建后可继续修改成员、转交层数及并发。群设置的名称、用途和工作区逐行排列,工作区输入框与浏览按钮同排。
  5. 群会话显示成员头像与每条消息真实发表者,真人消息靠右,Agent 回复使用 DSH 官方 Markdown 组件。输入 # 选择本群成员,可按名称/handle 筛选,支持鼠标、方向键、Enter / Tab 和 Escape。#all 请所有可用成员回复;不点名时由默认响应者回复。暂停、未知成员或 #human 不回退到默认响应者。代码块和行内代码不作点名,@ 用于官方文件/会话引用。只有显式群消息工具按群策略转交,互 # 默认关闭。
  6. 达到回应上限等待真人「继续此讨论」;暂停阻止后续派发,停止取消当前执行且不回滚文件。点击本群队长/默认回复者头像直接进入本群专属控制私聊,首次点击创建、后续复用;其他成员头像打开该成员最新的本群执行会话,包含原生对话、工具与轨迹。任务进展、Token 用量和群设置为互斥展开的页内入口,不弹出遮罩。设置期间保留聊天草稿,点击保存才应用修改;取消、收起或切换入口丢弃未保存的设置。归档保留消息、资产和原生日志。
  7. Agent 的「···」菜单支持重命名与删除。删除从列表移除并停止执行、退出当前群聊;剩余成员接任默认响应者,没有成员的群归档。工作区文件、资产、历史消息和 Session 日志保留,不作文件清除。已删除身份不能重新启用或加入群。
  8. 再次点击「我的 Agent」恢复官方工作区与普通会话;选择其他全局面板也恢复原侧边栏。侧边栏底部不再提供重复的返回按钮。工作流功能已移除,不再要求设置任务、队长或审核计划。 Agent 按手动拖动顺序展示,保存名称、头像或配置不改位置。「视图选项 → 排序方式」沿用官方「手动 / 最近更新」,控制私聊显示;群会话有独立的搜索和排序菜单,手动私聊可在同一 Agent 下拖动,配置换代保留稳定线程位置。视图选择与排列保存在当前 profile,重启恢复。

私聊行对齐官方 32px 高度、14px 字体与空状态格,不再显示电话字符。悬停显示「··· / 归档 / 置顶」,菜单提供置顶或取消置顶、重命名、分叉和归档。置顶与可恢复归档使用 DSH 原生状态;「视图选项 → 筛选会话」可隐藏、显示或仅显示已归档,已归档行可取消归档,归档后的提示也支持撤销。运行中的会话先提示确认停止再归档,归档不删除日志或资产。分叉创建同一 Agent 的另一独立线程、复制历史,使用单独的受管 Session/preset;原线程保留,运行中不允许分叉。旧版本通过插件接口终止的线程不自动恢复。

重命名使用官方默认弹窗与输入样式,标题「重命名 Agent」,提供「取消 / 重命名」按钮、Enter 提交与中文输入法处理。

操作按钮保持可见边框或背景。侧边栏加号使用官方图标与 Tooltip,沿用 500ms 悬停延迟及主题文字样式,提示不受滚动区域裁剪。预设与权限名称沿官方中英文设置;自定义名称保持原文。浏览目录复用官方服务:原生后端直接打开系统目录选择器,页内后端显示目录浏览框,取消不改变路径。额外技能目录与知识文件夹点击添加后先选目录,确认后才加入列表,取消不新增;不提供手填,重复路径不追加。「删除」仅移除表单中的绑定,不删除磁盘目录,目录改动统一保存 Agent 后生效。模型凭据由 DSH 管理,插件不保存或展示 API key。

任务进展与 Token 用量

群聊页头「任务进展」和「Token 用量」分别打开协作进展与计量。进展提供任务、成果、结论三个页签,支持搜索与来源定位;卡片展示类型、状态、成员和时间,正文使用 Markdown 渲染。

任务只跟进明确的交付、验证和后续行动,不再把每条群消息变成任务。真人可在来源消息点「加入待办」,成员可通过进展工具登记自己受派工作的行动项,普通问答、头脑风暴和总结请求不自动创建。新任务关联来源执行、负责人和文件成果;执行结束进入待验收,失败进入待处理。只有真人可确认完成或暂不处理,二者默认进入「已完成与历史」,可重新加入待办,不删除来源消息或成果。

误加的普通任务在「待开始 / 待处理」状态提供「删除任务」,确认后移除任务卡、说明和分工,不保留到历史;原消息、文件成果、结论引用和执行日志保留,原消息可再次加入待办。只有真人可删除;运行、排队、待验收、已验收、暂不处理及指挥流程任务不允许直接删除。历史中的旧自动任务若仍为待处理,也可删除,不会刷新后重建。删除不等于取消执行,原有「暂不处理」仍是可恢复的搁置。

点击「继续处理」会按当前有效负责人新建关联原任务的群消息与派发,明确要求先核对已有成果、只做剩余工作;不重放旧工具或自动恢复不确定执行。续办消息中标题和说明相同只保留一份;不同时分别标注任务和补充要求,原消息不改写。群暂停、负责人停用/移出群、已有运行或排队任务时拒绝继续;同一请求幂等,不重复派发。派发成功后自动返回当前群聊并跟随最新执行;失败则留在进展页显示错误。编辑任务或恢复待办只改记录,不启动模型;运行中不可更换负责人、完成或暂缓,需先停止当前讨论。

首次升级将旧自动卡片的来源 ID 固定到历史,保留原消息、状态和成果,已人工维护的任务继续保留。旧讨论可手动加入待办;之后的新普通消息不再生成卡片。任务仍是群内轻量待办,不提供自动依赖排程或无限历史容量。

成果自动读取本群准确 Session/turn 的成功 write/edit 结果,保留文件、工具、来源与执行时 diff;读取、仅提及文件和失败写入不算文件成果。报告写入可渲染 Markdown,代码与编辑显示修改前后片段,预览每侧及正文最多16000字符,过长会标注;不读取磁盘当前版本。最多显示最近256项文件产出,原生成员会话保留完整历史。Shell、MCP 和缺少已知元数据的工具没有通用归集能力,清单不保证覆盖所有磁盘变更。每条消息的「补充收录此消息」可继续收录分析或验证记录,历史人工标记保留;收录不代表验收。

点击「总结本轮」明确请默认响应者整理结论、分歧、未核实项和下一步,使用本群来源消息与任务关联提交到结论页,不会在后台额外调用模型。成员在群会话获得 libing_solo_team_progress,通过 progress.read 读取最近任务/结论,再提交 progress.task 或 progress.conclusion;Host 按实际成员身份检查群、来源、任务归属和验收权限。结构化记录保存在原 SQLite owner,文件证据始终从原生日志投影,重启不启动模型。

用量面板打开时读取一次,点击「刷新用量」重新采样。范围是本群派发对应的全部历史 Session/turn,去重读取,包含旧配置会话;不含私聊和独立 subagent 消耗。成员行展示当前状态、最近派发的模型、累计执行耗时、已落盘模型调用、工具调用、已计量调用和已上报输入/输出 Token。等待人工处理沿用官方实时状态。不可读日志、缺失计量与不完整总量明确标注,零上报与未上报分开;执行中尚未落盘的模型调用不计入本次快照。成员改过模型时,累计用量不按模型拆分。

调用明细按名称与次数逐行显示:模型调用是日志中记录的模型回复及失败尝试,工具调用是实际发出的工具请求,已计量调用是收到提供方 Token 计量的模型回复数;它们都不是群消息数量,也不是 Token 数。次数标注「次」,输入与输出另列 Token,未上报的计量不补为零。

「本群 Token 参考预算」按群持久保存,0 关闭;按全历史已上报输入加输出 Token 提示达到预算,不自动停止运行,也不限制单次模型调用。自动回应次数继续由群策略控制。当前没有价格配置与费用换算,不显示推算费用。计量不足时不能把统计视为完整账单。

达到或超过已保存预算时,面板顶部显示红色警告条、超额 Token 与比例,以及已上报用量和预算。计量不完整时明确提示实际超额可能更高。「暂停讨论」仅在当前讨论活跃时可用,阻止后续派发;「调整预算」定位并选中预算输入框,修改后仍需保存。

持续对话与配置生效

「我的 Agent」入口支持再次点击退出:在管理页、群聊或 Agent 原生会话中再次点击该入口,恢复原生工作区侧栏;底部不再单独显示返回工作区入口。退出不暂停或取消任务。原生工作区中仅包含 Solo Team 会话的分组以及空的自动专属工作区被隐藏;包含普通 DSH 会话的混合分组和普通空工作区保留,但其中 Solo Team 管理的当前及历史 Session 行隐藏,普通会话不受影响。此操作仅影响侧栏分组展示,不删除工作区注册、目录、Session、文件或记忆,也不是搜索过滤或权限隔离。前端适配针对 rc.2 的自身入口按钮及原生 data-row-key 分组结构,升级 DSH 时需复核。

每个 Agent 的专属技能目录为 <storageRoot>/skills/,额外技能从配置的 skillDirs 原目录读取;基础 preset 也可提供技能,选择列表只控制可用技能,不复制原文件,最终加载清单以对应原生会话的技能目录为准。私有笔记通过存储工具读写 <storageRoot>/storage/,它与已确认记忆不同。已确认记忆及候选由记忆中心默认保存到当前 profile 的 libing/memory-manager/memory.sqlite(部署配置可覆盖数据根),私有模式按 agent:<Agent ID> 隔离,工作区模式按实际 canonical 工作区隔离;关闭记忆不删除已有数据。

展开用量时使用独立可滚动内容区,暂时隐藏聊天与输入框;收起后返回群聊并保留草稿。用量面板用三张摘要卡分别显示累计 Token、已上报输入与输出,保留完整、部分和暂无计量标识,未知值不显示为零。预算独立成区,32px 数字输入框与保存按钮对齐,预算说明可展开;达到预算仍显示红色提醒。成员明细合并展示状态、耗时、调用与输入输出,减少横向列数,窄屏仅明细表可横向滚动,不改变统计、预算保存或暂停逻辑。群聊内切换单个成员的当前会话模型时,先输入 #handle 明确一位成员,再通过 + 的指令菜单或 /model 打开官方模型选择器;#all 不支持批量切换。修改伙伴管理页的模型则属于身份默认配置,按下文的配置换代规则生效。

群输入框上方的「派发记录」显示最近 8 轮讨论中各成员的派发状态与自动回应次数,用于排查排队、暂停和失败;它不是任务或结论面板。任务与成果查看「任务进展」,详细工具调用查看「成员会话」。成员通过工具发表群回复后可能继续更新进度或执行其他操作,此时显示「已发群回复,仍在执行」,不代表再次唤醒。是否完成以实际执行结束为准,而不是以回复中的完成声明为准。

点击群成员栏、群消息或执行提示中的 Agent 头像,直接打开该成员最近使用的有效本群会话,跳过会话选择列表;名字仍用于 # 点名。没有已有本群会话时提示暂无会话,不新建私聊或调用模型。指挥事项及配置版本的旧 Session 仍保留,旧派发可从任务进展的过程记录和来源访问;头像不会合并或清空历史。

同一个 Agent 的多个私聊和不同群聊分别使用独立根 Session,不因根/子关系共享对话全文。私有笔记与确认后的记忆可以跨这些会话使用。群公开消息仅向本群参与回复的成员提供有界历史。

每个群通过 conversation {groupId,requestId} 取得自己的队长/默认回复者控制私聊,同一 Agent 管理多个群时使用不同 Session 和历史;与群内执行会话分开,身份、技能和记忆沿用原规则。绑定私聊的 libing_solo_team_control 可省略 groupId,真实会话提供目标群,显式不同群会拒绝;普通私聊保持不绑定并要求显式 groupId,旧历史不搬移。groups.leaderSessionId 只读返回该群已有有效控制私聊,没有时为 null;外部插件调用始终显式使用 groupId,通知也按 groupId 路由。升级后渠道需以新 requestId 重新解析并换绑专属 Session;用法见 控制接口。直接状态、暂停和停止不调用模型。

编辑配置不会改写正在执行的会话。打开选定私聊或下次群派发时建立该线程的新配置会话,保留同一对话的历史前缀,不替换其他私聊;「添加会话」创建独立空白线程,保留身份、技能与资产。旧会话仍可查看,但不继续执行。基础 preset 声明变化或不可用时拒绝静默替换,需核对配置。官方会话中的模型和权限设置遵循 DSH;插件的成员/工具选择仍检查实际调用。

同一个长期 Agent 一次执行一个受管执行会话;同一 canonical 工作区一次运行一个受管写入 Agent。默认回复者的私聊使用控制用途,可同时回应查询、提交补充和控制群执行,不占用上述执行名额;只能调用控制及选定读取能力,不能写文件、执行命令、写私有笔记、委派或调用未知 MCP。已有默认回复者私聊在加载时转为控制用途,历史保留,更换默认回复者不会自动开放其写入能力。自然语言私聊仍消耗入口模型调用,插件直接状态查询不消耗模型。无法执行的会话明确显示错误,不再静默结束。

其他只读 Agent 只允许已核实的读取工具、选定技能、记忆候选和自己的笔记;未知 MCP 不能推断只读安全性。写入 Agent 按 DSH 权限工作。专属目录和选择 guard 不等于系统文件 ACL;普通会话、编辑器和有终端权限的调用不属于硬隔离范围。

指挥模式

跨插件控制与 AI 工具见 Team 控制接口:同一 profile 的独立会话可直接列群和控制,无需 Session 授权或群白名单。控制工具支持模式、目标、补充、进展和执行控制,队长可登记明确的真人问题;外部插件以同一调用逻辑读取持久通知,不依赖浏览器或另建模型调度。真人验收与问题回答仍通过可信适配入口。

群聊标题旁显示完整「群 ID」,点击「复制 ID」可直接用于工具的 groupId 参数;它与 groups 查询返回值相同,重命名群聊不改变 ID。窄屏可换行,复制不可用时可手动选中 ID。

新指挥事项为每位参与成员建立事项专属执行会话,补充、审查与恢复在同一事项内复用;新事项不复制其他事项或普通群 Session 的完整执行历史。群消息、旧 Session、成果和 Agent 私有资产保留,普通模式与私聊仍使用原规则。长事项自身仍可能触发上下文压缩;隔离不提供无限上下文,也不自动重放或清空已有执行。

普通模式保留 #成员、#all 自由接力,不强制登记任务。开启指挥模式后,默认响应者担任队长,负责组织分工、核对实际结果、处理阻碍并维护进展,真人不操作看板也可在已有权限和额度内继续。至少两位启用成员,文本点名不直接派发成员;不要求固定开发/审查流水线或每项都产出文件。

群聊只显示当前事项的短摘要;「任务进展」默认打开当前工作简报,展示目标与约束、当前进展、已有成果、阻碍与待决定项、下一步。队长尚未整理或已有新输入/结果时明确提示,不显示虚构完成率。打开、切页、刷新进展均不调用模型。分工、成果来源和真实执行历史按需查看,收集文件或成员自述不等于验证。

概览采用四张上下铺开的长条卡片,下一步合入当前进展。群聊摘要和进展页头均直接提供「停止此讨论」,确认后停止该事项调度并请求取消当前执行,不必等待队长回应。状态按真实执行显示:运行中为推进中,明确等待真人才显示等你决定,验收为待验收;简报 decisions 中的策略文字不会单独改变状态。

当前进展直接显示已登记分工的排队、提交与审查状态,以及仍在执行的成员,不必等待队长再次写简报。分工或结果变化后,旧简报收进「上次简报(待更新)」,不再作为群聊主摘要;队长更新后恢复最新文字。审查已提交但成员尚未退出会单独提示,不把审查通过等同整个事项完成。查看进展不会调用模型。

任务、成果、结论页始终保留同一统计栏。任务默认只列未结束项,「显示所有任务」同时包含未结束与已结束记录;未结束项置顶,同组按最后操作时间倒序。指挥事项标题显示最后操作时间,分工、执行与人工操作在保存时更新,刷新和查看不更新时间;旧记录使用已有消息或简报中的最近时间,不使用任务卡同步时间补造历史操作。查看进展可展开,再次点击收起;多张卡可独立展开,互不影响。结论按更新时间从新到旧显示。

成员发群回复后,执行提示继续显示实际阶段:等待模型、正在思考、正在回复、工具名称或同步结束,并附已发群回复标识。工具返回后清除已结束的工具状态;有多个并行工具时仍显示未结束的工具。发群消息不等于模型回合结束,也不代表已经再次派发。

真人可以在「更多操作」编辑目标、要求必须验收、暂停后续派发、继续协调、停止事项或另存新待办;分工卡「手工调整」支持修改要求/负责人/审查者、暂缓、退回、中断指定分工、交回队长调整。误建且无执行/成果引用的行动项可确认删除,有历史则保留证据。编辑保存只更新记录并通知队长,不直接执行成员;队长复核后安排。暂停派发不取消当前执行,中断只请求取消指定分工,停止整个事项另行确认,不撤销已发生的文件或外部操作。

手工指定对队长生效,不能被自动覆盖;「交回队长调整」解除这一指定。运行中的改派保存为后续安排,不改写原尝试身份或假装当前请求已改变,只有原执行实际退出后才能替代写入。人工暂缓的行动项要由真人恢复。局部调整不接管整个事项,其他独立工作仍由队长协调。状态变化会拒绝过期表单,失败时保留草稿,需重新打开核对。

有当前事项时,聊天消息先交给队长区分查询与要求变化。「进展如何」不改变业务要求版本、不重跑成员、不补额度或解除人工暂停;真正补充保存原文与版本,队长复核后续安排。尚未判定的输入暂缓未接纳的分工,已经发出的请求不实时改变。成员恰好在查询期间提交时,纯查询后保留其成果,不强制重做。暂停或额度耗尽期间仍可直接看简报,聊天不自动恢复调度。

队长通过 libing_solo_team_command JSON record 使用 read、open、classify、acknowledge、draft、assign、result、assess、brief、report、complete。open 显式登记目标,问候不建任务;draft 只登记行动项,assign 明确安排执行;result 支持完成、部分结果和阻碍,独立审查可选。brief 保存结构化简报,report 保存可追溯阶段汇报;成员结果和失败合并通知队长,实际前序执行成功结束后才释放后续交接。所有修改可附稳定 operationId,相同内容重试返回原回执,冲突拒绝。

登记前也提供系统级指挥规则、真实成员 ID 和当前来源,不混入其他事项的引用历史;原 Session 历史保留。明确要求登记但信息不全时,队长应先登记、记录缺失信息并提问,而不是编造方案或派发无意义任务。指挥轮不能通过普通 progress.task 修改旧待办,其他团队工具也不代替本插件派发。启动前输出上限失败会暂停,真人点「继续执行」仍属于原指挥事项;已登记的事项使用专用「继续协调」,不自动重放。

command read 返回当前事项简报、分工、待处理输入、真实运行状态及最近 16 个已结束执行的原生工具记录。进展工具 libing_solo_team_progress 的 {kind:"progress.read",workId?,offset?} 返回本群简报、近期任务/结论和每页最多 32 项文件来源,使用 nextOffset 继续,明确日志缺失与截断;不读取任意实时文件,不隐藏模型输入。普通任务继续用 progress.task / progress.conclusion,指挥事项通过 command 工具维护。Host 仍按真实 Agent/binding/群验证身份,AI 不能冒充真人验收、取消真人保护或确认未知副作用。

新事项默认允许队长先整理最新简报、核对实际执行和必需审查,再 complete 完成工作跟踪;仅在队长本轮实际成功结束后收尾。有在途执行、待处理新输入、阻碍、待决定项或未完成必需审查时不能自动收尾。「真人已验收」独立记录,真人可确认,或填写补充后在原事项继续。明确要求验收的事项,队长只申请验收;已有 0.4.0/旧流程保持真人验收规则,不静默放宽。

成员失败先由队长核对证据,续办只做剩余工作;不确定接纳、重启中断或未知副作用仍只能先做只读核查,真人明确核查确认后才安排剩余操作,不盲目重放。队长自身失败等待真人处理,不无限自重试。暂停、权限、并发、canonical 工作区单写和容量限制仍适用;maxWorkRecoveries 默认 2(0–10),maxWorkContextChars 默认 64000(16000–256000),自动回应额度耗尽仍需真人继续。Token 参考预算只提醒。

同群一次只协调一个当前事项,新目标可另存待办而不抢占;已完成/已停止默认进历史,仍可查看成果。旧未结束 commandRound 在全部执行停稳后可预览并确认接续,保存原记录,先暂停等待真人继续,不重放旧操作。SQLite user_version 为 6;升级保留原记录,旧插件不能读取新版数据。升级前在 Host 退出后备份插件数据和 profile 配置,回退需同时恢复旧数据与插件。

AI 工具调用、页面修改和派发复用原 SQLite owner 和业务服务,不另建执行器;本版不包含远程聊天渠道、跨插件调用身份或经验包。

MCP、知识与记忆

MCP 选项来自基础 preset 已连接服务的工具命名空间;仅选定服务的工具可以执行。新增连接在“我的工具”配置,并通过不同基础 preset 提供给不同 Agent。本版没有每个 Agent 的独立 MCP 凭据编辑器或专属连接进程,也不保证排除基础预设的所有资源/提示贡献。

知识文件夹通过 libing_solo_team_knowledge 按零起始根目录编号读取、列出或搜索。只支持选定目录内的文本格式(包括 Markdown、JSON、CSV、代码),拒绝路径逃逸,单文件 64 KiB;搜索最多五层、256 文件、12 个命中,返回来源路径、行号摘录、哈希与截断状态。它不是向量索引;Word/PDF 通过知识库插件导入。

需共同使用更新后的 @dsh-libing/[email protected] 才能选择知识库。由知识 owner 在每次调用检查库 ID/名称,清单只显示已绑定库;模型只能目录、检索、原文与图片读取,建库、构建和复核仍由真人管理。既有草稿/已发布 revision 隔离保留。解绑即时阻止对应工具后续读取,已进入会话的内容不会从日志消失。

记忆设置支持关闭、Agent 私有和工作区共享。需启用 @dsh-libing/[email protected];私有范围使用稳定 Agent 身份,工作区模式需要明确选择。受管 Agent 不自动包含 profile 个人共享记忆。候选由模型提交、真人通过记忆插件提供的原生会话记忆页签或记忆管理页面复核,确认前不进入检索。记忆由原 owner 保存,本插件不另建记忆库。关闭/改模式会阻止旧配置继续召回,新会话使用新设置;专属笔记仍可用。

可选的一层前台只读 subagent 是成员的检索助手,不是团队成员,不允许再次委派、修改工作区或使用成员私有资产工具。群中的助手启动也消耗该讨论的自动额度。默认拒绝已识别的其他团队委派工具。

旧数据兼容

旧 Role/Team/Run 与群工作流记录保留在原 SQLite 中,不自动转成 Agent,也不删除 Session 日志。旧配置、新建、批准、恢复和重试接口返回已移除;历史运行仅保留状态读取、归档和取消兼容。历史成员预设可恢复日志,但不再允许模型执行旧工作流工具。当前界面没有工作流入口;需要任务协作时,直接在群会话中发布。

持久数据与恢复

指挥事项被宿主重启或插件重载中断后,在原事项点击「继续协调」或通过控制接口调用 resume 即可恢复,无需停止后重新提交目标。恢复先结算旧派发的中断证据,再唤醒队长处理积压补充、核对已有成果并安排剩余工作;保留原 workId、分工和审查记录。结果不明的成员执行仍先只读核查,不自动重放文件写入或命令。新的队长失败仍需显式继续,恢复不会开启无限重试。

单次输出上限与继续执行

每次成员派发默认最多执行 10 分钟,部署可通过插件配置 memberTimeoutMs 调整(1000–3600000 毫秒)。这是整次派发的墙钟时间,包含模型、工具和等待;超时会取消本轮,不自动重试已执行的操作。对话模型与 web_search 搜索提供方独立配置:更换 Agent 模型不会更换搜索端点或凭据,搜索服务的余额错误需在该提供方处理。

成员默认单次模型输出上限为 65536 Token(包括提供方计入输出的推理内容),部署可用 maxOutputTokens 覆盖;模型或代理可能限制得更低。它与群累计 Token 参考预算、自动回应次数和成员超时分别生效。增加该值会提高潜在消耗,不能保证所有长任务都能在一轮完成。

达到上限时,群卡显示「达到单次输出上限,任务未完成」,保留部分输出并提供「继续执行」。真人点击后创建新的讨论和派发,沿原 Session 上下文完成剩余工作,提示先核对已完成的文件与工具操作;不自动重放原请求或自动无限续接。续接仍消耗自动回应额度、受并发与同工作区单写限制。已续接、已有后续轮次、成员配置或工作区变化、暂停/撤销成员时拒绝旧轮续接。模型报错、超时、阻塞和取消显示各自原因,详细错误查原生成员会话。

旧 turnStopped 失败在插件初始化时按对应原生 Session/turn 的结束记录恢复原因,不发起模型调用;原日志不可读时保留未知失败,不提供推断出来的继续入口。

原 SQLite worker 是 Agent、群、消息、派发、讨论额度、历史运行与回执的唯一事实源,默认 profile/libing/solo-team/solo-team.sqlite;DSH 保存真实 Session 日志。事务先记录派发,再调用官方控制器,投递、接纳、运行和回复分别显示。相同请求内容返回原回执,内容冲突拒绝。

重启把未结束讨论标为中断,不自动重放不确定的工具副作用;不确定接纳需检查成员记录并重新发起。卸载取消并等待 owned Agents、回收会话 scope 和定时器,再关闭数据库;不删除资产和聊天数据。暂停成员/移出群阻止新的投递和迟到群回复,已发表内容保留。

Agent、群各最多128个,会话绑定1024个,群消息8192条,讨论2048个,派发16384个,持久幂等回执4096个;达到限制明确停止新增,不自动丢弃幂等历史。旧 Run 可归档或导出,不删除会话日志。当前仅单真人、单 Host/profile;跨机、多真人、自动 worktree/Git 合并不在本版。

Windows 工作区权限修复

可选部署开关 workspacePermissionRepair: true 启用写入成员的 libing_solo_team_workspace_permission_repair 工具与 Host 自动恢复;默认关闭,开启表示管理员允许插件在限定范围自动修改 Windows 目录权限。不新增前端按钮;工具调用保留原生记录;自动修复的原错误、备份路径和重试结果通过带有专属来源的 notice 附加上下文写入 Session,不冒充真人消息,不依赖成功工具的正文或元数据保留。

仅处理当前成员在 workspace-write 模式下、pwsh 命令启动前发生的准确 SetNamedSecurityInfoW failed (Win32 5): grantWrite(当前工作区)。工具不接收路径或命令参数,必须有本轮 Host 观察到的失败。只读、停用、失效成员及助手不能修复;其他路径、普通拒绝、未知错误、卷根、用户主目录及其祖先、插件数据目录祖先、链接工作区均拒绝。

固定程序不提权、不调用模型、不执行任意命令;备份原 DACL 到插件数据根 permission-recovery/,只向当前用户增加工作区目录本身缺少的 ChangePermissions/TakeOwnership,不递归授予 FullControl、不删除拒绝项、不修改所有者或业务文件。互斥锁串行同一工作区的修复。失败尽力恢复原 DACL;取消或超时可能发生在权限更新后,此时结果明确要求检查备份,不宣称回滚完成。

每个成员会话每轮最多尝试一次,修复成功且权限/成员资格仍有效时,Host 只重试原来未启动的 pwsh 工具一次,不重放整个任务。第二次失败直接返回;权限项更新不等于原操作验证通过。显式拒绝、企业策略和非当前用户可修改的目录仍可能需要人工处理。模型手动调用修复工具不会自行执行原业务命令。

恢复时先核对备份 JSON 的 workspace 与当前目录;用 PowerShell Get-Acl 取得该目录权限,调用 SetSecurityDescriptorSddlForm(备份的 dacl, Access),再 Set-Acl 恢复。不要在有其他权限变更后直接覆盖,也不要对磁盘或父目录批量应用备份。备份不包含业务文件或凭据。

部署配置

patch 的 libing-solo-team 条目可设置以下字段:

字段默认值行为
dataRoot当前 profile/libing/solo-team必须为绝对路径、不能跨 profile 共用
maxConcurrentMembers31—16,同一成员最多一个活动任务
maxTasks64旧记录兼容字段,1—64
maxRepairRounds1旧记录兼容字段,0—3
memberTimeoutMs600000单次派发的超时,1 秒—1 小时
maxMessages128旧记录兼容字段,1—128
maxRunTokens0旧记录兼容字段,不再发起工作流
workspacePermissionRepairfalse显式允许受限的 Windows 工作区权限自动修复及 AI 工具

API 使用官方 Connection 的认证与同源检查,入口 /api/libing/solo-team/{state,catalog,capabilities,assets,standing}。standing 提供 Agent 配置、重命名/删除、私聊线程创建/打开/改名/归档、群会话及讨论控制。成员群消息工具为 libing_solo_team_message;Host 依据真实 Agent/Session 解析 actor,不接受模型冒充成员。旧 mutate 只接受历史运行归档/取消;状态 API 保留历史数据用于读取或导出 JSON。

开发验证

pnpm typecheck、pnpm check 覆盖源码/Client 类型、行为测试、tarball 安装/调用/声明消费/卸载。已打包后可执行 pnpm test:solo-team 单独验证成员能力。安装 smoke 在隔离 DSH_HOME 和真实 0.2.2-rc.2 Loader 服务中使用本地 fixture 模型,核验独立根、scope lease、模型/权限、多私聊隔离与换代、群消息额度、工作流移除、幂等和原生冷恢复,不调用付费模型。只读助手采用独立 Agent Preset 和官方 caller-delivery activation,等待结果后返回;取消会停止并等待助手释放,不采用新版默认的后台结果通知。实际 macOS 验收与其他平台边界见rc.5 适配记录;首版历史见首版记录和成员能力扩展。

头像侧边栏、页面内创建与多私聊的取舍和当前验证范围见会话导航记录。

工作区式侧边栏行、固定返回入口与删除保留语义见行操作记录。

侧边栏点击与原版排序取舍见排序扩展记录。

Agent 属性分组与目录入口取舍见编辑页记录。

私聊会话与 DSH 原版保持 8px 行内边距、32px 行高及 2px 行间距,标题前不额外添加缩进。

头像提供18种内置卡通选项,包括小狗、老虎、狮子、兔子、考拉等。在「伙伴头像」点击「上传自定义头像」选择 PNG、JPG 或 WebP(最大8MB、1600万像素),自动中心裁方形并缩小,保存 Agent 后用于侧栏、管理与群聊。点击任一内置头像可替换自定义图;取消编辑保留原配置。图片仅发送当前 DSH Host,不发送模型或第三方。素材按内容哈希单独保存在插件数据根的 avatars/,配置与会话快照只保存短引用;单图最终PNG最多128KiB,最多1024份素材并去重。取消未保存的上传可能保留未引用素材,删除 Agent 不删除素材和历史。

素材边界和图片接口取舍见头像扩展记录。

群聊输入使用官方主题令牌、图标、MenuSurface 和公开的 inputTriggers / commandUi 控制器。+ 按官方 28px 圆形按钮及 14px 图标呈现,直接打开文件与指令菜单,不要求选择 Agent。支持文件/图片附件、上传状态与失败重试、粘贴/拖入文件、@ 文件与会话引用、/ 指令和技能。进入群聊自动准备默认响应者的真实输入上下文;# 点名单个成员时切换到该成员的群 Session,保留附件并重新建立接收凭据,既有文件引用按各自原目录解析。发送附件前须上传完成,每条消息最多8个附件,图片仍受 DSH 部署限制。群消息持久保留附件引用,派发时分别接纳到目标成员,不跨 Session 复用上传凭据。

/model、/permission、/compact 等是单 Session 指令;先输入 #成员,再从 + 或 / 调用,仅作用于该成员的群会话,不改其他成员或私聊配置。未明确选择单个成员时提示用 # 指定,不额外弹出 Agent 选择器。完整 InputBar 在 rc.2 未公开导出且发送链路绑定单 Session,因此没有复制私有编辑器或修改 DSH 内核,群草稿和调度仍由插件持有。Enter 发送、Shift + Enter 换行,菜单打开时 Enter 选择;中文输入法确认不选择或发送。

群聊输入的既有设计见群聊输入记录。

附件、引用与指令的当前复用边界见官方输入能力适配。

群聊正文和输入卡片跟随 DSH 原生会话的自适应宽度与已保存的宽度偏好;点名成员后立即显示排队状态,执行中通过官方 Session 事件流展示该成员的单行滚动思考摘要和逐步回复。#all 的成员分别展示,最终由正式群消息替换,避免重复。模型未提供思考内容时显示等待/工具/回复状态;失败或取消的内容标为未完成。思考摘要不另外保存为群消息,详细轨迹仍在成员原生 Session。查看历史时不会被新 token 强制拉回底部。

实现与验证范围见群聊宽度与实时成员回复。

群成员等待人工授权或提问时,在该成员回复区显示「等待你处理」和 DSH 原生交互面板,可直接允许一次、拒绝或回答。不同成员的请求各自绑定对应群 Session,不需要离开群聊,不自动批准。处理完成或取消后面板撤下,群输入草稿保留。实现原因见群聊原生交互修复。

侧栏「返回 DSH 工作区」与原生「设置」入口的图标和文字对齐;群会话与 Agent工作区标题共用左侧缩进,空态、加载和错误提示沿用原生工作区的字号、行距及内边距。

群会话标题右侧提供独立搜索与视图选项,可按群名筛选,按「手动 / 最近更新」排序。拖动群聊到另一群聊上方或下方后切为手动,顺序保存到当前 profile,刷新后保留;搜索期间禁用拖动。群排序不改变 Agent 下的私聊排序;按原生侧栏样式显示插入标线。

群列表模式兼容与验证边界见群会话独立控制。

图标

本版图标为协作节点,使用统一品牌蓝线性方案;源文件为本包 icon.svg,官方插件管理和 LiBing 市场读取同一资源,已有导航入口以主题单色显示。网格、线宽与适配规则见图标规范。

版本与发布记录

@dsh-libing/solo-team 共发布 15 个版本,首次发布于 2026/10/15;过去 12 个月发布了 15 个版本。

版本发布日期距今
0.4.5latest2026/11/121 天前
0.4.42026/11/112 天前
0.4.32026/11/0211 天前
0.4.22026/10/2816 天前
0.4.12026/10/2717 天前
0.3.82026/10/2321 天前

关于 @dsh-libing/solo-team 的常见问题

@dsh-libing/solo-team 是什么?

带头像侧边栏、原生多私聊会话和按需群协作的独立 Agent

如何安装 @dsh-libing/solo-team?

在项目目录运行 npm install @dsh-libing/solo-team,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@deepseek-ai/cordis(4.1.0)、@deepseek-ai/dsh-llm(0.2.2-rc.2)、@deepseek-ai/dsh-agent(0.2.2-rc.2)、@deepseek-ai/dsh-scope(0.2.2-rc.2)、@deepseek-ai/dsh-skill(0.2.2-rc.2)、@deepseek-ai/dsh-tools(0.2.2-rc.2)、@deepseek-ai/dsh-session(0.2.2-rc.2)、@deepseek-ai/schemastery(3.19.0)、@deepseek-ai/dsh-app-boot(0.2.2-rc.2)、@deepseek-ai/dsh-subagent(0.2.2-rc.2)、@deepseek-ai/dsh-workspace(0.2.2-rc.2)、@deepseek-ai/dsh-attachment(0.2.2-rc.2)、@deepseek-ai/dsh-client-locale(0.2.2-rc.2)、@deepseek-ai/dsh-session-query(0.2.2-rc.2)、@deepseek-ai/dsh-system-prompt(0.2.2-rc.2)、@deepseek-ai/dsh-file-reference(0.2.2-rc.2)、@deepseek-ai/dsh-client-ui-slots(0.2.2-rc.2)、@deepseek-ai/dsh-client-ui-layout(0.2.2-rc.2)、@deepseek-ai/dsh-skill-filesystem(0.2.2-rc.2)、@deepseek-ai/dsh-client-connection(0.2.2-rc.2)、@deepseek-ai/dsh-client-ui-session(0.2.2-rc.2)、@deepseek-ai/dsh-client-ui-sidebar(0.2.2-rc.2)、@deepseek-ai/dsh-client-file-upload(0.2.2-rc.2)、@deepseek-ai/dsh-client-ui-commands(0.2.2-rc.2)、@deepseek-ai/dsh-client-ui-renderer(0.2.2-rc.2)、@deepseek-ai/dsh-permission-presets(0.2.2-rc.2)、@deepseek-ai/dsh-session-projection(0.2.2-rc.2)、@deepseek-ai/dsh-client-ui-workspace(0.2.2-rc.2)、@deepseek-ai/dsh-client-ui-primitives(0.2.2-rc.2)、@deepseek-ai/dsh-agent-preset-registry(0.2.2-rc.2)、@deepseek-ai/dsh-api-session-controller(0.2.2-rc.2)、@deepseek-ai/dsh-client-ui-conversation(0.2.2-rc.2)、@deepseek-ai/dsh-client-ui-input-trigger(0.2.2-rc.2)、@deepseek-ai/dsh-api-workspace-controller(0.2.2-rc.2)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@dsh-libing/solo-team 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@dsh-libing/solo-team 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@dsh-libing/solo-team 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=24.9.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@dsh-libing/solo-team 可以商用吗?

@dsh-libing/solo-team 使用 UNLICENSED 许可。作者声明为 UNLICENSED,即不授予公开使用许可(与公共领域的 Unlicense 不同)。使用前需获得作者授权。以上为概括,不构成法律意见,请以许可原文为准。

@dsh-libing/solo-team 的下载量有多少?

根据 npm 官方下载统计,@dsh-libing/solo-team 在 2026/10/13 – 2026/11/11 这 30 天内被下载 2,166 次,日均约 72 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@dsh-libing/solo-team 还在维护吗?

最新版本 0.4.5 发布于 2026/11/12(1 天前);至今共发布 15 个版本,其中过去 12 个月发布了 15 个;首次发布于 2026/10/15。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。