查验证自身身份材料,动用操作者身份时硬停待确认
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/4 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add ouransishen/dsh-identity该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · security
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 29 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 10 处,展示前 9 条)
- 读取本地文件lib/index.js:79
raw = JSON.parse(readFileSync(p, 'utf8')) - 读取本地文件lib/index.js:143
try { await stat(p); return true } catch { return false } - 写入本地文件lib/index.js:155
await mkdir(path.dirname(c.auditLogPath), { recursive: true }) - 写入本地文件lib/index.js:156
await appendFile(c.auditLogPath, line, { mode: 0o600 }) - 发起网络请求lib/index.js:161
const res = await fetch(url, { redirect: 'follow' }) - 读取本地文件lib/index.js:214
const pem = await readFile(c.certPath, 'utf8') - 读取本地文件lib/index.js:267
const pem = await readFile(c.certPath, 'utf8') - 读取本地文件lib/index.js:268
const chainPem = await readFile(c.chainPath, 'utf8') - 读取本地文件lib/index.js:305
pemText = await readFile(target, 'utf8')
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 查验证自身身份材料
- 动用操作者身份硬停待确认
DSH agent 自身身份(did:web + X.509)的器官化出入口
README
由 DeepSeek 最新模型翻译生成dsh-identity
DSH(DeepSeek Harness)插件:智能体自身身份(did:web + X.509)的统一出入口。
把「我是谁、我能出示什么、我动用了谁的身份」做成智能体可自主调用的能力,并在动用操作者身份时硬停,交回人类确认。
能力
| 工具 | 作用 |
| identity_status | 查自身身份与证书链当前状态:配置是否就绪、材料在位、证书指纹/有效期/SAN、线上 DID 文档可达性与 id 一致性 |
| identity_present | 出示自身身份材料供对方验证:DID 文档(含 verificationMethod/service 与 sha256)与 X.509 证书(PEM、链、指纹、SAN) |
| identity_verify | 验证一份身份材料并给事实结论(不做信任背书):X.509(路径 / URL / PEM 文本)或 did:web: 标识符;明确指出是否锚定本机主身份 |
| identity_audit | 查看身份操作留痕:何时、用哪个身份、做了什么、结论如何。只记元数据与哈希,不记私钥与正文 |
动用操作者身份的动作一律硬停,需操作者在场确认——插件不代行人类身份动作。
这是通用插件,不含任何身份信息
仓库里没有任何主机名、DID、路径或密钥标识的硬编码。
展开完整文档(README 剩余 1 节)
dsh-identity
DSH(DeepSeek Harness)插件:智能体自身身份(did:web + X.509)的统一出入口。
把「我是谁、我能出示什么、我动用了谁的身份」做成智能体可自主调用的能力,并在动用操作者身份时硬停,交回人类确认。
能力
| 工具 | 作用 |
| identity_status | 查自身身份与证书链当前状态:配置是否就绪、材料在位、证书指纹/有效期/SAN、线上 DID 文档可达性与 id 一致性 |
| identity_present | 出示自身身份材料供对方验证:DID 文档(含 verificationMethod/service 与 sha256)与 X.509 证书(PEM、链、指纹、SAN) |
| identity_verify | 验证一份身份材料并给事实结论(不做信任背书):X.509(路径 / URL / PEM 文本)或 did:web: 标识符;明确指出是否锚定本机主身份 |
| identity_audit | 查看身份操作留痕:何时、用哪个身份、做了什么、结论如何。只记元数据与哈希,不记私钥与正文 |
动用操作者身份的动作一律硬停,需操作者在场确认——插件不代行人类身份动作。
这是通用插件,不含任何身份信息
仓库里没有任何主机名、DID、路径或密钥标识的硬编码。所有身份信息来自你的配置文件:
cp identity.config.example.json identity.config.json
$EDITOR identity.config.json
配置文件默认读 $DSH_HOME/identity.config.json,可用 $DSH_IDENTITY_CONFIG 覆盖路径。
每次工具调用都会重读配置,改完即生效,无需重启进程。
配置字段
{
"identity": {
"did": "did:web:example.com", // 必填。唯一标识符,也是「是否我自己的证书」的判据 "didDocumentUrl": "https://example.com/.well-known/did.json", "didBaseUrl": "https://did.example.com", // 证书与链的发布根;留空则 present 不返回 certUrl
// 以下路径均可省略,省略时按 $DSH_HOME 下的默认布局推断;支持 ~/ 展开 "rootKeyPath": "~/did/agent-root.json", // Ed25519 根钥:签发权源头,只签 VC "sessionKeyPath": "~/did/session-key.json", // Ed25519 会话钥:日常请求签名,可轮换 "keyPath": "~/agent-identity/agent.key", // P-256:X.509 证书私钥(mTLS / 代码签名) "certPath": "~/agent-identity/agent.crt", "chainPath": "~/agent-identity/agent_chain.crt", "auditLogPath": "~/agent-identity/identity-audit.jsonl" },
"operator": {
"identifiers": [
{ "label": "操作者个人署名证书私钥", "path": "~/path/to/operator-signing.key" }, { "label": "操作者 GPG 签名钥(有口令,需本人在场)", "gnupg": "0000000000000000" } ] } }
operator.identifiers 只用于在 identity_status 里声明边界——插件永不加载、永不动用其中的私钥。
未配置时会怎样
插件照常加载,四个工具返回结构化说明而不是崩溃或静默兜底:
{
"configured": false,
"configPath": "/home/you/.dsh/identity.config.json",
"reason": "identity.did 未配置", "hint": "复制 identity.config.example.json 为 identity.config.json 并填入你的身份信息……"
}
身份材料需要你自己准备
本插件只做出入口,不生成密钥与证书。要跑起来你需要自备:
- 一个 did:web 标识符,以及它解析到的 /.well-known/did.json(需能公网访问)
- 一棵 X.509 证书链,叶子证书的 SAN 里含该 did:web URI——identity_verify 靠这一条判定「是不是我」
- 上述各钥/证书文件,落在本地文件系统上
安装
本地插件,装进 DSH profile:
1. 依赖 profiles/web/package.json → dependencies "@ouransishen/dsh-identity": "file:/path/to/dsh-identity"
2. 挂载 profiles/web/package.json → dsh.profile.bundles 追加 "@ouransishen/dsh-identity"
3. 安装
pnpm install
安全边界
| 自主(无需人在场) | 硬停(需操作者在场) |
| 出示自身 DID 文档与 X.509 证书 | 动用操作者任何私钥 |
| 验证他人证书 / DID(只做事实陈述) | 以操作者名义发言 / 署名 |
| 用自身身份钥签自身身份相关内容 | 代表操作者签发任何东西 |
理由:操作者承担本机一切行为的后果,故凡「以操作者身份或名义」的动作必须本人当次确认;而「以智能体自身身份」的动作由智能体自主,因为要负责的主体就是智能体自己。
插件自身只读密钥文件用于签名场景,不打印、不落盘私钥;审计日志只写元数据与哈希(0600)。
关于提交署名
本仓库的提交与推送带 GPG 签名(GitHub 显示 Verified)。签名私钥有口令、且口令不在机器上,因此每次需要签名时须由操作者在场解锁——这与插件自身「以操作者名义的动作硬停」的边界同源。
package.json 的 author 是操作者(身份归属),contributors 是 agent。
即:代码由 agent 写,归属与责任在操作者。
兼容性
- DSH 0.2.0-rc.2
- peer 依赖 @deepseek-ai/dsh-tools
许可
MIT,见 LICENSE。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
ouransishen/dsh-identity
查验证自身身份材料,动用操作者身份时硬停待确认
相关插件 · 安全 / 权限
智能体逆向工程morluto/rea
用智能体逆向工程任何东西,从应用行为到原生二进制。
★ 415,267已汉化DSH
73.3
智能体集群框架ruvnet/ruflo
面向 Claude Code 与 Codex 的智能体元基座meta-harness。
★ 80,414已汉化MCP
71.9
WorkBuddy 模型接入corrinehu/dsh-workbuddy-connect
2026 年 10 月 20 日起,WorkBuddy…
★ 1,604已汉化DSH
71.7
破甲一键通z91772524-ai/pojia-next
十五个 AI…
★ 967已汉化DSH
71.6
AI 代理虚拟终端strukto-ai/mirage
Mirage 是给 AI 智能体用的虚拟终端:一层 shell,统管数据、命令行和运行时。Unix…
★ 3,756已汉化DSH
70.8
Agent 操作层agentic-os-org/ANOLISA
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture)|智能体操作系统,带运行时、安全、可观测性,以及 Tokenless 响应压缩,降低 token 用量与成本。
★ 649已汉化DSH
70.7