@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,354 @@
|
|
|
1
|
+
# 配置参考
|
|
2
|
+
|
|
3
|
+
[文档索引](README.md) · [English](configuration.en.md)
|
|
4
|
+
|
|
5
|
+
## Profile 与补丁层
|
|
6
|
+
|
|
7
|
+
通过 npm/profile 机制安装后,用户配置位于:
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
$DSH_HOME/profiles/dsh-tui/cordis.patch.yml
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
`DSH_HOME` 未设置时通常为 `~/.dsh`。该文件是顶层 YAML 数组,可使用 DSH
|
|
14
|
+
支持的 `!!js` 表达式。
|
|
15
|
+
|
|
16
|
+
Profile 启动按顺序叠加:
|
|
17
|
+
|
|
18
|
+
- `dsh-base`
|
|
19
|
+
- 已安装的 bundle
|
|
20
|
+
- `@deepseek-harness-tui/dsh-tui` 包内的 `cordis.patch.yml`
|
|
21
|
+
- 用户补丁(最后应用)
|
|
22
|
+
|
|
23
|
+
用户配置通常通过相同 `id` 覆盖已有行;只有确实新增服务时才用 `insert`。
|
|
24
|
+
|
|
25
|
+
> 覆盖某一行时,`config` 是整块替换,不是逐字段深合并。需要继续生效的字段必须
|
|
26
|
+
> 在用户补丁中全部重写。
|
|
27
|
+
|
|
28
|
+
## TUI 配置
|
|
29
|
+
|
|
30
|
+
DSH 0.1.7 的 `/settings` 写入当前 profile 的 `cordis.patch.yml`,字段属于插件
|
|
31
|
+
Config;旧版仍使用 `~/.dsh/settings.yaml`。不要把旧文件路径当成新版设置入口。
|
|
32
|
+
语言、布局等偏好实时更新;全屏和图片预览需 `/restart`。
|
|
33
|
+
|
|
34
|
+
下面是完整的常用覆盖示例:
|
|
35
|
+
|
|
36
|
+
```yaml
|
|
37
|
+
- id: dsh-tui
|
|
38
|
+
config:
|
|
39
|
+
provider: deepseek-official
|
|
40
|
+
model: deepseek-flash
|
|
41
|
+
# cwd 不建议显式设置——默认解析为启动目录所在的 git worktree 根;确需固定
|
|
42
|
+
# 工作区时写绝对路径(如 cwd: /repo/packages/app),不要用
|
|
43
|
+
# `!!js process.cwd()`(那会把工作区钉死在启动子目录上,issue #96)。
|
|
44
|
+
effort: max
|
|
45
|
+
activity: true
|
|
46
|
+
activityFrames: moon8
|
|
47
|
+
contextBar: true
|
|
48
|
+
fullscreen: false
|
|
49
|
+
terminalImages: true
|
|
50
|
+
preset: !!js process.env.DSH_TUI_PRESET ?? undefined
|
|
51
|
+
workspace: !!js process.env.DSH_TUI_WORKSPACE_TARGET ?? undefined
|
|
52
|
+
sessionId: !!js process.env.DSH_TUI_RESUME_SESSION ?? undefined
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
| 字段 | 默认/来源 | 说明 |
|
|
56
|
+
| --- | --- | --- |
|
|
57
|
+
| `provider` | Harness `agentDefaultModel`;裸组合回落 `deepseek-official` | DSH 模型路由名称;只有 provider 与 model 同时配置才构成显式路由 |
|
|
58
|
+
| `model` | Harness `agentDefaultModel`;裸组合回落 `deepseek-flash` | 启动模型;`/model` 可通过 session fork 实时切换 |
|
|
59
|
+
| `cwd` | 启动目录所在的 git worktree 根(不在任何 worktree 内时为 `process.cwd()`;家目录的 dotfiles 仓不算) | TUI 会话侧工作区:agent meta、`@` 补全/提及展开、/resume 过滤、状态栏;恢复已有会话时以该会话持久化的 cwd 为准。注意 bash/fs-policy/sandbox 的根仍由组合层 cordis 配置决定(默认启动目录,归 dsh-base 管),与这里的会话侧 cwd 可能不同 |
|
|
60
|
+
| `workspace` | 未设置 | 启动工作区目标;可用本地路径、`file://` URI 或插件提供的 URI,设置后优先于 `cwd` |
|
|
61
|
+
| `effort` | 配置层通常为 `max` | 每个请求实际生效的推理等级(按运行时模型档位校验,非法档位静默回落默认;兼作顶栏启动显示)。优先级:/settings 的 `effortDefault`(`auto` 时让位)> 本字段 > `/effort` 持久化选择(`~/.dsh-tui/effort.json`)> 模型默认 |
|
|
62
|
+
| `effortDefault` | 未设置 | 新会话默认推理强度;`auto` 让位给 `effort`,可经 `/settings` 修改 |
|
|
63
|
+
| `whale` / `whaleIdle` | `true` / `true` | 标题鲸鱼与欢迎页鲸鱼闲置动画 |
|
|
64
|
+
| `splashFont` | `daily` | 开屏大字字体:`daily` 按本地日期轮换(默认),其余取字体 id(`bold` / `square` / `bevel` / `wide` / `dot` / `stencil` / `classic` / `slab`)pin 住那一款;非法值回落 `daily`。也可经 `/settings` 修改 |
|
|
65
|
+
| `whaleGirl` | `false` | 把标题的像素鲸鱼换成女仆娘:**最优先**真图(Kitty/Sixel);不支持时回落字符画版女仆娘 |
|
|
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` 启用。立即生效 |
|
|
72
|
+
| `modes` | 内置三档 | Shift+Tab 会话模式循环(plan/sandbox/approval 原子组合);缺省为 默认 → 计划 → 完全访问 |
|
|
73
|
+
| `activity` | `true` | 是否显示实时工作状态行 |
|
|
74
|
+
| `activityFrames` | `moon8` | 工作状态动画预设;也可通过 `/activity` 修改。旧配置值 `claude` 读取时映射为 `moon8`,选择器不再显示该旧预设 |
|
|
75
|
+
| `contextBar` | `true` | 输入框下方的分段上下文进度条;`false` 隐藏该行。与 `/settings → statusBar.contextBar`(默认开)同时为开才显示 |
|
|
76
|
+
| `fullscreen` | `true`(0.9.0 起出厂默认) | `true` 使用 alternate screen、应用内滚动和鼠标选区;`false` 使用 inline 模式 |
|
|
77
|
+
| `terminalImages` | `true` | 允许在支持的终端预览图片;`false` 保留文字信息,跳过图片探测与预览解码。修改后重启生效 |
|
|
78
|
+
| `preset` | 名册默认 `standard` | 新会话 Agent preset;显式配置优先于持久化偏好 |
|
|
79
|
+
| `sessionId` | 未设置 | 要恢复的会话 ID,通常由 Windows `--resume` 启动器注入 |
|
|
80
|
+
|
|
81
|
+
### 优先级与强制关闭
|
|
82
|
+
|
|
83
|
+
- `/settings → 终端图片预览` 保存的选择优先于 `config.terminalImages`。
|
|
84
|
+
- 未保存时用配置值,默认开启。
|
|
85
|
+
- 开启仍需终端支持 Kitty graphics,且处于允许图片渲染的显示模式。
|
|
86
|
+
- `DSH_TUI_DISABLE_TERMINAL_IMAGES=1` 始终强制关闭预览。
|
|
87
|
+
- 关闭后不读取、不解码图片,也不发图片渲染指令;向模型发图片不受影响。
|
|
88
|
+
- 勾选框编辑的是预览偏好;环境变量强制关闭时,设置行会单独标明「环境强制关闭」。
|
|
89
|
+
|
|
90
|
+
### 重启生效
|
|
91
|
+
|
|
92
|
+
- 这个开关在启动时读取。
|
|
93
|
+
- 修改后用 `/restart` 自动重启 TUI 并恢复当前会话;`/reload` 不应用。
|
|
94
|
+
- 回合运行中需先等结束,或用 `Ctrl+C` 停止再重启。
|
|
95
|
+
|
|
96
|
+
## 诊断环境变量
|
|
97
|
+
|
|
98
|
+
以下变量用于诊断或实验性终端集成,默认均关闭;只有显式设置时才生效:
|
|
99
|
+
|
|
100
|
+
| 变量 | 作用 |
|
|
101
|
+
| --- | --- |
|
|
102
|
+
| `DSH_TUI_DEBUG_REPAINTS=1` | 记录重绘诊断信息 |
|
|
103
|
+
| `DSH_TUI_COMMIT_LOG=1` | 记录渲染提交诊断信息 |
|
|
104
|
+
| `DSH_TUI_ACCESSIBILITY=1` | 启用无障碍相关显示路径 |
|
|
105
|
+
| `DSH_TUI_TMUX_TRUECOLOR=1` | 在 tmux 中启用 truecolor 探测路径 |
|
|
106
|
+
| `DSH_TUI_TAB_STATUS=1` | 实验性终端 tab 状态 opt-in;默认关闭,不保证任意终端支持 |
|
|
107
|
+
|
|
108
|
+
诊断输出不会改变会话事件或模型路由;遇到终端兼容问题时,只按需启用相关变量。
|
|
109
|
+
|
|
110
|
+
## 工作状态行
|
|
111
|
+
|
|
112
|
+
`dsh-working-activity` 随包安装,并由本包 patch 插入。工作状态行读的是该插件
|
|
113
|
+
(≥ 0.5.0)发布的 `workingActivity` 会话投影——0.5.0 起事件出口
|
|
114
|
+
(`activity/status`)已由投影取代,旧版插件不会产生工作状态行。只需要按 ID
|
|
115
|
+
覆盖参数:
|
|
116
|
+
|
|
117
|
+
```yaml
|
|
118
|
+
- id: working-activity
|
|
119
|
+
config:
|
|
120
|
+
publishIntervalMs: 500
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
不要再次 `insert` 同名行,也不要对同一 profile 单独执行
|
|
124
|
+
`dsh plugin ... add dsh-working-activity`。
|
|
125
|
+
|
|
126
|
+
## Agent Preset
|
|
127
|
+
|
|
128
|
+
每个会话通过官方 preset registry 组合模型可见的工具和提示词。0.1.7 使用
|
|
129
|
+
`@deepseek-ai/dsh-agent-preset-registry`,旧版使用 `@deepseek-ai/dsh-agent-presets`:
|
|
130
|
+
|
|
131
|
+
| ID | 名称 | 能力 |
|
|
132
|
+
| --- | --- | --- |
|
|
133
|
+
| `standard` | 标准模式(默认) | 编辑、Shell、检索、Skills、计划、Goals、子代理与工作流 |
|
|
134
|
+
| `ptc`(0.1.2)/ `code`(旧 0.1.1) | PTC 模式 | 标准能力,加 PTC SDK 呈现工具,可用 TypeScript 组合多步操作;两个名字可跨版本兼容解析 |
|
|
135
|
+
| `minimal` | 极简模式 | 内核 Agent 预设:只暴露一个持久 shell 工具(POSIX 为 bash,Windows 为 pwsh),不带 compaction、计划模式与运行时上下文。`str_replace_editor` 自 0.1.3-alpha.2 起是 opt-in,该预设不含它。代价也如实说:没有压缩、也不剪枝工具结果(长会话可能撞上下文上限,超长工具输出整段留在上下文里),`/compact` 与问卷在该预设下不可用——Help 与 `/` 补全标注「不可用」,进入/恢复该预设时提示一次 |
|
|
136
|
+
| `cordis` | 创造模式 | 标准能力,加运行时检查与插件实验工具 |
|
|
137
|
+
| `liangshen` | 梁神模式 | 主 Agent 与子 Agent 首轮均保持极简模式的最小工具面,首次工具调用后开放完整目录,压缩后重新锚定 |
|
|
138
|
+
|
|
139
|
+
> ⚠️ 别把这里的「极简模式」和 `/settings → 外观与布局 → 极简界面`(Minimal UI,配置键 `dsh-tui.minimal`)搞混:
|
|
140
|
+
> 本节的 preset 是**内核 Agent 预设**,改变的是模型能看到、能调用的工具;
|
|
141
|
+
> 「极简界面」只精简界面装饰(开屏头部、emoji 状态符、装饰配色与底栏字段),
|
|
142
|
+
> 对模型能力没有任何影响。
|
|
143
|
+
|
|
144
|
+
### 选择与切换
|
|
145
|
+
|
|
146
|
+
- `/preset` 打开选择器。
|
|
147
|
+
- `/preset <id>` 直接选择;`/preset status` 查看当前状态。
|
|
148
|
+
- 选择器显示的名称与描述取自 registry 声明(旧版取自 `preset.yml`)。
|
|
149
|
+
- 界面语言为 `en`(`/lang en`)时,内置 preset 显示本地化的英文名称与描述。
|
|
150
|
+
- 内置 preset:`standard` / `minimal` / `ptc`(旧版 `code`)/ `cordis` / `liangshen`;
|
|
151
|
+
自定义 preset 原样显示。
|
|
152
|
+
- 空白会话可以原地切换。已产生对话的会话遵循官方 blank-only 规则:选择只
|
|
153
|
+
保存为新默认值,在 `/new` 或下一次启动时生效。
|
|
154
|
+
|
|
155
|
+
### 默认值与优先级
|
|
156
|
+
|
|
157
|
+
- 默认值保存在 `~/.dsh-tui/agent-preset.json`。
|
|
158
|
+
- 优先级:显式 `config.preset` 或 `DSH_TUI_PRESET` → 持久化偏好 → 名册
|
|
159
|
+
默认值 `standard`。
|
|
160
|
+
- 名册不再提供 `code` 时,旧偏好回退解析为 `ptc`,解析成功后迁移;rc 名册
|
|
161
|
+
仍保留真实 `code` id,历史会话日志始终不改写。
|
|
162
|
+
- 恢复旧会话时,以该会话日志记录的 preset 为准,不读取当前默认值覆盖它。
|
|
163
|
+
|
|
164
|
+
### 梁神模式
|
|
165
|
+
|
|
166
|
+
- 梁神模式随 dsh-tui 包发布,0.1.7 启动时注册到官方 registry,已有同名 profile 声明优先。
|
|
167
|
+
- 旧版安装到用户 preset 根目录;已有非托管目录不会被覆盖。
|
|
168
|
+
- Windows 首轮 `bash` 通过自动发现的 Git Bash 执行,依次尝试:
|
|
169
|
+
- PATH 上的 `git.exe` 所在安装树(安装器/便携/Scoop 布局通用,穿透 Scoop shim)
|
|
170
|
+
- 常规安装位置与 Scoop 约定目录
|
|
171
|
+
- PATH 上的裸 `bash`(最后兜底)
|
|
172
|
+
- 始终拒绝把 System32 的 WSL 启动器当作 Git Bash
|
|
173
|
+
- 环境变量 `DSH_TUI_LIANGSHEN_BASH_PATH` 可显式指定 `bash.exe` 绝对路径。
|
|
174
|
+
- 设置后即为唯一候选;找不到即告警并跳过注册,首轮直接放开完整工具目录。
|
|
175
|
+
|
|
176
|
+
### 自定义 preset
|
|
177
|
+
|
|
178
|
+
0.1.7 通过 profile/bundle 声明 `@deepseek-ai/dsh-agent-preset`,配置包含 `id`、
|
|
179
|
+
`name` 与 `plugins`。旧目录预设需要按上游迁移为 bundle,TUI 不再自行扫描目录。
|
|
180
|
+
旧版仍从 `$DSH_HOME/.agent-presets/<name>/agent.cordis.yml` 发现预设。
|
|
181
|
+
|
|
182
|
+
从 0.3 起,模型侧工具、plan、compaction、delegation 等由 preset 自己组合。
|
|
183
|
+
Profile 模式不再使用旧的 `DSH_TUI_COMPACT_RATIO`、`DSH_TUI_COMPACT_RETAIN`
|
|
184
|
+
或旧版 TUI 的深度限制;这些策略应在 preset 中配置。
|
|
185
|
+
|
|
186
|
+
## MCP
|
|
187
|
+
|
|
188
|
+
官方 `@deepseek-ai/dsh-mcp-client` 同时支持 stdio 与 streamable HTTP。
|
|
189
|
+
每个服务挂载后,工具以 `mcp__<server>__<tool>` 注册并自动进入模型工具集。
|
|
190
|
+
|
|
191
|
+
在用户 `cordis.patch.yml` 中插入:
|
|
192
|
+
|
|
193
|
+
```yaml
|
|
194
|
+
- insert:
|
|
195
|
+
- id: mcp-context7
|
|
196
|
+
name: '@deepseek-ai/dsh-mcp-client'
|
|
197
|
+
config:
|
|
198
|
+
transport: stdio
|
|
199
|
+
serverName: context7
|
|
200
|
+
command: npx
|
|
201
|
+
args: ['-y', '@upstash/context7-mcp']
|
|
202
|
+
|
|
203
|
+
- id: mcp-remote
|
|
204
|
+
name: '@deepseek-ai/dsh-mcp-client'
|
|
205
|
+
config:
|
|
206
|
+
transport: streamable-http
|
|
207
|
+
serverName: remote
|
|
208
|
+
url: https://example.com/mcp
|
|
209
|
+
headers:
|
|
210
|
+
Authorization: !!js process.env.MCP_TOKEN
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
运行 `/mcp` 查看已连接服务与工具数量。完整字段以
|
|
214
|
+
[DeepSeek Harness 配置目录](https://deepseek-harness.github.io/deepseek-harness/reference/config-catalog#deepseek-ai-dsh-mcp-client)
|
|
215
|
+
为准。
|
|
216
|
+
|
|
217
|
+
## 环境变量
|
|
218
|
+
|
|
219
|
+
| 变量 | 用途 |
|
|
220
|
+
| --- | --- |
|
|
221
|
+
| `VISUAL` / `EDITOR` | `Ctrl+G` 打开的外部编辑器(`VISUAL` 优先,可带参数如 `code --wait`;两者都未设置时提示配置,无 `vi` 兜底) |
|
|
222
|
+
| `DEEPSEEK_API_KEY` | DeepSeek 凭证;运行模型的必需项 |
|
|
223
|
+
| `DEEPSEEK_BASE_URL` | 覆盖 DeepSeek 兼容 API 端点 |
|
|
224
|
+
| `DSH_HOME` | harness 家目录(profile、会话、凭据、附件);未设置时用上游默认 `~/.dsh` |
|
|
225
|
+
| `DSH_TUI_PERSONA` | 覆盖组合注入的 Agent persona |
|
|
226
|
+
| `DSH_TUI_PRESET` | 覆盖新会话默认 Agent preset |
|
|
227
|
+
| `DSH_TUI_THEME` | 锁定内置(`auto`/`light`/`dark`/`dark-ansi`)、静态主题或已注册的插件主题,优先于持久化选择 |
|
|
228
|
+
| `DSH_TUI_DISABLE_MOUSE` | 在 fullscreen 模式临时关闭鼠标处理 |
|
|
229
|
+
| `DSH_TUI_DISABLE_TERMINAL_IMAGES` | 设为 `1` 时强制关闭 Kitty/Sixel 探测、预览读取/解码与终端图片渲染,优先于 config 和 /settings;保留文字信息 |
|
|
230
|
+
| `DSH_TUI_IMAGE_PROTOCOL` | `auto`(默认)、`kitty`、`sixel` 或 `none`;覆盖协议选择,但不绕过图片预览偏好、禁用开关、非全屏、无障碍和多路复用器限制 |
|
|
231
|
+
| `DSH_TUI_RESUME_SESSION` | 启动时恢复指定会话,通常由启动器设置 |
|
|
232
|
+
| `DSH_TUI_WORKSPACE_TARGET` | 启动时解析的工作区路径或 URI,通常由 `dsh-tui <目标>` 设置 |
|
|
233
|
+
| `DSH_TUI_SESSION_ROOT` | 覆盖 JSONL 会话根目录;profile 默认 `$DSH_HOME/sessions`,裸 `cordis.yml` 默认 `~/.dsh-tui/sessions` |
|
|
234
|
+
| `DSH_PERMISSION_MODE` | 非 Windows 平台覆盖 sandbox policy,例如 `workspace-write` 或 `danger-full-access` |
|
|
235
|
+
| `DSH_TUI_WORKSPACE` | Windows `dsh-tui.cmd` 采用的工作目录 |
|
|
236
|
+
| `DSH_TUI_DEBUG` | 启用写往 stderr 的 dsh-tui 调试日志 |
|
|
237
|
+
| `DSH_TUI_RENDER_LOG` | 指定文件路径,记录原始 ANSI 渲染帧用于取证 |
|
|
238
|
+
|
|
239
|
+
旧名 `CC_TUI_*` 与 `DSH_CC_*` 来自早期版本命名,自本版本起不再被读取;环境变量
|
|
240
|
+
一律使用 `DSH_TUI_*` 前缀。
|
|
241
|
+
|
|
242
|
+
数据目录分两层,互不替代:
|
|
243
|
+
|
|
244
|
+
- **harness 家目录**:`$DSH_HOME`,未设置时用上游默认 `~/.dsh`。存 profile、
|
|
245
|
+
会话、凭据与附件。早期版本把它钉在 `~/.dsh-cc`。
|
|
246
|
+
- **TUI 数据目录**:`~/.dsh-tui`(固定路径,不随 `$DSH_HOME` 走)。存 `/model`、
|
|
247
|
+
`/lang`、`/theme` 等偏好与 `resume.txt`。早期版本曾把这些写在 `$DSH_HOME` 下。
|
|
248
|
+
|
|
249
|
+
`DSH_TUI_RENDER_LOG` 可能捕获屏幕上可见的提示词、工具参数和输出,不应上传到
|
|
250
|
+
公开 issue,除非已经检查并脱敏。
|
|
251
|
+
|
|
252
|
+
## `/provider`:运行时管理模型提供方
|
|
253
|
+
|
|
254
|
+
`/provider` 打开交互向导,无需重启即可添加、编辑、删除模型提供方。
|
|
255
|
+
|
|
256
|
+
- 来源:内置 catalog 路由或自定义 API 端点。
|
|
257
|
+
- 仅**用户配置层**写入的 provider 可编辑/删除;组合 base 继承来的不可删。
|
|
258
|
+
- 密钥写入 `~/.dsh/.credentials.yaml`(0600),界面只显示 `••••••`。
|
|
259
|
+
- 只有非环境变量来源的密钥才写库;与其他 provider 共用的密钥删除时保留。
|
|
260
|
+
- 编辑「模型列表」时会重新拉取候选:内置 catalog 路由先取安装目录快照,
|
|
261
|
+
只要该路由存有 baseURL(或正在添加时填了端点),再用已存密钥实时探测
|
|
262
|
+
`GET {baseURL}/models` 并合并——仅线上有的新模型标「线上新增」,勾选后
|
|
263
|
+
写入其披露的容量字段;已有模型预勾选,只有显式取消勾选才会移除。无
|
|
264
|
+
baseURL 的 catalog 路由只显示目录快照并在问题详情中注明。协议不唯一或
|
|
265
|
+
配置了自定义请求头的 catalog 路由也会明确提示并回退到目录快照,不把线上
|
|
266
|
+
新模型写入无法验证的 profile。
|
|
267
|
+
- 逐项菜单细节见[用户指南](user-guide.md)。
|
|
268
|
+
|
|
269
|
+
写入位置:
|
|
270
|
+
|
|
271
|
+
| 产物 | 位置 |
|
|
272
|
+
| --- | --- |
|
|
273
|
+
| provider profile | 0.1.7 当前 profile 配置中的 `llm-pi-ai.providers.<路由名>`;旧版在 `~/.dsh/settings.yaml`,写入即注册路由,删除即注销 |
|
|
274
|
+
| API key | `~/.dsh/.credentials.yaml`(0600),引用名为 `<路由名大写>_API_KEY` |
|
|
275
|
+
|
|
276
|
+
### 内置订阅 OAuth
|
|
277
|
+
|
|
278
|
+
标准 profile 的 `dsh-tui-auth` 行加载本包的 `./oauth` 入口,**不再依赖独立的
|
|
279
|
+
`dsh-auth` 插件包**。`/provider` 的添加分支提供 ChatGPT/Codex(`openai-codex`)、
|
|
280
|
+
Claude(`anthropic`)、Grok(`xai`)订阅账号登录。宿主 pi-ai catalog 提供相应流程
|
|
281
|
+
时还可使用 OpenAI 直连 ChatGPT 登录(`openai`,使用 OpenAI API 而非旧版 Codex
|
|
282
|
+
后端)和 Meta Muse(`meta`)。当前主验证线 DSH `0.2.0-rc.2` 携带 pi-ai
|
|
283
|
+
`0.87.1`,包含 Meta Muse,但不提供 OpenAI 直连登录。`/auth status`、`/auth login [provider]`、
|
|
284
|
+
`/auth logout <provider>` 对这些 pi-ai 路由操作同一套凭据。浏览器授权会尝试自动打开页面,并在同一
|
|
285
|
+
问卷中提供授权链接与手动粘贴回调 URL/代码的输入;设备码流程在轮询期间显示可复制的
|
|
286
|
+
短码。无交互问卷服务的宿主会明确拒绝登录。
|
|
287
|
+
|
|
288
|
+
`dsh-tui-auth` 行可配置 `providers`(默认安装版 pi-ai catalog 中所有受支持的流程;
|
|
289
|
+
显式指定时必须是其中的非空子集)、`credentialsFile`(自定义凭据文件)和
|
|
290
|
+
`modelOverrides.<provider>.<model>`(可选的 `contextWindow`、`maxTokens`)。
|
|
291
|
+
profile 覆盖的 `config` 是整段替换,覆盖时保留所需的每个字段。OAuth 流程使用宿主
|
|
292
|
+
`dsh-llm-pi-ai` 所带的 pi-ai 实现;这不是通用 API key 登录,订阅账号只走相应的
|
|
293
|
+
订阅后端。
|
|
294
|
+
|
|
295
|
+
默认凭据文件保持 `$DSH_HOME/dsh-auth/credentials.json`(未设置 `DSH_HOME` 时为
|
|
296
|
+
`~/.dsh/dsh-auth/credentials.json`),也可用 `DSH_AUTH_CREDENTIALS` 覆盖;旧版登录
|
|
297
|
+
无需迁移或重新登录。服务名 `ctx.dshAuth`、日志前缀 `dsh-auth` 也为兼容保留,
|
|
298
|
+
不代表仍需安装独立包。文件保存长期 refresh token,目录/文件尽力使用 0700/0600,
|
|
299
|
+
OpenAI 直连登录会按需在凭据文件同目录创建持久 UUID 文件 `device-id`(0600),供
|
|
300
|
+
pi-ai 作为当前安装的 agent-host ID。状态界面只展示登录与到期信息。登录后,模型才
|
|
301
|
+
出现在选择器中;同一 provider 若已由 `llm-pi-ai` 其他配置占用,OAuth 路由会拒绝
|
|
302
|
+
重复注册。
|
|
303
|
+
|
|
304
|
+
### DeepSeek 账号授权
|
|
305
|
+
|
|
306
|
+
DSH `0.2.0-rc.1+` 的 `dsh-base` 另有宿主拥有的 `deepseekAccount` 服务和
|
|
307
|
+
`deepseek-account` 模型路由。标准 profile 将它加入同一 `/provider` 账号登录分支、
|
|
308
|
+
`/auth status` 与 `/login` 状态列表;也可直接运行 `/auth login deepseek-account`,
|
|
309
|
+
成功后用 `/model` 选择 `deepseek-account` 下的模型。它与需要
|
|
310
|
+
`DEEPSEEK_API_KEY` 的 `deepseek-official` 是**不同路由**。`/auth logout deepseek-account`
|
|
311
|
+
调用宿主退登:先移除宿主凭据记录,远端撤销由宿主在后台处理。TUI 不复制 PKCE
|
|
312
|
+
协议、不读取账号 token,也不把账号凭据写入上述 `dsh-auth/credentials.json`。
|
|
313
|
+
DeepSeek 账号授权没有 pi-ai 的 token 到期/刷新时间;状态界面只显示已登录/未登录。
|
|
314
|
+
`dsh-tui-auth.config.providers` 和 `modelOverrides` 仍只控制 pi-ai 路由,
|
|
315
|
+
不用、也不能在其中填写 `deepseek-account`。
|
|
316
|
+
|
|
317
|
+
浏览器回调由宿主 `webServer` 服务提供。TUI-only profile 的
|
|
318
|
+
`dsh-tui-webserver` 行默认监听 `127.0.0.1` 的系统分配端口;与 Web 同时挂载时复用
|
|
319
|
+
官方 `webserver` 行,不打开第二个监听器。如果仅更新 profile,旧全局 TUI 补丁已有
|
|
320
|
+
`dsh-tui-auth` 但尚无 `dsh-tui-webserver` 行,内置 OAuth 入口会在首次 DeepSeek 登录时
|
|
321
|
+
按需挂载同一个官方宿主服务,监听 `127.0.0.1` 的系统分配端口;已有监听器仍会复用,
|
|
322
|
+
模块卸载时只清理自己挂载的兜底;已声明但禁用或启动失败的 webserver 行不会被绕过。
|
|
323
|
+
授权链接会尝试在浏览器打开,问卷同时显示完整链接和复制、重开、取消操作。
|
|
324
|
+
DeepSeek 流程必须经回调完成,**没有**手动粘贴授权码的回退。远程 SSH 使用本地浏览器时,
|
|
325
|
+
把 `dsh-tui-webserver` 的 `port` 覆盖为固定端口,并转发同一端口
|
|
326
|
+
(例如 `ssh -L 43123:127.0.0.1:43123 ...`):
|
|
327
|
+
|
|
328
|
+
```yaml
|
|
329
|
+
- id: dsh-tui-webserver
|
|
330
|
+
config:
|
|
331
|
+
host: 127.0.0.1
|
|
332
|
+
port: 43123
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
混合 Web profile 则覆盖官方 `webserver` 行。旧全局补丁没有该行时,固定端口覆盖
|
|
336
|
+
无法生效;SSH 用户仍需更新全局 TUI 包后再转发固定端口。回调监听器缺失或启动失败时,
|
|
337
|
+
登录会明确报错,其他 pi-ai OAuth 路由不受影响。
|
|
338
|
+
|
|
339
|
+
## 组合约束
|
|
340
|
+
|
|
341
|
+
- `user-interaction` 服务通常由 `dsh-base` 提供。本插件会在裸装时兜底创建,
|
|
342
|
+
但 profile patch 不应重复插入。
|
|
343
|
+
- 自定义插入 subagent provider 时,核心 `subagent` 服务必须先挂载。
|
|
344
|
+
- 自定义覆盖 `plan-mode` 时,`section` 必须是非空文本。
|
|
345
|
+
- Profile 使用 base 的 JSONL 持久化并将根目录指向共享的 `~/.dsh/sessions`,
|
|
346
|
+
因而 TUI 和 Web 可以读取同一份会话历史。
|
|
347
|
+
- `cordis.yml` 是裸组合示例,服务拓扑可能与 profile patch 不同。正常安装和用户
|
|
348
|
+
覆盖应以 `cordis.patch.yml` 为准。
|
|
349
|
+
|
|
350
|
+
`DSH_TUI_SESSION_ROOT` 始终表示 JSONL 根目录。`dsh --profile dsh-tui` 默认使用
|
|
351
|
+
`$DSH_HOME/sessions`(通常为 `~/.dsh/sessions/`);直接运行
|
|
352
|
+
`dsh --config cordis.yml` 的裸示例默认使用 `~/.dsh-tui/sessions/`。
|
|
353
|
+
|
|
354
|
+
权限相关配置与平台差异见[架构与限制](architecture.md#权限与安全边界)。
|