WalcimarZD/dsh-notify-pt ↗★ 0

dsh-notify

系统通知插件,支持工作流、审批等状态提醒 适合需要离开电脑时接收任务结束或待审批系统通知的用户。

包名
dsh-notify
兼容性
待验证
版本
0.5.1-pt.1
最近更新
2026年9月28日

同名包的其他仓库

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:WalcimarZD/dsh-notify-pt

dsh-notify-pt

Notificações de sistema para sessões do DSH: turno concluído, turno com erro ou interrompido, ferramenta que falha, objetivo concluído ou bloqueado, workflow concluído — e uma ação aguardando sua aprovação, que é o caso que exige você na frente da máquina.

É um fork em português do plugin zhengjy01/dsh-notify, que escreve as mensagens em chinês embutidas no código e não tem configuração de idioma.

Origem

Upstreamzhengjy01/dsh-notify
Base0.5.1, commit 5e3c4af
LicençaMIT, a mesma do autor (LICENSE preservada)

O que este fork muda em relação ao original — só texto e recorte de texto, nada de lógica, nomes de evento ou chaves de configuração, de propósito, para poder mesclar atualizações do autor:

  • mensagens em português (tabela abaixo);
  • truncateReason(): normaliza espaços, porque popup não tem parágrafo; mantém a primeira frase quando ela cabe em 140 caracteres; e, quando não cabe, corta na última palavra inteira em vez de terminar no meio de uma palavra.

Os READMEs originais ficam preservados como README.en.md e README.zh.md.

O motivo dentro da notificação vem do próprio DSH — em geral o auto-review, que escreve em inglês (Auto review denied tool 'bash': …). Isso é dado de entrada, não texto do plugin: continua no idioma em que o DSH o produziu, e o fork apenas o enquadra numa mensagem legível.

Instalação

dsh plugin --profile web add github:WalcimarZD/dsh-notify-pt#v0.5.1-pt.1
systemctl --user restart deepseek-harness.service

O plugin é server-side: sem o restart do dsh web ele não carrega. O restart derruba a conexão da interface web; reabrir o app "DeepSeek Harness" reconecta.

Pinado na tag v0.5.1-pt.1 para a instalação ser reproduzível. Se preferir o critério mais estrito, use o SHA do commit no lugar da tag.

O pacote continua se chamando dsh-notify de propósito: é a identidade que o cordis.patch.yml resolve e que aparece no perfil do DSH. O que distingue este fork é o repositório e a versão.

Para remover:

dsh plugin --profile web remove dsh-notify

Mensagens

EventoTítuloCorpo
aprovação pedida (política ask)Aprovação necessária · Ferramenta pede permissão: + → Aprove ou negue na interface do DSH.
aprovação auto-rejeitada (never)Permissão negada automaticamente · Ferramenta :
turno concluídoTarefa concluída · Resposta finalizada.
turno com erroTarefa falhou · Erro na execução do turno.
turno interrompidoTarefa interrompida · Motivo: abortada. / limite de tokens. / bloqueada.
ferramenta falhouFerramenta falhou · :
workflow concluídoWorkflow concluído · run —
objetivo concluído / bloqueadoObjetivo concluído · / Objetivo bloqueado · objetivo / motivo
subtarefa concluídaSubtarefa concluída · Subtarefa finalizada ().

Aprovação pedida, turno com erro e objetivo bloqueado vão como alerta crítico (notify-send -u critical: fica na tela até você clicar). O resto é banner.

Configuração

No patch layer do perfil (~/.dsh/profiles/web/cordis.patch.yml), no formato que o arquivo já usa:

- id: notify
  config:
    notifyTurnEnd: false      # não avisar a cada turno concluído
    notifyToolError: false    # não avisar a cada ferramenta que falha

Chaves disponíveis: notifyTurnEnd, notifyTurnError, notifySubagentEnd, notifyWorkflowEnd, notifyApproval, notifyToolError, toolErrorAllowlist, toolErrorCooldownMs, notifyGoalComplete, notifyGoalBlocked, sound.

Testes

O canal Linux é notify-send, então o teste põe um shim no PATH e afirma o argv exato entregue em cada tipo de evento — o texto que apareceria na tela, sem depender do servidor rodando:

node --test test/messages.test.mjs

Versionamento e atualizações

A versão carrega o upstream que ela estende: 0.5.1-pt.1 é a primeira revisão da tradução sobre o 0.5.1. Ver CHANGELOG.md.

Para trazer o upstream:

git fetch upstream && git merge upstream/main

Conflitos esperados: os literais de mensagem e o cabeçalho de documentação do lib/index.js.

Licença

MIT — Copyright (c) 2026 o autor original; ver LICENSE.