Sobre o projeto

DSH for Vaults é um plugin de desktop para Obsidian que incorpora a Web UI nativa do DeepSeek Harness (DSH) dentro do Obsidian. De acordo com o README, cada vault recebe sua própria instância de DSH totalmente isolada: abrir um vault inicia o DSH com esse vault como seu espaço de trabalho, e os históricos de sessão permanecem por vault e nunca se misturam. O plugin atua como um lançador e cliente incorporado, em vez de agrupar uma implementação de DSH. Principais capacidades descritas no README: - UI de webview incorporada: a interface real do DSH roda em uma webview dedicada do Electron com armazenamento de sessão persistente por vault e autenticação de token segura para cookies. - Ponte bidirecional: clique com o botão direito no texto selecionado para enviar uma linha de localização com o arquivo e o intervalo de linha/coluna para o compositor do DSH; clique em um caminho de arquivo do vault no chat do DSH para abrir a nota correspondente no Obsidian. Um arquivo ausente gera um aviso, enquanto caminhos binários e fora do vault mantêm o comportamento do DSH. - Passagem de hotkeys: atalhos configurados no Obsidian continuam a disparar enquanto o painel do DSH tem o foco, com uma alternância nas configurações. - Bootstrap zero-terminal: se o Node.js ou o DSH estiverem ausentes, o painel pode instalar um runtime portátil privado (cerca de 30 MB, sem admin, sistema intocado) e então baixar e iniciar o kernel do DSH por conta própria, com progresso em tempo real e fallback de espelho npm. - Sincronização de configuração de modelo entre instâncias DSH: o modo incremental copia entradas ausentes e prompts por conflito; o modo de substituição alinha provedores e referências de credenciais a uma fonte escolhida e faz backup automático de arquivos. Os itens sincronizados incluem provedores de LLM e referências de credenciais de API; registros de login por instância, rota de modelo padrão, modelo de pesquisa e perfis de plugin não são sincronizados. - Política de atualização: rastreia o canal estável oficial e instala apenas após confirmação explícita; a inicialização não acessa a rede para alterar versões. - Migração de dados: a atualização de kernels mais antigos migra automaticamente os dados de sessão e faz o backup primeiro, com um diretório de backup configurável. - Isolamento por vault: os dados são armazenados em um diretório local dedicado ao vault fora do vault e não são sincronizados via OneDrive, conforme o README. - Diagnósticos: as configurações mostram o tempo de boot por estágio para sonda, detecção de Node, porta, kernel e carregamento da UI, além de caudas de erro e logs copiáveis; árvores de processos obsoletas são limpas após timeout. Requisitos: Obsidian desktop v1.4 ou superior no Windows. O Node.js não é exigido antecipadamente porque o plugin pode instalar um runtime portátil ou detectar uma instalação existente por caminho absoluto. Instalação: disponível via plugins da comunidade do Obsidian pesquisando por DSH for Vaults, via BRAT usando o repositório moozhu/dsh-obsidian, ou manualmente colocando main.js, manifest.json e styles.css na pasta .obsidian/plugins/dsh-ob/ do vault e ativando o plugin. Uso: abra o painel pelo ícone da baleia ou pela paleta de comandos, aguarde a inicialização e então converse com o vault como espaço de trabalho ativo. A barra de status mostra o estado da instância. O comportamento multi-vault inclui portas determinísticas por vault, instâncias independentes para vaults diferentes, uma instância compartilhada para o mesmo vault em duas janelas e a interrupção de uma instância ao fechar a janela, a menos que configurado de outra forma. O preenchimento inferior (bottom padding) é ajustável de 0 a 40 pixels. Privacidade: o README afirma que o plugin é um lançador mais cliente incorporado, comunica-se com o DSH apenas via localhost (127.0.0.1) e não possui telemetria ou relay. O próprio DSH pode fazer requisições externas, como APIs de modelo, dependendo das tarefas. O histórico de sessão, a configuração do modelo e as credenciais de API residem no diretório de dados local dedicado do vault. As configurações incluem caminho do executável, atualização de versão, diretório de backup de dados, porta base, auto-início ao abrir o Obsidian, parar ao fechar, passagem de hotkey, ponte reversa, sincronização de configuração de modelo, localização do painel, preenchimento inferior do painel e diagnósticos de tempo de boot. Comandos de desenvolvimento são npm install, npm run dev para watch de TypeScript, npm run typecheck e npm run build para verificação de tipos e empacotamento com esbuild.