DSH Landscape:DeepSeek Harness 的只读能力预检

前言

在 DSH 这类以插件方式扩展能力的体系里,开发者在添加、替换、升级、组合或自研一个能力前,常常需要先回答:当前环境里是否已经有可用覆盖?生态里哪些是可安装项目,哪些只是原型?下一步最安全的动作是什么?已有做法多是在插件列表、代码仓库和运行时行为之间人工比对,缺少一个统一的预检入口。下面介绍 cyanseek/dsh-landscape,它是一个用于 DeepSeek Harness 的只读能力预检工具,在改变或构建能力前先给出基于证据的建议。

这里的社区目录是独立站点,不与 DeepSeek / 幻方构成官方从属关系。

这是什么

cyanseek/dsh-landscape 是一个只读能力预检工具。它的用途是:在修改或构建 DeepSeek Harness 能力之前,先用自然语言描述一个变更需求,再根据当前环境、生态证据和限制条件给出决策建议。

该插件由 cyanseek 维护,许可证为 MIT,运行要求是 Node.js >= 22。它支持 DSH 插件、Agent Skill、CLI、Node API 和静态站点/API 等使用方式。

它与“直接安装插件”或“先写代码再验证”不同:它不执行变更,只输出判断和下一步建议。根据已核实能力,它明确不做安装、启用、禁用、升级、卸载、编辑 profile 或创建仓库这类变更操作。

核心功能

dsh-landscape 的主要能力可以概括为以下几点:

  • 只读能力预检:用自然语言描述一个变更需求,得到基于证据的决策。
  • 不执行变更:不安装、启用、禁用、升级、卸载、编辑 profile 或创建仓库。
  • 降低前置配置成本:无账号、无 API key、无初始化、无必需配置。
  • 结果可决策:输出决策类型可为 USEINSTALLCOMPOSEEXTENDBUILDWAITDISABLEINVESTIGATE
  • 保留边界信息:保留显式 Do Not BuildBuild Only 边界。
  • 稳定结果契约:包含 intentenvironmentdecisionrisksdoNotBuildbuildOnlynextActionlimitations 等字段。
  • 运行时信息不足时仍可工作:运行时检查或实时发现不可用时,仍使用 bundled snapshot,并说明未验证内容。

在安全与信任方面,已核实事实还包括:

  • 发现过程读取已归属的公开元数据,不执行发现仓库中的代码。
  • 绝对本地路径、凭据值、插件配置和原始检查错误会被排除在环境输出之外。
  • 归档项目默认被排除出活跃竞争;fork 会被标记并降权。
  • 包没有运行时依赖,GitHub 插件安装不运行 lifecycle build scripts。
  • package 未声明发布到 npm;相关 npx 命令运行已验证的 GitHub 源码。

安装与启用

先确认当前环境满足 Node.js >= 22

将固定版本的插件添加到已有 DSH profile:

dsh plugin --profile web add github:cyanseek/dsh-landscape#2d3570aadbbd291dbfc58e2484e287bd14fa92e0

这里的 --profile web 属于 DSH 插件安装命令的一部分,实际使用时应替换为你已经使用的 profile。

安装后,可以查看当前配置:

dsh --profile web --dump-config

如果不再需要该插件,可以移除:

dsh plugin --profile web remove dsh-landscape

典型用法

在 DSH 插件中使用

安装后,可以直接向 DSH 提问。例如:

Before adding browser automation, check this environment and the ecosystem. Tell me what to use, what not to build, and the safest next action.

这一步不是命令变更,而是要求 DSH 先做一次能力预检:查看当前环境和生态,再说明什么可以直接用、什么不要重复构建,以及最安全的下一步动作。

作为 Agent Skill 使用

如果只想临时使用一次,不永久安装:

npx -y skills use cyanseek/dsh-landscape --skill dsh-landscape --agent codex

如果需要安装为可携带的 Skill:

npx -y skills add cyanseek/dsh-landscape --skill dsh-landscape -g -a codex -y

Agent Skill 适合在 Agent 改变或构建 DSH 能力前调用预检,由宿主 Agent 继续完成后续审查。

CLI

可以直接传入需求:

npx -y github:cyanseek/dsh-landscape "Should I install browser automation for DSH?"

也可以继续显式调用兼容的工作流:

npx -y github:cyanseek/dsh-landscape find "browser automation"
npx -y github:cyanseek/dsh-landscape analyze "Linear integration for DSH"
npx -y github:cyanseek/dsh-landscape brief "Linear integration for DSH" --format agent
npx -y github:cyanseek/dsh-landscape status --json

这里需要注意:package 未声明发布到 npm;上述 npx 命令运行的是已验证的 GitHub 源码。

Node API

在 Node API 中,可以先加载 snapshot 和 alias data,再调用 analyzeNeed

import { analyzeNeed, loadAliases, loadSnapshot } from 'dsh-landscape'

const [{ snapshot }, aliasData] = await Promise.all([loadSnapshot(), loadAliases()])
const result = await analyzeNeed('Should we build browser automation?', {
  snapshot,
  aliasData,
})

console.log(result.decision, result.nextAction)

这段代码演示的是应用集成场景:传入自然语言需求,读取 decisionnextAction 两个字段,用于后续流程判断。

适用场景与注意

适合以下场景:

  • 在添加、替换、升级、组合或自研 DSH 能力前,先确认现有覆盖。
  • 想区分可安装项目、原型项目、占位项目和不可用项目。
  • 希望给后续 Agent 或开发者留下明确的 Do Not BuildBuild OnlyNext Action
  • 在自动化流程里以 CLI 或 Node API 方式调用预检结果。

需要注意以下限制:

  • DeepSeek Harness 处于开发者预览,可能引入破坏性变更。
  • 公共发现不能覆盖所有 GitHub、npm、私有或本地项目。
  • 当前公共运行时表面可能未暴露 active profileDSH 版本bundle provenancepeer compatibility,Landscape 会报告为 unknown。
  • 基于元数据的成熟度判断保守,不替代运行时验收测试。
  • 静态网站仅支持搜索;主机感知的审查需使用 DSH 或 Agent Skill。
  • 该插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。

相关链接

  • 目录页:https://www.skillhub.cn/plugins/cyanseek/dsh-landscape
  • GitHub 仓库:https://github.com/cyanseek/dsh-landscape
羽毛球分组比赛记分
小程序二维码

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

小夜