@deepseek-harness-tui/dsh-tui 0.11.2 → 0.13.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 +60 -8
- package/assets/deepy/README.md +60 -0
- package/assets/deepy/frames.json +1 -0
- package/assets/whale-girl/whale-girl-happy.png +0 -0
- package/assets/whaleGirl/README.md +7 -0
- package/assets/whaleGirl/frames.json +1 -0
- package/assets/whaleGirl/img/building/00.png +0 -0
- package/assets/whaleGirl/img/building/01.png +0 -0
- package/assets/whaleGirl/img/building/02.png +0 -0
- package/assets/whaleGirl/img/building/03.png +0 -0
- package/assets/whaleGirl/img/building/04.png +0 -0
- package/assets/whaleGirl/img/building/05.png +0 -0
- package/assets/whaleGirl/img/building/06.png +0 -0
- package/assets/whaleGirl/img/building/07.png +0 -0
- package/assets/whaleGirl/img/building/08.png +0 -0
- package/assets/whaleGirl/img/building/09.png +0 -0
- package/assets/whaleGirl/img/building/10.png +0 -0
- package/assets/whaleGirl/img/building/11.png +0 -0
- package/assets/whaleGirl/img/building/12.png +0 -0
- package/assets/whaleGirl/img/building/13.png +0 -0
- package/assets/whaleGirl/img/building/14.png +0 -0
- package/assets/whaleGirl/img/building/15.png +0 -0
- package/assets/whaleGirl/img/building/16.png +0 -0
- package/assets/whaleGirl/img/building/17.png +0 -0
- package/assets/whaleGirl/img/building/18.png +0 -0
- package/assets/whaleGirl/img/building/19.png +0 -0
- package/assets/whaleGirl/img/building/20.png +0 -0
- package/assets/whaleGirl/img/building/21.png +0 -0
- package/assets/whaleGirl/img/building/22.png +0 -0
- package/assets/whaleGirl/img/building/23.png +0 -0
- package/assets/whaleGirl/img/carrying/00.png +0 -0
- package/assets/whaleGirl/img/carrying/01.png +0 -0
- package/assets/whaleGirl/img/carrying/02.png +0 -0
- package/assets/whaleGirl/img/carrying/03.png +0 -0
- package/assets/whaleGirl/img/carrying/04.png +0 -0
- package/assets/whaleGirl/img/carrying/05.png +0 -0
- package/assets/whaleGirl/img/carrying/06.png +0 -0
- package/assets/whaleGirl/img/carrying/07.png +0 -0
- package/assets/whaleGirl/img/compacting/00.png +0 -0
- package/assets/whaleGirl/img/compacting/01.png +0 -0
- package/assets/whaleGirl/img/compacting/02.png +0 -0
- package/assets/whaleGirl/img/compacting/03.png +0 -0
- package/assets/whaleGirl/img/compacting/04.png +0 -0
- package/assets/whaleGirl/img/compacting/05.png +0 -0
- package/assets/whaleGirl/img/compacting/06.png +0 -0
- package/assets/whaleGirl/img/compacting/07.png +0 -0
- package/assets/whaleGirl/img/compacting/08.png +0 -0
- package/assets/whaleGirl/img/compacting/09.png +0 -0
- package/assets/whaleGirl/img/conducting/00.png +0 -0
- package/assets/whaleGirl/img/conducting/01.png +0 -0
- package/assets/whaleGirl/img/conducting/02.png +0 -0
- package/assets/whaleGirl/img/conducting/03.png +0 -0
- package/assets/whaleGirl/img/conducting/04.png +0 -0
- package/assets/whaleGirl/img/conducting/05.png +0 -0
- package/assets/whaleGirl/img/conducting/06.png +0 -0
- package/assets/whaleGirl/img/conducting/07.png +0 -0
- package/assets/whaleGirl/img/conducting/08.png +0 -0
- package/assets/whaleGirl/img/conducting/09.png +0 -0
- package/assets/whaleGirl/img/conducting/10.png +0 -0
- package/assets/whaleGirl/img/conducting/11.png +0 -0
- package/assets/whaleGirl/img/drag/00.png +0 -0
- package/assets/whaleGirl/img/drag/01.png +0 -0
- package/assets/whaleGirl/img/drag/02.png +0 -0
- package/assets/whaleGirl/img/drag/03.png +0 -0
- package/assets/whaleGirl/img/drag/04.png +0 -0
- package/assets/whaleGirl/img/drag/05.png +0 -0
- package/assets/whaleGirl/img/drag/06.png +0 -0
- package/assets/whaleGirl/img/drag/07.png +0 -0
- package/assets/whaleGirl/img/drag/08.png +0 -0
- package/assets/whaleGirl/img/drag/09.png +0 -0
- package/assets/whaleGirl/img/error/00.png +0 -0
- package/assets/whaleGirl/img/error/01.png +0 -0
- package/assets/whaleGirl/img/error/02.png +0 -0
- package/assets/whaleGirl/img/error/03.png +0 -0
- package/assets/whaleGirl/img/error/04.png +0 -0
- package/assets/whaleGirl/img/error/05.png +0 -0
- package/assets/whaleGirl/img/error/06.png +0 -0
- package/assets/whaleGirl/img/error/07.png +0 -0
- package/assets/whaleGirl/img/error/08.png +0 -0
- package/assets/whaleGirl/img/error/09.png +0 -0
- package/assets/whaleGirl/img/happy/00.png +0 -0
- package/assets/whaleGirl/img/happy/01.png +0 -0
- package/assets/whaleGirl/img/happy/02.png +0 -0
- package/assets/whaleGirl/img/happy/03.png +0 -0
- package/assets/whaleGirl/img/happy/04.png +0 -0
- package/assets/whaleGirl/img/happy/05.png +0 -0
- package/assets/whaleGirl/img/happy/06.png +0 -0
- package/assets/whaleGirl/img/happy/07.png +0 -0
- package/assets/whaleGirl/img/happy/08.png +0 -0
- package/assets/whaleGirl/img/happy/09.png +0 -0
- package/assets/whaleGirl/img/happy/10.png +0 -0
- package/assets/whaleGirl/img/idle/00.png +0 -0
- package/assets/whaleGirl/img/idle/01.png +0 -0
- package/assets/whaleGirl/img/idle/02.png +0 -0
- package/assets/whaleGirl/img/idle/03.png +0 -0
- package/assets/whaleGirl/img/idle/04.png +0 -0
- package/assets/whaleGirl/img/idle/05.png +0 -0
- package/assets/whaleGirl/img/idle/06.png +0 -0
- package/assets/whaleGirl/img/idle/07.png +0 -0
- package/assets/whaleGirl/img/idle/08.png +0 -0
- package/assets/whaleGirl/img/idle/09.png +0 -0
- package/assets/whaleGirl/img/idle/10.png +0 -0
- package/assets/whaleGirl/img/idle/11.png +0 -0
- package/assets/whaleGirl/img/idle/12.png +0 -0
- package/assets/whaleGirl/img/idle/13.png +0 -0
- package/assets/whaleGirl/img/idle/14.png +0 -0
- package/assets/whaleGirl/img/idle/15.png +0 -0
- package/assets/whaleGirl/img/idle/16.png +0 -0
- package/assets/whaleGirl/img/idle/17.png +0 -0
- package/assets/whaleGirl/img/idle/18.png +0 -0
- package/assets/whaleGirl/img/idle/19.png +0 -0
- package/assets/whaleGirl/img/idle/20.png +0 -0
- package/assets/whaleGirl/img/idle-look/00.png +0 -0
- package/assets/whaleGirl/img/idle-look/01.png +0 -0
- package/assets/whaleGirl/img/idle-look/02.png +0 -0
- package/assets/whaleGirl/img/idle-look/03.png +0 -0
- package/assets/whaleGirl/img/idle-look/04.png +0 -0
- package/assets/whaleGirl/img/idle-look/05.png +0 -0
- package/assets/whaleGirl/img/idle-look/06.png +0 -0
- package/assets/whaleGirl/img/idle-look/07.png +0 -0
- package/assets/whaleGirl/img/idle-look/08.png +0 -0
- package/assets/whaleGirl/img/idle-look/09.png +0 -0
- package/assets/whaleGirl/img/idle-look/10.png +0 -0
- package/assets/whaleGirl/img/idle-look/11.png +0 -0
- package/assets/whaleGirl/img/idle-look/12.png +0 -0
- package/assets/whaleGirl/img/idle-spout/00.png +0 -0
- package/assets/whaleGirl/img/idle-spout/01.png +0 -0
- package/assets/whaleGirl/img/idle-spout/02.png +0 -0
- package/assets/whaleGirl/img/idle-spout/03.png +0 -0
- package/assets/whaleGirl/img/idle-spout/04.png +0 -0
- package/assets/whaleGirl/img/idle-spout/05.png +0 -0
- package/assets/whaleGirl/img/idle-spout/06.png +0 -0
- package/assets/whaleGirl/img/idle-spout/07.png +0 -0
- package/assets/whaleGirl/img/idle-spout/08.png +0 -0
- package/assets/whaleGirl/img/idle-spout/09.png +0 -0
- package/assets/whaleGirl/img/idle-spout/10.png +0 -0
- package/assets/whaleGirl/img/music/00.png +0 -0
- package/assets/whaleGirl/img/music/01.png +0 -0
- package/assets/whaleGirl/img/music/02.png +0 -0
- package/assets/whaleGirl/img/music/03.png +0 -0
- package/assets/whaleGirl/img/music/04.png +0 -0
- package/assets/whaleGirl/img/music/05.png +0 -0
- package/assets/whaleGirl/img/music/06.png +0 -0
- package/assets/whaleGirl/img/music/07.png +0 -0
- package/assets/whaleGirl/img/notification/00.png +0 -0
- package/assets/whaleGirl/img/notification/01.png +0 -0
- package/assets/whaleGirl/img/notification/02.png +0 -0
- package/assets/whaleGirl/img/notification/03.png +0 -0
- package/assets/whaleGirl/img/notification/04.png +0 -0
- package/assets/whaleGirl/img/notification/05.png +0 -0
- package/assets/whaleGirl/img/notification/06.png +0 -0
- package/assets/whaleGirl/img/notification/07.png +0 -0
- package/assets/whaleGirl/img/poke-left/00.png +0 -0
- package/assets/whaleGirl/img/poke-left/01.png +0 -0
- package/assets/whaleGirl/img/poke-left/02.png +0 -0
- package/assets/whaleGirl/img/poke-left/03.png +0 -0
- package/assets/whaleGirl/img/poke-left/04.png +0 -0
- package/assets/whaleGirl/img/poke-left/05.png +0 -0
- package/assets/whaleGirl/img/poke-left/06.png +0 -0
- package/assets/whaleGirl/img/poke-left/07.png +0 -0
- package/assets/whaleGirl/img/poke-left/08.png +0 -0
- package/assets/whaleGirl/img/poke-left/09.png +0 -0
- package/assets/whaleGirl/img/poke-left/10.png +0 -0
- package/assets/whaleGirl/img/poke-right/00.png +0 -0
- package/assets/whaleGirl/img/poke-right/01.png +0 -0
- package/assets/whaleGirl/img/poke-right/02.png +0 -0
- package/assets/whaleGirl/img/poke-right/03.png +0 -0
- package/assets/whaleGirl/img/poke-right/04.png +0 -0
- package/assets/whaleGirl/img/poke-right/05.png +0 -0
- package/assets/whaleGirl/img/poke-right/06.png +0 -0
- package/assets/whaleGirl/img/poke-right/07.png +0 -0
- package/assets/whaleGirl/img/poke-right/08.png +0 -0
- package/assets/whaleGirl/img/poke-right/09.png +0 -0
- package/assets/whaleGirl/img/poke-right/10.png +0 -0
- package/assets/whaleGirl/img/sleeping/00.png +0 -0
- package/assets/whaleGirl/img/sleeping/01.png +0 -0
- package/assets/whaleGirl/img/sleeping/02.png +0 -0
- package/assets/whaleGirl/img/sleeping/03.png +0 -0
- package/assets/whaleGirl/img/sleeping/04.png +0 -0
- package/assets/whaleGirl/img/sleeping/05.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/00.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/01.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/02.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/03.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/04.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/05.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/06.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/07.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/08.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/09.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/10.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/11.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/12.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/13.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/14.png +0 -0
- package/assets/whaleGirl/img/smile-hearts/15.png +0 -0
- package/assets/whaleGirl/img/swim/00.png +0 -0
- package/assets/whaleGirl/img/swim/01.png +0 -0
- package/assets/whaleGirl/img/swim/02.png +0 -0
- package/assets/whaleGirl/img/swim/03.png +0 -0
- package/assets/whaleGirl/img/swim/04.png +0 -0
- package/assets/whaleGirl/img/swim/05.png +0 -0
- package/assets/whaleGirl/img/swim/06.png +0 -0
- package/assets/whaleGirl/img/swim/07.png +0 -0
- package/assets/whaleGirl/img/thinking/00.png +0 -0
- package/assets/whaleGirl/img/thinking/01.png +0 -0
- package/assets/whaleGirl/img/thinking/02.png +0 -0
- package/assets/whaleGirl/img/thinking/03.png +0 -0
- package/assets/whaleGirl/img/thinking/04.png +0 -0
- package/assets/whaleGirl/img/thinking/05.png +0 -0
- package/assets/whaleGirl/img/thinking/06.png +0 -0
- package/assets/whaleGirl/img/thinking/07.png +0 -0
- package/assets/whaleGirl/img/thinking/08.png +0 -0
- package/assets/whaleGirl/img/thinking/09.png +0 -0
- package/assets/whaleGirl/img/thinking/10.png +0 -0
- package/assets/whaleGirl/img/thinking/11.png +0 -0
- package/assets/whaleGirl/img/thinking/12.png +0 -0
- package/assets/whaleGirl/img/thinking/13.png +0 -0
- package/assets/whaleGirl/img/thinking/14.png +0 -0
- package/assets/whaleGirl/img/thinking/15.png +0 -0
- package/assets/whaleGirl/img/thinking/16.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/00.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/01.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/02.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/03.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/04.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/05.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/06.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/07.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/08.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/09.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/10.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/11.png +0 -0
- package/assets/whaleGirl/img/thumbs-up/12.png +0 -0
- package/assets/whaleGirl/img/tickle/00.png +0 -0
- package/assets/whaleGirl/img/tickle/01.png +0 -0
- package/assets/whaleGirl/img/tickle/02.png +0 -0
- package/assets/whaleGirl/img/tickle/03.png +0 -0
- package/assets/whaleGirl/img/tickle/04.png +0 -0
- package/assets/whaleGirl/img/tickle/05.png +0 -0
- package/assets/whaleGirl/img/tickle/06.png +0 -0
- package/assets/whaleGirl/img/tickle/07.png +0 -0
- package/assets/whaleGirl/img/tickle/08.png +0 -0
- package/assets/whaleGirl/img/tickle/09.png +0 -0
- package/assets/whaleGirl/img/tickle/10.png +0 -0
- package/assets/whaleGirl/img/tickle/11.png +0 -0
- package/assets/whaleGirl/img/tickle/12.png +0 -0
- package/assets/whaleGirl/img/tickle/13.png +0 -0
- package/assets/whaleGirl/img/timings.json +1 -0
- package/assets/whaleGirl/img/typing/00.png +0 -0
- package/assets/whaleGirl/img/typing/01.png +0 -0
- package/assets/whaleGirl/img/typing/02.png +0 -0
- package/assets/whaleGirl/img/typing/03.png +0 -0
- package/assets/whaleGirl/img/typing/04.png +0 -0
- package/assets/whaleGirl/img/typing/05.png +0 -0
- package/assets/whaleGirl/img/typing/06.png +0 -0
- package/assets/whaleGirl/img/typing/07.png +0 -0
- package/assets/whaleGirl/img/typing/08.png +0 -0
- package/assets/whaleGirl/img/typing/09.png +0 -0
- package/assets/whaleGirl/img/typing/10.png +0 -0
- package/assets/whaleGirl/img/typing/11.png +0 -0
- package/assets/whaleGirl/img/typing/12.png +0 -0
- package/assets/whaleGirl/img/typing/13.png +0 -0
- package/assets/whaleGirl/img/waking/00.png +0 -0
- package/assets/whaleGirl/img/waking/01.png +0 -0
- package/assets/whaleGirl/img/waking/02.png +0 -0
- package/assets/whaleGirl/img/waking/03.png +0 -0
- package/assets/whaleGirl/img/waking/04.png +0 -0
- package/assets/whaleGirl/img/waking/05.png +0 -0
- package/assets/whaleGirl/img/waking/06.png +0 -0
- package/assets/whaleGirl/img/waking/07.png +0 -0
- package/assets/whaleGirl/img/waking/08.png +0 -0
- package/assets/whaleGirl/img/waking/09.png +0 -0
- package/assets/whaleGirl/img/waking/10.png +0 -0
- package/bin/dsh-tui.js +38 -6
- package/cordis.patch.yml +31 -6
- package/guide/dsh-tui-guide/SKILL.md +37 -0
- package/guide/dsh-tui-guide/configuration.en.md +415 -0
- package/guide/dsh-tui-guide/configuration.md +354 -0
- package/guide/dsh-tui-guide/getting-started.en.md +401 -0
- package/guide/dsh-tui-guide/getting-started.md +399 -0
- package/guide/dsh-tui-guide/interaction.en.md +738 -0
- package/guide/dsh-tui-guide/interaction.md +793 -0
- package/guide/dsh-tui-guide/migrate.en.md +166 -0
- package/guide/dsh-tui-guide/migrate.md +132 -0
- package/guide/dsh-tui-guide/plugins.en.md +78 -0
- package/guide/dsh-tui-guide/plugins.md +64 -0
- package/guide/dsh-tui-guide/themes.en.md +197 -0
- package/guide/dsh-tui-guide/themes.md +188 -0
- package/guide/dsh-tui-guide/user-guide.en.md +711 -0
- package/guide/dsh-tui-guide/user-guide.md +666 -0
- package/guide/dsh-tui-guide/vscode.en.md +301 -0
- package/guide/dsh-tui-guide/vscode.md +272 -0
- package/lib/settings.json +219 -5
- package/lib/types/adapter/channel/ui-policy.d.ts +7 -2
- package/lib/types/adapter/channel/ui-policy.d.ts.map +1 -1
- package/lib/types/adapter/channel/ui-policy.js +18 -1
- package/lib/types/adapter/index.d.ts +1 -1
- package/lib/types/adapter/index.js +1 -1
- package/lib/types/adapter/kernel/host-facade.d.ts +4 -1
- package/lib/types/adapter/kernel/host-facade.d.ts.map +1 -1
- package/lib/types/adapter/kernel/host-facade.js +8 -1
- package/lib/types/adapter/kernel/runtime.d.ts.map +1 -1
- package/lib/types/adapter/kernel/runtime.js +13 -0
- package/lib/types/adapter/kernel/slices/index.d.ts +1 -0
- package/lib/types/adapter/kernel/slices/index.d.ts.map +1 -1
- package/lib/types/adapter/kernel/slices/index.js +3 -0
- package/lib/types/adapter/kernel/slices/panels.d.ts +3 -0
- package/lib/types/adapter/kernel/slices/panels.d.ts.map +1 -0
- package/lib/types/adapter/kernel/slices/panels.js +14 -0
- package/lib/types/adapter/ports/channel-capabilities.d.ts +48 -0
- package/lib/types/adapter/ports/channel-capabilities.d.ts.map +1 -0
- package/lib/types/adapter/ports/channel-capabilities.js +2 -0
- package/lib/types/adapter/ports/channel-catalog.d.ts +7 -0
- package/lib/types/adapter/ports/channel-catalog.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-display.d.ts +10 -0
- package/lib/types/adapter/ports/channel-display.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-settings.d.ts +2 -1
- package/lib/types/adapter/ports/channel-settings.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-ui.d.ts +91 -4
- package/lib/types/adapter/ports/channel-ui.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-view.d.ts +137 -9
- package/lib/types/adapter/ports/channel-view.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel.d.ts +1 -1
- package/lib/types/adapter/ports/channel.js +1 -1
- package/lib/types/adapter/ports/descriptor.d.ts +1 -1
- package/lib/types/adapter/ports/descriptor.js +1 -1
- package/lib/types/adapter/ports/index.d.ts +1 -1
- package/lib/types/adapter/ports/index.js +1 -1
- package/lib/types/adapter/ports/panels.d.ts +28 -0
- package/lib/types/adapter/ports/panels.d.ts.map +1 -0
- package/lib/types/adapter/ports/panels.js +8 -0
- package/lib/types/adapter/ports/workspace.d.ts +1 -1
- package/lib/types/adapter/ports/workspace.js +1 -1
- package/lib/types/adapter/spec/index.d.ts +2 -2
- package/lib/types/adapter/spec/index.js +2 -2
- package/lib/types/adapter/spec/profile.d.ts +6 -6
- package/lib/types/adapter/spec/profile.d.ts.map +1 -1
- package/lib/types/adapter/spec/profile.js +6 -6
- package/lib/types/adapter/spec/protocol-constants.d.ts +3 -3
- package/lib/types/adapter/spec/protocol-constants.d.ts.map +1 -1
- package/lib/types/adapter/spec/protocol-constants.js +5 -5
- package/lib/types/adapter/spec/tui-contributions.d.ts +4 -4
- package/lib/types/adapter/spec/tui-contributions.d.ts.map +1 -1
- package/lib/types/adapter/spec/tui-contributions.js +5 -5
- package/lib/types/adapter/standard/descriptor.js +1 -1
- package/lib/types/adapter/standard/index.d.ts +3 -3
- package/lib/types/adapter/standard/index.js +3 -3
- package/lib/types/adapter/standard/registry.d.ts +3 -2
- package/lib/types/adapter/standard/registry.d.ts.map +1 -1
- package/lib/types/adapter/standard/registry.js +6 -5
- package/lib/types/adapter/standard/tui-extension.d.ts +1 -1
- package/lib/types/adapter/standard/tui-extension.js +1 -1
- package/lib/types/adapter/upstream/index.d.ts +1 -0
- package/lib/types/adapter/upstream/index.d.ts.map +1 -1
- package/lib/types/adapter/upstream/index.js +1 -0
- package/lib/types/adapter/upstream/panels-driver.d.ts +18 -0
- package/lib/types/adapter/upstream/panels-driver.d.ts.map +1 -0
- package/lib/types/adapter/upstream/panels-driver.js +159 -0
- package/lib/types/api.d.ts +2 -0
- package/lib/types/api.d.ts.map +1 -1
- package/lib/types/api.js +3 -1
- package/lib/types/commands.d.ts.map +1 -1
- package/lib/types/commands.js +12 -4
- package/lib/types/components/ActivityLine.d.ts +6 -9
- package/lib/types/components/ActivityLine.d.ts.map +1 -1
- package/lib/types/components/ActivityLine.js +7 -8
- package/lib/types/components/Chat/JobCard.d.ts +27 -1
- package/lib/types/components/Chat/JobCard.d.ts.map +1 -1
- package/lib/types/components/Chat/JobCard.js +128 -33
- package/lib/types/components/Chat/JobGroupHeader.d.ts +27 -0
- package/lib/types/components/Chat/JobGroupHeader.d.ts.map +1 -0
- package/lib/types/components/Chat/JobGroupHeader.js +62 -0
- package/lib/types/components/Chat/SubagentMessage.js +6 -6
- package/lib/types/components/GoalTodoPanel.d.ts +13 -1
- package/lib/types/components/GoalTodoPanel.d.ts.map +1 -1
- package/lib/types/components/GoalTodoPanel.js +55 -14
- package/lib/types/components/JobsPanel.d.ts +42 -2
- package/lib/types/components/JobsPanel.d.ts.map +1 -1
- package/lib/types/components/JobsPanel.js +220 -40
- package/lib/types/components/LogoV2.d.ts +43 -3
- package/lib/types/components/LogoV2.d.ts.map +1 -1
- package/lib/types/components/LogoV2.js +42 -15
- package/lib/types/components/MessageList.d.ts +8 -2
- package/lib/types/components/MessageList.d.ts.map +1 -1
- package/lib/types/components/MessageList.js +215 -21
- package/lib/types/components/OverlayAbove.d.ts +11 -1
- package/lib/types/components/OverlayAbove.d.ts.map +1 -1
- package/lib/types/components/OverlayAbove.js +2 -12
- package/lib/types/components/PageMargin.d.ts.map +1 -1
- package/lib/types/components/PageMargin.js +3 -1
- package/lib/types/components/PluginSceneBoundary.d.ts +1 -1
- package/lib/types/components/PluginSceneBoundary.js +1 -1
- package/lib/types/components/PresetPicker.d.ts +4 -0
- package/lib/types/components/PresetPicker.d.ts.map +1 -1
- package/lib/types/components/PresetPicker.js +5 -1
- package/lib/types/components/PromptInput.d.ts +20 -22
- package/lib/types/components/PromptInput.d.ts.map +1 -1
- package/lib/types/components/PromptInput.js +425 -157
- package/lib/types/components/SearchBox.d.ts +22 -5
- package/lib/types/components/SearchBox.d.ts.map +1 -1
- package/lib/types/components/SearchBox.js +17 -13
- package/lib/types/components/StarPrompt.d.ts +6 -0
- package/lib/types/components/StarPrompt.d.ts.map +1 -1
- package/lib/types/components/StarPrompt.js +45 -0
- package/lib/types/components/SubagentCard.d.ts.map +1 -1
- package/lib/types/components/SubagentCard.js +24 -9
- package/lib/types/components/SubagentDashboard.d.ts +18 -3
- package/lib/types/components/SubagentDashboard.d.ts.map +1 -1
- package/lib/types/components/SubagentDashboard.js +53 -5
- package/lib/types/components/SubagentDetailScene.d.ts +7 -1
- package/lib/types/components/SubagentDetailScene.d.ts.map +1 -1
- package/lib/types/components/SubagentDetailScene.js +160 -13
- package/lib/types/components/SurfaceEdges.d.ts +21 -0
- package/lib/types/components/SurfaceEdges.d.ts.map +1 -0
- package/lib/types/components/SurfaceEdges.js +7 -0
- package/lib/types/components/ThemePicker.d.ts +9 -0
- package/lib/types/components/ThemePicker.d.ts.map +1 -1
- package/lib/types/components/ThemePicker.js +74 -10
- package/lib/types/components/ThemePreviewPane.d.ts +26 -0
- package/lib/types/components/ThemePreviewPane.d.ts.map +1 -0
- package/lib/types/components/ThemePreviewPane.js +99 -0
- package/lib/types/components/WhaleGirl.d.ts +6 -0
- package/lib/types/components/WhaleGirl.d.ts.map +1 -1
- package/lib/types/components/WhaleGirl.js +18 -0
- package/lib/types/components/design-system/Divider.d.ts.map +1 -1
- package/lib/types/components/design-system/Divider.js +14 -9
- package/lib/types/components/launchpadActions.d.ts +73 -0
- package/lib/types/components/launchpadActions.d.ts.map +1 -0
- package/lib/types/components/launchpadActions.js +111 -0
- package/lib/types/components/launchpadLayout.d.ts +62 -0
- package/lib/types/components/launchpadLayout.d.ts.map +1 -0
- package/lib/types/components/launchpadLayout.js +176 -0
- package/lib/types/components/messages/AssistantThinkingMessage.js +4 -4
- package/lib/types/components/onboardingModel.d.ts +83 -0
- package/lib/types/components/onboardingModel.d.ts.map +1 -0
- package/lib/types/components/onboardingModel.js +128 -0
- package/lib/types/components/sidePanel/InfoPanel.d.ts +17 -0
- package/lib/types/components/sidePanel/InfoPanel.d.ts.map +1 -0
- package/lib/types/components/sidePanel/InfoPanel.js +124 -0
- package/lib/types/components/sidePanel/PanelBar.d.ts +45 -0
- package/lib/types/components/sidePanel/PanelBar.d.ts.map +1 -0
- package/lib/types/components/sidePanel/PanelBar.js +104 -0
- package/lib/types/components/sidePanel/PanelErrorBoundary.d.ts +21 -0
- package/lib/types/components/sidePanel/PanelErrorBoundary.d.ts.map +1 -0
- package/lib/types/components/sidePanel/PanelErrorBoundary.js +30 -0
- package/lib/types/components/sidePanel/PanelHost.d.ts +36 -0
- package/lib/types/components/sidePanel/PanelHost.d.ts.map +1 -0
- package/lib/types/components/sidePanel/PanelHost.js +81 -0
- package/lib/types/components/sidePanel/PanelPicker.d.ts +24 -0
- package/lib/types/components/sidePanel/PanelPicker.d.ts.map +1 -0
- package/lib/types/components/sidePanel/PanelPicker.js +45 -0
- package/lib/types/components/sidePanel/PanelStore.d.ts +55 -0
- package/lib/types/components/sidePanel/PanelStore.d.ts.map +1 -0
- package/lib/types/components/sidePanel/PanelStore.js +109 -0
- package/lib/types/components/sidePanel/SidePanelColumn.d.ts +31 -0
- package/lib/types/components/sidePanel/SidePanelColumn.d.ts.map +1 -0
- package/lib/types/components/sidePanel/SidePanelColumn.js +70 -0
- package/lib/types/components/sidePanel/SidePanelLayout.d.ts +54 -0
- package/lib/types/components/sidePanel/SidePanelLayout.d.ts.map +1 -0
- package/lib/types/components/sidePanel/SidePanelLayout.js +81 -0
- package/lib/types/components/sidePanel/SidePanelRuntimeContext.d.ts +43 -0
- package/lib/types/components/sidePanel/SidePanelRuntimeContext.d.ts.map +1 -0
- package/lib/types/components/sidePanel/SidePanelRuntimeContext.js +26 -0
- package/lib/types/components/sidePanel/TrajectoryPanel.d.ts +7 -0
- package/lib/types/components/sidePanel/TrajectoryPanel.d.ts.map +1 -0
- package/lib/types/components/sidePanel/TrajectoryPanel.js +263 -0
- package/lib/types/components/sidePanel/WorkspacePanel.d.ts +4 -0
- package/lib/types/components/sidePanel/WorkspacePanel.d.ts.map +1 -0
- package/lib/types/components/sidePanel/WorkspacePanel.js +171 -0
- package/lib/types/components/sidePanel/builtinPanels.d.ts +3 -0
- package/lib/types/components/sidePanel/builtinPanels.d.ts.map +1 -0
- package/lib/types/components/sidePanel/builtinPanels.js +229 -0
- package/lib/types/components/sidePanel/companion/CompanionPanel.d.ts +53 -0
- package/lib/types/components/sidePanel/companion/CompanionPanel.d.ts.map +1 -0
- package/lib/types/components/sidePanel/companion/CompanionPanel.js +528 -0
- package/lib/types/components/sidePanel/companion/SplashMascot.d.ts +32 -0
- package/lib/types/components/sidePanel/companion/SplashMascot.d.ts.map +1 -0
- package/lib/types/components/sidePanel/companion/SplashMascot.js +103 -0
- package/lib/types/components/sidePanel/companion/deepy.d.ts +75 -0
- package/lib/types/components/sidePanel/companion/deepy.d.ts.map +1 -0
- package/lib/types/components/sidePanel/companion/deepy.js +222 -0
- package/lib/types/components/sidePanel/companion/mood.d.ts +176 -0
- package/lib/types/components/sidePanel/companion/mood.d.ts.map +1 -0
- package/lib/types/components/sidePanel/companion/mood.js +212 -0
- package/lib/types/components/sidePanel/companion/pose.d.ts +43 -0
- package/lib/types/components/sidePanel/companion/pose.d.ts.map +1 -0
- package/lib/types/components/sidePanel/companion/pose.js +34 -0
- package/lib/types/components/sidePanel/companion/skins.d.ts +102 -0
- package/lib/types/components/sidePanel/companion/skins.d.ts.map +1 -0
- package/lib/types/components/sidePanel/companion/skins.js +408 -0
- package/lib/types/components/sidePanel/dimensions.d.ts +60 -0
- package/lib/types/components/sidePanel/dimensions.d.ts.map +1 -0
- package/lib/types/components/sidePanel/dimensions.js +75 -0
- package/lib/types/components/sidePanel/jobsFocusStore.d.ts +21 -0
- package/lib/types/components/sidePanel/jobsFocusStore.d.ts.map +1 -0
- package/lib/types/components/sidePanel/jobsFocusStore.js +30 -0
- package/lib/types/components/sidePanel/panelBridge.d.ts +44 -0
- package/lib/types/components/sidePanel/panelBridge.d.ts.map +1 -0
- package/lib/types/components/sidePanel/panelBridge.js +55 -0
- package/lib/types/components/sidePanel/pluginPanelAdapter.d.ts +22 -0
- package/lib/types/components/sidePanel/pluginPanelAdapter.d.ts.map +1 -0
- package/lib/types/components/sidePanel/pluginPanelAdapter.js +148 -0
- package/lib/types/components/sidePanel/types.d.ts +110 -0
- package/lib/types/components/sidePanel/types.d.ts.map +1 -0
- package/lib/types/components/sidePanel/types.js +1 -0
- package/lib/types/components/sidePanel/usePanelInput.d.ts +5 -0
- package/lib/types/components/sidePanel/usePanelInput.d.ts.map +1 -0
- package/lib/types/components/sidePanel/usePanelInput.js +44 -0
- package/lib/types/components/sidePanel/useSidePanel.d.ts +47 -0
- package/lib/types/components/sidePanel/useSidePanel.d.ts.map +1 -0
- package/lib/types/components/sidePanel/useSidePanel.js +284 -0
- package/lib/types/components/trajectory/MiniWake.d.ts +11 -1
- package/lib/types/components/trajectory/MiniWake.d.ts.map +1 -1
- package/lib/types/components/trajectory/MiniWake.js +9 -3
- package/lib/types/components/workspaces/HomeWorkspaceRow.d.ts +3 -1
- package/lib/types/components/workspaces/HomeWorkspaceRow.d.ts.map +1 -1
- package/lib/types/components/workspaces/HomeWorkspaceRow.js +3 -2
- package/lib/types/deepseekPricing.d.ts +10 -9
- package/lib/types/deepseekPricing.d.ts.map +1 -1
- package/lib/types/deepseekPricing.js +18 -11
- package/lib/types/dsh-adapter/channel/attached-context.d.ts +58 -0
- package/lib/types/dsh-adapter/channel/attached-context.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/attached-context.js +109 -0
- package/lib/types/dsh-adapter/channel/binding-events.d.ts +6 -0
- package/lib/types/dsh-adapter/channel/binding-events.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/binding-events.js +43 -0
- package/lib/types/dsh-adapter/channel/capabilities.d.ts +82 -0
- package/lib/types/dsh-adapter/channel/capabilities.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/capabilities.js +165 -0
- package/lib/types/dsh-adapter/channel/command-completions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/command-completions.js +8 -0
- package/lib/types/dsh-adapter/channel/context-bookkeeping.d.ts +4 -12
- package/lib/types/dsh-adapter/channel/context-bookkeeping.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/context-bookkeeping.js +9 -4
- package/lib/types/dsh-adapter/channel/external-commands.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/external-commands.js +8 -2
- package/lib/types/dsh-adapter/channel/input-delivery.d.ts +13 -2
- package/lib/types/dsh-adapter/channel/input-delivery.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/input-delivery.js +18 -1
- package/lib/types/dsh-adapter/channel/job-projection.d.ts +1 -0
- package/lib/types/dsh-adapter/channel/job-projection.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/job-projection.js +88 -3
- package/lib/types/dsh-adapter/channel/mode-actions.d.ts +13 -3
- package/lib/types/dsh-adapter/channel/mode-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/mode-actions.js +55 -9
- package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts +8 -1
- package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/mode-permission-actions.js +25 -10
- package/lib/types/dsh-adapter/channel/preferences.d.ts +1 -1
- package/lib/types/dsh-adapter/channel/preferences.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/preferences.js +26 -8
- package/lib/types/dsh-adapter/channel/projection.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/projection.js +42 -37
- package/lib/types/dsh-adapter/channel/reports.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/reports.js +13 -4
- package/lib/types/dsh-adapter/channel/session-reset.d.ts +5 -1
- package/lib/types/dsh-adapter/channel/session-reset.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-reset.js +1 -0
- package/lib/types/dsh-adapter/channel/state.d.ts +21 -3
- package/lib/types/dsh-adapter/channel/state.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/state.js +3 -2
- package/lib/types/dsh-adapter/channel/subagent-projection.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/subagent-projection.js +5 -0
- package/lib/types/dsh-adapter/channel/types.d.ts +1 -1
- package/lib/types/dsh-adapter/channel/types.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/usage.d.ts +18 -1
- package/lib/types/dsh-adapter/channel/usage.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/usage.js +97 -2
- package/lib/types/dsh-adapter/channel.d.ts +1 -1
- package/lib/types/dsh-adapter/channel.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel.js +72 -4
- package/lib/types/dsh-adapter/context-occupancy.d.ts +204 -0
- package/lib/types/dsh-adapter/context-occupancy.d.ts.map +1 -0
- package/lib/types/dsh-adapter/context-occupancy.js +299 -0
- package/lib/types/dsh-adapter/contract.d.ts +19 -4
- package/lib/types/dsh-adapter/contract.d.ts.map +1 -1
- package/lib/types/dsh-adapter/contract.js +33 -3
- package/lib/types/dsh-adapter/index.d.ts +32 -0
- package/lib/types/dsh-adapter/index.d.ts.map +1 -1
- package/lib/types/dsh-adapter/index.js +20 -1
- package/lib/types/dsh-adapter/jobs.d.ts +82 -16
- package/lib/types/dsh-adapter/jobs.d.ts.map +1 -1
- package/lib/types/dsh-adapter/jobs.js +104 -9
- package/lib/types/dsh-adapter/migrate/sessionize.d.ts.map +1 -1
- package/lib/types/dsh-adapter/migrate/sessionize.js +11 -12
- package/lib/types/dsh-adapter/oauth/bonus.d.ts +27 -0
- package/lib/types/dsh-adapter/oauth/bonus.d.ts.map +1 -0
- package/lib/types/dsh-adapter/oauth/bonus.js +69 -0
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/command.d.ts +2 -1
- package/lib/types/dsh-adapter/oauth/command.d.ts.map +1 -0
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/command.js +7 -4
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/credentials.d.ts +13 -10
- package/lib/types/dsh-adapter/oauth/credentials.d.ts.map +1 -0
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/credentials.js +61 -23
- package/lib/types/dsh-adapter/oauth/deepseek.d.ts +39 -0
- package/lib/types/dsh-adapter/oauth/deepseek.d.ts.map +1 -0
- package/lib/types/dsh-adapter/oauth/deepseek.js +189 -0
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/index.d.ts +24 -16
- package/lib/types/dsh-adapter/oauth/index.d.ts.map +1 -0
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/index.js +34 -20
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/interaction.d.ts +14 -12
- package/lib/types/dsh-adapter/oauth/interaction.d.ts.map +1 -0
- package/lib/types/dsh-adapter/oauth/interaction.js +283 -0
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/opener.d.ts +2 -1
- package/lib/types/dsh-adapter/oauth/opener.d.ts.map +1 -0
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/opener.js +1 -1
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/pi-ai.d.ts +10 -3
- package/lib/types/dsh-adapter/oauth/pi-ai.d.ts.map +1 -0
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/pi-ai.js +8 -3
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/profiles.d.ts +6 -3
- package/lib/types/dsh-adapter/oauth/profiles.d.ts.map +1 -0
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/profiles.js +11 -3
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/service.d.ts +14 -7
- package/lib/types/dsh-adapter/oauth/service.d.ts.map +1 -0
- package/{node_modules/@deepseek-harness-tui/dsh-auth/lib → lib/types/dsh-adapter/oauth}/service.js +82 -17
- package/lib/types/dsh-adapter/panel-runtime-registry.d.ts +39 -0
- package/lib/types/dsh-adapter/panel-runtime-registry.d.ts.map +1 -0
- package/lib/types/dsh-adapter/panel-runtime-registry.js +84 -0
- package/lib/types/dsh-adapter/panels.d.ts +251 -0
- package/lib/types/dsh-adapter/panels.d.ts.map +1 -0
- package/lib/types/dsh-adapter/panels.js +407 -0
- package/lib/types/dsh-adapter/plugin-host.js +1 -1
- package/lib/types/dsh-adapter/plugin.d.ts +25 -2
- package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugin.js +241 -44
- package/lib/types/dsh-adapter/presets.d.ts +26 -4
- package/lib/types/dsh-adapter/presets.d.ts.map +1 -1
- package/lib/types/dsh-adapter/presets.js +29 -5
- package/lib/types/dsh-adapter/providerWizard.d.ts.map +1 -1
- package/lib/types/dsh-adapter/providerWizard.js +6 -2
- package/lib/types/dsh-adapter/startup-args.d.ts +8 -0
- package/lib/types/dsh-adapter/startup-args.d.ts.map +1 -0
- package/lib/types/dsh-adapter/startup-args.js +34 -0
- package/lib/types/dsh-adapter/subagents.d.ts +1 -0
- package/lib/types/dsh-adapter/subagents.d.ts.map +1 -1
- package/lib/types/dsh-adapter/subagents.js +10 -1
- package/lib/types/history.d.ts +24 -7
- package/lib/types/history.d.ts.map +1 -1
- package/lib/types/history.js +77 -18
- package/lib/types/i18n.d.ts +908 -33
- package/lib/types/i18n.d.ts.map +1 -1
- package/lib/types/i18n.js +355 -17
- package/lib/types/ink/components/App.d.ts +14 -1
- package/lib/types/ink/components/App.d.ts.map +1 -1
- package/lib/types/ink/components/App.js +71 -61
- package/lib/types/ink/components/TerminalSizeContext.d.ts +7 -0
- package/lib/types/ink/components/TerminalSizeContext.d.ts.map +1 -1
- package/lib/types/ink/hooks/use-input.d.ts +11 -0
- package/lib/types/ink/hooks/use-input.d.ts.map +1 -1
- package/lib/types/ink/hooks/use-input.js +8 -2
- package/lib/types/ink/hooks/use-terminal-viewport.d.ts.map +1 -1
- package/lib/types/ink/hooks/use-terminal-viewport.js +3 -1
- package/lib/types/ink/ink.d.ts +18 -0
- package/lib/types/ink/ink.d.ts.map +1 -1
- package/lib/types/ink/ink.js +51 -8
- package/lib/types/ink/output.d.ts +10 -1
- package/lib/types/ink/output.d.ts.map +1 -1
- package/lib/types/ink/output.js +3 -3
- package/lib/types/ink/parse-keypress.d.ts +71 -3
- package/lib/types/ink/parse-keypress.d.ts.map +1 -1
- package/lib/types/ink/parse-keypress.js +815 -133
- package/lib/types/ink/render-node-to-output.d.ts +1 -1
- package/lib/types/ink/render-node-to-output.d.ts.map +1 -1
- package/lib/types/ink/render-node-to-output.js +37 -5
- package/lib/types/ink/screen.d.ts +26 -1
- package/lib/types/ink/screen.d.ts.map +1 -1
- package/lib/types/ink/screen.js +96 -1
- package/lib/types/ink/selection.d.ts +23 -1
- package/lib/types/ink/selection.d.ts.map +1 -1
- package/lib/types/ink/selection.js +102 -26
- package/lib/types/ink/sixel-codec.d.ts +11 -0
- package/lib/types/ink/sixel-codec.d.ts.map +1 -1
- package/lib/types/ink/sixel-codec.js +42 -8
- package/lib/types/ink/terminal-querier.d.ts +25 -0
- package/lib/types/ink/terminal-querier.d.ts.map +1 -1
- package/lib/types/ink/terminal-querier.js +42 -0
- package/lib/types/ink/update-overflow-guard.d.ts +24 -0
- package/lib/types/ink/update-overflow-guard.d.ts.map +1 -1
- package/lib/types/ink/update-overflow-guard.js +25 -3
- package/lib/types/math/renderer.d.ts +2 -0
- package/lib/types/math/renderer.d.ts.map +1 -1
- package/lib/types/math/renderer.js +4 -0
- package/lib/types/minimalUiMode.d.ts +19 -0
- package/lib/types/minimalUiMode.d.ts.map +1 -0
- package/lib/types/minimalUiMode.js +23 -0
- package/lib/types/oauth.d.ts +5 -10
- package/lib/types/oauth.d.ts.map +1 -1
- package/lib/types/oauth.js +5 -10
- package/lib/types/onboardingPrefs.d.ts +52 -0
- package/lib/types/onboardingPrefs.d.ts.map +1 -0
- package/lib/types/onboardingPrefs.js +107 -0
- package/lib/types/panels.d.ts +4 -0
- package/lib/types/panels.d.ts.map +1 -0
- package/lib/types/panels.js +4 -0
- package/lib/types/screens/Chat.d.ts +25 -1
- package/lib/types/screens/Chat.d.ts.map +1 -1
- package/lib/types/screens/Chat.js +1149 -302
- package/lib/types/screens/Launchpad.d.ts +194 -0
- package/lib/types/screens/Launchpad.d.ts.map +1 -0
- package/lib/types/screens/Launchpad.js +607 -0
- package/lib/types/screens/Onboarding.d.ts +37 -0
- package/lib/types/screens/Onboarding.d.ts.map +1 -0
- package/lib/types/screens/Onboarding.js +492 -0
- package/lib/types/screens/SessionSupervisor.d.ts.map +1 -1
- package/lib/types/screens/SessionSupervisor.js +18 -12
- package/lib/types/screens/StatusLine.d.ts +4 -0
- package/lib/types/screens/StatusLine.d.ts.map +1 -1
- package/lib/types/screens/StatusLine.js +43 -25
- package/lib/types/screens/StatusMetrics.d.ts +22 -0
- package/lib/types/screens/StatusMetrics.d.ts.map +1 -1
- package/lib/types/screens/StatusMetrics.js +20 -0
- package/lib/types/screens/chatOverlay.d.ts +18 -1
- package/lib/types/screens/chatOverlay.d.ts.map +1 -1
- package/lib/types/screens/chatOverlay.js +3 -0
- package/lib/types/screens/sessionSupervisor/model.d.ts +1 -2
- package/lib/types/screens/sessionSupervisor/model.d.ts.map +1 -1
- package/lib/types/screens/sessionSupervisor/model.js +4 -2
- package/lib/types/screens/sessionSupervisor/useSessionSupervisor.d.ts.map +1 -1
- package/lib/types/screens/sessionSupervisor/useSessionSupervisor.js +7 -3
- package/lib/types/settings/definitions.d.ts +93 -0
- package/lib/types/settings/definitions.d.ts.map +1 -1
- package/lib/types/settings/definitions.js +87 -4
- package/lib/types/tips.d.ts.map +1 -1
- package/lib/types/tips.js +13 -7
- package/lib/types/tuiDisplayPrefs.d.ts +42 -2
- package/lib/types/tuiDisplayPrefs.d.ts.map +1 -1
- package/lib/types/tuiDisplayPrefs.js +74 -0
- package/lib/types/update.d.ts +53 -9
- package/lib/types/update.d.ts.map +1 -1
- package/lib/types/update.js +103 -46
- package/lib/types/utils/bmp.d.ts.map +1 -1
- package/lib/types/utils/bmp.js +8 -1
- package/lib/types/utils/clipboard.d.ts.map +1 -1
- package/lib/types/utils/clipboard.js +25 -6
- package/lib/types/utils/credentials.d.ts.map +1 -1
- package/lib/types/utils/credentials.js +5 -1
- package/lib/types/utils/draftWordBoundary.d.ts +23 -0
- package/lib/types/utils/draftWordBoundary.d.ts.map +1 -0
- package/lib/types/utils/draftWordBoundary.js +161 -0
- package/lib/types/utils/fileTarget.d.ts.map +1 -1
- package/lib/types/utils/fileTarget.js +7 -9
- package/lib/types/utils/inputPaste.d.ts +62 -0
- package/lib/types/utils/inputPaste.d.ts.map +1 -0
- package/lib/types/utils/inputPaste.js +111 -0
- package/lib/types/utils/intl.d.ts +8 -0
- package/lib/types/utils/intl.d.ts.map +1 -1
- package/lib/types/utils/intl.js +11 -0
- package/lib/types/utils/keymap.d.ts +13 -3
- package/lib/types/utils/keymap.d.ts.map +1 -1
- package/lib/types/utils/keymap.js +27 -5
- package/lib/types/utils/pastedImagePath.d.ts +8 -0
- package/lib/types/utils/pastedImagePath.d.ts.map +1 -1
- package/lib/types/utils/pastedImagePath.js +29 -5
- package/package.json +128 -106
- package/presets/liangshen/agent.cordis.yml +4 -1
- package/presets/liangshen/preset.yml +1 -1
- package/{dsh-ecosystem-spec → tui-profile}/registry/README.md +1 -1
- package/{dsh-ecosystem-spec → tui-profile}/registry/registry-0.15.json +1 -1
- package/lib/types/minimalMode.d.ts +0 -13
- package/lib/types/minimalMode.d.ts.map +0 -1
- package/lib/types/minimalMode.js +0 -17
- package/node_modules/@deepseek-harness-tui/dsh-auth/LICENSE +0 -21
- package/node_modules/@deepseek-harness-tui/dsh-auth/README.md +0 -143
- package/node_modules/@deepseek-harness-tui/dsh-auth/cordis.patch.yml +0 -11
- package/node_modules/@deepseek-harness-tui/dsh-auth/dsh-plugin.json +0 -44
- package/node_modules/@deepseek-harness-tui/dsh-auth/lib/interaction.js +0 -193
- package/node_modules/@deepseek-harness-tui/dsh-auth/package.json +0 -69
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/profile-definitions.d.ts +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/profile-definitions.js +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-channel-http.d.ts +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-channel-http.js +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-channel.d.ts +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-channel.js +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-contributions.d.ts +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-contributions.js +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/registry/contracts/decision-events-v1alpha1.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/registry/contracts/scene-v1alpha1.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/registry/contracts/settings-section-v1alpha1.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/registry/contracts/tui-channel-v1alpha1.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/registry/contracts/workspace-provider-v1alpha1.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/registry/host-descriptor.tui.example.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/registry/permissions-0.1.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/schemas/conformance-claim.schema.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/schemas/effect-ledger-record.schema.json +0 -0
- /package/{dsh-ecosystem-spec → tui-profile}/schemas/host-descriptor.schema.json +0 -0
|
@@ -0,0 +1,399 @@
|
|
|
1
|
+
# 安装与快速开始
|
|
2
|
+
|
|
3
|
+
[文档索引](README.md) · [English](getting-started.en.md)
|
|
4
|
+
|
|
5
|
+
## 前置条件
|
|
6
|
+
|
|
7
|
+
- Node.js `^22.19 || >=24`。CI 使用 Node 24。
|
|
8
|
+
- 官方 DeepSeek Harness CLI:`@deepseek-ai/dsh`。
|
|
9
|
+
- `pnpm` **10 或更高**(CI 使用 11)。`dsh plugin` 把 profile 内的包安装
|
|
10
|
+
交给 pnpm;pnpm 9 的传递依赖提升行为不同,会让 `dsh-working-activity`
|
|
11
|
+
解析不到,表现为启动后立刻退出且几乎无报错(issue #60,见下方常见问题)。
|
|
12
|
+
- 支持交互输入的终端 TTY。`dsh-tui` 不支持把 stdout 重定向后启动。
|
|
13
|
+
- `deepseek-official` 模型路由需要 `DEEPSEEK_API_KEY`;DSH 0.2.0-rc.1+ 的标准 profile 也可通过 `/auth login deepseek-account` 登录独立的 DeepSeek 账号路由。其他支持的账号可用 `/provider` 或 `/auth` 登录。自定义兼容端点还可设置 `DEEPSEEK_BASE_URL`。
|
|
14
|
+
|
|
15
|
+
macOS/Linux:
|
|
16
|
+
|
|
17
|
+
```sh
|
|
18
|
+
export DEEPSEEK_API_KEY='your-key'
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
PowerShell:
|
|
22
|
+
|
|
23
|
+
```powershell
|
|
24
|
+
$env:DEEPSEEK_API_KEY = 'your-key'
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
不要把真实密钥提交到仓库。正常的 profile 启动直接读取环境变量。
|
|
28
|
+
|
|
29
|
+
## 安装
|
|
30
|
+
|
|
31
|
+
最快路径(全局安装后自带 `dsh-tui` 直达命令):
|
|
32
|
+
|
|
33
|
+
```sh
|
|
34
|
+
# 官方 CLI + 本插件
|
|
35
|
+
npm install -g @deepseek-ai/dsh @deepseek-harness-tui/dsh-tui
|
|
36
|
+
|
|
37
|
+
# pnpm 未安装时任选一种方式(首次启动自动初始化 profile 时需要)
|
|
38
|
+
npm install -g pnpm
|
|
39
|
+
# 或:corepack enable pnpm
|
|
40
|
+
|
|
41
|
+
# 启动:首次运行自动执行 dsh plugin --profile dsh-tui add @deepseek-harness-tui/dsh-tui@<版本>
|
|
42
|
+
dsh-tui
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
手工分步(等价):
|
|
46
|
+
|
|
47
|
+
```sh
|
|
48
|
+
npm install -g @deepseek-ai/dsh
|
|
49
|
+
|
|
50
|
+
# pnpm 未安装时任选一种方式
|
|
51
|
+
npm install -g pnpm
|
|
52
|
+
# 或:corepack enable pnpm
|
|
53
|
+
|
|
54
|
+
dsh plugin --profile dsh-tui add @deepseek-harness-tui/dsh-tui
|
|
55
|
+
dsh --profile dsh-tui # 或 dsh-tui
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
从仓库检出运行时,也可以执行:
|
|
59
|
+
|
|
60
|
+
```sh
|
|
61
|
+
sh install.sh
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
`install.sh` 只封装 profile 插件命令并检查 `dsh`、`pnpm` 是否可用;它不会
|
|
65
|
+
复制源码,也不需要本地构建。
|
|
66
|
+
|
|
67
|
+
## 从旧包迁移
|
|
68
|
+
|
|
69
|
+
早期版本使用无 scope 包 `dsh-cc-tui` 和 `cc-tui` profile:
|
|
70
|
+
|
|
71
|
+
- 环境变量前缀为 `CC_TUI_*`/`DSH_CC_*`。
|
|
72
|
+
- 数据目录为 `~/.dsh-cc`。
|
|
73
|
+
|
|
74
|
+
新版本统一为组织包 `@deepseek-harness-tui/dsh-tui` 与 `dsh-tui` profile。
|
|
75
|
+
执行以下命令创建新 profile:
|
|
76
|
+
|
|
77
|
+
```sh
|
|
78
|
+
dsh plugin --profile dsh-tui add @deepseek-harness-tui/dsh-tui
|
|
79
|
+
dsh --profile dsh-tui
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
新版本只使用 `DSH_TUI_*` 环境变量与 `~/.dsh-tui` 数据目录,旧名不再被读取,
|
|
83
|
+
也不自动迁移数据。首次启动后,请把旧数据目录(`~/.dsh-cc` 等)中的主题、
|
|
84
|
+
配置与历史文件自行复制到 `~/.dsh-tui`。
|
|
85
|
+
|
|
86
|
+
确认新 profile 正常后:
|
|
87
|
+
|
|
88
|
+
- 旧的 `$DSH_HOME/profiles/cc-tui` 与旧数据目录残留可按需删除。
|
|
89
|
+
- 不要把旧包和新包同时添加到同一个 profile。
|
|
90
|
+
|
|
91
|
+
## 安装命令做了什么
|
|
92
|
+
|
|
93
|
+
首次执行 `dsh plugin --profile dsh-tui add @deepseek-harness-tui/dsh-tui` 时,
|
|
94
|
+
官方 CLI 会:
|
|
95
|
+
|
|
96
|
+
1. 在 `$DSH_HOME/profiles/dsh-tui/` 初始化 profile。未设置 `DSH_HOME` 时,
|
|
97
|
+
默认根目录通常是 `~/.dsh`。
|
|
98
|
+
2. 让 profile 的第一层 bundle 使用 `@deepseek-ai/dsh-base`。
|
|
99
|
+
3. 在 profile 内通过 pnpm 安装 `@deepseek-harness-tui/dsh-tui`。
|
|
100
|
+
4. 读取包内 `dsh.bundle.patch` 元数据,将 `cordis.patch.yml` 追加为组合层。
|
|
101
|
+
|
|
102
|
+
启动时的主要顺序是:
|
|
103
|
+
|
|
104
|
+
```text
|
|
105
|
+
dsh-base -> 其他 bundle -> @deepseek-harness-tui/dsh-tui patch -> 用户 profile patch
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
- base 提供 Agent、模型、会话、文件、Shell、策略和注册表等服务。
|
|
109
|
+
- 本插件的 patch 覆盖或插入 TUI、Agent preset 名册、SQLite 会话持久化与
|
|
110
|
+
工作状态行。
|
|
111
|
+
|
|
112
|
+
`dsh-working-activity` 已经是本包依赖,并由 `dsh-tui` 的 patch 自动插入。
|
|
113
|
+
不要对同一个 profile 再单独执行 `add dsh-working-activity`,否则可能出现重复行。
|
|
114
|
+
|
|
115
|
+
## 启动
|
|
116
|
+
|
|
117
|
+
```sh
|
|
118
|
+
dsh --profile dsh-tui
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
命令从当前目录启动,因此 Agent 的默认工作区也是当前目录。进入目标项目目录后再
|
|
122
|
+
启动即可。
|
|
123
|
+
|
|
124
|
+
Windows 仓库检出还提供:
|
|
125
|
+
|
|
126
|
+
```bat
|
|
127
|
+
dsh-tui.cmd
|
|
128
|
+
dsh-tui.cmd --resume
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
- `--resume` 会读取 `%USERPROFILE%\.dsh-tui\resume.txt`,恢复 TUI 最近选择的
|
|
132
|
+
会话。
|
|
133
|
+
- 设置 `DSH_TUI_WORKSPACE` 可以覆盖批处理启动器采用的工作目录。
|
|
134
|
+
|
|
135
|
+
## CLI 子命令
|
|
136
|
+
|
|
137
|
+
`dsh-tui help`(或 `dst help`)打印完整用法,`dst` 别名接受相同命令:
|
|
138
|
+
|
|
139
|
+
| 命令 | 作用 |
|
|
140
|
+
| --- | --- |
|
|
141
|
+
| `dsh-tui update` | 更新 profile 到最新版本并对齐启动器(与 TUI 内 `/update` 同一安装逻辑,不进入 TUI) |
|
|
142
|
+
| `dsh-tui doctor` | 环境检查:dsh/pnpm、profile 安装与版本对齐、API key 是否设置(只报状态不读值)、配置文件存在性;与 TUI 内 `/doctor` 会话诊断互补 |
|
|
143
|
+
| `dsh-tui safe` | 安全模式:只读诊断、插件清单与修复指引(`safe --rescue` 还会创建/校验干净的救援 profile) |
|
|
144
|
+
| `dsh-tui version` | 显示启动器与 profile 版本(`--version`/`-v` 等价) |
|
|
145
|
+
| `dsh-tui help` | 显示用法(`--help`/`-h` 等价) |
|
|
146
|
+
|
|
147
|
+
`help`/`version` 在 dsh 缺失或 profile 未初始化时也能用;其余参数原样转发给
|
|
148
|
+
`dsh --profile dsh-tui`。
|
|
149
|
+
|
|
150
|
+
## 安全模式(`dsh-tui safe`)
|
|
151
|
+
|
|
152
|
+
dsh 意外结束时,安全模式提供只读的环境诊断、profile 插件清单与修复指引。
|
|
153
|
+
|
|
154
|
+
- **两个入口**:手动运行 `dsh-tui safe`;或 dsh 非零退出后按提示进入。
|
|
155
|
+
- 提示仅出现在交互终端;脚本/管道只加一行提示、退出码不变。
|
|
156
|
+
- 只覆盖最终 dsh 子进程的非零退出码,不含启动挂起(启动失败按退出码 1)。
|
|
157
|
+
- **只读边界**:诊断/清单/指引不改状态。两个例外:
|
|
158
|
+
- 重试正常启动;若 `~/.dsh-tui/resume.txt` 里有指针则一并带上
|
|
159
|
+
(`DSH_TUI_RESUME_SESSION`),崩溃后重试会回到当时所在会话而不是新空会话。
|
|
160
|
+
- 创建/复用救援 profile,只写 `$DSH_HOME/profiles/dsh-tui-safe/`。
|
|
161
|
+
注:每次 dsh 启动仍会写 `$DSH_HOME/profiles/node_modules` 回退链接与
|
|
162
|
+
pnpm 全局 store(非安全模式引入)。
|
|
163
|
+
- **救援 profile 必须干净,证不出就拒绝**。逐条校验,任一不成立即拒绝:
|
|
164
|
+
- 候选目录已存在,但不是可识别的 profile。
|
|
165
|
+
- 既有 profile 的根 manifest 声明了第三方插件。
|
|
166
|
+
- `$DSH_HOME/cordis.patch.yml`(home 层)**存在即拒绝**。
|
|
167
|
+
- `dsh-tui-safe/cordis.patch.yml`(profile 层)**有条目即拒绝**;dsh 默认
|
|
168
|
+
生成的「注释 + `[]`」不算条目。
|
|
169
|
+
删除/重建救援 profile 前会**按名字与形态核对顶层条目**,发现别的名字或
|
|
170
|
+
形态不符就拒绝并列出,**不会静默删你的文件**。
|
|
171
|
+
- **非交互**:`dsh-tui safe --rescue` 跑同一套门禁与创建/复用,只报结论
|
|
172
|
+
(就绪退出 0,拒绝退出 1)。
|
|
173
|
+
- **旧全局启动器**:profile 副本不可读或过旧时,先升级:
|
|
174
|
+
`npm install -g --legacy-peer-deps @deepseek-harness-tui/dsh-tui@<版本>`。
|
|
175
|
+
- **修复命令需自行执行**(安全模式只列出):
|
|
176
|
+
- `dsh plugin --profile dsh-tui remove <第三方插件>` 逐个移除可疑插件;
|
|
177
|
+
- `dsh plugin --profile dsh-tui add @deepseek-harness-tui/dsh-tui@<版本>`
|
|
178
|
+
重装对齐;
|
|
179
|
+
- `dsh-tui doctor` 环境诊断。
|
|
180
|
+
|
|
181
|
+
## 在 VS Code / Herdr 中运行
|
|
182
|
+
|
|
183
|
+
- **VS Code**:可在集成终端直接运行,或用已上架 Marketplace 的 companion 扩展
|
|
184
|
+
`dsh-tui-vscode`(真实终端会话、会话历史、指定会话恢复、IDE 选区通道)。
|
|
185
|
+
见 [VS Code 使用指南](vscode.md)。
|
|
186
|
+
- **Herdr**:直接在 [Herdr](https://herdr.dev) 窗格中运行 `dsh-tui`,无需额外
|
|
187
|
+
配置;dsh-TUI 经 Herdr 本地集成 API 报告 `idle` / `working` / `blocked`
|
|
188
|
+
(问卷与工具审批记为 `blocked`),在 Herdr 之外不做任何事。
|
|
189
|
+
|
|
190
|
+
## 更新到最新版本
|
|
191
|
+
|
|
192
|
+
项目迭代很快,更新复用安装命令,显式指定 `@latest`:
|
|
193
|
+
|
|
194
|
+
```sh
|
|
195
|
+
# 更新 Profile runtime(TUI 内 /update 做的就是这件事)
|
|
196
|
+
dsh plugin --profile dsh-tui add @deepseek-harness-tui/dsh-tui@latest
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
通过全局 `dsh-tui` 命令启动时,还需要让 Launcher 对齐(TUI 内的
|
|
200
|
+
`/update` 只更新 profile,不会动全局安装):
|
|
201
|
+
|
|
202
|
+
```sh
|
|
203
|
+
npm install -g @deepseek-harness-tui/dsh-tui@latest
|
|
204
|
+
# 或(原本用 pnpm 全局安装时)
|
|
205
|
+
pnpm add -g @deepseek-harness-tui/dsh-tui@latest
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
- 不带 `@latest` 时 pnpm 会按 profile `package.json` 里已记录的版本范围
|
|
209
|
+
(如 `^0.1.4`)就地解析,可能停留在旧的主线上——这是"重复执行安装命令
|
|
210
|
+
但版本没变"的常见原因。
|
|
211
|
+
- 修复"版本不一致"时,优先使用启动器打印的"精确版本"命令(例如
|
|
212
|
+
`npm install -g @deepseek-harness-tui/dsh-tui@0.8.3`);日常主动升级才
|
|
213
|
+
使用 `@latest`。
|
|
214
|
+
- 确认生效:启动横幅右上角显示当前版本(`✦ dsh-TUI vX.Y.Z`)。
|
|
215
|
+
- 用户覆盖层 `cordis.patch.yml` 在更新中原样保留。
|
|
216
|
+
- 会话数据的存放位置可能随版本变化(如 0.3.7 起 `/resume` 改用与 dsh web
|
|
217
|
+
共享的 JSONL 会话库),跨大版本更新后旧会话不在列表属预期,原数据不会被删除。
|
|
218
|
+
|
|
219
|
+
### pnpm 安装脚本拦截与异平台原生包
|
|
220
|
+
|
|
221
|
+
若 `dsh plugin` 安装时报 `ERR_PNPM_IGNORED_BUILDS`(pnpm ≥11 默认阻止带
|
|
222
|
+
安装脚本的依赖,如 `@google/genai`、`protobufjs`——这些脚本运行时不需要,
|
|
223
|
+
忽略即可),在 profile 的 `pnpm-workspace.yaml` 里加入:
|
|
224
|
+
|
|
225
|
+
```yaml
|
|
226
|
+
allowBuilds:
|
|
227
|
+
'@google/genai': false
|
|
228
|
+
protobufjs: false
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
`/update` 与 `dsh-tui update` 会自动写入这份配置,无需手工处理。
|
|
232
|
+
|
|
233
|
+
更新时还会维护 `ignoredOptionalDependencies`(忽略异平台的 `@img/sharp-*`
|
|
234
|
+
原生包):
|
|
235
|
+
|
|
236
|
+
- sharp 以全平台可选依赖分发,不处理时 `pnpm update` 会把各平台二进制一起
|
|
237
|
+
下载(实测约 200MB)。
|
|
238
|
+
- 名单每次更新按当前平台重算,异平台原生包不再下载(当前平台原生包与无平台
|
|
239
|
+
归属的 wasm 回退包保留)。
|
|
240
|
+
- 把 profile 搬到别的平台或 musl 容器后,在那台机器上跑一次更新即可刷新。
|
|
241
|
+
- 老 profile 的 lockfile 里仍写着全平台条目,第一次更新会照旧下载一遍,之后
|
|
242
|
+
才被忽略。
|
|
243
|
+
- 块内不属于这两张平台表的条目(`fsevents`、自己写的 `@img/sharp-wasm32`
|
|
244
|
+
豁免)原样保留;需要 pnpm 支持该键,不认识的版本不会因此报错,只失去这项
|
|
245
|
+
收益。
|
|
246
|
+
|
|
247
|
+
## Profile 配置
|
|
248
|
+
|
|
249
|
+
用户覆盖文件位于:
|
|
250
|
+
|
|
251
|
+
```text
|
|
252
|
+
$DSH_HOME/profiles/dsh-tui/cordis.patch.yml
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
配置一个节点时,`config` 块是整段替换,不是逐字段深合并。复制示例时需要保留
|
|
256
|
+
仍然有效的字段。完整说明见[配置参考](configuration.md)。
|
|
257
|
+
|
|
258
|
+
仓库根目录的 `cordis.yml` 是裸组合示例;正常的 npm/profile 安装以
|
|
259
|
+
`cordis.patch.yml` 为准,不需要把根配置复制到 profile。
|
|
260
|
+
|
|
261
|
+
## 从源码开发
|
|
262
|
+
|
|
263
|
+
```sh
|
|
264
|
+
git clone --recurse-submodules https://github.com/ccch1mneyyy/dsh-TUI.git
|
|
265
|
+
cd dsh-TUI
|
|
266
|
+
pnpm install --frozen-lockfile
|
|
267
|
+
pnpm build
|
|
268
|
+
pnpm smoke
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
本仓库只有一个子模块,且安装必需:
|
|
272
|
+
|
|
273
|
+
- `vendor/dsh-std`:`pnpm-workspace.yaml` 把 `vendor/dsh-std/packages/*` 列为
|
|
274
|
+
workspace 包。
|
|
275
|
+
|
|
276
|
+
TUI Profile(插件准入与私有协议定义)在 `tui-profile/`,是**普通文件**(不再是
|
|
277
|
+
子模块),随本仓库代码一起检出与修订,供契约检查使用。
|
|
278
|
+
|
|
279
|
+
漏掉 `--recurse-submodules` 会让这些目录为空,
|
|
280
|
+
`pnpm install --frozen-lockfile` 直接失败。已经克隆过的检出补一条:
|
|
281
|
+
|
|
282
|
+
```sh
|
|
283
|
+
git submodule update --init --recursive
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
`pnpm build` 会清理忽略入库的 `lib/`,把 `src/` 编译到 `lib/types/`,再运行
|
|
287
|
+
构建门禁。
|
|
288
|
+
|
|
289
|
+
- **Git URL 安装不受支持**(workspace 依赖/子模块/pnpm ≥11 prepare 白名单
|
|
290
|
+
三重阻断)。
|
|
291
|
+
- 发布 workflow 也会在打包前显式执行干净编译和包面验证。
|
|
292
|
+
|
|
293
|
+
真实测试当前源码时,首次使用或正式模型/密钥配置变化后运行:
|
|
294
|
+
|
|
295
|
+
```sh
|
|
296
|
+
pnpm dev:copy-config
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
以后每次修改源码后,一条命令构建、打包、隔离安装并启动:
|
|
300
|
+
|
|
301
|
+
```sh
|
|
302
|
+
pnpm dev
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
`pnpm dev:copy-config` 只复制 `~/.dsh/settings.yaml` 与
|
|
306
|
+
`~/.dsh/.credentials.yaml`。Unix 上文件权限设为 `0600`;Windows 使用系统管理的
|
|
307
|
+
文件 ACL。
|
|
308
|
+
|
|
309
|
+
`pnpm dev` 使用独立的 `HOME`、`DSH_HOME` 和会话目录,不覆盖正式
|
|
310
|
+
`~/.dsh/profiles/dsh-tui`、`~/.dsh-tui` 或正式会话。默认测试目录:
|
|
311
|
+
|
|
312
|
+
- Unix:`$XDG_CACHE_HOME/dsh-tui-dev`(未设置时为 `~/.cache/dsh-tui-dev`)。
|
|
313
|
+
- Windows:`%LOCALAPPDATA%\dsh-tui-dev`。
|
|
314
|
+
- 可通过 `DSH_TUI_DEV_ROOT` 覆盖。
|
|
315
|
+
|
|
316
|
+
不启动 TUI、只验证构建、打包和安装流程时运行:
|
|
317
|
+
|
|
318
|
+
```sh
|
|
319
|
+
pnpm dev:test
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
CI 还会运行三条渲染回归:
|
|
323
|
+
|
|
324
|
+
```sh
|
|
325
|
+
node --import tsx/esm scripts/repro-askpanel.tsx
|
|
326
|
+
node --import tsx/esm scripts/verify-askpanel-layout.tsx
|
|
327
|
+
node --import tsx/esm scripts/repro-toolcards.tsx
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
`pnpm tui` 调用的 `scripts/run.ts` 直接组合 DeepSeek Harness 源码 patch,默认
|
|
331
|
+
假设包位于 Harness monorepo 的 `packages/*` 布局中;独立 checkout 需要另外
|
|
332
|
+
设置 `DSH_TUI_DEV_WORKSPACE` 指向 Harness 根目录。只测试本仓库当前源码时,
|
|
333
|
+
优先使用上述 `pnpm dev`,它会走与用户安装一致的 profile 路径。
|
|
334
|
+
|
|
335
|
+
## 常见问题
|
|
336
|
+
|
|
337
|
+
### Git URL 安装报错
|
|
338
|
+
|
|
339
|
+
Git URL(如 `https://github.com/ccch1mneyyy/dsh-TUI`)安装不受支持,报以下错误码:
|
|
340
|
+
|
|
341
|
+
- `ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED`
|
|
342
|
+
- `ERR_PNPM_WORKSPACE_PKG_NOT_FOUND`
|
|
343
|
+
|
|
344
|
+
三重阻断:
|
|
345
|
+
|
|
346
|
+
- 源 manifest 的 `@dsh-std/*` 是 workspace 依赖(git tarball 原样保留,
|
|
347
|
+
profile 内无法解析)。
|
|
348
|
+
- `vendor/dsh-std` 是 git 子模块(依赖抓取不带子模块内容,编译必败)。
|
|
349
|
+
- pnpm ≥11 默认拒绝 git 依赖执行 `prepare` 构建脚本。
|
|
350
|
+
|
|
351
|
+
请安装 registry 包:
|
|
352
|
+
|
|
353
|
+
```sh
|
|
354
|
+
dsh plugin --profile dsh-tui add @deepseek-harness-tui/dsh-tui
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
### `dsh-tui requires an interactive terminal`
|
|
358
|
+
|
|
359
|
+
stdout 不是 TTY。请直接在终端中启动,不要把主进程输出管道到文件或其他命令。
|
|
360
|
+
|
|
361
|
+
如果 dsh-tui 只是装在某个 profile 里、而实际由 Web / Tauri / GUI 等非终端
|
|
362
|
+
宿主启动 DSH,dsh-tui 会检测到 stdout 不是 TTY 且并非由 `dsh-tui` launcher
|
|
363
|
+
启动,自动跳过 TUI 前端(不报错、不影响宿主启动)。
|
|
364
|
+
|
|
365
|
+
只有显式执行 `dsh-tui`(含 standalone 便携版)却没有 TTY 时,才会报上面的
|
|
366
|
+
错误。
|
|
367
|
+
|
|
368
|
+
### 找不到 `dsh` 或 `pnpm`
|
|
369
|
+
|
|
370
|
+
确认全局 npm bin 目录在 `PATH` 中,并重新打开终端。`install.sh` 会在安装前
|
|
371
|
+
检查这两个命令。
|
|
372
|
+
|
|
373
|
+
### 启动后立刻退回 shell,几乎没有报错(pnpm 9)
|
|
374
|
+
|
|
375
|
+
pnpm 9 安装的 profile 里,传递依赖 `dsh-working-activity` 不会被提升到
|
|
376
|
+
loader 可解析的位置,模块解析失败导致整棵插件树被回收,TUI 打印 resume
|
|
377
|
+
提示后直接退出(issue #60)。升级 pnpm 到 10+ 后重装即可:
|
|
378
|
+
|
|
379
|
+
```sh
|
|
380
|
+
npm install -g pnpm@latest
|
|
381
|
+
dsh plugin --profile dsh-tui add @deepseek-harness-tui/dsh-tui@latest
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
### 模型启动失败或提示没有凭证
|
|
385
|
+
|
|
386
|
+
若使用 `deepseek-official`,确认启动 `dsh` 的同一个 Shell 中存在 `DEEPSEEK_API_KEY`;
|
|
387
|
+
自定义端点同时检查 `DEEPSEEK_BASE_URL`。若使用 `deepseek-account` 或订阅模型,
|
|
388
|
+
用 `/auth status` 检查登录状态,必要时重新运行 `/auth login <provider>`。
|
|
389
|
+
|
|
390
|
+
### 工作状态行重复
|
|
391
|
+
|
|
392
|
+
检查 profile 是否曾单独添加 `dsh-working-activity`。保留本包 patch 自动插入的
|
|
393
|
+
`working-activity` 行,移除重复 bundle 配置。
|
|
394
|
+
|
|
395
|
+
### TUI 显示错位或终端退出后状态异常
|
|
396
|
+
|
|
397
|
+
先运行 `/doctor`,记录终端类型和模式,再参考[交互文档](interaction.md)与
|
|
398
|
+
[架构文档](architecture.md)。渲染问题可使用 `DSH_TUI_RENDER_LOG` 采集原始帧,
|
|
399
|
+
但日志可能包含会话可见内容,应妥善处理。
|