DeepSeek Harness: Plugins Comunitários

Última atualização: 2026-08-31

O "tudo é um plugin" do DSH não é apenas uma arquitetura técnica — é uma visão de ecossistema. A equipe oficial fornece ferramentas centrais, enquanto a comunidade contribui com possibilidades ilimitadas. De operações de banco de dados a integração de API, de análise de código a implantação automatizada, os plugins comunitários expandem continuamente os limites de capacidade do DSH.

💡 Dica: Plugins comunitários variam em qualidade. Sempre avalie a segurança antes de instalar — revise o código-fonte, verifique o status de manutenção, examine as dependências. Instalar sem revisão é como dar a um estranho a chave da sua porta da frente.

📋 Pré-requisitos: Ter completado 06-tools.md, familiarizado com noções básicas de ferramentas e plugins

1. O Que Você Vai Aprender

DSH vs Frameworks Tradicionais


2. Marketplace de Plugins e Descoberta

(1) Formas de Descobrir Plugins

O DSH não possui um marketplace centralizado de plugins. Plugins são descobertos através de:

Canal Descrição URL
GitHub Topic Repositórios com a tag dsh-plugin github.com/topics/dsh-plugin
Docs Oficiais Lista de plugins recomendados docs.deepseek.com/dsh/plugins
Fórum da Comunidade Compartilhamento e discussão dos usuários community.deepseek.com
Busca npm Pacotes com prefixo @dsh-plugin/ npmjs.com/search?q=@dsh-plugin

(2) Convenção de Nomenclatura de Plugins

Plugins comunitários seguem uma convenção de nomenclatura unificada:

TEXT 📖 Somente leitura
npm package name: @dsh-plugin/plugin-name
GitHub repository name: dsh-plugin-name
Configuration reference name: plugin-name

Exemplos:

TEXT 📖 Somente leitura
npm: @dsh-plugin/database    → GitHub: dsh-plugin-database
npm: @dsh-plugin/git-enhanced → GitHub: dsh-plugin-git-enhanced
npm: @dsh-plugin/docker      → GitHub: dsh-plugin-docker

(3) Buscando Plugins Comunitários

▶ Exemplo 1:Buscar Plugins com GitHub CLI

BASH
# Buscar repositórios com o tópico dsh-plugin
gh repo list --topic dsh-plugin --limit 20

# Ordenar por estrelas
gh search repos "dsh-plugin" --sort stars --limit 20

▶ Exemplo 2:Buscar Plugins com npm

BASH
# Buscar pacotes de plugins DSH
npm search @dsh-plugin

# Ver detalhes de um plugin específico
npm info @dsh-plugin/database

3. Instalando Plugins Comunitários

(1) Métodos de Instalação

O DSH suporta três métodos de instalação de plugins:

Método Comando Descrição
npm Install dsh plugin add @dsh-plugin/name Download automático do npm
GitHub Install dsh plugin add github:user/repo Instalar do GitHub
Caminho Local dsh plugin add ./path/to/plugin Instalar plugin desenvolvido localmente

▶ Exemplo 3:Instalando um Plugin de Banco de Dados

BASH
# Instalar do npm
dsh plugin add @dsh-plugin/database

# Saída da instalação
📦 Installing @dsh-plugin/database@1.2.0...
✅ Plugin installed successfully!

Available tools:
  - database.query: Execute SQL queries
  - database.migrate: Run database migrations
  - database.schema: Inspect database schema

(2) Instalando a Partir do Código-Fonte

BASH
# Instalar do repositório GitHub
dsh plugin add github:alice/dsh-plugin-redis

# Instalar branch específica
dsh plugin add github:alice/dsh-plugin-redis#feature/cluster-support

# Instalar tag de versão específica
dsh plugin add github:alice/dsh-plugin-redis#v2.1.0

(3) Gerenciando Plugins Instalados

▶ Exemplo 4:Comandos de Gerenciamento de Plugins

BASH
# Listar plugins instalados
dsh plugin list

# Saída
📦 Installed Plugins:
  @dsh-plugin/database   v1.2.0  ✅ enabled
  @dsh-plugin/redis      v2.1.0  ✅ enabled
  @dsh-plugin/git-enhanced v0.8.0 ⚠️ disabled

# Desabilitar plugin (sem desinstalar)
dsh plugin disable @dsh-plugin/redis

# Habilitar plugin
dsh plugin enable @dsh-plugin/redis

# Desinstalar plugin
dsh plugin remove @dsh-plugin/database

# Atualizar plugin
dsh plugin update @dsh-plugin/database

(4) Gerenciando Plugins via Arquivo de Configuração

Plugins também podem ser gerenciados pelo arquivo de configuração:

YAML
# dsh.config.yaml
plugins:
  # Plugin npm
  - name: "@dsh-plugin/database"
    version: "^1.2.0"
    enabled: true
    config:
      default_connection: "postgresql://localhost/mydb"
  
  # Plugin GitHub
  - name: "@dsh-plugin/redis"
    source: "github:alice/dsh-plugin-redis"
    version: "v2.1.0"
    enabled: true
    config:
      host: "localhost"
      port: 6379
  
  # Plugin local
  - name: "my-custom-tool"
    source: "./plugins/my-custom-tool"
    enabled: true

4. Plugins Comunitários Recomendados

(1) Categoria Banco de Dados

Plugin Função Estrelas Status
@dsh-plugin/database Consultas SQL, migrações, inspeção de Schema 2.1k ✅ Ativo
@dsh-plugin/redis Operações Redis, gerenciamento de cache 890 ✅ Ativo
@dsh-plugin/mongodb Operações com documentos MongoDB 650 ✅ Ativo
@dsh-plugin/prisma Integração Prisma ORM 430 ⚠️ Experimental

▶ Exemplo 5:Uso do Plugin de Banco de Dados

YAML
# dsh.config.yaml
plugins:
  - name: "@dsh-plugin/database"
    config:
      connections:
        main: "postgresql://localhost/myapp"
        analytics: "postgresql://localhost/analytics"

O Agent pode consultar o banco de dados diretamente:

TEXT 📖 Somente leitura
👤 Alice: Consulte os 10 usuários mais recentemente registrados da tabela users

🤖 Agent:
🔧 Usando ferramenta: database.query
  → Conexão: main
  → Query: SELECT * FROM users ORDER BY created_at DESC LIMIT 10
  → Resultados: 10 linhas

(2) Categoria DevOps

Plugin Função Estrelas Status
@dsh-plugin/docker Gerenciamento de containers Docker 1.5k ✅ Ativo
@dsh-plugin/k8s Operações com recursos Kubernetes 980 ✅ Ativo
@dsh-plugin/ci Gerenciamento de pipelines CI/CD 560 ✅ Ativo
@dsh-plugin/terraform Gerenciamento de infraestrutura IaC 340 ⚠️ Experimental

(3) Categoria Qualidade de Código

Plugin Função Estrelas Status
@dsh-plugin/linter Integração ESLint/Pylint 1.8k ✅ Ativo
@dsh-plugin/test-runner Execução de testes e cobertura 1.2k ✅ Ativo
@dsh-plugin/code-metrics Análise de complexidade de código 780 ✅ Ativo
@dsh-plugin/deps-audit Auditoria de segurança de dependências 920 ✅ Ativo

▶ Exemplo 6:Uso do Plugin Linter

TEXT 📖 Somente leitura
👤 Bob: Verifique a qualidade do código no diretório src/

🤖 Agent:
🔧 Usando ferramenta: linter.check
  → Diretório: src/
  → Config: .eslintrc.json
  → Resultados: 12 avisos, 3 erros
  
  Erros:
  - src/utils/format.ts:45 — Tipo any inesperado
  - src/routes/api.ts:128 — Tipo de retorno ausente
  - src/models/user.ts:23 — Import não utilizado

(4) Categoria Integração de API

Plugin Função Estrelas Status
@dsh-plugin/github Operações com GitHub API 2.3k ✅ Ativo
@dsh-plugin/jira Gerenciamento de tarefas JIRA 560 ✅ Ativo
@dsh-plugin/slack Envio de mensagens Slack 890 ✅ Ativo
@dsh-plugin/notion Operações com páginas Notion 450 ✅ Ativo

5. Avaliação de Segurança de Plugins

(1) Framework de Avaliação

Sempre realize uma avaliação de segurança antes de instalar qualquer plugin comunitário:

100%
graph TD
    A[Descobrir Plugin] --> B[Revisar Código-Fonte]
    B --> C[Verificar Dependências]
    C --> D[Revisar Permissões]
    D --> E[Avaliar Status de Manutenção]
    E --> F{Avaliação de Segurança Passou?}
    F -->|Sim| G[Instalar e Usar]
    F -->|Não| H[Abandonar ou Corrigir Antes de Usar]

(2) Checklist de Avaliação

Item de Verificação Descrição Nível de Risco
Revisão de código-fonte Ler o código principal para confirmar ausência de lógica maliciosa 🔴 Crítico
Verificação de dependências Verificar se as dependências no package.json são confiáveis 🔴 Crítico
Revisão de permissões Quais permissões de arquivo/rede/sistema o plugin solicita 🟡 Importante
Status de manutenção Data da última atualização, velocidade de resposta a Issues 🟡 Importante
Avaliação da comunidade Estrelas GitHub, downloads, feedback dos usuários 🟢 Referência
Licença Tipo de licença open source e restrições 🟢 Referência

(3) Pontos-Chave da Revisão de Código-Fonte

▶ Exemplo 7:Revisando o Código-Fonte do Plugin

BASH
# Clonar repositório do plugin para revisão
git clone https://github.com/user/dsh-plugin-example.git
cd dsh-plugin-example

# Verificar arquivo de entrada principal
cat src/index.ts

# Verificar dependências
cat package.json | grep -A 20 "dependencies"

# Verificar requisições de rede suspeitas
grep -r "fetch\|http\|axios\|request" src/

# Verificar operações no sistema de arquivos
grep -r "fs\.\|readFile\|writeFile\|exec\|spawn" src/

# Verificar acesso a variáveis de ambiente
grep -r "process\.env" src/

(4) Sistema de Permissões de Plugins

Plugins do DSH devem declarar suas permissões necessárias:

TYPESCRIPT
// Declaração de permissões do plugin
export default definePlugin({
  name: 'dsh-plugin-example',
  permissions: [
    'fs.read',        // Ler arquivos
    'fs.write',       // Escrever arquivos
    'network.outbound', // Requisições de rede de saída
    'shell.execute',  // Executar comandos Shell
    'env.read'        // Ler variáveis de ambiente
  ],
  // ...
});

Ao instalar, o DSH exibe as solicitações de permissão:

TEXT 📖 Somente leitura
📦 Installing @dsh-plugin/example@1.0.0

⚠️ Este plugin solicita as seguintes permissões:
  ✅ fs.read        — Ler arquivos no workspace
  ⚠️ network.outbound — Fazer requisições HTTP de saída
  🔴 shell.execute  — Executar comandos shell

Continuar instalação? (y/n)

6. Desenvolvimento e Publicação de Plugins

(1) Template de Desenvolvimento de Plugins

▶ Exemplo 8:Criando um Plugin Usando o Template

BASH
# Usar o template oficial
npx @deepseek-ai/create-dsh-plugin my-plugin

# Saída
📁 Creating plugin: my-plugin
  ├── src/
  │   └── index.ts
  ├── package.json
  ├── tsconfig.json
  └── README.md

✅ Plugin scaffolded! Run:
  cd my-plugin
  npm install
  npm run dev

(2) Estrutura do Projeto de Plugin

TEXT 📖 Somente leitura
dsh-plugin-my-plugin/
├── src/
│   ├── index.ts          # Entrada principal do plugin
│   ├── tools/            # Definições de ferramentas
│   │   └── my-tool.ts
│   └── services/         # Definições de serviços
│       └── my-service.ts
├── package.json
├── tsconfig.json
├── dsh-plugin.yaml       # Metadados do plugin
└── README.md

(3) Publicando no npm

BASH
# Build
npm run build

# Publicar
npm publish --access public

# Adicionar GitHub Topic
# Nas configurações do repositório GitHub, adicione o tópico: dsh-plugin

(4) Metadados dsh-plugin.yaml

YAML
name: dsh-plugin-my-plugin
version: 1.0.0
description: Mergulhe no ecossistema de plugins comunitários do DSH — descubra, instale, configure e avalie plugins de terceiros, domine as melhores práticas de...
author: "Alice"
license: "MIT"
repository: "https://github.com/alice/dsh-plugin-my-plugin"
keywords:
  - dsh-plugin
  - database
  - tools
permissions:
  - fs.read
  - network.outbound
compatibility:
  dsh: ">=0.5.0"

❓ Perguntas Frequentes

P Plugins comunitários são revisados oficialmente?
R Não. Plugins comunitários do DSH são publicados independentemente por desenvolvedores e não passam por revisão oficial. Sempre avalie a segurança antes de instalar.
P O que fazer se um plugin causar erros após a instalação?
R Primeiro desabilite o plugin (dsh plugin disable), depois verifique os logs de erro. Se for um problema de compatibilidade, tente instalar uma versão compatível ou contate o autor do plugin.
P Múltiplos plugins podem conflitar entre si?
R Possivelmente. Se dois plugins registram ferramentas com o mesmo nome, o DSH usa a primeira carregada. Você pode controlar a ordem de carregamento com o campo priority na configuração.
P Posso usar plugins privados dentro da minha empresa?
R Sim. Use dsh plugin add ./path/to/plugin para instalar plugins locais, ou configure um registro npm interno.
P Como atualizar plugins?
R Execute dsh plugin update <name> para atualizar um único plugin, ou dsh plugin update --all para atualizar todos os plugins. Recomendamos fazer backup do workspace antes de atualizar.
P Como saber se um plugin ainda é mantido?
R Verifique a data do commit mais recente no repositório GitHub, a velocidade de resposta a Issues e a frequência de publicação no npm. Plugins sem atualizações há mais de 6 meses devem ser usados com cautela.

📖 Resumo


📝 Exercícios

1. ⭐ Básico: Busque o tópico dsh-plugin no GitHub, liste 3 plugins que mais lhe interessam e descreva sua funcionalidade e por que você gostaria de usá-los.

2. ⭐⭐ Intermediário: Instale um plugin comunitário (ex.: @dsh-plugin/database), configure as informações de conexão e faça o Agent consultar um dado através do plugin. Registre o processo de instalação e configuração.

3. ⭐⭐⭐ Desafio: Desenvolva um plugin DSH simples (ex.: uma ferramenta de "consulta de horário atual"), use o template create-dsh-plugin para criar o projeto, escreva a lógica da ferramenta, instale localmente e faça o Agent invocá-la com sucesso.

Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%