把命令行工具封装成类型安全的智能体工具
27.2/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add nianpingy-cpu/dsh-forge该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · vision
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 76 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 29 处,展示前 29 条)
- 发起网络请求fixtures/k6/script.js:13
const res = http.get("http://localhost:8080/"); - 读取本地文件packages/plugin-act/src/binary.ts:35
if (statSync(full).isFile()) return full; - 读取本地文件packages/plugin-ast-grep/src/binary.ts:26
if (existsSync(candidate)) return candidate; - 读取本地文件packages/plugin-ast-grep/src/binary.ts:28
if (existsSync(alt)) return alt; - 读取本地文件packages/plugin-ast-grep/src/binary.ts:41
if (existsSync(which)) return which; - 读取本地文件packages/plugin-biome/src/binary.ts:28
if (existsSync(shim)) { - 读取本地文件packages/plugin-docker/src/binary.ts:35
if (statSync(full).isFile()) return full; - 读取本地文件packages/plugin-docker/src/index.ts:515
return statSync(absolute).isDirectory(); - 读取本地文件packages/plugin-docker/src/index.ts:614
return statSync(absolute).isFile(); - 读取本地文件packages/plugin-ffmpeg/src/binary.ts:31
if (statSync(full).isFile()) return full; - 读取本地文件packages/plugin-ffmpeg/src/index.ts:263
if (!statSync(absolute).isFile()) return false; - 读取本地文件packages/plugin-ffmpeg/src/index.ts:309
inputStat = statSync(absolute); - 读取本地文件packages/plugin-ffmpeg/src/index.ts:390
if (!overwrite && existsSync(absolute)) { - 写入本地文件packages/plugin-ffmpeg/src/index.ts:735
writeFileSync(listPath, list + "\n", "utf8"); - 删除本地文件递归packages/plugin-ffmpeg/src/index.ts:771
rmSync(runtime, { recursive: true, force: true }); - 读取本地文件packages/plugin-k6/src/binary.ts:31
if (statSync(full).isFile()) return full; - 读取本地文件packages/plugin-k6/src/index.ts:338
content = readFileSync(absolute, "utf8"); - 读取本地文件packages/plugin-quality-gate/src/index.ts:96
return existsSync(join(dir, name)); - 读取本地文件packages/plugin-quality-gate/src/index.ts:101
for (const entry of readdirSync(dir)) { - 读取本地文件packages/plugin-ruff/src/binary.ts:23
if (statSync(full).isFile()) return full; - 读取本地文件packages/plugin-semgrep/src/binary.ts:33
if (statSync(full).isFile()) return full; - 读取本地文件packages/plugin-trivy/src/binary.ts:31
if (statSync(full).isFile()) return full; - 删除本地文件递归packages/plugin-trivy/src/index.ts:223
rmSync(runtime, { recursive: true, force: true }); - 读取本地文件packages/plugin-uv/src/binary.ts:21
if (statSync(full).isFile()) return full; - 读取本地文件packages/plugin-vision/src/binary.ts:28
if (statSync(here).isFile()) return here; - 读取本地文件packages/plugin-vision/src/index.ts:122
if (!existsSync(workerPath)) { - 读取本地文件packages/plugin-vision/src/index.ts:317
inputStat = statSync(absolute); - 读取本地文件packages/plugin-vision/src/index.ts:371
if (!overwrite && existsSync(absolute)) { - 写入本地文件packages/plugin-vision/src/index.ts:597
mkdirSync(dirname(output.absolute), { recursive: true });
扫描于 2026/11/1(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 封装命令行工具
- 类型安全工具封装
为 DeepSeek Harness(dsh)打造的类型安全开发者工具插件
README
由 DeepSeek 最新模型翻译生成DSH Forge
DSH Forge 是一组面向 DeepSeek Harness 的开发者工具插件。它把成熟的 CLI 工具封装成类型安全、权限可控、结果结构化的 Agent Tools,让智能体可以调用真实的开发工具完成检查、修复、验证与自动化执行,而不是直接拼 Shell 命令。
Understand → Search → Modify → Lint/Format → Test/CI → Security → Container/Perf → Verify
DSH Forge 提供的是开发者工具与 DeepSeek Harness 之间的一层适配层(Adapter Layer),核心目标是把工具调用约束在类型化参数、工作区边界与权限模型之内。
Quick Start(快速开始)
3 分钟跑通第一个工具。
1. 环境要求
- Node.js >= 22.19(node --version 查看)
- pnpm(pnpm --version 查看;没有就先 npm install -g pnpm)
2. 安装
pnpm add @dsh-forge/core @dsh-forge/presets
想用某个单独插件,就再加对应包,例如 pnpm add @dsh-forge/plugin-vision。
展开完整文档(README 剩余 1 节)
DSH Forge
DSH Forge 是一组面向 DeepSeek Harness 的开发者工具插件。它把成熟的 CLI 工具封装成类型安全、权限可控、结果结构化的 Agent Tools,让智能体可以调用真实的开发工具完成检查、修复、验证与自动化执行,而不是直接拼 Shell 命令。
Understand → Search → Modify → Lint/Format → Test/CI → Security → Container/Perf → Verify
DSH Forge 提供的是开发者工具与 DeepSeek Harness 之间的一层适配层(Adapter Layer),核心目标是把工具调用约束在类型化参数、工作区边界与权限模型之内。
Quick Start(快速开始)
3 分钟跑通第一个工具。
1. 环境要求
- Node.js >= 22.19(node --version 查看)
- pnpm(pnpm --version 查看;没有就先 npm install -g pnpm)
2. 安装
pnpm add @dsh-forge/core @dsh-forge/presets
想用某个单独插件,就再加对应包,例如 pnpm add @dsh-forge/plugin-vision。
3. 加载 preset,看看有哪些工具
preset 是一组插件的组合。下面加载 python preset(Ruff + uv),打印它注册的所有工具:
import { resolvePresetOrThrow } from "@dsh-forge/presets";
const preset = resolvePresetOrThrow("python"); // Ruff + uv
for (const plugin of preset.plugins) {
console.log(plugin.metadata.name);
for (const tool of plugin.tools) {
console.log( ${tool.name} [${tool.mutationClass}]);
}
}
4. 真正调用一个工具
所有工具都是 async execute(args, ctx),返回结构化结果(ok / summary / diagnostics / error)。ctx 提供工作区边界与权限控制,真实环境中由 DeepSeek Harness 注入。
下面用 @dsh-forge/plugin-vision 分析一个 CSV 文件——纯 Node 实现,不需要任何外部二进制:
import { runProcess } from "@dsh-forge/core";
import { visionPlugin } from "@dsh-forge/plugin-vision";
const ctx = {
workspaceRoot: process.cwd(), // 工具只能读写这里 run: runProcess, // 用类型化 argv 启动外部工具(绝无 shell)
permission: { approved: true }, // 写操作授权
};
const result = await visionPlugin.tools
.find((t) => t.name === "data_analyze")!
.execute({ data: "sales.csv" }, ctx);
console.log(result.summary); // e.g. "analyzed sales.csv: csv, 6 row(s) x 4 column(s)"
console.log(result.diagnostics); // 结构化诊断
5. 还想看更多?
- 完整场景示例在 examples/ 目录(python-quality、web-quality、security-scan、local-ci、load-test、media、vision)。
- 每个插件的安装与用法见 packages/plugin-*/README.md。
- 插件列表见下方「Plugin Ecosystem」,组合方式见「Presets」。
Current Status
Current release: v1.0.0
- 12 个核心插件
- 1 个统一 Core SDK
- 1 套 Quality & Security Gate
- 7 个 Presets
- 500+ automated tests
- Ubuntu / Windows CI
- DeepSeek Harness compatibility matrix
- Supply-chain / release hardening
- GitHub Releases: v0.1.0 / v0.2.0 / v0.3.0 / v1.0.0
Plugin Ecosystem
1. ast-grep — Structural Code Search & Rewrite
基于 AST 的代码搜索与批量改写,支持 JS/TS/JSX/TSX/Python。
能力:结构化搜索、规则检查、批量 Rewrite、API Migration、重构。
2. Ruff — Python Quality
Python 代码质量检查与格式化。
工具:ruff_check、ruff_format_check、ruff_explain、ruff_fix、ruff_format。
3. Biome — Web / JS / TS Quality
面向 JavaScript / TypeScript / JSX / TSX / JSON 的 Lint 与 Format。
工具:biome_check、biome_lint、biome_format_check、biome_fix、biome_format。
4. uv — Python Environment & Dependency Management
Python 环境与依赖管理。
能力:依赖同步、依赖树查看、添加/移除依赖、运行命令、项目环境管理。
5. act — Local GitHub Actions
在本地执行 GitHub Actions 工作流。
能力:Workflow/Job 发现、本地运行、失败状态与 CI 结果分析。
6. Semgrep — Source Code Security 源码级静态安全分析,输出结构化 findings。
工具:semgrep_scan、semgrep_scan_file、semgrep_ruleset、semgrep_security_scan。
7. Trivy — 供应链与容器安全
供应链与容器安全:文件系统、镜像、IaC/配置、密钥、漏洞与 SBOM。
工具:trivy_repo_scan、trivy_config_scan、trivy_secret_scan、trivy_image_scan、trivy_sbom。
8. 质量与安全门禁
把 Ruff / Biome / Semgrep / Trivy 组合成一个统一检查流程,输出 PASS / PASS_WITH_WARNINGS / FAIL,让 Agent 快速判断项目是否达到质量门槛。工具:quality_gate、quality_gate_status。
9. Docker — 容器操作
类型化、权限可控的 Docker 操作。读取:status/containers/images/logs/inspect/compose status;受控写:build、compose up/down。高风险操作不会暴露为任意 Shell。
10. k6 — 性能与负载测试
性能与负载测试。工具:k6_version、k6_run、k6_smoke、k6_load、k6_stress、k6_summary、k6_threshold_check。
11. FFmpeg — 媒体操作
把 FFmpeg 命令封装成高层类型化操作:probe、clip、transcode、concat、audio、thumbnail、compress,而不是让模型拼接任意 FFmpeg Shell 命令。
12. Vision — 识图、数据分析与图表
面向开发者的图像与数据分析工具:检查 UI 截图并返回结构化的尺寸、对比度与配色诊断;分析客户发来的简单 CSV/JSON 数据;生成 SVG 图表写入工作区。工具:vision_inspect、data_analyze、chart_generate。安装与新手教程见 packages/plugin-vision/README.md。
Presets
避免逐个配置插件,DSH Forge 提供组合式 Presets:
| Preset | 插件 | 适用 |
| coding | ast-grep, Ruff, Biome | 一般开发与重构 |
| python | Ruff, uv | Python 项目 |
| web | Biome, ast-grep | JS/TS 项目 |
| security | Semgrep, Trivy, Quality Gate | 安全扫描与门禁 |
| devops | act, Docker, k6 | CI/CD、容器与性能 |
| media | FFmpeg | 多媒体 |
| full | 全部插件 | 完整工具生态 |
Safety by Design
DSH Forge 的目标是让工具以更受控的方式被调用,而不是执行更多命令。
Typed Arguments
参数经过显式 Schema 验证,避免 command: "some arbitrary shell..." 这类自由字符串:
tool({ file, rule, options })
No Arbitrary Shell
默认采用 binary + argv[],而不是 shell=true,避免把任意 Shell 权限直接交给 Agent。
Workspace Boundary
写操作默认限制在当前 Workspace 内,阻止 ../ 路径穿越、绝对路径逃逸与符号链接逃逸。
Mutation Classification
工具按副作用分类:read / workspace-write / network / process / system-change / destructive,为权限系统提供明确语义。
Structured Results
DSH Forge 将工具结果归一化为结构化诊断,而不是让 Agent 从大段终端文本中猜测:
interface Diagnostic {
tool: string
severity: 'info' | 'warning' | 'error' | 'critical'
rule?: string
file?: string
line?: number
column?: number
message: string
suggestion?: string
fixable?: boolean
}
Agent 可以直接读到问题类型、文件、行号、严重程度与是否可自动修复。
Engineering Quality
开发遵循 Issue-driven + TDD 流程:Issue → TDD RED → GREEN → Refactor → PR → CI → Review → Merge。
工程质量信号:500+ tests、TypeScript typecheck、Lint/Build 验证、Ubuntu/Windows CI、确定性 E2E、插件契约测试、真实工具集成测试、独立外部模型评审、版本化 GitHub Releases。
Architecture
DeepSeek Harness
↓ Typed Tools
┌───────────┐
│ DSH Forge │
└───────────┘
├ Argument Validation ├ Permission Policy ├ Workspace Boundary ┤
↓ Safe Adapter
ast-grep · Ruff · Biome · uv · act · Semgrep · Trivy · Docker · k6 · FFmpeg · Vision ↓ Structured Result Reason / Fix / Verify
Roadmap
v0.1.0
核心 SDK · ast-grep · Ruff · Biome · 基础预设 · E2E 基础
v0.2.0
uv · act · Semgrep · Trivy · 质量与安全门禁 · 安全/DevOps 预设
v0.3.0
Docker · k6 · FFmpeg · 完整预设系统 · 完整 E2E 故事
v1.0.0
DeepSeek Harness 兼容性矩阵 · 每插件文档 + 示例 · 供应链/发布加固 · 稳定的公共契约
贡献
欢迎贡献。在贡献之前,请阅读:
- CONTRIBUTING.md
- AGENTS.md
- SECURITY.md
- docs/ARCHITECTURE.md
- docs/PLUGIN_STANDARD.md
许可证
MIT。第三方工具仍受其各自上游许可证的约束。DSH Forge 是一个适配层,不会将上游工具视为重新实现的项目代码。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
nianpingy-cpu/dsh-forge
把命令行工具封装成类型安全的智能体工具
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,332已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,153已汉化DSH
71.8
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,244已汉化DSH
71.6
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 92,046已汉化DSH
71.1
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,480已汉化DSH
71