🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

guhanfei-ai/dsh-worldsense

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
⚠ 装前注意

给 DSH Agent 一个安全、只读、受限的"现实感知层"。

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

为AI代理提供的一个安全、有界、只读的感知层,用于观察管理员定义的JSON API。

综合分
29.4
GitHub 分
29.4
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add guhanfei-ai/dsh-worldsense
未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
信任档位:已验证本站已于 1 天前真实安装成功
是什么
dsh 原生插件 · chat
装得上吗
本站已真实安装成功(非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 9 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/22(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意

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

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

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

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/22 19:19:44

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/dsh-tools
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-worldsense

给 DSH Agent 一个安全、只读、受限的"现实感知层"。

WorldSense lets DeepSeek Harness safely read administrator-defined JSON APIs
without turning the agent into an unrestricted HTTP client.

一句话:Give AI the ability to read the world.

World → AI  = WorldSense   (本插件:Agent 感知现实)
AI → World  = Human Intent (姊妹插件:人类授权修改现实)

两者是镜像关系:管理员定义"世界有哪些窗口";Agent 决定"现在看哪个窗
口";Agent 不能自己在墙上再开一个洞。

它是什么

WorldSense 给 DeepSeek Harness(DSH)的 Agent 提供六个只读工具,用来感知
通用结构化世界状态 —— 那些值得读取、但不值得为之写专门插件的 JSON
API:部署状态、feature flag、服务注册表、状态页、GitHub 项目统计、发布
信息、CI 状态、队列深度、库存、内部平台、云控制面只读 API、业务数字、
任何自定义 JSON API(v0.1:仅 GET + JSON)。

如果一个系统值得拥有专门插件(指标/仪表盘/告警 → dsh-grafana;日志/
搜索/trace 证据 → dsh-searchops),就用专门插件。如果只是想让 Agent
安全地读一个结构化状态 API,那就是 WorldSense 的事。

三个性质

- 安全(safe):目的地由管理员配置。Agent 永远无法指定任意 URL、主机、
端口、协议、路径、HTTP 方法、Header 或凭证 —— 工具参数里根本没有这些
概念,测试套件从结构上锁死了这一点。
- 受限(bounded):每一层都有预算 —— 响应字节数(默认 1 MiB,硬上限
4 MiB,流式读取时强制执行)、字段数量、值长度/深度/数组长度、diff 条目
数、历史条数。超限永远如实标注 truncated 及原因,绝不静默截断装完整。
- 可追溯(traceable):每次读取都是一个 WorldObservation,携带完整
来源(provenance):source、endpoint、GET url、observedAt、SHA-256
contentHash。没有来源的证据是弱证据。

为什么不直接用 curl?

为什么不能让 Agent 任意访问 URL? 拥有任意 URL 工具的 Agent 就是一个
可以被引导到任何地方的无鉴权代理 —— 包括 localhost 管理面板、云元数据端
点、内部服务 —— 只要它读到的任何文本里被注入了指令。对 Agent 运行时来
说 SSRF 不是假设风险,而是"给模型一个 fetch 工具"的默认行为。在
WorldSense 里,Agent 只能说出 source id 和 endpoint id,目的地完
全来自管理员配置,并且每次请求都会重新校验解析出的 URL origin 与配置
origin 一致。

为什么要 admin-defined source? 因为信任边界必须有个家。管理员决定
墙上有哪些窗户(base URL、固定路径、白名单 query 参数、命名字段别名、认
证方式);Agent 决定现在看哪一扇。

为什么要 snapshot 和 provenance? 观测可能过时、错误、残缺甚至恶意。
WorldSense 保留 source + 时间 + contentHash,worldsense_diff 由插件自己
计算确定性结构化 diff —— "昨天到今天什么变了"是插件算出来的,不是 LLM
用眼睛看的。Observation ≠ Truth。

六个工具(v0.1)

| 工具 | 作用 |
| --- | --- |
| worldsense_sources | 列出配置的 source / endpoint / 白名单参数 / 字段别名(绝不返回凭证) |
| worldsense_status | 探测一个 source endpoint:可达性、延迟、HTTP 状态(不返回 body) |
| worldsense_read | 立即观测 → 一条受限的 WorldObservation(不落库) |
| worldsense_snapshot | 立即观测 + 把脱敏结果存入本地 SQLite,返回 snapshotId |
| worldsense_history | 快照历史的受限元数据列表(source / endpoint / before / after 过滤) |
| worldsense_diff | 两个快照之间的确定性结构化 JSON diff |

对外部世界严格只读:HTTP 客户端在代码结构上只有 GET(method 是常
量,任何配置、参数、内部路径都改不了它);重定向永不跟随;响应在流式读
取时按字节上限截停。

快速开始

npm install
npm test        # 118 个测试,完全离线
npm run demo    # 本地端到端演示:read → snapshot → 世界变化 → snapshot → diff

在 Settings → Plugins 里配置 source(也支持手写 JSON,两种形态都会被规
范化):

{
"sources": [
{
"id": "github-dsh-grafana",
"type": "http-json",
"baseUrl": "https://api.github.com",
"auth": { "type": "bearer", "credential": "GITHUB_TOKEN" },
"endpoints": {
"repository": {
"path": "/repos/guhanfei-ai/dsh-grafana",
"fields": {
"stars": "/stargazers_count",
"forks": "/forks_count",
"issues": "/open_issues_count",
"updatedAt": "/updated_at"
}
}
}
}
]
}

auth.credential 是凭证库引用,不是密钥本身 —— token 存在 DSH
credential store,请求时才解析、直送 Authorization 头:绝不进入工具输出、
错误信息、日志、快照或数据库。

完整 schema:docs/SOURCE_CONFIG.md · 可运行示
例:examples/。

三个真实场景

A — 部署状态

source prod-platform,endpoint deployment-status →
service=payment-api, version=1.8.4, replicas=12, healthy=12。Agent 可以
回答"生产 payment-api 现在是什么版本?"—— 且答案带 contentHash 和观测时
间。

B — GitHub 现实反馈

source github-dsh-grafana,endpoint repository →
stars / forks / issues / updatedAt。"项目现在有什么现实世界的反馈?"
通用 JSON 适配器一把梭 —— 不写 GitHub 专用插件,不上浏览器,不做爬虫。

C — 内部业务状态

source business-api,endpoint daily-summary →
orders / revenue / failedPayments / activeUsers。Agent 用同一条受限管
线观察业务现实。

设计哲学

Connectivity ≠ Permission        Data ≠ Evidence        Evidence ≠ Truth

WorldSense 负责确定性工作 —— Fetch、Validate、Select、Redact、Bound、
Hash、Persist、Diff。模型负责推理 —— Understand、Reason、Explain、决定下
一步看什么。插件绝不主观判断:它报告 readyReplicas=8,
desiredReplicas=10,由 Agent 得出结论;它绝不调用任何额外 LLM、绝不做
AI 摘要、绝不做"AI 根因分析"。WorldSense = deterministic perception。
LLM = reasoning。

在更大的图景里(两个仓库刻意解耦,只是理念互补):

WorldSense 回答:  "Agent 可以观察什么?"
Human Intent 回答:"Agent 可以改变什么?"

WorldSense 不授权任何写操作 —— 写属于 Human Intent。

诚实的"不保证"

- 无法保证识别出每一个密钥(脱敏是 best-effort 的键名/模式启发式,不是
DLP 产品)。
- 不会让一个不可信 API 变得可信。
- 不能阻止恶意内容出现在被允许的数据内部(远程内容一律视为不可信数
据)。
- 不提供完整的 prompt-injection 防护。
- 不提供分布式快照一致性(快照是本地观测,不是共识日志)。
- 不授权写操作。

详见 docs/SECURITY.md。

文档

- docs/ARCHITECTURE.md — 架构与分层
- docs/SECURITY.md — 威胁模型与安全边界
- docs/EVIDENCE_MODEL.md — 观测、快照、哈希、diff、时效性
- docs/SOURCE_CONFIG.md — source 配置完整 schema
- examples/ — 本地演示(无需真实凭证、无需外网)

Future ideas(明确不在 v0.1)

更多 source 适配器(HTML、GraphQL、RSS/XML、WebSocket/SSE)、路径插值
(/repos/{owner}/{repo})、POST 等写动词(走 Human Intent 式审批)、跨
source 观测、World Graph、证据关联、插件互操作、Grafana/SearchOps 适配
器、浏览器、MCP 聚合、AI 摘要、Sidebar 仪表盘、向量搜索。今天这些都
不存在 —— v0.1 刻意只做深一个适配器,而不是浅做十个。

开发

npm run verify   # check(语法门禁)+ 全量离线测试

要求 Node ≥ 22.5(快照存储使用内建 node:sqlite,零原生依赖)。
MIT License。

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

💬 加入社群

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

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群