Repository navigation
Closed
Labels
V1.0Milestone v1.0; mirrors the GitHub milestoneMilestone v1.0; mirrors the GitHub milestonearea:fullstackEnd-to-end Host and Client implementationEnd-to-end Host and Client implementationfeature:runtimeInstalled runtime and profile validationInstalled runtime and profile validationready-for-humanRequires human implementationRequires human implementationscope:validationInstalled or end-to-end verification gateInstalled or end-to-end verification gate
Milestone
Description
What to build
M3与M4之间的实机安装验证门:功能在dev环境跑通 ≠ Plugin能被真正装进DSH。按官方路径从干净profile安装BotHarness,并验证当前V1纵向路径:Bot mode → create PersonaBot → default Git Memory Repository → Orchestrator cwd → Workspace Grant → one-cwd Assignment → report/state → Activity/Presence/composer/output-event。
- 在本地跑起DeepSeek Harness(记录版本并pin)。
- 实际安装BotHarness Plugin Bundle(不是测试mock)。
- 确认Plugin/Fibers、Host Services、Typert/API Gateway与Client Slots加载。
- 由Human在真实UI操作最小tracer bullet并验证restart。
Installation facts
- 安装只走官方CLI:dsh plugin --profile
add <npm包 | 本地路径 | tarball>;没有dsh.bundle声明的包只是依赖,不激活层。
- Bundle成员变化必须restart Profile;dsh --profile
--dump-config可先验证layer。
- 使用独立DSH_HOME与专用profile,不污染日常环境。
- pnpm build先产出可安装artifact;Host不替Plugin构建。
- deepseekbot是组合Bundle;core/client是其成员,不重复声明并激活同一layer。
- 具体DSH版本、manifest键与CLI行为在执行时按当前官方docs/source/running Host复核;历史0.1.5-rc.2记录不是永久API保证。
Acceptance criteria
- 干净环境可按reproducible checklist启动目标DSH版本、独立DSH_HOME与专用Profile,并保存Bundle/Layer快照。
- 从零安装deepseekbot Bundle;dump-config结构正确,无bundle-less或重复layer警告。
- restart后无FAILED Fiber;startup logs无新增fatal error;Client entry与Typert remotes可达。
- UI显示正确:Bot mode入口、Roster/main、Settings Plugin信息与PersonaBot navigation。
- 创建PersonaBot后自动出现真实Git Memory Repository;Orchestrator Session cwd精确等于该repo。
- UI/模型面不存在memory_* model tools;Orchestrator通过普通file/Shell/grep/git能力工作。
- Human授权一个Workspace Grant并创建默认workspace-write Assignment;Assignment只有一个primary cwd,report/state在UI可见。
- PersonaBot设置中danger-full-access需要风险确认并持续警示;仅新建Assignment采用它,Orchestrator与existing Session不改变;撤销后下一Session恢复workspace-write。
- UI Foundation: BotHarness motion preference(System / Reduce / Full) #128 设置在 Follow system / Reduce motion / Full motion 间即时切换,sidebar、composer与Group activity presentation同步改变且状态语义不丢失。
- UI Tracer: Channel composer island 与 PersonaBot activity region #129 composer island 可在真实DM/Group发送消息,不遮挡最后消息;Bot activity: shared snapshot and live DM presence #120/Bot activity: safe tool summaries and effects #122/Bot activity: Orchestrator and Assignment aggregation #123 的共享activity、安全摘要与collapsible使用同一revision。
- Group activity: live facepile, safe summaries and details #124 Group facepile能识别多个active PersonaBots;Reduce motion 下保持静态、可读、可键盘操作。
- PersonaBot output: committed-output extension event #125 Output Committed Event在真实消息commit后触发,listener缺失或失败不影响消息。
- restart后PersonaBot、Memory accepted head、Workspace Grant、Session ownership、Assignment Directory与Activity snapshot仍一致。
- reinstall/upgrade后关键断言复现。
- 安装与Human验证步骤沉淀为可复现checklist,M4 #11直接复用。
Blocked by
- M3: Bot 模式 IA 与聊天外壳(列表/Section/DM/本地消息) #10:M3 Bot mode closeout。
- Foundation:Assignment Runtime / Assignment Directory / Orchestrator tools #81:真实Assignment tracer path;其native blockers包含Foundation:explicit Session ownership 与 DSH activity projection #80/Foundation: Git working tree as PersonaBot Memory #115/Workspace Grants: folder access UI and enforced PersonaBot file boundary #116。
- [Retired] Orchestrator: V1.0 PersonaBot Activity、Presence 与 Output Events #119:Activity/Presence/composer/motion/output-event 全部tracer tickets。
References
- docs/client-bridge.md §7
- Wayfinder: Memory Repository / Workspace Grant / Assignment cwd #114、Foundation: Git working tree as PersonaBot Memory #115、Workspace Grants: folder access UI and enforced PersonaBot file boundary #116、[Retired] Orchestrator: V1.0 PersonaBot Activity、Presence 与 Output Events #119
- DSH官方Plugin发布/安装docs
Metadata
Metadata
Assignees
Labels
V1.0Milestone v1.0; mirrors the GitHub milestoneMilestone v1.0; mirrors the GitHub milestonearea:fullstackEnd-to-end Host and Client implementationEnd-to-end Host and Client implementationfeature:runtimeInstalled runtime and profile validationInstalled runtime and profile validationready-for-humanRequires human implementationRequires human implementationscope:validationInstalled or end-to-end verification gateInstalled or end-to-end verification gate
Type
Projects
- StatusShow more project fieldsDone
Activity
docs: M3.5 install verification gate (spec v1.4) + DSH install resear…
DoodleBears commentedon Sep 18, 2026
本地开发环路(M3 UI 迭代提前使用)
M3 的名册 UI 需要真机可视验证,因此把本 issue 的开发环路提前使用(正式验收仍按本 issue 的定义走)。
环路
@deepseek-ai/dsh@0.1.5-rc.2,隔离DSH_HOME,专用web-devprofile;把本地 bundle 装进去(dsh plugin --profile web-dev add <path>);bundle 成员变化需要重启。dsh web --profile web-dev。pnpm build重新产出lib/client.js→dsh-client-hmr检测 revision 变化并推新入口图,浏览器自动换新(仅 sourcemap 变化不触发)。ctx.effect,vendored HMR 直接生效。先决条件:
deepseekbot最小 bundle(挂 core + client 两个 Loader entry)尚未建立;在此之前dsh plugin add本地包不会被挂载。这也是本 issue 的一部分。环路细节已写入
docs/client-bridge.md§7。DoodleBears commentedon Sep 18, 2026
Dev 环路实测记录(M3 提前)2026-09-18
环境:WSL2 · fnm node v24.21.0 ·
@deepseek-ai/dsh@0.1.5-rc.2(npm -g)·DSH_HOME=/home/doodlebear/.dsh-m35(隔离)· profileweb-dev(--from-default-profile web从 web 模板派生)。安装:
dsh plugin --profile web-dev add ./packages/core dsh plugin --profile web-dev add ./packages/client # 无 dsh.bundle,普通依赖,由 deepseekbot 层挂载 dsh plugin --profile web-dev add ./packages/deepseekbot坑(已绕过):
@botharness/core自带dsh.bundle.patch,与deepseekbot的层重复插入botharness-core行。已在 profilepackage.json的dsh.profile.bundles中移除@botharness/core(保留依赖),让 deepseekbot 成为唯一组合层。启动(脱离会话,避免随 shell 退出):
已验证:
dsh --profile web-dev --dump-config→# == deepseekbot层含botharness-core+botharness-client两行__DSH_BOOT__含@botharness/client(application batch,inject 边正确)/plugins/??@botharness/client/client.js&rev=…→ 200(300 kB,lazy-CJS wrapper)http://localhost:3080/可达(401 鉴权,token URL 授权后 200)pnpm build后 revision 变化自动换 bundle(下一步)