在开发 DeepSeek Harness (DSH) 插件时,理解不同设置作用域(Scope)的行为差异是构建复杂配置界面的基础。为了直观演示 session(会话)、workspace(工作区)和 global(全局)三种设置层级在上下文切换时的表现,开发者提供了一个可视化的示例插件。
插件定位¶
这是 DeepSeek Harness 的一个插件,同时也是 dsh-granular-settings 的示例项目。
- 维护者:joao-paulo-santos
- 分类:趣味换装
- 定位:通过三个在屏幕上跳动的方块,分别对应三种设置作用域,帮助开发者理解不同作用域下的设置行为差异。
核心功能¶
该插件演示了以下能力:
- 作用域可视化:屏幕上显示三个跳动方块,分别由
session、workspace和global作用域驱动。 - 设置类型覆盖:演示了多种控件类型,包括开关、颜色选择、文本、滑块、数字、枚举和多选。
- 代码模式:
- 宿主端:使用
gs.register调用注册设置。 - 客户端:使用
gs.useSetting获取设置并绑定到 UI。
- 宿主端:使用
安装与启用¶
安装前需确认本地已有 DeepSeek Harness 的检出代码(checkout)以及一个配置好的 Profile(此处以 web 为例)。
- 创建插件目录并克隆依赖:
mkdir -p ~/dsh-plugins && cd ~/dsh-plugins
git clone https://github.com/joao-paulo-santos/dsh-event-relay.git
git clone https://github.com/joao-paulo-santos/dsh-granular-settings.git
git clone https://github.com/joao-paulo-santos/dsh-bouncing-squares-example.git
- 在 Harness 检出目录下添加插件:
pnpm dsh plugin --profile web add ~/dsh-plugins/dsh-event-relay
pnpm dsh plugin --profile web add ~/dsh-plugins/dsh-granular-settings
pnpm dsh plugin --profile web add ~/dsh-plugins/dsh-bouncing-squares-example
- 验证配置:
pnpm dsh --profile web --dump-config
重启 Harness 后,控制面板中会出现 Granular Settings 选项,可以实时调整方块的颜色、速度、大小等属性。
典型用法¶
通过以下操作可以观察不同作用域的行为:
- 在同一工作区打开两个会话,分别为它们设置不同的 Session 颜色。此时每个会话的方块颜色独立,而工作区方块颜色保持一致。
- 切换到另一个工作区,观察 Session 和 Workspace 方块跟随上下文变化,而 Global 方块保持不变。
- 关闭所有会话,此时屏幕上只剩 Global 方块在跳动,证明全局设置在无会话上下文时依然存在。
注意事项¶
- 依赖要求:该插件依赖于
dsh-granular-settings和dsh-event-relay。 - 运行环境:这是一个示例插件,并非平台核心组件。
- 权限与安全:插件以当前 DSH 进程的权限运行,安装前建议查阅源码与许可证。
总结¶
该插件是理解 DeepSeek Harness 设置作用域机制的最佳实践参考。通过可视化的跳方块效果,开发者可以直观地验证不同层级设置的生命周期和行为,从而在开发自己的插件时做出正确的架构选择。