DeepSeek Harness Hub
← 返回列表

cyanseek/dsh-landscape

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
⚠ 装前注意

Node.js = 22

基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/9/14 · 已提供中文文档

以智能体为先的 DeepSeek Harness 插件智能:验证现有插件、识别缺失能力,并生成可直接构建的简报。

综合分
33.8
GitHub 分
33.8
用户评分
★ Stars
6
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add cyanseek/dsh-landscape
未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

npm 包dsh-landscape(未发布到 npm,仅可源码安装)
Node 引擎要求 >=22 · 基线 Node 22.19 满足
dsh CLI 依赖未声明 dsh 版本约束
入口文件main/exports/bin 已声明

未发布到 npm registry,仅可从源码安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/18 16:17:01

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

DSH Landscape

English · 网站 · 路线图 · 参与贡献

CI
Node.js >= 22
License: MIT

给 DeepSeek Harness 加能力之前,先问 Landscape。

DSH Landscape 是一个只读的能力变更前置检查:用一句自然语言描述变更,在安装、替换、升级、组合或开发之前,先得到有证据支持的决策。

可以直接这样问:

- “我该安装浏览器自动化,还是现有能力已经覆盖?”
- “比较一下适合当前 DSH 的 GitHub 集成。”
- “替换现在的搜索插件会不会丢能力?”
- “准备开发 Linear 集成前,先告诉我哪些部分不要重复做。”

不需要 Landscape 账号,不需要 API Key,不需要初始化,也没有必填配置。即使运行环境检查或在线发现不可用,Landscape 仍会使用内置快照继续分析,并明确说明哪些信息没有核实。

快速开始

把固定 revision、可复现的 DSH bundle 安装到已有 Profile:

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

然后像平常一样直接问 DSH:

添加浏览器自动化之前,先检查当前环境和生态。告诉我该用什么、哪些不要重复开发,以及最安全的下一步。

原生工具名称是 dsh_landscape。Landscape 自身不需要 Profile 路径或设置;--profile web 只属于 DSH 的插件安装命令,请换成你已经在使用的 Profile。

一次 Preflight 会给出什么

下面是基于内置生态快照的精简示例:

DSH 能力变更前置检查

需求
给我的 DSH 添加浏览器自动化。

当前环境
UNAVAILABLE — 没有运行时清单,但生态分析继续完成

现有覆盖
证据结论:CROWDED
- titanwings/dsh-automation — installable
- titanwings/dsh-better-browser — prototype

风险
- UNKNOWN:当前入口看不到已安装状态和兼容性。

决策
INSTALL

不要重复开发
- 已有成熟实现覆盖的自动化部分。

仅需新建
- 无。

下一步
先审阅领先项目的证据与安装说明;只有范围匹配时才执行变更。

结果是建议,不是自动操作。Landscape 不会安装、启用、禁用、升级、卸载、修改 Profile 或创建仓库。

为什么要先运行?

- 在投入实现前看到相关 DSH 插件和可移植能力。
- 区分占位项目、原型、可安装项目和有测试证据的实现。
- 当宿主安全提供信息时,检查当前运行时清单。
- 如实呈现重复项、兼容性未知、证据过期和发现不完整,不编造确定性。
- 给出一个直接动作:USE、INSTALL、COMPOSE、EXTEND、BUILD、WAIT、DISABLE 或 INVESTIGATE。
- 为下一位 Agent 或开发者保留清楚的 Do Not Build 和 Build Only 边界。

其他使用方式

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

Skill 会在 DSH 能力变更或开发之前先执行 Preflight,并复用宿主 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

analyze、find、brief 及其现有参数,以及诊断用的 status 都继续支持。项目目前不宣传已发布到 npm;以上命令运行的是经过验证的 GitHub 源码。

可选的独立语义 Provider

正常 Preflight 不需要这些配置。只有独立 CLI 调用者明确需要 provider 语义分析时,才需要选择兼容端点:

export DSH_LANDSCAPE_API_KEY="your-key"
export DSH_LANDSCAPE_BASE_URL="https://your-provider.example/v1"
export DSH_LANDSCAPE_MODEL="your-model"
npx -y github:cyanseek/dsh-landscape analyze "Linear integration for DSH"

凭据值绝不会进入 Landscape 输出。

验证或移除 DSH 插件

dsh --profile web --dump-config
dsh plugin --profile web remove dsh-landscape

稳定结果约定

Preflight 只增加字段,不删除 v1 证据合同:

- intent:从自然语言需求自动推断;
- environment:状态为 detected、partial、unavailable 或 not-applicable;
- decision、risks、doNotBuild、buildOnly、nextAction 和 limitations;
- 原有 verdict、recommendation、confidence、matches、已覆盖/缺失能力、证据、新鲜度、intelligence 和 provisional 标记。

旧 consumer 可以直接忽略新字段。否定结论仍然保守:发现不完整、快照过期、现场核验失败或 search-only 不确定性都不能确认真实 GAP。

使用入口

| 入口 | 最适合 | 环境视图 |
|---|---|---|
| DSH 插件 | Harness 会话中的原生 Preflight | 尽力提供只读运行时摘要 |
| Agent Skill | Agent 变更或开发能力前的检查 | 由宿主决定,失败时安全降级 |
| CLI | 自然语言检查、自动化、JSON 与 brief | 没有宿主输入时只分析生态 |
| Node API | 应用集成 | 调用方提供,否则 unavailable |
| 静态站/API | 浏览器安全的快照探索 | not-applicable |

Node API

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)

版本化静态数据 API 生成在 site/api/v1 下。

可信与安全边界

- 发现过程只读取有来源标记的公开元数据,不执行发现到的仓库代码。
- 成熟度标签需要可观察证据;仓库名称和 README 自述本身不能证明能力可用。
- 运行环境检查尽力而为且只读;宿主信息缺失会成为 limitation,不会变成配置提示。
- 环境输出排除本机绝对路径、凭据值、插件配置和原始检查错误。
- 默认不把 archived 项目计入活跃竞争;fork 会被标记并降低排序。

当前限制

- DeepSeek Harness 仍是 developer preview,可能引入破坏性变化。
- 公共发现无法覆盖所有 GitHub、npm、私有或本地项目。
- 当前公共运行时入口可能不提供活动 Profile、DSH 版本、bundle 来源或 peer compatibility;Landscape 会把这些信息标为 unknown。
- 基于 metadata 的成熟度判断刻意保守,不能代替运行时验收。
- 静态网站是 search-only 入口;需要宿主感知的判断时请使用 DSH 或 Agent Skill。

开发

需要 Node.js 22 或更高版本。项目没有运行时依赖,GitHub 插件安装也不会运行生命周期构建脚本。

npm run release:check
npm pack --dry-run

提交事实修改前请阅读 参与贡献、安全策略 和 issue forms。

许可证

MIT © 2026 cyanseek

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群