@deepseek-harness-tui/dsh-tui 0.12.0 → 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 +41 -5
- 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 +8 -3
- package/cordis.patch.yml +7 -1
- package/guide/dsh-tui-guide/configuration.en.md +6 -1
- package/guide/dsh-tui-guide/configuration.md +6 -1
- package/guide/dsh-tui-guide/getting-started.en.md +6 -3
- package/guide/dsh-tui-guide/getting-started.md +4 -2
- package/guide/dsh-tui-guide/interaction.en.md +68 -4
- package/guide/dsh-tui-guide/interaction.md +49 -3
- package/guide/dsh-tui-guide/plugins.en.md +16 -6
- package/guide/dsh-tui-guide/plugins.md +14 -6
- package/guide/dsh-tui-guide/themes.en.md +7 -2
- package/guide/dsh-tui-guide/themes.md +5 -2
- package/guide/dsh-tui-guide/user-guide.en.md +124 -21
- package/guide/dsh-tui-guide/user-guide.md +96 -16
- package/lib/settings.json +215 -1
- package/lib/types/adapter/channel/ui-policy.d.ts +6 -2
- package/lib/types/adapter/channel/ui-policy.d.ts.map +1 -1
- package/lib/types/adapter/channel/ui-policy.js +14 -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-ui.d.ts +62 -2
- package/lib/types/adapter/ports/channel-ui.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-view.d.ts +94 -0
- 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 +18 -1
- package/lib/types/components/Chat/JobCard.d.ts.map +1 -1
- package/lib/types/components/Chat/JobCard.js +90 -22
- 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/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 +147 -14
- 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 +212 -18
- 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/PromptInput.d.ts +20 -22
- package/lib/types/components/PromptInput.d.ts.map +1 -1
- package/lib/types/components/PromptInput.js +413 -156
- 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/SubagentCard.d.ts.map +1 -1
- package/lib/types/components/SubagentCard.js +17 -2
- 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 +54 -5
- 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/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/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/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/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/mode-actions.d.ts +0 -3
- package/lib/types/dsh-adapter/channel/mode-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/mode-actions.js +7 -2
- 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 +0 -1
- 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 +9 -1
- 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 +18 -2
- package/lib/types/dsh-adapter/channel/state.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/state.js +2 -1
- 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 +56 -3
- 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 +14 -0
- package/lib/types/dsh-adapter/contract.d.ts.map +1 -1
- package/lib/types/dsh-adapter/contract.js +24 -0
- 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/migrate/sessionize.d.ts.map +1 -1
- package/lib/types/dsh-adapter/migrate/sessionize.js +11 -12
- 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 +17 -1
- package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugin.js +169 -32
- package/lib/types/dsh-adapter/presets.d.ts +26 -6
- package/lib/types/dsh-adapter/presets.d.ts.map +1 -1
- package/lib/types/dsh-adapter/presets.js +29 -7
- 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/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 +734 -15
- package/lib/types/i18n.d.ts.map +1 -1
- package/lib/types/i18n.js +302 -6
- 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 +62 -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 +36 -3
- package/lib/types/ink/parse-keypress.d.ts.map +1 -1
- package/lib/types/ink/parse-keypress.js +262 -108
- 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/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/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 +22 -1
- package/lib/types/screens/Chat.d.ts.map +1 -1
- package/lib/types/screens/Chat.js +1126 -299
- 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.map +1 -1
- package/lib/types/screens/StatusLine.js +32 -14
- 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 +83 -0
- package/lib/types/tips.js +5 -5
- 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 +101 -44
- 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/package.json +19 -8
- 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/{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
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"idle":[{"dur":700,"file":"00.png"},{"dur":280,"file":"01.png"},{"dur":280,"file":"02.png"},{"dur":240,"file":"03.png"},{"dur":360,"file":"04.png"},{"dur":60,"file":"05.png"},{"dur":90,"file":"06.png"},{"dur":60,"file":"07.png"},{"dur":650,"file":"08.png"},{"dur":280,"file":"09.png"},{"dur":280,"file":"10.png"},{"dur":240,"file":"11.png"},{"dur":420,"file":"12.png"},{"dur":60,"file":"13.png"},{"dur":80,"file":"14.png"},{"dur":60,"file":"15.png"},{"dur":140,"file":"16.png"},{"dur":60,"file":"17.png"},{"dur":80,"file":"18.png"},{"dur":60,"file":"19.png"},{"dur":800,"file":"20.png"}],"idle-look":[{"dur":500,"file":"00.png"},{"dur":420,"file":"01.png"},{"dur":70,"file":"02.png"},{"dur":80,"file":"03.png"},{"dur":70,"file":"04.png"},{"dur":380,"file":"05.png"},{"dur":420,"file":"06.png"},{"dur":110,"file":"07.png"},{"dur":420,"file":"08.png"},{"dur":140,"file":"09.png"},{"dur":140,"file":"10.png"},{"dur":140,"file":"11.png"},{"dur":400,"file":"12.png"}],"idle-spout":[{"dur":450,"file":"00.png"},{"dur":260,"file":"01.png"},{"dur":110,"file":"02.png"},{"dur":110,"file":"03.png"},{"dur":130,"file":"04.png"},{"dur":150,"file":"05.png"},{"dur":170,"file":"06.png"},{"dur":170,"file":"07.png"},{"dur":170,"file":"08.png"},{"dur":350,"file":"09.png"},{"dur":400,"file":"10.png"}],"thinking":[{"dur":220,"file":"00.png"},{"dur":220,"file":"01.png"},{"dur":260,"file":"02.png"},{"dur":260,"file":"03.png"},{"dur":260,"file":"04.png"},{"dur":300,"file":"05.png"},{"dur":170,"file":"06.png"},{"dur":170,"file":"07.png"},{"dur":170,"file":"08.png"},{"dur":170,"file":"09.png"},{"dur":170,"file":"10.png"},{"dur":170,"file":"11.png"},{"dur":90,"file":"12.png"},{"dur":110,"file":"13.png"},{"dur":200,"file":"14.png"},{"dur":200,"file":"15.png"},{"dur":260,"file":"16.png"}],"typing":[{"dur":150,"file":"00.png"},{"dur":170,"file":"01.png"},{"dur":150,"file":"02.png"},{"dur":170,"file":"03.png"},{"dur":150,"file":"04.png"},{"dur":170,"file":"05.png"},{"dur":210,"file":"06.png"},{"dur":150,"file":"07.png"},{"dur":170,"file":"08.png"},{"dur":150,"file":"09.png"},{"dur":170,"file":"10.png"},{"dur":150,"file":"11.png"},{"dur":170,"file":"12.png"},{"dur":210,"file":"13.png"}],"music":[{"dur":150,"file":"00.png"},{"dur":150,"file":"01.png"},{"dur":150,"file":"02.png"},{"dur":150,"file":"03.png"},{"dur":150,"file":"04.png"},{"dur":150,"file":"05.png"},{"dur":150,"file":"06.png"},{"dur":150,"file":"07.png"}],"conducting":[{"dur":150,"file":"00.png"},{"dur":150,"file":"01.png"},{"dur":150,"file":"02.png"},{"dur":150,"file":"03.png"},{"dur":150,"file":"04.png"},{"dur":150,"file":"05.png"},{"dur":150,"file":"06.png"},{"dur":150,"file":"07.png"},{"dur":150,"file":"08.png"},{"dur":150,"file":"09.png"},{"dur":150,"file":"10.png"},{"dur":150,"file":"11.png"}],"building":[{"dur":130,"file":"00.png"},{"dur":100,"file":"01.png"},{"dur":80,"file":"02.png"},{"dur":90,"file":"03.png"},{"dur":100,"file":"04.png"},{"dur":120,"file":"05.png"},{"dur":90,"file":"06.png"},{"dur":130,"file":"07.png"},{"dur":130,"file":"08.png"},{"dur":100,"file":"09.png"},{"dur":80,"file":"10.png"},{"dur":90,"file":"11.png"},{"dur":100,"file":"12.png"},{"dur":120,"file":"13.png"},{"dur":90,"file":"14.png"},{"dur":130,"file":"15.png"},{"dur":130,"file":"16.png"},{"dur":100,"file":"17.png"},{"dur":80,"file":"18.png"},{"dur":90,"file":"19.png"},{"dur":100,"file":"20.png"},{"dur":120,"file":"21.png"},{"dur":90,"file":"22.png"},{"dur":130,"file":"23.png"}],"error":[{"dur":90,"file":"00.png"},{"dur":80,"file":"01.png"},{"dur":80,"file":"02.png"},{"dur":80,"file":"03.png"},{"dur":90,"file":"04.png"},{"dur":200,"file":"05.png"},{"dur":200,"file":"06.png"},{"dur":160,"file":"07.png"},{"dur":200,"file":"08.png"},{"dur":300,"file":"09.png"}],"happy":[{"dur":200,"file":"00.png"},{"dur":90,"file":"01.png"},{"dur":90,"file":"02.png"},{"dur":100,"file":"03.png"},{"dur":100,"file":"04.png"},{"dur":100,"file":"05.png"},{"dur":100,"file":"06.png"},{"dur":110,"file":"07.png"},{"dur":110,"file":"08.png"},{"dur":120,"file":"09.png"},{"dur":400,"file":"10.png"}],"notification":[{"dur":110,"file":"00.png"},{"dur":110,"file":"01.png"},{"dur":110,"file":"02.png"},{"dur":110,"file":"03.png"},{"dur":110,"file":"04.png"},{"dur":110,"file":"05.png"},{"dur":110,"file":"06.png"},{"dur":110,"file":"07.png"}],"compacting":[{"dur":300,"file":"00.png"},{"dur":130,"file":"01.png"},{"dur":130,"file":"02.png"},{"dur":130,"file":"03.png"},{"dur":130,"file":"04.png"},{"dur":200,"file":"05.png"},{"dur":100,"file":"06.png"},{"dur":160,"file":"07.png"},{"dur":220,"file":"08.png"},{"dur":240,"file":"09.png"}],"carrying":[{"dur":140,"file":"00.png"},{"dur":140,"file":"01.png"},{"dur":140,"file":"02.png"},{"dur":140,"file":"03.png"},{"dur":140,"file":"04.png"},{"dur":140,"file":"05.png"},{"dur":140,"file":"06.png"},{"dur":140,"file":"07.png"}],"sleeping":[{"dur":330,"file":"00.png"},{"dur":330,"file":"01.png"},{"dur":330,"file":"02.png"},{"dur":330,"file":"03.png"},{"dur":330,"file":"04.png"},{"dur":330,"file":"05.png"}],"waking":[{"dur":420,"file":"00.png"},{"dur":110,"file":"01.png"},{"dur":120,"file":"02.png"},{"dur":100,"file":"03.png"},{"dur":100,"file":"04.png"},{"dur":110,"file":"05.png"},{"dur":200,"file":"06.png"},{"dur":70,"file":"07.png"},{"dur":80,"file":"08.png"},{"dur":70,"file":"09.png"},{"dur":500,"file":"10.png"}],"poke-left":[{"dur":300,"file":"00.png"},{"dur":110,"file":"01.png"},{"dur":90,"file":"02.png"},{"dur":90,"file":"03.png"},{"dur":200,"file":"04.png"},{"dur":140,"file":"05.png"},{"dur":140,"file":"06.png"},{"dur":240,"file":"07.png"},{"dur":200,"file":"08.png"},{"dur":200,"file":"09.png"},{"dur":400,"file":"10.png"}],"poke-right":[{"dur":300,"file":"00.png"},{"dur":110,"file":"01.png"},{"dur":90,"file":"02.png"},{"dur":90,"file":"03.png"},{"dur":200,"file":"04.png"},{"dur":140,"file":"05.png"},{"dur":140,"file":"06.png"},{"dur":240,"file":"07.png"},{"dur":200,"file":"08.png"},{"dur":200,"file":"09.png"},{"dur":400,"file":"10.png"}],"tickle":[{"dur":90,"file":"00.png"},{"dur":90,"file":"01.png"},{"dur":90,"file":"02.png"},{"dur":90,"file":"03.png"},{"dur":90,"file":"04.png"},{"dur":90,"file":"05.png"},{"dur":90,"file":"06.png"},{"dur":90,"file":"07.png"},{"dur":90,"file":"08.png"},{"dur":90,"file":"09.png"},{"dur":90,"file":"10.png"},{"dur":90,"file":"11.png"},{"dur":200,"file":"12.png"},{"dur":400,"file":"13.png"}],"drag":[{"dur":90,"file":"00.png"},{"dur":90,"file":"01.png"},{"dur":90,"file":"02.png"},{"dur":90,"file":"03.png"},{"dur":90,"file":"04.png"},{"dur":90,"file":"05.png"},{"dur":90,"file":"06.png"},{"dur":90,"file":"07.png"},{"dur":90,"file":"08.png"},{"dur":90,"file":"09.png"}],"swim":[{"dur":150,"file":"00.png"},{"dur":150,"file":"01.png"},{"dur":150,"file":"02.png"},{"dur":150,"file":"03.png"},{"dur":150,"file":"04.png"},{"dur":150,"file":"05.png"},{"dur":150,"file":"06.png"},{"dur":150,"file":"07.png"}],"smile-hearts":[{"dur":100,"file":"00.png"},{"dur":100,"file":"01.png"},{"dur":100,"file":"02.png"},{"dur":100,"file":"03.png"},{"dur":100,"file":"04.png"},{"dur":100,"file":"05.png"},{"dur":100,"file":"06.png"},{"dur":100,"file":"07.png"},{"dur":100,"file":"08.png"},{"dur":100,"file":"09.png"},{"dur":100,"file":"10.png"},{"dur":100,"file":"11.png"},{"dur":100,"file":"12.png"},{"dur":100,"file":"13.png"},{"dur":100,"file":"14.png"},{"dur":100,"file":"15.png"}],"thumbs-up":[{"dur":160,"file":"00.png"},{"dur":120,"file":"01.png"},{"dur":90,"file":"02.png"},{"dur":80,"file":"03.png"},{"dur":80,"file":"04.png"},{"dur":100,"file":"05.png"},{"dur":110,"file":"06.png"},{"dur":110,"file":"07.png"},{"dur":90,"file":"08.png"},{"dur":430,"file":"09.png"},{"dur":100,"file":"10.png"},{"dur":100,"file":"11.png"},{"dur":400,"file":"12.png"}]}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bin/dsh-tui.js
CHANGED
|
@@ -635,9 +635,14 @@ const runDoctorChecks = () => {
|
|
|
635
635
|
'DEEPSEEK_API_KEY',
|
|
636
636
|
keyFromEnv ? L.keySetEnv : keyFromStore ? L.keySetStore : L.keyMissing,
|
|
637
637
|
)
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
638
|
+
// `~/.dsh-tui/cordis.yml` 是裸组合(`dsh --config cordis.yml`)时代的用户根
|
|
639
|
+
// 配置:profile 安装不使用它,全包也没有任何代码读它——缺席是常态,不是故障。
|
|
640
|
+
// 恒报 ✗ 会把旁边唯一有意义的 profile 补丁一起变成噪音(用户会去创建这个对
|
|
641
|
+
// 功能毫无影响的文件)。只在用户确实留了它时列出。
|
|
642
|
+
const legacyConfig = join(homedir(), '.dsh-tui', 'cordis.yml')
|
|
643
|
+
if (existsSync(legacyConfig)) report(true, 'config', legacyConfig)
|
|
644
|
+
const profileConfig = join(profileDir, 'cordis.patch.yml')
|
|
645
|
+
report(existsSync(profileConfig), 'config', `${profileConfig}${existsSync(profileConfig) ? '' : ` ${L.missing}`}`)
|
|
641
646
|
return { hardFailure, lines }
|
|
642
647
|
}
|
|
643
648
|
// ─── safe 会话支撑(清单解析与报告渲染,交互/非交互共用)──────────────────────
|
package/cordis.patch.yml
CHANGED
|
@@ -333,6 +333,12 @@
|
|
|
333
333
|
- id: dsh-tui-scenes
|
|
334
334
|
name: '@deepseek-harness-tui/dsh-tui/scenes'
|
|
335
335
|
|
|
336
|
+
# Optional plugins register side-panel surfaces (sidebar Panel +
|
|
337
|
+
# compact row, experimental §18) here; admission, budgets and crash
|
|
338
|
+
# isolation remain owned by the tuiPanels runtime + PanelStore.
|
|
339
|
+
- id: dsh-tui-panels
|
|
340
|
+
name: '@deepseek-harness-tui/dsh-tui/panels'
|
|
341
|
+
|
|
336
342
|
# Plugin-interop anchor (Community Consensus v0.15): the unified grant
|
|
337
343
|
# store, runtime generation id, and Host Descriptor live here; later
|
|
338
344
|
# contract surfaces (plugin storage, message observation, effect
|
|
@@ -447,7 +453,7 @@
|
|
|
447
453
|
name: '@deepseek-harness-tui/dsh-tui'
|
|
448
454
|
# The entry-level dependency augments the plugin's `agents` inject and
|
|
449
455
|
# prevents startup Session creation from racing WorkspaceRegistry init.
|
|
450
|
-
inject: [workspaceRegistry, agents, tuiWorkspaces, tuiScenes, tuiDialogs, tuiStatus, tuiShortcuts, tuiRenderers, tuiThemes]
|
|
456
|
+
inject: [workspaceRegistry, agents, tuiWorkspaces, tuiScenes, tuiPanels, tuiDialogs, tuiStatus, tuiShortcuts, tuiRenderers, tuiThemes]
|
|
451
457
|
# `tuiWorkspaces`/`tuiScenes` (and the dsh-tui-extensions services,
|
|
452
458
|
# including `tuiThemes`)
|
|
453
459
|
# live in the entry-level inject ONLY as an ordering (and reload-rebind)
|
|
@@ -67,6 +67,11 @@ A complete common override looks like this:
|
|
|
67
67
|
| `splashFont` | `daily` | Big-text face on the header splash: `daily` rotates by local date (the default), any other value is a face id (`bold` / `square` / `bevel` / `wide` / `dot` / `stencil` / `classic` / `slab`) pinning that one; an unknown value falls back to `daily`. Also editable through `/settings` |
|
|
68
68
|
| `whaleGirl` | `false` | Swap the header's pixel whale for the maid: real raster FIRST (Kitty/Sixel); falls back to the character-art maid without them |
|
|
69
69
|
| `minimal` | `false` | Minimal UI (极简界面): reduce header decoration and colors. **A display switch only** — a different thing from the kernel's `minimal` agent preset under `preset` below (that one decides which tools the model can use) |
|
|
70
|
+
| `sidePanel.splitEnabled` | `true` (boolean) | Master switch of the split layout: on, `Ctrl+B` and `/panel` open the side column next to the chat; off, neither splits and `/jobs` & co. keep their full-screen panels. Applies immediately |
|
|
71
|
+
| `sidePanel.open` | `false` (boolean) | Whether a session opens with the sidebar already expanded; off by default, so the upgrade leaves the layout as it was. An in-session `Ctrl+B` / `/panel toggle` is not written back here. Applies immediately |
|
|
72
|
+
| `sidePanel.ratio` | `0.68` (number, 0.1–0.95) | Chat column as a fraction of the content width; while the panel has focus, `+`/`-` nudge it live for the current session (not written back). Applies immediately |
|
|
73
|
+
| `sidePanel.panels` | `todo,jobs,agents` (comma-separated text) | Enabled panel ids and their order (built-ins: `todo` `info` `trajectory` `jobs` `agents` `workspace` `companion`); a well-formed id no panel claims yet stays in the tab bar for a plugin to register later, a malformed entry is refused. The `⤢` on the right edge of the bar blows the active panel up to full screen (drawn only for panels that declare a fullscreen form). Applies immediately |
|
|
74
|
+
| `companion.skin` | `deepy` | Skin of the companion-panel pet: `deepy` (default, the deepy whale kit), `whaleGirl` (the whale-girl sticker pack, 22 animations incl. interaction reactions) or `whale` (the splash's layered pixel whale); the panel itself is enabled by adding `companion` to `sidePanel.panels`. Applies immediately |
|
|
70
75
|
| `modes` | built-in trio | Shift+Tab session-mode cycle (plan/sandbox/approval atom bundles); defaults to default → plan → full-access |
|
|
71
76
|
| `activity` | `true` | Show the live activity row |
|
|
72
77
|
| `activityFrames` | `moon8` | Activity animation preset; `/activity` changes it at runtime. A legacy saved value of `claude` is read as `moon8`, and the picker no longer offers that legacy preset |
|
|
@@ -142,7 +147,7 @@ preset registry: `@deepseek-ai/dsh-agent-preset-registry` on 0.1.7, or
|
|
|
142
147
|
| --- | --- | --- |
|
|
143
148
|
| `standard` | Standard (default) | Editing, shell, search, skills, planning, goals, subagents, and workflows |
|
|
144
149
|
| `ptc` (0.1.2) / `code` (legacy 0.1.1) | PTC | Standard plus the PTC SDK presentation for composing operations in TypeScript; both names resolve compatibly across versions |
|
|
145
|
-
| `minimal` | Minimal | Kernel agent preset: a single persistent-shell tool (bash on POSIX, pwsh on Windows), with no compaction, no plan mode and no runtime context. `str_replace_editor` has been opt-in since 0.1.3-alpha.2, so this preset does not include it |
|
|
150
|
+
| `minimal` | Minimal | Kernel agent preset: a single persistent-shell tool (bash on POSIX, pwsh on Windows), with no compaction, no plan mode and no runtime context. `str_replace_editor` has been opt-in since 0.1.3-alpha.2, so this preset does not include it. The cost is stated up front: no compaction and no tool-result pruning (a long session can hit the context limit, oversized tool output stays in full), and `/compact` plus the questionnaire are unavailable — Help and `/` completion mark the entry, and entering/resuming the preset says so once |
|
|
146
151
|
| `cordis` | Creation | Standard plus runtime inspection and plugin-experimentation tools |
|
|
147
152
|
| `liangshen` | Liangshen mode | Minimal's minimal tool surface first for root and delegated agents, the full catalog after the first tool call, and a fresh anchor after compaction |
|
|
148
153
|
|
|
@@ -64,6 +64,11 @@ Config;旧版仍使用 `~/.dsh/settings.yaml`。不要把旧文件路径当成
|
|
|
64
64
|
| `splashFont` | `daily` | 开屏大字字体:`daily` 按本地日期轮换(默认),其余取字体 id(`bold` / `square` / `bevel` / `wide` / `dot` / `stencil` / `classic` / `slab`)pin 住那一款;非法值回落 `daily`。也可经 `/settings` 修改 |
|
|
65
65
|
| `whaleGirl` | `false` | 把标题的像素鲸鱼换成女仆娘:**最优先**真图(Kitty/Sixel);不支持时回落字符画版女仆娘 |
|
|
66
66
|
| `minimal` | `false` | 极简界面(Minimal UI):精简标题装饰与配色。**这是界面显示开关**,与下面 `preset` 里的内核「极简模式」预设完全是两件事(那个才决定模型能用哪些工具) |
|
|
67
|
+
| `sidePanel.splitEnabled` | `true`(布尔) | 分栏总开关:开启时 `Ctrl+B` 与 `/panel` 在聊天右侧展开侧栏;关闭时两者都不再分栏,`/jobs` 等仍走整屏面板。立即生效 |
|
|
68
|
+
| `sidePanel.open` | `false`(布尔) | 启动时侧栏是否已展开;默认关闭,升级后布局与原来一致。会话内的 `Ctrl+B` / `/panel toggle` 不写回这里。立即生效 |
|
|
69
|
+
| `sidePanel.ratio` | `0.68`(数值,0.1–0.95) | 聊天列占内容宽度的比例;侧栏有焦点时 `+`/`-` 在当前会话内实时微调(不写回)。立即生效 |
|
|
70
|
+
| `sidePanel.panels` | `todo,jobs,agents`(逗号分隔文本) | 启用的面板 id 与顺序(内置:`todo` `info` `trajectory` `jobs` `agents` `workspace` `companion`);格式合法但暂无面板认领的 id 会留在标签栏等插件注册,格式非法的条目被拒绝。面板栏右端的 `⤢` 把当前面板放大成整屏(只对声明了整屏形态的面板出现)。立即生效 |
|
|
71
|
+
| `companion.skin` | `deepy` | 宠物面板的皮肤:`deepy`(默认,deepy 小鲸鱼素材包)、`whaleGirl`(鲸娘表情包,22 个动画含互动反应)或 `whale`(与开屏同款分层像素鲸鱼);面板需在 `sidePanel.panels` 加入 `companion` 启用。立即生效 |
|
|
67
72
|
| `modes` | 内置三档 | Shift+Tab 会话模式循环(plan/sandbox/approval 原子组合);缺省为 默认 → 计划 → 完全访问 |
|
|
68
73
|
| `activity` | `true` | 是否显示实时工作状态行 |
|
|
69
74
|
| `activityFrames` | `moon8` | 工作状态动画预设;也可通过 `/activity` 修改。旧配置值 `claude` 读取时映射为 `moon8`,选择器不再显示该旧预设 |
|
|
@@ -127,7 +132,7 @@ Config;旧版仍使用 `~/.dsh/settings.yaml`。不要把旧文件路径当成
|
|
|
127
132
|
| --- | --- | --- |
|
|
128
133
|
| `standard` | 标准模式(默认) | 编辑、Shell、检索、Skills、计划、Goals、子代理与工作流 |
|
|
129
134
|
| `ptc`(0.1.2)/ `code`(旧 0.1.1) | PTC 模式 | 标准能力,加 PTC SDK 呈现工具,可用 TypeScript 组合多步操作;两个名字可跨版本兼容解析 |
|
|
130
|
-
| `minimal` | 极简模式 | 内核 Agent 预设:只暴露一个持久 shell 工具(POSIX 为 bash,Windows 为 pwsh),不带 compaction、计划模式与运行时上下文。`str_replace_editor` 自 0.1.3-alpha.2 起是 opt-in
|
|
135
|
+
| `minimal` | 极简模式 | 内核 Agent 预设:只暴露一个持久 shell 工具(POSIX 为 bash,Windows 为 pwsh),不带 compaction、计划模式与运行时上下文。`str_replace_editor` 自 0.1.3-alpha.2 起是 opt-in,该预设不含它。代价也如实说:没有压缩、也不剪枝工具结果(长会话可能撞上下文上限,超长工具输出整段留在上下文里),`/compact` 与问卷在该预设下不可用——Help 与 `/` 补全标注「不可用」,进入/恢复该预设时提示一次 |
|
|
131
136
|
| `cordis` | 创造模式 | 标准能力,加运行时检查与插件实验工具 |
|
|
132
137
|
| `liangshen` | 梁神模式 | 主 Agent 与子 Agent 首轮均保持极简模式的最小工具面,首次工具调用后开放完整目录,压缩后重新锚定 |
|
|
133
138
|
|
|
@@ -276,13 +276,16 @@ pnpm build
|
|
|
276
276
|
pnpm smoke
|
|
277
277
|
```
|
|
278
278
|
|
|
279
|
-
The repository has
|
|
279
|
+
The repository has a single submodule, and it is required to install:
|
|
280
280
|
|
|
281
281
|
- `vendor/dsh-std`: its `packages/*` are listed as workspace packages in
|
|
282
282
|
`pnpm-workspace.yaml`.
|
|
283
|
-
- `dsh-ecosystem-spec`: the ecosystem specification used by contract checks.
|
|
284
283
|
|
|
285
|
-
|
|
284
|
+
The TUI Profile (plugin admission and private protocol definitions) lives in
|
|
285
|
+
`tui-profile/` as **plain files** (no longer a submodule); it is checked out and
|
|
286
|
+
revised together with this repository and is what the contract checks read.
|
|
287
|
+
|
|
288
|
+
Without `--recurse-submodules` that directory stays empty and
|
|
286
289
|
`pnpm install --frozen-lockfile` fails outright. For a checkout that was
|
|
287
290
|
already cloned:
|
|
288
291
|
|
|
@@ -268,11 +268,13 @@ pnpm build
|
|
|
268
268
|
pnpm smoke
|
|
269
269
|
```
|
|
270
270
|
|
|
271
|
-
|
|
271
|
+
本仓库只有一个子模块,且安装必需:
|
|
272
272
|
|
|
273
273
|
- `vendor/dsh-std`:`pnpm-workspace.yaml` 把 `vendor/dsh-std/packages/*` 列为
|
|
274
274
|
workspace 包。
|
|
275
|
-
|
|
275
|
+
|
|
276
|
+
TUI Profile(插件准入与私有协议定义)在 `tui-profile/`,是**普通文件**(不再是
|
|
277
|
+
子模块),随本仓库代码一起检出与修订,供契约检查使用。
|
|
276
278
|
|
|
277
279
|
漏掉 `--recurse-submodules` 会让这些目录为空,
|
|
278
280
|
`pnpm install --frozen-lockfile` 直接失败。已经克隆过的检出补一条:
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
| `Ctrl+G` | Edit the current input in an external editor (`$VISUAL` → `$EDITOR`); saving and quitting fills it back, `:cq`/non-zero exit keeps the draft; with neither variable set the TUI asks you to configure one (no `vi` fallback) |
|
|
18
18
|
| `Ctrl+Shift+E` | Expand the fullscreen draft editor (or click the `⛶` affordance at the end of the input row): line numbers + current-line highlight + live line/char stats<br>`Enter` inserts a newline, `Ctrl+Enter` or the Send button sends, `Esc` or the Collapse button keeps the draft and returns<br>wheel-scrolls freely; click/drag/double-click selection work as in the inline prompt; remappable via `/settings` |
|
|
19
19
|
| `Esc` | Ladder: close help → close the image preview → close the command menu → close the file menu (only the current `@` token)<br>→ **with a selection in the prompt input: only clear it (text untouched)** → interrupt the turn and redeliver pending messages → clear non-empty input → double-tap on empty input = rewind<br>in fullscreen, an active mouse selection is cleared first (not copied) |
|
|
20
|
+
| `Ctrl+Z` | Undo the prompt draft's last word-level edit (text, caret and images together). Draft-only: a submit, a history recall (`Ctrl+R`/`↑`) or a session switch ends the history; it is NOT the message/conversation rewind behind `Esc Esc`. Remappable via `/settings` |
|
|
20
21
|
| `Esc` / `Ctrl+C` / `Enter` while an image preview is open | Close the preview and restore the surface underneath; other keys are not passed through |
|
|
21
22
|
| `Left` / `Right` in the image modal | Previous / next image, no wrapping; caret peeks keep arrows with the prompt |
|
|
22
23
|
| `←` (empty input) | Background this session and open the session-management screen (same as `/bg`) |
|
|
@@ -24,6 +25,8 @@
|
|
|
24
25
|
| `Ctrl+D` | Same ladder as `Ctrl+C`: interrupt while working (press again to force-exit if the interrupt stalls); press twice while idle to exit |
|
|
25
26
|
| `Ctrl+O` | Toggle transcript/verbose detail, including full reasoning and tool arguments/output; also the escape hatch for the **long-line fold** (a single line over 1000 chars is clipped to 1000 with a `… N chars folded` marker — see the user guide §5). Clicking the folded row (or the tool card face) toggles it too |
|
|
26
27
|
| `Ctrl+P` | Toggle the loaded-context panel shown at startup (while it is on screen) |
|
|
28
|
+
| `Ctrl+B` | Side panel, three states: closed → open and focus the right column; open with the chat focused → focus the right column; panel focused → close and return to the chat. Splits only under `fullscreen` at a content width of ≥93 columns; on narrow terminals and in inline mode the key does nothing (`/jobs` & co. keep their full-screen panels — see the user guide §2.8) |
|
|
29
|
+
| `Alt+Z` | Zoom the active side panel (the chat column keeps its minimum width); press again to restore |
|
|
27
30
|
| `Ctrl+T` | Open the trajectory scene (same as `/trace`); `q`/`Esc` returns to the conversation |
|
|
28
31
|
| `Ctrl+R` | Open input-history search; repeat or press `Down` for the next result |
|
|
29
32
|
| `Ctrl+L` | Clear and force a physical terminal redraw |
|
|
@@ -33,8 +36,8 @@
|
|
|
33
36
|
| `Shift+Up` | Enter message selection; arrows move, `Enter` expands one row, `Esc` exits |
|
|
34
37
|
|
|
35
38
|
**Remapping shortcuts**: paste, history search, external editor, `Ctrl+O/T/P/R/L`,
|
|
36
|
-
subagent dashboard, show-all, and todo fold are remappable in
|
|
37
|
-
`Shortcuts`.
|
|
39
|
+
side panel (`Ctrl+B`/`Alt+Z`), subagent dashboard, show-all, and todo fold are remappable in
|
|
40
|
+
`/settings` → `dsh-tui` → `Shortcuts`.
|
|
38
41
|
|
|
39
42
|
- Enter combos like `alt+v`; comma-separate several; leave blank to restore defaults. Saves apply live.
|
|
40
43
|
- Combos that clash with the fixed editing keys or another action are rejected.
|
|
@@ -68,6 +71,66 @@ subagent dashboard, show-all, and todo fold are remappable in `/settings` → `d
|
|
|
68
71
|
- Plugins provide the keyboard path for the same action through a slash command or `tuiShortcuts`.
|
|
69
72
|
- A refused rich registration returns `undefined`; an admitted one returns a disposer that removes both the view and its Cordis effect.
|
|
70
73
|
|
|
74
|
+
### Launchpad and first-run guide
|
|
75
|
+
|
|
76
|
+
The startup **launchpad** and the **first-run wizard** each own the keyboard; both only hand
|
|
77
|
+
results back to the chat screen and add no new behavior.
|
|
78
|
+
|
|
79
|
+
- **Launchpad**: printable input goes into the input box (the prefix turns from `❯` to `⌘` when the line
|
|
80
|
+
starts with `/`), `Backspace`/`Delete`/`←`/`→`/`Home`/`End` edit it; the caret is an **inverse block
|
|
81
|
+
sitting on the current character** (inverse on that one character; an inverse blank cell at end of
|
|
82
|
+
line), blinking is a pure style toggle (inverse ↔ regular, ~550ms per phase) and never occupies an
|
|
83
|
+
extra cell or eats a character; `Alt+R` continues the most recent session (= the first entry row slot,
|
|
84
|
+
bound only on this screen, no-op when there is nothing to continue, remappable in `/settings`);
|
|
85
|
+
a leading `/` opens the
|
|
86
|
+
**command palette** (the same data source and component as the chat composer: `↑`/`↓` move the selection,
|
|
87
|
+
`Enter`/`Tab`/click **run** the selected command, `Esc` dismisses only the palette and keeps the draft);
|
|
88
|
+
with the palette dismissed, `Enter` **sends** the line straight away (a leading `/` line — including
|
|
89
|
+
plugin/registry commands — goes through the chat page's merged command table and never reaches the model);
|
|
90
|
+
`↑`/`↓`/`Tab` walk the focus ring (input box → the four param segments under the box → the quick
|
|
91
|
+
actions → the Tips line) and `Enter` activates the focused one (`Enter` on the Tips line rotates the
|
|
92
|
+
tip), while typing returns focus to the input box; `Esc` clears
|
|
93
|
+
a non-empty line and opens sessions when empty, and `Ctrl+C` on an empty line takes the exit funnel.
|
|
94
|
+
- **Launchpad param row** (under the box: model · effort · mode · permission; model shows the bare model
|
|
95
|
+
name and mode shows the agent preset's display name — Standard/PTC/minimal…): each segment is
|
|
96
|
+
**clickable** and opens the very same picker the chat page uses (`/model` · `/effort` · `/preset` ·
|
|
97
|
+
`/permission`); the picker renders **above** the launchpad and owns the keyboard
|
|
98
|
+
(`Esc` closes it back onto the launchpad), the picked value updates the row in place and the typed draft
|
|
99
|
+
is untouched; clicking inside the picker selects, **clicking elsewhere closes it and clicking another
|
|
100
|
+
segment switches to that picker**.
|
|
101
|
+
- **Entry row (v7, four slots)**: `Continue "…"` (Alt+R; the slot is absent when there is nothing to
|
|
102
|
+
continue) · `Sessions & workspaces` (`/home` — history and workspaces merged into one entry) ·
|
|
103
|
+
`Settings` (`/settings`) · a **conditional slot** (priority: background jobs running → `Background
|
|
104
|
+
jobs`; update detected → `Update available`; usage milestone reached and never starred → `Feed us a
|
|
105
|
+
star`; fallback `Help`). Full screens opened from the launchpad (sessions & workspaces / settings /
|
|
106
|
+
background jobs / the family tree / the wizard) render **above the launchpad** — `Esc` closes them
|
|
107
|
+
back onto the launchpad (draft, params and focus intact); **the only way off the launchpad into the
|
|
108
|
+
chat is submitting a non-command line with Enter**. Overlays on the launchpad side (pickers, the
|
|
109
|
+
command palette) are a **clean cutout** — every cell in the overlay rect is space-filled (host
|
|
110
|
+
glyphs never bleed through), yet no background color is emitted (no white block; Kitty splash
|
|
111
|
+
art still shows through the terminal-default cells; the chat page's pickers are unaffected).
|
|
112
|
+
- **Tips line**: click to rotate (three tips cycle; the first-run tip has top priority and never rotates);
|
|
113
|
+
keyboard path = focus ring + `Enter`; as of v7 it also **auto-rotates** (~10s per tip; a manual
|
|
114
|
+
rotate resets the timer) — the switch changes only the text, never the row height or centering.
|
|
115
|
+
- **Corner plates (v7)**: the bottom-left working directory is **clickable** — it opens the existing
|
|
116
|
+
`/workspace` menu (rendered above the launchpad; `Esc` returns to the launchpad), keyboard path =
|
|
117
|
+
the focus ring's last slot + `Enter`, hover/focus = text highlight; the bottom-right plate shows
|
|
118
|
+
**two versions stacked vertically**: `dsh-tui v<TUI>` on the first row, `dsh-core v<kernel>` on
|
|
119
|
+
the second (the kernel version is read from the host/kernel package manifests; only the TUI row
|
|
120
|
+
is drawn when neither resolves), both right-aligned with the cwd plate top-aligned to the first
|
|
121
|
+
row, truncated per the existing truncate-middle contract on narrow terminals.
|
|
122
|
+
- **Wizard**: `←`/`→` change step (except the effort slider in step 3 and a drilled-in model list, where the
|
|
123
|
+
horizontal keys belong to the child control), `Tab` switches between the language/theme and
|
|
124
|
+
model/effort/workspace panes, `↑`/`↓` move the selection; `Enter` runs the step (step 1 = re-check
|
|
125
|
+
connectivity, step 3 = drill into a provider / switch model / open the workspace picker — **effort is not
|
|
126
|
+
on Enter**, it is `←`/`→` only and applies as you move); the theme pane previews on cursor move while the
|
|
127
|
+
**language pane applies on `Enter`**; `Enter` on the last step finishes and records the guide when the
|
|
128
|
+
focused card is a shortcut card, and tries the command when it is a command card; `Esc` skips
|
|
129
|
+
(**not recorded**, asked again next launch).
|
|
130
|
+
- **Mouse** (fullscreen): the launchpad's quick actions (hover = the label turns accent-blue and bold,
|
|
131
|
+
leaving restores the dim look), param segments, command palette, Tips line, the wizard's "Try it" cards
|
|
132
|
+
and the workspace picker are clickable, and a click lands on the same command path as the keyboard.
|
|
133
|
+
|
|
71
134
|
## Editing keys
|
|
72
135
|
|
|
73
136
|
| Key | Behavior |
|
|
@@ -591,7 +654,7 @@ The command menu merges local commands with the DSH command registry. Type `/` t
|
|
|
591
654
|
**Status**
|
|
592
655
|
|
|
593
656
|
- `/context`, `/status`, `/cost`, `/balance` — official DeepSeek balance: summary row + hover details, click to refresh.
|
|
594
|
-
- `/config`, `/doctor`, `/init`, `/agents`, `/jobs` — background jobs panel: status/elapsed/exit code, `k` kills.
|
|
657
|
+
- `/config`, `/doctor`, `/init`, `/agents`, `/jobs` — background jobs panel: status/elapsed/exit code, `k` kills; with the split layout on and the terminal wide enough it opens as a right-column panel instead (narrow terminals and inline mode keep the full-screen panel).
|
|
595
658
|
- `/settings`.
|
|
596
659
|
|
|
597
660
|
**Model and display**
|
|
@@ -600,6 +663,7 @@ The command menu merges local commands with the DSH command registry. Type `/` t
|
|
|
600
663
|
session accent color: bare opens the palette picker, `<name>` sets directly, `status`/`reset`;
|
|
601
664
|
input border + session-name chip at the top-right, per-session; chip off by default, enable
|
|
602
665
|
in `/settings`.
|
|
666
|
+
- `/panel` — side panel: toggle / focus / zoom / switch panels (subcommands in the user guide §2.8).
|
|
603
667
|
- `/lang`.
|
|
604
668
|
|
|
605
669
|
**Account and policy**
|
|
@@ -654,7 +718,7 @@ Additional forms:
|
|
|
654
718
|
- Exiting plan mode restores the pre-plan atoms first, then the durable preset you were on before plan mode (while the registry still offers it).
|
|
655
719
|
- When the registry service is absent, TUI uses its legacy three-row compatibility roster; a mounted but broken service is unavailable and fails closed.
|
|
656
720
|
- `/lang` toggles the interface language (see "Interface language").
|
|
657
|
-
- `/compact` compresses the session history; unavailable under the kernel Minimal agent preset (`minimal`, a single persistent-shell tool) — unrelated to the display-side Minimal UI switch.
|
|
721
|
+
- `/compact` compresses the session history; unavailable under the kernel Minimal agent preset (`minimal`, a single persistent-shell tool), which mounts no compaction and does not prune tool results — a long session can hit the context limit and oversized tool output stays in full (Help and `/` completion mark the entry, and entering the preset says so once) — unrelated to the display-side Minimal UI switch.
|
|
658
722
|
- `/thinking` toggles extended reasoning display; UI state only — **not persisted**.
|
|
659
723
|
- After startup, the TUI checks npm for a newer version in the background and shows a notification when one is available.
|
|
660
724
|
- The check follows the npm registry configuration (`NPM_CONFIG_REGISTRY` or `~/.npmrc`),
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
| `Ctrl+V` / `Alt+V` | 从系统剪贴板插入文本或文件;图片作为持久附件发送。终端拦截 `Ctrl+V` 时用 `Alt+V` |
|
|
17
17
|
| `Ctrl+G` | 用外部编辑器(`$VISUAL` → `$EDITOR`)编辑当前输入,保存退出后回填;`:cq` 或非零退出保留原稿;未设置变量时提示配置,无 `vi` 兜底 |
|
|
18
18
|
| `Ctrl+Shift+E` | 展开全屏草稿编辑器(也可点输入行尾 `⛶`):行号 + 当前行高亮 + 行/字统计,`Enter` 换行、`Ctrl+Enter` 或「发送」按钮发送、`Esc` 或「收起」按钮收起(草稿保留);滚轮自由滚动、点击定位/拖选/双击选词与输入框一致;可经 `/settings` 重映射 |
|
|
19
|
+
| `Ctrl+Z` | 撤销输入框草稿的上一步「词级」编辑(文本、光标、图片一起回退)。只作用于草稿:提交、历史召回(`Ctrl+R`/`↑`)或换会话后即结束;`Esc Esc` 的会话/消息回溯与它不是一回事。可经 `/settings` 重映射 |
|
|
19
20
|
| `Esc` | 层级:关帮助 → 关图片预览 → 关命令菜单 → 关文件菜单(仅当前 `@` token)→ **输入框内有选区时仅清选区(文本不动)** → 中断回合并重投 pending 消息 → 有输入时清空 → 空输入连续两次 = 时间回溯 rewind;fullscreen 下有鼠标选区时优先取消选区(不复制) |
|
|
20
21
|
| 图片预览打开时 `Esc` / `Ctrl+C` / `Enter` | 关闭预览,恢复下层界面;其余按键不透传 |
|
|
21
22
|
| 图片弹窗中的 `←` / `→` | 上一张 / 下一张;首尾不循环,临时光标预览不抢输入框方向键 |
|
|
@@ -23,6 +24,8 @@
|
|
|
23
24
|
| `Ctrl+D` | 与 `Ctrl+C` 同阶梯:工作中=中断(未收敛时再按=强制退出);空闲时连续两次退出 |
|
|
24
25
|
| `Ctrl+O` | 切换 transcript/verbose 详情,展开思考与完整工具参数/输出;也是**超长单行折叠**(单行 > 1000 字符裁到 1000 + `… 已折叠 N 字符` 标记,见 user guide §5)的展开逃生门——鼠标点被折叠的那一行(或工具卡卡面)同样能展开/收起 |
|
|
25
26
|
| `Ctrl+P` | 切换启动时加载的 loaded-context 面板(面板在屏时有效) |
|
|
27
|
+
| `Ctrl+B` | 侧栏三态:未开 → 打开并聚焦右栏;已开且焦点在聊天 → 聚焦右栏;焦点在右栏 → 关闭并回聊天。仅 fullscreen 且内容区 ≥93 列可分栏,窄屏与 inline 下此键不生效(`/jobs` 等仍走整屏面板,见用户指南 §2.8) |
|
|
28
|
+
| `Alt+Z` | 缩放当前侧栏面板(聊天列保留最小宽度),再按恢复 |
|
|
26
29
|
| `Ctrl+T` | 打开轨迹场景(等同 `/trace`);场景内 `q`/`Esc` 返回对话 |
|
|
27
30
|
| `Ctrl+R` | 打开输入历史搜索;重复按或 `Down` 移到下一项 |
|
|
28
31
|
| `Ctrl+L` | 强制清理并重绘物理终端 |
|
|
@@ -33,7 +36,7 @@
|
|
|
33
36
|
|
|
34
37
|
动作型快捷键支持在 `/settings` → `dsh-tui` → `Shortcuts` 自定义。
|
|
35
38
|
|
|
36
|
-
- 覆盖:粘贴、历史搜索、外部编辑器、`Ctrl+O/T/P/R/L
|
|
39
|
+
- 覆盖:粘贴、历史搜索、外部编辑器、`Ctrl+O/T/P/R/L`、侧栏(`Ctrl+B`、`Alt+Z`)、子代理面板、显示全部、待办折叠。
|
|
37
40
|
- 填 `alt+v` 这类组合,多个用逗号分隔;留空恢复默认,保存即生效。
|
|
38
41
|
- 与固定编辑键或其它动作冲突的组合会被拒绝。
|
|
39
42
|
- cordis.yml 可用 `shortcuts.<action>` 静态指定。
|
|
@@ -65,6 +68,48 @@
|
|
|
65
68
|
- 富状态注册被拒绝时返回 `undefined`。
|
|
66
69
|
- 注册成功时返回 disposer,会同时撤下视图和对应 Cordis effect。
|
|
67
70
|
|
|
71
|
+
### 落地页与首次引导
|
|
72
|
+
|
|
73
|
+
启动**落地页**与**首次引导向导**各自独占键盘;两者都只把结果交回对话页,不新增行为。
|
|
74
|
+
|
|
75
|
+
- **落地页**:可打印字符接进输入框(行首 `/` 时前缀由 `❯` 变 `⌘`),`Backspace`/`Delete`/`←`/`→`/`Home`/`End` 编辑;
|
|
76
|
+
- **落地页**:可打印字符接进输入框(行首 `/` 时前缀由 `❯` 变 `⌘`),`Backspace`/`Delete`/`←`/`→`/`Home`/`End` 编辑;
|
|
77
|
+
输入光标是**压在当前字符身上的反显块**(对那一个字符 inverse,行尾是反显空格),闪烁是纯样式切换
|
|
78
|
+
(inverse ↔ 常规,约 550ms 一相位),绝不另起一格、绝不吃掉字符;`Alt+R` 继续最近一条会话
|
|
79
|
+
(= 入口行第一格「继续「…」」,仅此屏生效,无可继续会话时无动作,键位可在 `/settings` 改);
|
|
80
|
+
**执行**选中命令,`Esc` 只收面板、草稿不动);面板没收时 `Enter` 直接**发送**这一行(行首 `/` 的命令——含
|
|
81
|
+
插件/registry 命令——按对话页同一条合并命令表判定,是命令就不发模型);
|
|
82
|
+
`↑`/`↓`/`Tab` 沿焦点环走(输入框 → 框下参数行四段 → 快捷入口行 → Tips 行),`Enter` 激活焦点上的那一条
|
|
83
|
+
(焦点在 Tips 行上 `Enter` = 切下一条 Tip),在入口/参数段上敲字会把焦点收回输入框;有字时 `Esc` 只清空,
|
|
84
|
+
空输入 `Esc` 去看会话,空输入 `Ctrl+C` 走退出漏斗。
|
|
85
|
+
- **落地页参数行**(框下一行:模型 · 思考深度 · 模式 · 权限;模型段只显示模型名,模式段显示 agent preset
|
|
86
|
+
的显示名——Standard/PTC/极简…):四段**各自可点**,点开的就是对话页同一套选择器
|
|
87
|
+
(`/model` · `/effort` · `/preset` · `/permission`),选择器**盖在落地页之上**、吃走键盘
|
|
88
|
+
(`Esc` 关掉它回到落地页),选中的值就地更新参数行、已输入的草稿不动;选择器开着时点它内部是选择,
|
|
89
|
+
**点别处会关掉它、点另一段会直接切换**成那个选择器。
|
|
90
|
+
- **入口行(第七版四格)**:`继续「…」`(Alt+R;无可继续会话时整格不画)· `会话与工作区`(`/home`,
|
|
91
|
+
历史会话与工作区合并成一个入口)· `设置`(`/settings`)· **条件位**(优先级:有后台任务在跑 →
|
|
92
|
+
`后台任务`;检测到新版本 → `有新版本`;用量到档且从未 star → `投喂一颗 Star`;兜底 `帮助`)。
|
|
93
|
+
从落地页打开的整屏界面(会话与工作区 / 设置 / 后台任务 / 家谱 / 引导向导)都**盖在落地页之上**,
|
|
94
|
+
`Esc` 退出回到落地页(草稿/参数/焦点原样保留);**离开落地页进对话页的唯一方式是回车提交一条
|
|
95
|
+
非命令消息**。落地页这一侧的浮层(选择器/命令面板)是**干净的镂空**——矩形内空格占位
|
|
96
|
+
遮掉宿主屏的字形(绝不重影)、不发背景色(无白底;Kitty 立绘图像仍从终端默认背景透出;
|
|
97
|
+
聊天页同款选择器不受影响)。
|
|
98
|
+
- **Tips 行**:可点击轮换(三条 Tips 循环;首启那一句优先级最高、不参与轮换),键盘路径 = 焦点环 + `Enter`;
|
|
99
|
+
第七版起还**自动轮换**(约 10s 一换,手动切换后计时重置),切换只改文本、行高与居中位置不变。
|
|
100
|
+
- **双角铭牌(第七版)**:左下角工作目录**可点**——点开既有的 `/workspace` 菜单
|
|
101
|
+
(盖在落地页之上、`Esc` 回落地页),键盘路径 = 焦点环末格 + `Enter`,悬停/焦点 =
|
|
102
|
+
文字高亮;右下角是**双版本竖排两行**:第一行 `dsh-tui v<TUI>`、第二行
|
|
103
|
+
`dsh-core v<内核>`(内核版本读宿主/内核线包的 manifest,读不到只画 TUI 一行),
|
|
104
|
+
两行都右对齐、左下目录铭牌与第一行顶对齐,窄屏按既有 truncate-middle 截断。
|
|
105
|
+
- **引导向导**:`←`/`→` 换步骤(例外:第三步的强度区、以及已钻进去的模型列表,横向键归子控件,不换步骤)、
|
|
106
|
+
`Tab` 在「语言 / 主题」与「模型 / 强度 / 工作区」两组面板间切、`↑`/`↓` 移动选择;
|
|
107
|
+
`Enter` 执行这一步(第一步 = 重新检查连通性,第三步 = 钻进 provider / 换模型 / 打开工作区选择器——**强度不走 Enter**,只用 `←`/`→` 调且移动即生效);
|
|
108
|
+
主题面板移动光标即预览,**语言面板要 `Enter` 才生效**;最后一步的 `Enter` 在**键位卡**上「完成」并记账,
|
|
109
|
+
在命令卡上则是「试一下」;`Esc` 跳过(**不记账**,下次启动再问)。
|
|
110
|
+
- **鼠标**(fullscreen):落地页的快捷入口(悬停 = 文字变主题蓝加粗,移开复原)、参数行四段、命令补全面板、
|
|
111
|
+
Tips 行、引导招式卡的「试一下」与工作区选择器都可点,点击与键盘落到同一条命令路径。
|
|
112
|
+
|
|
68
113
|
## 输入编辑
|
|
69
114
|
|
|
70
115
|
| 按键 | 行为 |
|
|
@@ -649,7 +694,7 @@ Windows `dsh-tui.cmd --resume` 使用 `~/.dsh-tui/resume.txt` 中最后选择的
|
|
|
649
694
|
- `/context`、`/status`、`/cost`。
|
|
650
695
|
- `/balance`:DeepSeek 官方余额,摘要行 + hover 明细,点击刷新。
|
|
651
696
|
- `/config`、`/doctor`、`/init`、`/agents`。
|
|
652
|
-
- `/jobs`:后台任务面板,状态/时长/退出码,`k`
|
|
697
|
+
- `/jobs`:后台任务面板,状态/时长/退出码,`k` 停止;分栏开启且宽度足够时改为打开右栏面板,窄屏 / inline 回退整屏。
|
|
653
698
|
- `/settings`。
|
|
654
699
|
|
|
655
700
|
**模型与显示**
|
|
@@ -659,6 +704,7 @@ Windows `dsh-tui.cmd --resume` 使用 `~/.dsh-tui/resume.txt` 中最后选择的
|
|
|
659
704
|
- 无参打开调色板选择器,`<名>` 直接设置,`status`/`reset`。
|
|
660
705
|
- 输入框边框 + 右上角会话名标签,按会话保存。
|
|
661
706
|
- 标签默认关闭,`/settings` 可开。
|
|
707
|
+
- `/panel`:侧栏面板——开关 / 聚焦 / 缩放 / 切换(子命令见用户指南 §2.8)。
|
|
662
708
|
- `/lang`。
|
|
663
709
|
|
|
664
710
|
**账号与策略**
|
|
@@ -708,7 +754,7 @@ dsh-TUI 不预装通用技能;技能内容与发现规则由 DSH 及当前组
|
|
|
708
754
|
- 服务已挂载但损坏、为空或不一致时标记 unavailable 并 fail closed。
|
|
709
755
|
- 退出计划模式先恢复进入前的 sandbox/approval,再还原进入前所在的权限预设(registry 仍提供时)。
|
|
710
756
|
- `/lang` 切换中英界面语言(见「界面语言」)。
|
|
711
|
-
- `/compact` 压缩会话历史;内核「极简模式」预设(Agent preset `minimal`,只有一个持久 shell
|
|
757
|
+
- `/compact` 压缩会话历史;内核「极简模式」预设(Agent preset `minimal`,只有一个持久 shell 工具)既不挂载压缩服务也不剪枝工具结果,长会话可能撞上下文上限、超长工具输出整段留在上下文里,`/compact` 因此不可用(Help 与 `/` 补全标注「不可用」,进入该预设时提示一次)——与界面设置的「极简界面」无关。
|
|
712
758
|
- `/thinking` 扩展思考显示开关,仅本次界面状态、**不持久化**。
|
|
713
759
|
- 启动后后台检查 npm 新版本,发现更新时提示。
|
|
714
760
|
- 检测遵循 npm registry 配置(`NPM_CONFIG_REGISTRY` 或 `~/.npmrc`)。
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# Plugin Development Guide (
|
|
1
|
+
# Plugin Development Guide (authoritative text: the TUI Profile)
|
|
2
2
|
|
|
3
3
|
[Documentation index](README.md) · [简体中文](plugins.md)
|
|
4
4
|
|
|
5
|
-
> This document has been merged with the
|
|
6
|
-
> [Plugin Admission and Development Guide](
|
|
5
|
+
> This document has been merged with the in-repo TUI Profile (`tui-profile/`):
|
|
6
|
+
> [Plugin Admission and Development Guide](../tui-profile/docs/plugin-admission-and-development.md)
|
|
7
7
|
|
|
8
8
|
The ecosystem entry points and seam stability reference below are kept here
|
|
9
9
|
for quick reference; the authoritative status and compatibility agreement
|
|
@@ -12,7 +12,7 @@ live in the admission & development guide.
|
|
|
12
12
|
## Ecosystem entry points
|
|
13
13
|
|
|
14
14
|
- **Interface & compatibility agreement / Plugin development guide**:
|
|
15
|
-
[Terminal Interactive Ecosystem Plugin Admission and Development Guide](
|
|
15
|
+
[Terminal Interactive Ecosystem Plugin Admission and Development Guide](../tui-profile/docs/plugin-admission-and-development.md)
|
|
16
16
|
(admission spec, seams, contracts, verification checklist).
|
|
17
17
|
- **Organization**:
|
|
18
18
|
[dsh-tui-ecosystem](https://github.com/dsh-tui-ecosystem)
|
|
@@ -28,17 +28,27 @@ live in the admission & development guide.
|
|
|
28
28
|
|
|
29
29
|
An **informal** maturity grading to help plugin authors gauge investment;
|
|
30
30
|
the authoritative status and compatibility agreement live in the
|
|
31
|
-
[admission & development guide](
|
|
31
|
+
[admission & development guide](../tui-profile/docs/plugin-admission-and-development.md):
|
|
32
32
|
|
|
33
33
|
| Tier | Seams |
|
|
34
34
|
| --- | --- |
|
|
35
35
|
| Stable candidate (shape frozen; breaking changes go through a minor-version deprecation warning before removal) | VI settings sections · VIII full-screen scenes · X managed dialogs · XI status line · XII keyboard shortcuts · XIII entry renderers |
|
|
36
|
-
| Experimental (may still shift with dsh-std /
|
|
36
|
+
| Experimental (may still shift with dsh-std / the TUI Profile) | IX decision events · toast notifications (`ctx.tuiToast`, new) · **Side panels (`ctx.tuiPanels`, full panel + compact row, experimental)** |
|
|
37
37
|
| Upstream-tracked (stability owned by the cordis / dsh mechanisms underneath) | I session events · II official prompt slots · III bundled skills · IV themes · V system-prompt sections · VII profile composition |
|
|
38
38
|
|
|
39
39
|
Also an experimental public surface:
|
|
40
40
|
|
|
41
41
|
- `@deepseek-harness-tui/dsh-tui/api` (types-only entry).
|
|
42
|
+
- **Side panels (experimental, §18)**: `ctx.tuiPanels.register({ apiVersion:
|
|
43
|
+
1, id, title, icon?, component | compact })` registers a right-sidebar
|
|
44
|
+
panel (the host prefixes `<pluginId>:`; ≤4 panels per plugin, ≤32 globally;
|
|
45
|
+
`open()` is rate-limited to once per 5s; 3 consecutive crashes disable the
|
|
46
|
+
panel for the session). Of the two render slots — the full panel
|
|
47
|
+
(`component`) and the compact row (`compact`, 1–3 lines) — **compact is
|
|
48
|
+
descriptor-validated only this phase and not mounted yet**; `sendToChat`
|
|
49
|
+
requires the `panels.chat.attach` grant (a later version) and currently
|
|
50
|
+
always returns `false` with a one-time hint. Types live at
|
|
51
|
+
`@deepseek-harness-tui/dsh-tui/panels` and `./api`.
|
|
42
52
|
- The `@deepseek-harness-tui/dsh-tui/test-utils` subpath and
|
|
43
53
|
`ctx.tuiPluginHost.grants.corrupt` were removed in the adapter layering
|
|
44
54
|
refactor (#705).
|