Tripo3D-Plugin-dsh

DSH PLUGIN视觉与多模态

仓库 Tripo-Developer/Tripo3D-Plugin-dsh

视觉与多模态 L4 · 沙盒安装通过 安全审查:低风险 可信度:银 可安装插件
安装这个插件

Tripo3D-Plugin-dsh 是 Tripo-Developer 维护的 视觉与多模态 类 DSH 可安装插件, 仓库为 Tripo-Developer/Tripo3D-Plugin-dsh,许可证 NOASSERTION。 下面按「装什么、怎么装、验没验过、跑起来要注意什么」逐项列出。

一句话选型结论

按资料字段整理

Tripo3D-Plugin-dsh 是视觉与多模态类的 DSH 可安装插件,验证等级 L4 · 沙盒安装通过,安全审查为低风险,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类视觉与多模态 收录类型可安装插件 验证等级L4 · 沙盒安装通过 安全审查低风险
验证等级 L4 L4 · 沙盒安装通过
GitHub 星标 8 复刻 未标注 · 未关闭 issue 未标注
最近更新 2026-11-03 创建于 未标注
README 14.7 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:Tripo-Developer/Tripo3D-Plugin-dsh#v0.1.3
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

视觉与多模态
字段来自项目仓库与公开索引,中文说明由本站标注

适用场景

文件读写视觉识别终端命令

验证等级与安全审查

L4 · 沙盒安装通过
自动化流程结论,不是人工审核
验证等级L4 · 沙盒安装通过安装命令在隔离沙盒内真实执行成功,无依赖错误
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度银综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-18): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ? 未知
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 结论说明 静态扫描 低;动态审计无结论(以下以静态为准)→ 总评级 低。
  • 风险计数 严重 0 / 高 0

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L4:在沙盒里真实装过,依赖能装上,不是纸面声明。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在视觉与多模态场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
Tripo3D-Plugin-dsh当前 L4 · 沙盒安装通过 低风险 8 未标注 有
open-design L4 · 沙盒安装通过 低风险 10.0 万 未标注 有
awesome-gpt-image-2 L3 · 安装规范通过 低风险 3.4 万 未标注 无
PicGo L3 · 安装规范通过 低风险 2.7 万 未标注 无
iPolloWork L4 · 沙盒安装通过 低风险 6,775 未标注 有
modlens L5 · 运行验证通过 低风险 4,207 0.2.0-rc.2 等 13 个 有

仓库档案

视觉与多模态
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方Tripo-Developer仓库 Tripo3D-Plugin-dsh · 默认分支 未标注
分类视觉与多模态vision
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证NOASSERTION商用或二次分发前请确认条款原文
星标 / 复刻 / issue8 / 未标注 / 未标注收录时的数值,非实时
创建 / 更新未标注 · 2026-11-03最后推送 未标注
本站收录2026-11-15首次进入本站目录的时间

README 全文

14.7 KB
作者原文,中文版优先;只做安全转义,不改内容

Tripo 3D for DeepSeek Harness

A skills-only plugin for DeepSeek Harness (dsh). It gives the dsh agent Tripo's 3D generation
as two skills; the agent drives tripo-cli through its
shell tool, and the generated models land directly in the user's project.

npm tripo-dsh · zero dependencies · pure ESM ·
no build step · both Tripo regions (China mainland and international)

user                  DeepSeek Harness (dsh)                  this plugin              Tripo
────                  ──────────────────────                  ───────────              ─────
"make a low-poly treasure chest"
│
▼
┌──────────┐   catalog lists tripo-3d               ┌────────────────────────┐
│  agent   │ ◀── name + description ─────────────── │ index.js               │
│ (model)  │                                         │  ctx.skills            │
│          │ ── skill tool loads the body ────────▶  │   .registerProvider()  │
│          │ ◀── SKILL.md body ────────────────────  │  skills/*/SKILL.md     │
│          │                                         └────────────────────────┘
│          │
│          │ ── shell: tripo make "..." --json --yes ──────────────────────▶ ┌─────────┐
│          │      (blocking: submit, poll, download)                          │ Tripo   │
│          │ ◀── last stdout line = result JSON, plus exit code ───────────  │ API     │
└──────────┘                                                                  │ cn / ov │
│                                                                        └─────────┘
▼
./tripo-out/-/model.glb  preview.png  task.json   (already on the user's disk)

Runtime behavior (setup, device login, plan and confirmation, exit codes, result JSON, credit
rules) is documented once, in plugin/skills/tripo-3d/SKILL.md.
This README covers the repository, installation, development, release and design.

Repository layout

Tripo3D-Plugin-dsh/
├── plugin/                          npm package tripo-dsh, the only distributable
│   ├── package.json                 dsh.bundle manifest and "files" allowlist
│   ├── cordis.patch.yml             bundle layer: inserts one row that loads index.js
│   ├── index.js                     SkillProvider: reads the SKILL.md files, registers on ctx.skills
│   ├── README.md                    npm page for end users
│   └── skills/
│       ├── tripo-3d/
│       │   ├── SKILL.md             base skill: setup, login, plan, run, credits, results
│       │   └── references/
│       │       └── capability.md    models, parameters, steps, other commands (loaded on demand)
│       └── tripo-game-asset/
│           └── SKILL.md             game recipes on top of tripo-3d
├── scripts/validate.mjs             static checks plus a provider smoke test
├── .github/workflows/publish.yml    validates on push and PR; publishes v* tags to npm (OIDC)
└── README.md                        this file

Only plugin/ is published; its files allowlist keeps everything else out of the package.

Install and verify

Version 0.2.0. The latest tripo-cli is required: run tripo --version and
compare it with npm view tripo-cli version; if it is missing or older, stop and,
with the user's consent, install npm install -g tripo-cli@latest, then check the
version again.
Standalone texture preflight additionally requires tripo model texture --help
to list --dry-run; the baseline version alone does not establish this capability.
If it is absent, stop that workflow until a supporting build is installed.
The shared package retains both cn and ov accounts; ask for the correct region.
P2 is the P-series default and costs more credits than H/P1, P1 is used only when
the user names it or picks it as the lower cost option, fees may be not estimated,
and a plan is not a server-enforced authorization gate.

# From npm
dsh plugin --profile web add tripo-dsh

# From GitHub (the package lives in plugin/; pnpm path: syntax; no build script, so no build allowance)
dsh plugin --profile web add "github:Tripo-Developer/Tripo3D-Plugin-dsh#path:/plugin"

# From a local checkout (development; pnpm link, so skill edits apply immediately)
dsh plugin --profile web add /path/to/Tripo3D-Plugin-dsh/plugin

Three checks; the first two spend no credits:

# 1. The configuration layer is composed (no boot)
dsh --profile web --dump-config          # shows a "# == tripo-dsh" layer

# 2. Both skills are in the catalog
dsh web                                  # type / in the input box: tripo-3d and tripo-game-asset

# 3. End to end (spends real credits)
#    Ask the agent: "make a low-poly treasure chest 3D model and export FBX"
#    Expected: doctor, device login if needed, a plan to confirm, tripo make, preview.png

--profile and --patch are launcher flags and must come before app arguments such as web.

Development

  1. Edit files under plugin/. Agent behavior lives in the skills: change SKILL.md or
    references/capability.md, not this README.
  2. Run node scripts/validate.mjs and node --test scripts/semantic.test.mjs
    (Node.js 20.11+ for the semantic suite, nothing to install). CI runs the validation
    script on every push to master, every pull request and every tag.
  3. Try the change in dsh from a local checkout. Skill edits apply immediately; restart dsh after
    changing cordis.patch.yml or package.json.
  4. When tripo-cli changes a flag or behavior the skills rely on, update the skills and bump
    version in plugin/package.json in the same change.

Release

Do not tag, push or publish without separate user authorization. See CHANGELOG.md
for version changes.

The package tripo-dsh is published by GitHub Actions
through npm trusted publishing (OIDC, no token). One-time prerequisite: on npmjs.com, open the
package's Settings -> Trusted Publisher and bind Organization Tripo-Developer, Repository
Tripo3D-Plugin-dsh, Workflow publish.yml, Environment empty. Keep at least two package owners
(npm owner add tripo-dsh).

To release, bump version in plugin/package.json, commit, and push a matching tag:

git tag v && git push origin v

publish.yml validates the plugin, checks that the tag matches
the package version, and runs npm publish; npm attaches provenance automatically.

Design notes

Why skills-only

A dsh plugin can register tools, connect MCP servers or add hooks. This plugin registers skills
only, because the work splits cleanly:

  • tripo-cli owns the API contract: auth, region detection, task polling, downloads, exit codes
    and the --json stdout line. The skills require the latest CLI
    release; they must not bootstrap an older registry release.
  • The skills own the operating manual: when to use Tripo, what to run first, how to branch on
    results, how to spend the user's credits and how to present the result.
  • dsh puts the skills in the model-visible catalog and provides the shell tool and sandbox.

As a result the plugin has no API code: when the CLI contract changes, update the skill text and
bump the version. The agent uses the shell tool it already has, so no tool schema is added to
every request, and a skill body enters the context only when the model selects that skill. The
CLI's exit codes and final JSON stdout line are the protocol. The cost is that login and
generation need a shell and network access, so every skill tells the agent to report honestly
when either is unavailable.

How dsh loads the plugin

The runnable unit in dsh is a profile, composed from the configuration layers of its bundles in
order. This package is one bundle:

plugin/package.json       "dsh": { "bundle": { "patch": "./cordis.patch.yml" } }   contributes a layer
plugin/cordis.patch.yml   insert row { id: tripo-3d, name: 'tripo-dsh' }            resolved by package name
plugin/index.js           inject = ['skills']; apply(ctx) registers a SkillProvider on ctx.skills

dsh plugin --profile add tripo-dsh installs the package into $DSH_HOME/profiles//
with pnpm and appends it to dsh.profile.bundles. On every boot the layers apply in this order:

  1. @deepseek-ai/dsh-base (official base layer)
  2. @deepseek-ai/dsh-web-app (web profile only)
  3. tripo-dsh (this plugin, inserts one row)
  4. the profile's own cordis.patch.yml (user overrides)
  5. $DSH_HOME/cordis.patch.yml (machine-level overrides)
  6. --patch overlays from the command line

Later layers override rows by id, so a user can disable this plugin by overriding the
tripo-3d row in their own cordis.patch.yml instead of uninstalling it.

The provider in index.js implements list() and get() of the dsh skills contract:

  • rank: 600 mirrors BUNDLED_SKILL_RANK in @deepseek-ai/dsh-skill. Within one layer the lower
    rank wins a duplicate name (project .dsh/skills 100, project .agents/skills 200, user-level
    400 and 500, bundled 600), so a project can override tripo-3d with its own copy.
  • source: 'bundled' follows the official skill-badge provider; the catalog shows
    tripo-3d[bundled].
  • resourceBase points at the skill directory, so the skill tool can load explicitly linked
    files such as references/capability.md on demand.
  • The files are reread on every list() and get(); dsh caches catalogs itself, and edits show
    up without a stale provider cache.
  • The skills registry lives at host level, so the provider registers globally and every agent
    preset (cordis, ptc, standard) sees the skills.

The model sees only each skill's name and description in the catalog and loads the body
through the skill tool when it decides the skill is relevant. The description is therefore the
only trigger surface, and dsh truncates it at catalogDescriptionMaxLength (500 characters by
default). The descriptions say "in any language" so that requests written in Chinese still select
the skills.

Hard constraints

scripts/validate.mjs enforces these; run it after every change.

  • No dependencies, devDependencies, peerDependencies or scripts in package.json. A git
    install fetches sources and runs no build; a prepare script would hit pnpm 10's build-permission
    gate and ask users to trust install-time code. With zero dependencies, npm, tarball, directory
    and git installs all work without any permission.
  • Pure ESM, main: index.js, no TypeScript. Without build output there is no "source installed
    but lib/ missing" failure.
  • rank is the literal 600, not an import from @deepseek-ai/dsh-skill, to stay
    dependency-free. A change of BUNDLED_SKILL_RANK would be a dsh breaking change; sync it by hand.
  • Skill names are kebab-case and equal their directory names; the dsh registry fails fast on
    malformed candidates.
  • Descriptions are single-line plain values of at most 500 characters after whitespace
    normalization: index.js reads one line, and dsh truncates longer catalog entries.
  • A SKILL.md has at most 500 lines; reference material goes into the skill's references/
    directory, and relative links must resolve inside plugin/.
  • Every skill keeps the "cannot execute shell commands" clause; dsh sessions may run without
    network access or in a restricted sandbox.
  • Both skills carry the DeepSeek attribution values (TRIPO_CLIENT_APP=deepseek,
    TRIPO_DISTRIBUTION_CHANNEL=deepseek_plugin) and no other platform's values.
  • tripo-3d names both region consoles and keeps the npmmirror hint for China-mainland
    networks.
  • Skill files contain no local paths and no leftover names of other agent products; the text
    is ported from sister projects.
  • No Chinese characters or full-width punctuation anywhere in the repository.
  • The patch row has only id and name; the plugin has no config schema.

Besides the static checks, the validator imports plugin/index.js, drives
registerProvider → list() → get() with a fake ctx, and asserts the candidate shape (rank,
source, invocation, resourceBase) and that the body has its frontmatter stripped.

Regions and attribution

Tripo runs two independent sites; accounts, consoles and payment methods do not carry over:

  • cn: https://developers.tripo3d.com, +86 SMS sign-in, Alipay top-up
  • ov: https://developers.tripo3d.ai, email sign-in, Stripe top-up

Most DeepSeek users are in mainland China, so both regions are a hard requirement. The skill asks
which site the account is on before starting a device login, because a device flow on the wrong
console sends the user to a site without their account. A wrong region is recoverable: the CLI
probes both regions when it verifies a key, and tripo doctor reports a key-versus-region
mismatch with the fix. Setup never silently changes the npm registry or falls back
to an older CLI.

Both skills set TRIPO_CLIENT_APP=deepseek and TRIPO_DISTRIBUTION_CHANNEL=deepseek_plugin on
every CLI call. The values carry no user data; the CLI's usage analytics read them, and
TRIPO_ANALYTICS_ENABLED=0 turns analytics and account lookup off. Versions below
0.11.0 collect only ov calls and do not attribute cn usage; 0.11.0 and later also
collect cn calls by default for official API calls. Both
regions use their own collector and account verification endpoint, and include the
Tripo account id only when lookup succeeds. The CLI recognizes deepseek /
deepseek_plugin separately and records unrecognized values as unknown.

Related

  • tripo-cli: the CLI the skills drive and the
    authority on the command contract; tripo docs --topic commands/make prints the flag reference.
  • DeepSeek Harness:
    docs/user/develop/basic/publish.md (bundles, profiles, layer order),
    docs/subsystems/skills.md (provider contract, rank, catalog behavior),
    packages/experimental/skill-badge (the official bundled-skill example).
  • Discovery: GitHub topic dsh-plugin.

License

MIT

常见问题

5 问
答案由本站依据条目字段整理,不引用上游原文
Tripo3D-Plugin-dsh 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:Tripo-Developer/Tripo3D-Plugin-dsh#v0.1.3` 即可。

Tripo3D-Plugin-dsh 的验证等级是什么意思?

L4 · 沙盒安装通过。安装命令在隔离沙盒内真实执行成功,无依赖错误

Tripo3D-Plugin-dsh 安全吗?

低风险。静态扫描 低;动态审计无结论(以下以静态为准)→ 总评级 低。

Tripo3D-Plugin-dsh 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

Tripo3D-Plugin-dsh 用的是什么许可证?

上游标注为 NOASSERTION。商用或二次分发前请到仓库确认许可证原文。

同名或近似条目

1 条
不同作者的仓库分开列,请确认你要装的是哪一个
视觉与多模态
按星标排序,可作替代方案

open-design

open-design

L4 · 沙盒安装通过 10.0 万 星

awesome-gpt-image-2

awesome-gpt-image-2

GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+ 套工业级模板与可复用 Skills,新增 2.5 同提示词对比

L3 · 安装规范通过 3.4 万 星

PicGo

PicGo

L3 · 安装规范通过 2.7 万 星

iPolloWork

iPolloWork

L4 · 沙盒安装通过 6,775 星

modlens

modlens

ModLens 是 DeepSeek Harness 的视觉插件,为纯文本模型外挂视觉能力,粘贴图片即得结构化 JSON 证据(OCR、版面

L5 · 运行验证通过 4,207 星

OpenBiliClaw

OpenBiliClaw

本地私有、开源的自进化跨平台 AI 内容发现 Agent:先理解你,再主动从 B站、小红书、抖音、YouTube、X、知乎、Reddit、微

L4 · 沙盒安装通过 3,398 星

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-18。