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
羽毛球分组比赛记分
小程序二维码

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

小夜