Faça a pergunta certa antes de construir: esclareça as camadas ENTRY / FLOW / BOOST de um plugin DSH e deixe o veredito para a ferramenta que executa as verificações.
A camada de guia para plugins DSH: explica o que verificar, por que importa e qual ferramenta é dona do veredito; não certifica, não pontua e não classifica, apenas encaminha as verificações para o dsh-standards.
Instalar · Configuração · FAQ · 简体中文 · English · Español · Português · हिन्दी
dsh plugin --profile web add dsh-plugin-guideGuia da comunidade, sem vínculo com a DeepSeek; não é certificação, nem ranking, nem auditoria de segurança. Repositório canônico: https://github.com/PerryLink/dsh-plugin-guide (o Gitee é um snapshot somente leitura).
dsh-plugin-guide é a camada de guia para plugins DSH: explica o que verificar, por que importa e qual ferramenta é dona do veredito. Ao ser instalado, registra uma skill de agente carregada sob demanda cujo corpo é o SKILL.md; as referências relativas desse corpo (./docs/...) resolvem dentro do pacote por meio de um resourceBase de diretório. Não certifica, não pontua e não classifica: as verificações ficam no dsh-standards, o texto das regras no dsh-plugin-spec e a construção/andaime no dsh-primer.
| Pacote | Papel |
|---|---|
dsh-plugin-guide |
Este pacote: a guia em prosa, o mapa de três camadas e a skill de agente |
dsh-standards |
O guarda-chuva de execução: verificações ENTRY/FLOW, auditoria dsh-levels e os arquivos de especificação |
dsh-plugin-spec |
O texto de regras de baixo nível e a fonte das cláusulas |
dsh-primer |
A skill e CLI legadas de construção/andaime (antigo dsh-plugin-guide 0.3.x) |
-
Instalar (escolha um canal):
# canal git (main mais recente) dsh plugin --profile web add github:PerryLink/dsh-plugin-guide # canal npm (versões publicadas) dsh plugin --profile web add dsh-plugin-guide # canal tarball: após npm pack neste repositório dsh plugin --profile web add ./dsh-plugin-guide-<version>.tgz
Sem etapa de build:
index.jsé o artefato publicado, eSKILL.mdmaisdocs/são o corpo da skill. -
Pedir a skill uma vez (as skills carregam sob demanda, nunca como prompt residente):
> Use dsh-plugin-guide para revisar ./my-plugin: primeiro o veredito ENTRY e depois quais camadas estão not-run. -
Verificar que entrou em vigor:
dsh --profile web --dump-config | grep -A2 'id: dsh-plugin-guide'
O catálogo de skills da sessão deve listar
dsh-plugin-guide, e o corpo carregado deve apontar paradocs/levels.md(a forma de aceitação registrada empackage.json#dshWorkshop.capability.expected).
Desinstalar: dsh plugin --profile web remove dsh-plugin-guide (ou apague a linha do patch do perfil). O registro é um efeito do Cordis, então descarregar o plugin o remove sem deixar resíduo.
- Mapa de três camadas — ENTRY pergunta «dá para reconhecer, instalar e iniciar?», FLOW pergunta «o usuário consegue instalar, configurar, usar, atualizar e remover?» e BOOST pergunta «usa o Cordis bem?». Três trilhas, não três notas; juntas não somam pontuação nem certificado.
- Roteamento de verificações — este pacote apenas explica e encaminha: verificações de conformidade vão para o
dsh-standards, o texto de regras está nodsh-plugin-spece construir um plugin é trabalho dodsh-primer(a antiga CLIdsh-plugin-devvive lá, não aqui). - Regras de evidência —
static≠runtime,recognized≠pass,not-run≠pass; um PASS exige comando, artefato, ambiente e data; se faltar algo, escrevanot-run,not-measuredouincomplete. - Skill sob demanda —
index.jslê oSKILL.md, remove o frontmatter YAML e o registra comsource: bundlede umresourceBasede diretório; a skill entra no contexto só quando solicitada, sem prefixo residente. - Sem autoridade emprestada — sem vereditos, sem portão de mercado e sem alegação de oficialidade; a disciplina de redação está escrita no
SKILL.mde noSTANDARDS.mde pode ser conferida linha a linha.
| Camada | Pergunta | Pode emitir veredito? |
|---|---|---|
| ENTRY | Dá para reconhecer, instalar e iniciar? | Sim: recognized / runtime / failed / incomplete / unavailable |
| FLOW | O usuário consegue instalar, configurar, usar, atualizar e remover? | Sim, apenas onde há evidência de runtime; caso contrário, not-run |
| BOOST | Usa o Cordis bem? | Sem veredito no nível do plugin; a evidência é registrada por prática |
Leia primeiro o mapa de uma página: docs/levels.md.
# Apenas reconhecimento ENTRY (sem reivindicar runtime)
npx dsh-standards ./my-plugin --scope entry --entry-claim static
# Auditoria de três camadas; camadas não executadas continuam not-run / not-measured
npx -p dsh-standards dsh-levels ./my-plugin --format jsonrecognized não é aprovação, static não é aprovação e not-run também não. Códigos de saída: 0 concluído, 1 FAIL atribuível, 2 incompleto/not-run, 3 erro de uso; um resultado not-run ou incomplete nunca deve ser escrito como aprovação (veja docs/entry.md).
- A skill de agente anterior e a CLI
dsh-plugin-devmudaram para odsh-primer. - Este pacote agora é a camada de guia: mapa de três camadas, roteamento de verificações e regras de evidência.
- As versões 0.3.x no npm estão obsoletas e continuam disponíveis para instalações existentes. A linha 0.4.0 é uma mudança de produto; quem está fixado em
^0.3não atualiza sozinho. - As verificações vivem no
dsh-standards, não neste pacote.
Este pacote não tem Config de Schemastery: o cordis.patch.yml apenas inserta uma linha e o plugin não lê nenhuma chave config.*. O único ajustável são essa linha e o perfil onde ela vive.
| Chave | Padrão | Significado |
|---|---|---|
id |
dsh-plugin-guide |
Identificador da linha; uma camada de patch posterior a substitui por id (substituição da linha inteira) |
name |
dsh-plugin-guide |
O módulo que o loader importa (package.json#main → index.js) |
config |
não aceito | Este pacote não lê chaves de configuração; o que for escrito aqui não tem efeito |
Arquivo de patch completo (cordis.patch.yml, 9 linhas)
# dsh-plugin-guide bundle layer: register the packaged knowledge base as an agent skill.
# This file is the `dsh.bundle.patch` layer (see package.json#dsh.bundle.patch).
# Layer semantics: a YAML array of row verbs; `insert` adds plugin rows to the
# composed config. Later layers override a row by `id` (whole-config replacement).
- insert:
# `id`: stable row identifier used by later layers to override this row.
- id: dsh-plugin-guide
# `name`: the module the loader imports; resolves to this package's entry (package.json#main → index.js).
name: dsh-plugin-guidePara desativar: apague essa linha do patch do perfil ou rode dsh plugin --profile web remove dsh-plugin-guide.
Ele vai decidir se meu plugin é bom o suficiente?
Não. Este pacote é a camada de guia, não o juiz: explica as três camadas, encaminha as verificações para o dsh-standards e enuncia as regras de evidência. O BOOST também não tem aprovado/reprovado no nível do plugin: uma prática pode carregar evidência, mas um plugin nunca recebe um «nível BOOST».
Um resultado `recognized` ou `static` conta como aprovação?
Não. recognized só significa que a forma do pacote pode ser identificada e static só que houve pré-verificação estática; static ≠ runtime e not-run ≠ pass. Quando o FLOW percorreu apenas alguns journeys o status é not-run, nunca aprovação branda; também não se deve publicar taxa de aprovação nem nota de FLOW.
Instalá-lo mexe no meu perfil ou nos outros plugins?
Não. Ele registra exatamente uma skill no serviço skills (nome dsh-plugin-guide, source: bundled), envolta em ctx.effect() para que descarregar ou recarregar a quente a remova; não registra ferramentas, comandos, slots de cliente nem prefixo webServer, não faz requisições de rede e declara apenas a permissão filesystem:read.
E os usuários de 0.3.x?
0.3.x está obsoleto mas ainda pode ser instalado; 0.4.0 é uma troca de produto, então um perfil fixado em ^0.3 não atualiza sozinho. A skill e a CLI legadas de construção/andaime agora pertencem ao dsh-primer; este pacote mantém apenas a guia e o roteamento.
Onde ficam de fato o verificador e o texto das regras?
O verificador e a auditoria de três camadas ficam no dsh-standards (npx dsh-standards, npx -p dsh-standards dsh-levels); o texto das regras fica no dsh-plugin-spec. O marcador dsh.standards no package.json deste pacote continua em entry/flow = not-run, boost = not-measured, evidence: null: isso significa «não medido», não «aprovado».
- Sem aval oficial, certificação, acreditação ou auditoria de segurança.
- Sem pontuação, ranking ou portão de mercado.
- Sem evidência de runtime inventada:
static≠runtime,not-run≠pass. - BOOST é conselho e evidência, nunca nota do plugin.
- O texto é o limite. A guia só afirma o que pode apontar em um documento fonte; uma prática que não pode ser medida (horas de desenvolvimento, custo de manutenção) é registrada como WARN ou nota, nunca como número inventado (veja docs/boost.md).
- Não oficial por construção. Sem certificação, acreditação, auditoria de segurança, ranking ou portão de mercado; a redação evita alegações official / certified / secure / recommended / ranked (veja STANDARDS.md).
- Permissões:
package.json#dshWorkshop.permissionsdeclara apenasfilesystem:read. Noapply()o plugin lê oSKILL.mdempacotado, e as referências relativas do corpo resolvem nodocs/do pacote por meio doresourceBasede diretório. - Dados: nada é escrito no workspace nem fora do perfil; não há telemetria, analytics, publicidade ou conta hospedada, e nenhum dado é enviado à PerryLink (veja PRIVACY.md). O armazenamento de sessões e logs do host e sua retenção são controlados pelo host.
- Desinstalação: remover o pacote apaga apenas o código, não os logs do host, os arquivos do workspace nem os documentos que você já produziu.
- A guia não produz veredito. Não tem capacidade de juiz: não pode marcar um plugin como aprovado nem como reprovado; o veredito só vem de um resultado que o
dsh-standardsrealmente executou. - O runtime do FLOW ainda é um rascunho. J1/J2/J4/J6 têm evidência de runtime em fixtures; J3/J7 chegam apenas a runtime de nível fixture; J5/J8 têm só pré-verificação estática; a renderização no navegador ainda não é coberta; por isso «apenas alguns journeys rodaram» deve ser escrito como
not-run(veja docs/flow.md). - Os exemplos medidos do BOOST são fixtures ou capturas sintéticas. Não são linhas de base de produção; LEV-3, LEV-6 e LEV-7 têm a evidência mais forte, os demais apenas fixtures de nível loader/contexto; sem evidência o status é
not-measured(veja docs/boost.md). - As regras acompanham o host. A linha de base é DSH
0.2.2-alpha.3/ Cordis4.0.6-alpha.2em 2026-11-04; o Node exige>=24.9.0desde0.2.2-alpha.2;ctx.menussumiu em0.2.2-alpha.3; e desde0.2.1-alpha.4oengines.dshdeclarado decide sozinho o corredor de versões (veja docs/levels.md). - O marcador
dsh.standardsnão é nota. Nopackage.json, entry/flow =not-run, boost =not-measured,evidence: null: apenas um marcador. - 0.3.x fica na forma antiga. 0.3.x é uma linha obsoleta; a capacidade de construção/andaime agora está no
dsh-primere este pacote não inclui CLI.
Este plugin não interfere em outros plugins:
- Sem colisão de ferramentas, comandos ou chaves de serviço. Não registra ferramentas, comandos nem chaves de serviço, então não ocupa nomes nus e não pode colidir em chave de serviço.
- Sem colisão de slots nem de rotas HTTP. Não registra chaves de slot de cliente nem prefixo
webServer. - A única dependência é o serviço
skills.export const inject = ['skills'], fornecido pelo host; não importa a implementação do host, apenas consome esse serviço. - Sem listeners de eventos compartilhados. Não escuta eventos sensíveis à ordem como
agent/pre-stepoutools/post-execute, então não há cadeia waterfall para curto-circuitar. - Sem colisão de camadas de patch. O patch do bundle apenas
inserta sua própria linha; nunca sobrescreve oconfigde uma linha embutida. - Sem mutação global. Não remenda protótipos, não reescreve
process.enve não substitui o dispatcher fetch global. - Registro é efeito.
ctx.effect(() => ctx.skills.register(...)): parar ou recarregar a quente remove a contribuição.
Linha de base: DSH 0.2.2-alpha.3 / Cordis 4.0.6-alpha.2 (conforme docs/levels.md, 2026-11-04).
| Superfície | Estado |
|---|---|
| Harness | engines.dsh = >=0.2.2-0 <0.3.0 (desde 0.2.1-alpha.4, o engines.dsh decide sozinho; o semver padrão do npm precisa de um braço de união explícito ^0.2.2-alpha.3). Linha de base DSH 0.2.2-alpha.3 (npm alpha), Cordis 4.0.6-alpha.2. |
| Node | >=24.9.0 (requisito da linha 0.2.2, desde 0.2.2-alpha.2) |
| Plataformas | Onde o DSH rodar (skill de texto puro; sem metade de navegador, sem extensão nativa) |
| Modelo | Sem chamadas ao modelo: o host injeta o texto da skill no contexto, então nenhuma capacidade extra de modelo é necessária |
- Página do pacote no npm (versões publicadas,
0.4.3) - Espelho no Gitee (snapshot somente leitura; o GitHub é canônico)
- dsh-standards (o verificador e a auditoria de três camadas
dsh-levels) - dsh-plugin-spec (o texto de regras de baixo nível e a fonte das cláusulas)
- dsh-primer (a skill e CLI legadas de construção/andaime)
- Documentos do repositório: as três camadas · ENTRY · FLOW · BOOST
- Governança do repositório: CHANGELOG · STANDARDS.md · CONTRIBUTING
npm test # node --test tests/*.test.mjs
npm run test:pack # npm pack --dry-run
python scripts/gen-readme-assets.py # regenera os SVG hero claro/escuro em docs/assets (Python + Pillow)Sem etapa de build: index.js é o artefato publicado. A CI é .github/workflows/verify.yml (matriz de Node 22 e 24 rodando os testes unitários e npm pack --dry-run). As imagens do README são geradas programaticamente por scripts/gen-readme-assets.py; rodar de novo é idempotente e sobrescreve no lugar.
| Caminho | Função |
|---|---|
index.js |
A única face de host: lê o SKILL.md, remove o frontmatter e registra a skill via ctx.effect |
SKILL.md |
O corpo da skill e sua description (frontmatter YAML) |
docs/ |
O mapa de três camadas e as guias ENTRY/FLOW/BOOST referenciadas pelo corpo |
locale/ |
Metadados de exibição zh/en da skill (meta.title, meta.description) |
cordis.patch.yml |
A camada de patch do bundle; apenas inserta sua própria linha |
tests/ |
node --test: parsing do frontmatter e registro da skill |
scripts/gen-readme-assets.py |
Geração programática de imagens (Python + Pillow) |
STANDARDS.md · NOTICE.md · PRIVACY.md |
Status de padrões, NOTICE e declaração de privacidade |
Este projeto faz parte da família de plugins do DeepSeek Harness da PerryLink (todos Apache-2.0). Se esta guia for útil, uma estrela ajuda a próxima pessoa a encontrá-la: nada fica bloqueado atrás dela.
- @PerryLink — criador e mantenedor: o mapa de três camadas e o texto das guias ENTRY/FLOW/BOOST, a skill
SKILL.md, a camada de patch do bundle e a documentação em cinco idiomas.
Expandir todos os plugins
LICENSE (Apache License 2.0) © 2026 dsh-plugin-guide contributors
Apache-2.0 · Guia da comunidade, sem afiliação com a DeepSeek.