dsh-where-am-i:DeepSeek Harness 的 Neofetch 插件

前言

在 DeepSeek Harness (DSH) 的开发流程中,开发者通常通过 system prompt 定义模型的行为,通过工具定义能力。但模型在执行任务时,往往缺乏对当前运行环境的感知。例如,模型不知道当前是运行在 Ubuntu 还是 Windows,不知道 CPU 型号或内存占用。dsh-where-am-i 插件通过注入类似 neofetch 的设备信息块,解决了这一问题。

插件介绍

这是一个由 gausszhou 维护的客户端插件。它的核心功能是向每个新建的会话注入包含主机名、操作系统、内核版本、架构、CPU 型号、内存使用情况、运行时间、时区、语言环境、终端 Shell 以及 Node 版本的设备信息块。

核心功能

  • 注入时机:仅在会话的第一个步骤注入一次,随后持久化到该会话的历史记录中,后续步骤不再重复。
  • 不影响现有会话:安装后,已有的会话或系统提示词保持字节级一致,不会触发 KV 缓存失效。
  • 子代理支持:默认跳过子代理会话(避免重复),可通过配置开启 includeSubagents。
  • 零子进程:使用 Node.js 原生 API 获取系统信息,不依赖外部命令(如 uname 或 sw_vers)。

安装与启用

使用官方命令安装:

dsh plugin --profile web add "@gausszhou/dsh-where-am-i"

安装完成后需要重启 dsh web 服务使配置生效:

systemctl --user restart dsh-web

配置

所有配置项均为可选,默认开启所有字段。配置文件位于 ~/.dsh/profiles/web/cordis.patch.yml。

# ~/.dsh/profiles/web/cordis.patch.yml
- id: where-am-i
  config:
    fields: [os, kernel, arch, cpu, memory, timezone]
    includeSubagents: true

注意事项

  • Node.js 版本:要求 Node.js >= 20.3。
  • 子代理默认关闭:默认不向子代理会话注入信息,避免重复,需手动开启。
  • 无系统提示词修改:插件通过 agent/pre-step 水听器机制工作,不修改共享的系统提示词,因此不会破坏现有会话的上下文。

总结

该插件通过在会话历史中插入一次性的设备信息快照,帮助模型更好地感知运行环境,无需配置即可使用。更多细节请查看 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜