🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

Addy 智能体 iona095/DSH_Addy-Agent

DeepSeek Harness
iona09520 天前有提交已提供中文文档扫描:含敏感能力

为仓库发现与复用提供带防重保护的智能体模式

29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/12 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add iona095/DSH_Addy-Agent
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · skill
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 20 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/13) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 56 处,展示前 54 条)
  • 读取本地文件
    addy-agent-1.0.3.r2-Install/core-v2.mjs:12
    export function asset(relative) { return readFileSync(join(upstream, relative), 'utf8'); }
  • 读取本地文件
    addy-agent-1.0.3.r2-Install/core-v2.mjs:25
    const source = readFileSync(path, 'utf8');
  • 读取本地文件
    addy-agent-1.0.3.r2-Install/core-v2.mjs:32
    return readdirSync(join(upstream,'skills'), { withFileTypes: true }).filter(x => x.isDirectory()).map(x => {
  • 读取本地文件
    addy-agent-1.0.3.r2-Install/core-v2.mjs:34
    const content = readFileSync(path,'utf8');
  • 写入本地文件
    addy-agent-1.0.3.r2-Install/core-v2.mjs:83
    mkdirSync(directory,{recursive:true});
  • 写入本地文件
    addy-agent-1.0.3.r2-Install/core-v2.mjs:85
    writeFileSync(path,text,{flag:'wx'});
  • 读取本地文件
    addy-agent-1.0.3.r2-Install/core-v2.mjs:103
    const manifest=JSON.parse(readFileSync(join(root,'upstream-manifest.json'),'utf8'));
  • 读取本地文件
    addy-agent-1.0.3.r2-Install/core-v2.mjs:106
    if(hash(readFileSync(join(upstream,entry.path))) !== entry.sha256) throw new Error(`Upstream integrity mismatch: ${entry.path}`);
  • 读取本地文件
    addy-agent-1.0.3.r2-Install/duplicate-guard-core.mjs:342
    entries = readdirSync(relDir ? join(root, relDir) : root, { withFileTypes: true });
  • 读取本地文件
    addy-agent-1.0.3.r2-Install/duplicate-guard-core.mjs:393
    const stat = statSync(join(root, rel));
  • 读取本地文件
    addy-agent-1.0.3.r2-Install/duplicate-guard-core.mjs:395
    text = readFileSync(join(root, rel), 'utf8');
  • 读取本地文件
    addy-agent-1.0.3.r2-Install/duplicate-guard-core.mjs:701
    try { text = readFileSync(join(root, rel), 'utf8'); } catch { continue; }
  • 读取本地文件
    addy-agent-1.0.3.r2-Install/duplicate-guard-core.mjs:726
    const read = io.read ?? ((path) => readFileSync(path));
  • 写入本地文件
    addy-agent-1.0.3.r2-Install/duplicate-guard-core.mjs:727
    const write = io.write ?? ((path, text) => writeFileSync(path, text, { flag: 'wx' }));
  • 写入本地文件
    addy-agent-1.0.3.r2-Install/duplicate-guard-core.mjs:728
    const mkdir = io.mkdir ?? ((path) => mkdirSync(path, { recursive: true }));
  • 删除本地文件
    addy-agent-1.0.3.r2-Install/duplicate-guard-core.mjs:729
    const unlink = io.unlink ?? ((path) => unlinkSync(path));
  • 读取本地文件
    addy-agent-1.0.3.r2-Install/duplicate-guard.mjs:115
    try { return { exists: true, content: readFileSync(join(root, rel), 'utf8') }; } catch { return { exists: false, content: '' }; }
  • 执行外部命令固定命令
    addy-agent-1.0.3.r2-Install/prepare.mjs:10
    const tracked=execFileSync('git',['-C',upstream,'ls-tree','-r','--full-tree',revision],{encoding:'utf8'}).trim().split('\n').map(line => {
  • 读取本地文件
    addy-agent-1.0.3.r2-Install/prepare.mjs:11
    const m=/^( +) ( +) ([a-f0-9]+) (.*)$/.exec(line); const bytes=readFileSync(join(upstream,m[4]));
  • 执行外部命令固定命令
    addy-agent-1.0.3.r2-Install/prepare.mjs:12
    const actual=execFileSync('git',['-C',upstream,'hash-object','--no-filters',m[4]],{encoding:'utf8'}).trim();
  • 读取本地文件
    addy-agent-1.0.3.r2-Install/prepare.mjs:17
    const manifest={repository:'https://github.com/addyosmani/agent-skills',revision,runtimeVersion:JSON.parse(readFileSync(join(runtime,'package.json')))
  • 写入本地文件
    addy-agent-1.0.3.r2-Install/prepare.mjs:21
    writeFileSync(join(root,'upstream-manifest.json'),JSON.stringify(manifest,null,2)+'\n');
  • 读取本地文件
    addy-agent-1.0.3.r2-Install/prepare.mjs:22
    const p = JSON.parse(JSON.stringify(yaml.load(readFileSync(join(runtime,'node_modules/@deepseek-ai/dsh-web-app/presets/ptc.patch.yml'),'utf8'),{schema
  • 写入本地文件
    addy-agent-1.0.3.r2-Install/prepare.mjs:35
    writeFileSync(join(root,'cordis.patch.yml'),yaml.dump([{insert:[{id:'preset-addy-agent',name:'@deepseek-ai/dsh-agent-preset',config}]}],{lineWidth:120
  • 写入本地文件
    addy-agent-1.0.3.r2-Install/prepare.mjs:36
    mkdirSync(join(root,'evidence'),{recursive:true});
  • 读取本地文件
    addy-agent-1.0.3.r2-Install/prepare.mjs:38
    const before={profilePatchSha256:hash(readFileSync(patch)),runtimeVersion:manifest.runtimeVersion,existingPresetDeclarationText:readFileSync(patch,'ut
  • 写入本地文件
    addy-agent-1.0.3.r2-Install/prepare.mjs:39
    writeFileSync(join(root,'evidence','before-install.json'),JSON.stringify(before,null,2));
  • 读取本地文件
    addy-agent-1.0.3.r2-dev/core-v2.mjs:12
    export function asset(relative) { return readFileSync(join(upstream, relative), 'utf8'); }
  • 读取本地文件
    addy-agent-1.0.3.r2-dev/core-v2.mjs:25
    const source = readFileSync(path, 'utf8');
  • 读取本地文件
    addy-agent-1.0.3.r2-dev/core-v2.mjs:32
    return readdirSync(join(upstream,'skills'), { withFileTypes: true }).filter(x => x.isDirectory()).map(x => {
  • 读取本地文件
    addy-agent-1.0.3.r2-dev/core-v2.mjs:34
    const content = readFileSync(path,'utf8');
  • 写入本地文件
    addy-agent-1.0.3.r2-dev/core-v2.mjs:83
    mkdirSync(directory,{recursive:true});
  • 写入本地文件
    addy-agent-1.0.3.r2-dev/core-v2.mjs:85
    writeFileSync(path,text,{flag:'wx'});
  • 读取本地文件
    addy-agent-1.0.3.r2-dev/core-v2.mjs:103
    const manifest=JSON.parse(readFileSync(join(root,'upstream-manifest.json'),'utf8'));
  • 读取本地文件
    addy-agent-1.0.3.r2-dev/core-v2.mjs:106
    if(hash(readFileSync(join(upstream,entry.path))) !== entry.sha256) throw new Error(`Upstream integrity mismatch: ${entry.path}`);
  • 读取本地文件
    addy-agent-1.0.3.r2-dev/duplicate-guard-core.mjs:342
    entries = readdirSync(relDir ? join(root, relDir) : root, { withFileTypes: true });
  • 读取本地文件
    addy-agent-1.0.3.r2-dev/duplicate-guard-core.mjs:393
    const stat = statSync(join(root, rel));
  • 读取本地文件
    addy-agent-1.0.3.r2-dev/duplicate-guard-core.mjs:395
    text = readFileSync(join(root, rel), 'utf8');
  • 读取本地文件
    addy-agent-1.0.3.r2-dev/duplicate-guard-core.mjs:701
    try { text = readFileSync(join(root, rel), 'utf8'); } catch { continue; }
  • 读取本地文件
    addy-agent-1.0.3.r2-dev/duplicate-guard-core.mjs:726
    const read = io.read ?? ((path) => readFileSync(path));
  • 写入本地文件
    addy-agent-1.0.3.r2-dev/duplicate-guard-core.mjs:727
    const write = io.write ?? ((path, text) => writeFileSync(path, text, { flag: 'wx' }));
  • 写入本地文件
    addy-agent-1.0.3.r2-dev/duplicate-guard-core.mjs:728
    const mkdir = io.mkdir ?? ((path) => mkdirSync(path, { recursive: true }));
  • 删除本地文件
    addy-agent-1.0.3.r2-dev/duplicate-guard-core.mjs:729
    const unlink = io.unlink ?? ((path) => unlinkSync(path));
  • 读取本地文件
    addy-agent-1.0.3.r2-dev/duplicate-guard.mjs:115
    try { return { exists: true, content: readFileSync(join(root, rel), 'utf8') }; } catch { return { exists: false, content: '' }; }
  • 执行外部命令固定命令
    addy-agent-1.0.3.r2-dev/prepare.mjs:10
    const tracked=execFileSync('git',['-C',upstream,'ls-tree','-r','--full-tree',revision],{encoding:'utf8'}).trim().split('\n').map(line => {
  • 读取本地文件
    addy-agent-1.0.3.r2-dev/prepare.mjs:11
    const m=/^( +) ( +) ([a-f0-9]+) (.*)$/.exec(line); const bytes=readFileSync(join(upstream,m[4]));
  • 执行外部命令固定命令
    addy-agent-1.0.3.r2-dev/prepare.mjs:12
    const actual=execFileSync('git',['-C',upstream,'hash-object','--no-filters',m[4]],{encoding:'utf8'}).trim();
  • 读取本地文件
    addy-agent-1.0.3.r2-dev/prepare.mjs:17
    const manifest={repository:'https://github.com/addyosmani/agent-skills',revision,runtimeVersion:JSON.parse(readFileSync(join(runtime,'package.json')))
  • 写入本地文件
    addy-agent-1.0.3.r2-dev/prepare.mjs:21
    writeFileSync(join(root,'upstream-manifest.json'),JSON.stringify(manifest,null,2)+'\n');
  • 读取本地文件
    addy-agent-1.0.3.r2-dev/prepare.mjs:22
    const p = JSON.parse(JSON.stringify(yaml.load(readFileSync(join(runtime,'node_modules/@deepseek-ai/dsh-web-app/presets/ptc.patch.yml'),'utf8'),{schema
  • 写入本地文件
    addy-agent-1.0.3.r2-dev/prepare.mjs:35
    writeFileSync(join(root,'cordis.patch.yml'),yaml.dump([{insert:[{id:'preset-addy-agent',name:'@deepseek-ai/dsh-agent-preset',config}]}],{lineWidth:120
  • 写入本地文件
    addy-agent-1.0.3.r2-dev/prepare.mjs:36
    mkdirSync(join(root,'evidence'),{recursive:true});
  • 读取本地文件
    addy-agent-1.0.3.r2-dev/prepare.mjs:38
    const before={profilePatchSha256:hash(readFileSync(patch)),runtimeVersion:manifest.runtimeVersion,existingPresetDeclarationText:readFileSync(patch,'ut
  • 写入本地文件
    addy-agent-1.0.3.r2-dev/prepare.mjs:39
    writeFileSync(join(root,'evidence','before-install.json'),JSON.stringify(before,null,2));
扫描于 2026/11/1(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 仓库发现与复用
  • 防重保护

README

由 DeepSeek 最新模型翻译生成
DSH Addy-Agent — v1.0.3 打包 DSH 模式 Addy Agent(@local/dsh-addy-agent@1.0.3)。 上游:https://github.com/addyosmani/agent-skills @ 1be8e34187e34647bb83adc3a1323b26ae6f6abe(上游包 0.6.12)。 目标 DSH 运行时:0.2.1-alpha.2。 内容 - addy-agent-1.0.3.r2-Install/ — 安装包(约 1.3 MB,230 个文件)。顶层文件 + locale/ + upstream/(212 个文件)。用来在另一台机器上安装。 - addy-agent-1.0.3.r2-dev/ — 演进包(约 22 MB,GitHub 预处理后约 365 个文件)。包含安装包里的全部内容,外加 tests/ + evidence/(基线)。嵌套的 .git/ 已为 GitHub 剥离(见下文)。 在另一台机器上安装(用 r2-Install) 1. 把 addy-agent-1.0.3.r2-Install/ 复制到一个固定路径(安装期间保留它——本地安装会链接到它)。 2. DSH Plugin Manager → install_bundle → 绝对目录。无需构建步骤。 3. 检查激活状态。
展开完整文档(README 剩余 1 节)
DSH Addy-Agent — v1.0.3 打包

DSH 模式 Addy Agent(@local/dsh-addy-agent@1.0.3)。
上游:https://github.com/addyosmani/agent-skills @ 1be8e34187e34647bb83adc3a1323b26ae6f6abe(上游包 0.6.12)。
目标 DSH 运行时:0.2.1-alpha.2。

内容

- addy-agent-1.0.3.r2-Install/ — 安装包(约 1.3 MB,230 个文件)。顶层文件 + locale/ + upstream/(212 个文件)。用来在另一台机器上安装。
- addy-agent-1.0.3.r2-dev/ — 演进包(约 22 MB,GitHub 预处理后约 365 个文件)。包含安装包里的全部内容,外加 tests/ + evidence/(基线)。嵌套的 .git/ 已为 GitHub 剥离(见下文)。

在另一台机器上安装(用 r2-Install)

1. 把 addy-agent-1.0.3.r2-Install/ 复制到一个固定路径(安装期间保留它——本地安装会链接到它)。
2. DSH Plugin Manager → install_bundle → 绝对目录。无需构建步骤。
3. 检查激活状态。如果替换的是已导入的某一代,重启 DSH。
4. 新建会话 → 选择 Addy Agent,工作目录 = 目标仓库。

禁用:plugin_manager → set_bundle @local/dsh-addy-agent enabled false。移除:remove_bundle 同一目标。

演进 / 加功能(用 r2-dev)

1. 改 adapter-v2.mjs / core-v2.mjs / cordis.patch.yml / duplicate-guard.mjs —— 绝不要直接改 upstream/ 里的字节。
2. 在 dev 目录下验证:
node --test tests/core.test.mjs
node tests/contracts-runtime.mjs
node tests/contracts-config.mjs

把新的 evidence/.json 与基线对比。
3. 升级上游:按新 revision 重新 clone 上游到 upstream/,运行 node prepare.mjs(需要匹配的 DSH 运行时 + js-yaml + git),更新文档。
4. 用 install_bundle 重新安装,新建会话 → Addy Agent,测试 /spec /plan /build /test /ship。

GitHub 预处理说明(此处已应用)

- 为 GitHub push 移除(会破坏 git submodule,可重建):
- addy-agent-1.0.3.r2-dev/upstream/.git/(28 个文件,2 MB)—— revision 仍固定在 upstream-manifest.json 里
- addy-agent-1.0.3.r2-dev/tests/live-fixture/.git/ —— 很小的 fixture 仓库
- 保留:upstream/LICENSE、全部 212 个上游文件、全部 tests/evidence 基线。
- 要重建完全一致的上游字节:git clone https://github.com/addyosmani/agent-skills + git checkout 1be8e34187e34647bb83adc3a1323b26ae6f6abe。

发布

- v1.0.3-r2(release):addy-agent-1.0.3.r2-Install.zip(安装)+ addy-agent-1.0.3.r2-dev.zip(演进)。Guard 代次 r2。
- 之前的 v1.0.3:addy-agent-1.0.3-latest.zip + addy-agent-1.0.3-dev.zip。
预览分享卡片长什么样 ↓iona095/DSH_Addy-Agent
分享 · DeepSeek Harness Hub
iona095/DSH_Addy-Agent

为仓库发现与复用提供带防重保护的智能体模式

回到顶部