Skip to main content
📝 Ferramentas de IA

Review do SiYuan: alternativa block-based ao Obsidian para devs

Testei SiYuan 3.6.5 contra Obsidian e Notion para um second brain de developer: Block IDs, SQL nativo, Docker self-hosting e veredito honesto.

32 min

Tempo de leitura

6,391

Palavras

Apr 30, 2026

Publicado

Engr Mejba Ahmed

Escrito por

Engr Mejba Ahmed

Compartilhar Artigo

Review do SiYuan: alternativa block-based ao Obsidian para devs

Revisão do SiYuan: uma alternativa Obsidian baseada em bloco para desenvolvedores

Quebrei meu cofre Obsidian em uma tarde de quarta-feira, e a maneira como ele quebrou foi a razão pela qual procurei outra coisa.

Eu estava refatorando notas de dois anos. Uma pasta chamada bug-logs/ tinha crescido para 312 arquivos e eu queria dividi-la por projeto – bug-logs/laravel/, bug-logs/react/, bug-logs/infra/. Limpeza padrão. O tipo de coisa que qualquer desenvolvedor faz quando uma pasta simples se transforma em um pântano.

Movi 47 arquivos em um lote, observei Obsidian renomeá-los e fui fazer café. Quando voltei, abri um manual que havia escrito seis meses antes – um documento de recuperação passo a passo para um incidente de produção que nunca quis repetir. A terceira etapa está vinculada a um log de bug chamado redis-eviction-storm-debug.md. O link renderizado como texto simples. Clique não fez nada.

Eu verifiquei o arquivo. Existia. Estava na nova pasta bug-logs/infra/. O bloco que mencionei – a seção específica que explica a configuração de despejo que desencadeou a cascata – estava ali, intocado. Mas o link estava inoperante porque o caminho havia mudado e a referência do bloco estava ancorada em uma combinação caminho-mais-título que não correspondia mais.

Foi nesse momento que percebi que meu segundo cérebro tinha um problema estrutural. Não é exatamente culpa de Obsidian. Arquivos Markdown mais caminhos do sistema de arquivos mais links de bloco ancorados em cabeçalho - esse é o contrato. Quando você move as coisas, você aceita que algumas referências irão quebrar. Para um diário pessoal, tudo bem. Para documentação na qual confio às 2 da manhã durante um incidente, não está bem.

Então comecei a olhar além do Obsidian. O que testei a seguir foi SiYuan, uma ferramenta de gerenciamento de conhecimento local de código aberto que executa a versão 3.6.5 em 21 de abril de 2026. Ela bloqueia referências de maneira diferente – cada bloco tem um ID permanente que sobrevive a movimentos, renomeações, refatorações, qualquer coisa que não seja exclusão. Isso parecia exatamente o que meu livro quebrado precisava.

Este é o artigo honesto. O que funcionou. O que me fez alcançar o botão Voltar. Se ele merece um lugar permanente na pilha de um desenvolvedor em 2026 ou se a comparação SiYuan vs Obsidian sempre volta para Obsidian para a maioria das pessoas. Spoiler: a resposta depende do tipo de anotações que você realmente mantém.

Por que procurei além do Obsidian em primeiro lugar

Obsidian me serviu por quatro anos. Não estou aqui para enterrá-lo. As mais de 230 postagens neste site fazem referência constante ao Obsidian porque, para o caso de uso para o qual foi projetado - um segundo cérebro rápido, de texto simples e extensível por plug-in - quase nada se compara a ele.

Mas minhas anotações evoluíram. Eles deixaram de estar “pensando em voz alta” e se transformaram em artefatos estruturados:

  • Registros de bugs com etapas reproduzíveis, análise de causa raiz e verificação de correção
  • Registros de decisão de arquitetura (ADRs) com contexto, decisão e consequências explícitos
  • Runbooks para incidentes de produção com etapas de recuperação sequenciadas
  • Notas de envolvimento do cliente com registros de bugs, decisões e runbooks vinculados
  • Documentação de projeto de longa duração com vários colaboradores (eu + subagentes gravando arquivos de memória)

Uma vez que suas notas se parecem mais com um sistema de documentação do que com um diário, três limitações do Obsidian começam a ser trabalhadas:

1. As referências de bloco são interrompidas na refatoração. A sintaxe de referência de bloco de Obsidian ([[file#^block-id]]) ancora-se em um ID de bloco específico dentro de um arquivo específico. Ao mover o arquivo, Obsidian tenta atualizar o caminho automaticamente. Na maioria das vezes funciona. Às vezes isso não acontece, especialmente com movimentações em lote, sintaxe introduzida por plug-in ou sincronização de editor externo. E quando falha silenciosamente, você não percebe até clicar em um link seis meses depois.

2. Consultas no estilo de banco de dados requerem plug-ins. O Dataview é brilhante. É também um plugin da comunidade mantido por um desenvolvedor que lança os principais lançamentos do Obsidian aproximadamente duas vezes por ano. Se o seu runbook depender de uma renderização correta de consulta do Dataview, seu runbook dependerá da integridade do Dataview. Essa é uma cadeia de dependência frágil para documentos críticos para a produção.

3. A edição multiusuário não é o modelo. Obsidian O Sync existe e é sólido para uso pessoal. Mas o Obsidian foi projetado como uma ferramenta de usuário único. No momento em que você deseja que uma equipe ou subagentes escrevam no mesmo cofre simultaneamente, você está lutando contra o modelo.

O incidente do link quebrado foi apenas a superfície. Por baixo estava uma compreensão mais profunda: minhas anotações haviam superado o modelo de arquivo como documento de redução. Eu precisava de um sistema onde a unidade atômica fosse o bloco, não o arquivo. Onde as referências sobreviveram às mudanças estruturais. Onde as consultas eram nativas, não agregadas.

Esse é o nicho pelo qual SiYuan vs Obsidian realmente luta.

O que Block IDs realmente faz - um exemplo real

O argumento: cada bloco em SiYuan recebe um ID permanente de 22 caracteres no momento em que você o cria. O ID permanece no bloco para sempre — através de movimentações, renomeações, divisões de documentos e mesclagens de documentos. As referências apontam para o ID, não para o caminho. Mova o bloco; a referência ainda funciona.

Parece bom em teoria. Aqui está o que realmente parece na prática.

Criei um documento chamado redis-eviction-storm.md e escrevi três blocos:

- Symptom: Redis CPU spikes to 100% for 90 seconds, then recovers.
- Root cause: maxmemory-policy set to allkeys-lru with eviction batch
  size of 10. Under high write load, eviction cycle blocks the event loop.
- Fix: Switch to allkeys-lfu, raise hz to 50, set maxmemory-eviction-tenacity to 5.

SiYuan armazenou cada marcador como um bloco separado. Quando cliquei no segundo marcador, o editor me mostrou o ID do bloco – algo como 20260418142733-x7k9j2m. É um carimbo de data/hora de 14 dígitos (20260418142733 = 18 de abril de 2026, 14:27:33) mais 7 caracteres aleatórios. Cada bloco no seu espaço de trabalho recebe um.

Copiei a referência do bloco e colei-a em um documento diferente — um runbook chamado incident-recovery-redis.md. A referência renderizada como uma incorporação clicável mostrando o texto da causa raiz embutido. Então fiz a coisa destrutiva que quebrou o Obsidian: movi o documento de origem para uma pasta profundamente aninhada, renomeei-o para infra/databases/redis/eviction-storm-2026.md e dividi-o em dois documentos separados.

A referência em meu runbook ainda funcionava. Não "funcionou após a reindexação". Não "funcionou depois que o plugin reconciliou os caminhos". Funcionou instantaneamente, porque a referência estava vinculada ao ID do bloco, não ao caminho do arquivo. O armazenamento subjacente é um arquivo .sy JSON contendo uma árvore de nó AST e o ID do bloco é o ID do nó AST. Mova o documento, o arquivo se move; os IDs do nó JSON permanecem inalterados. SQLite reindexa o caminho do arquivo, a camada de resolução de referência procura o bloco por ID, encontra-o no novo arquivo e o renderiza.

Este é o único recurso que justifica a existência do SiYuan para mim. Se você já perdeu uma referência de bloco para um refatorador, sabe exatamente o quanto isso importa.

A compensação reside na camada de formato de arquivo, e voltaremos a ela - porque .sy JSON não é Markdown, e isso tem consequências.

O recurso matador: consultas nativas SQL dentro de notas

Os usuários do Obsidian acessam o Dataview. Os usuários do Notion constroem bancos de dados relacionais manualmente. SiYuan vem com um banco de dados SQLite que indexa cada bloco em seu espaço de trabalho e você escreve SQL diretamente nas notas.

Não é um plug-in. Não é uma ferramenta de barra lateral. A consulta fica embutida como um bloco incorporado, é executada quando o documento é renderizado e é atualizada sempre que os dados subjacentes são alterados.

Aqui está uma consulta real que mantenho no topo do meu documento bug-tracker.md. Ele extrai todos os blocos marcados como #bug-open em todo o meu espaço de trabalho, classificados por data de criação:

SELECT
  '[' || b.content || '](siyuan://blocks/' || b.id || ')' AS bug,
  b.hpath AS document,
  datetime(substr(b.created, 1, 4) || '-' ||
           substr(b.created, 5, 2) || '-' ||
           substr(b.created, 7, 2)) AS opened
FROM blocks AS b
WHERE b.tag LIKE '%#bug-open%'
ORDER BY b.created DESC
LIMIT 50

Três coisas certas que o Dataview nunca fez por mim:

É o verdadeiro SQL. Não é um DSL que envolve o SQL com suas próprias peculiaridades. Se você escreveu um SELECT em sua carreira, poderá escrever consultas SiYuan no primeiro dia. Junta-se ao trabalho. As subconsultas funcionam. Os CTEs funcionam. O esquema é documentado e estável — blocks é a tabela principal, com colunas como id, content, type, path, hpath, root_id, tag, created, updated, markdown e mais alguns.

O esquema é exposto. A documentação API de API lista explicitamente o esquema da tabela blocks. Há também um endpoint HTTP /api/query/sql que usa um corpo JSON como {"stmt": "SELECT * FROM blocks WHERE content LIKE '%redis%' LIMIT 7"} e retorna linhas. Isso significa que scripts externos, agentes ou até mesmo o próprio Claude Code podem consultar sua base de conhecimento diretamente, sem analisar arquivos markdown.

Os blocos incorporados são de primeira classe. Cada bloco incorporado em SiYuan começa com select * from blocks — essa é a convenção porque o renderizador incorporado precisa do esquema de bloco para saber como renderizar os resultados. A consulta é atualizada no carregamento do documento, na alteração de dados e na atualização manual.

Tenho consultas incorporadas em todo o meu espaço de trabalho agora:

  • Um painel na parte superior do documento do meu projeto que lista todos os blocos TODO na subárvore do projeto
  • Uma consulta de "notas obsoletas" que revela qualquer documento que não atualizo há mais de 90 dias
  • Uma consulta bug por gravidade que agrupa bugs abertos por tags #sev1, #sev2, #sev3
  • Uma consulta "hoje" na minha nota diária que extrai todos os blocos que criei ou modifiquei naquele dia

Dataview pode fazer a maior parte disso. A diferença é que a camada de consulta do SiYuan faz parte do produto principal, não um plugin da comunidade mantido por um desenvolvedor heróico. O esquema é estável. O mecanismo de consulta é o SQLite, que é o software de banco de dados mais confiável que existe. Confio nele para documentos críticos de produção de uma forma que nunca confiei no Dataview.

Passo a passo do auto-hospedeiro Docker - A configuração de 2026

SiYuan é executado como um aplicativo de desktop em macOS, Windows e Linux. Ele também funciona como um contêiner Docker, e é assim que hospedo meu espaço de trabalho principal – em um pequeno VPS, acessível de qualquer dispositivo, totalmente sob meu controle.

A imagem oficial Docker é b3log/siyuan no Docker Hub. A porta padrão é 6806. O comando mínimo para executar um espaço de trabalho:

docker run -d \
  --name siyuan \
  -p 6806:6806 \
  -v /opt/siyuan/workspace:/siyuan/workspace \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Asia/Dhaka \
  b3log/siyuan \
  --workspace=/siyuan/workspace/ \
  --accessAuthCode=replace-with-a-strong-password

Três coisas nesse comando são importantes e não são óbvias nos documentos:

O sinalizador --workspace deve corresponder ao caminho de montagem do lado do contêiner. SiYuan armazena tudo dentro da pasta do espaço de trabalho — seus notebooks, o índice SQLite, anexos, dados de plug-ins, metadados de sincronização. Se o sinalizador e a montagem do volume discordarem, o contêiner será iniciado, mas não gravará nada útil no disco e, ao reiniciar, você perderá o estado.

--accessAuthCode é sua senha. É a única coisa entre a porta 6806 e qualquer pessoa que possa acessar seu VPS. Use uma longa string aleatória. Trate-o como uma chave SSH. Se você esquecer, será necessário parar o contêiner, editar a configuração dentro da pasta do espaço de trabalho e reiniciar.

PUID/PGID corresponde ao usuário do host. Sem eles, o contêiner grava arquivos como root e, quando você usa SSH para fazer backup do espaço de trabalho, não pode ler seus próprios dados sem sudo. Execute id -u e id -g em seu host e transmita esses valores.

Docker Versão do Compose, que é o que eu realmente executo:

version: "3.9"
services:
  siyuan:
    image: b3log/siyuan
    container_name: siyuan
    restart: unless-stopped
    ports:
      - "127.0.0.1:6806:6806"
    volumes:
      - /opt/siyuan/workspace:/siyuan/workspace
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Dhaka
    command:
      - --workspace=/siyuan/workspace/
      - --accessAuthCode=${SIYUAN_AUTH_CODE}

Observe a ligação em 127.0.0.1:6806 – nunca exponho a porta 6806 diretamente à Internet pública. O NGINX está na frente com TLS, autenticação básica como segunda camada e uma lista de permissões estrita para IPs que podem alcançar o upstream. Essa é a mesma postura que eu adotaria com qualquer ferramenta de produtividade auto-hospedada, e é o tipo de coisa que minha lista de verificação de revisão de segurança para aplicativos auto-hospedados sinalizaria se eu a ignorasse.

Bloco do servidor NGINX, abreviado:

server {
  listen 443 ssl http2;
  server_name notes.example.com;

  ssl_certificate     /etc/letsencrypt/live/notes.example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/notes.example.com/privkey.pem;

  location / {
    proxy_pass http://127.0.0.1:6806;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    proxy_read_timeout 3600s;
    proxy_send_timeout 3600s;
  }
}

Os cabeçalhos Upgrade no estilo WebSocket são importantes – SiYuan usa uma conexão persistente entre o cliente do navegador e o back-end. Sem eles, você recebe brindes aleatórios de “conexão perdida” a cada minuto ou dois.

Depois que o contêiner estiver aberto, pressione https://notes.example.com, insira seu código de acesso e pronto. O cliente do navegador é a experiência completa do SiYuan - mesma UI do aplicativo de desktop, mesmo suporte a plug-ins, mesmo mecanismo de consulta. A única coisa que falta são as integrações no nível do sistema operacional, como a bandeja do sistema.

Essa é uma configuração de 10 minutos se você já tiver um VPS. Compare com Obsidian, onde a sincronização de vários dispositivos auto-hospedada envolve serviços de terceiros, buckets S3 ou a assinatura paga do Obsidian Sync. SiYuan ser nativamente auto-hospedável é uma vantagem estrutural, não uma vantagem.

Visualização de gráfico — Ferramenta útil ou colírio para os olhos?

A visualização gráfica do Obsidian se tornou um meme por um motivo. É lindo. É também, para a maioria das pessoas, um protetor de tela. Você olha para a constelação de suas anotações, sente-se brevemente impressionado com sua aparente profundidade de pensamento e então fecha a guia.

SiYuan vem com sua própria visualização de gráfico e quero dizer que é diferente. Na maioria das vezes não é.

Mesma visualização de nós e arestas. A mesma simulação física que permite arrastar clusters. Mesma codificação de cores por tag ou tipo de documento. A interatividade é boa. Você pode clicar em um nó e ir para o documento. Você pode filtrar por tag, profundidade, tipo de documento ou intervalo de tempo.

O que SiYuan adiciona são nós gráficos em nível de bloco. O gráfico do Obsidian trata os arquivos como nós. SiYuan pode renderizar blocos individuais como nós, o que significa que o gráfico reflete a estrutura de referência real – um bloco no documento A referenciado por um bloco no documento B aparece como uma borda entre blocos, não entre arquivos.

Isso é genuinamente útil? Duas vezes em três meses, sim. Uma vez, quando eu estava procurando por blocos órfãos (blocos que escrevi, mas nunca referenciei de lugar nenhum) e uma vez, quando estava rastreando como uma decisão arquitetônica específica se propagou por vários ADRs. Ambas as vezes, o gráfico em nível de bloco me mostrou algo que um gráfico em nível de arquivo teria escondido.

Nos outros 90% do tempo, a visualização do gráfico fica fechada. Não acho que seja uma falha específica do SiYuan. Acho que as visualizações de gráficos são exageradas como ferramenta de conhecimento em geral. Eles são úteis para inspeções estruturais ocasionais, não para trabalho diário.

Se você estiver escolhendo entre SiYuan e Obsidian apenas na qualidade da visualização do gráfico, não faça isso. Eles são equivalentes. A opção de nível de bloco em SiYuan é uma vitória marginal para um pequeno conjunto de casos de uso.

Verificação da realidade do formato do arquivo – .sy JSON, não Markdown

É aqui que o SiYuan pede o maior compromisso e onde a maioria das avaliações ultrapassa o custo.

Obsidian armazena notas como arquivos .md. Simples Markdown. Você pode abri-los no Vim, no VS Code, no Notepad, em qualquer editor que exista nos últimos 30 anos. Se Obsidian desaparecer amanhã, suas anotações ainda poderão ser lidas para sempre.

SiYuan não armazena Markdown. Ele armazena arquivos .sy, que são documentos JSON contendo a árvore de sintaxe abstrata (AST) de cada nota. Os nomes dos arquivos são carimbos de data e hora de 14 dígitos mais 7 caracteres aleatórios – algo como 20260418142733-x7k9j2m.sy. A estrutura de diretórios reflete a hierarquia do seu notebook. O conteúdo reside dentro do JSON, indexado em tempo de execução por SQLite.

Esta é a compensação que você está pagando por IDs de bloco estáveis. O ID do bloco é o ID do nó AST. O AST deve ser mantido em um formato estruturado para manter os IDs estáveis ​​durante as edições. Markdown, por design, não carrega identidade em nível de bloco – não há uma maneira compatível com as especificações de ancorar um ID a um parágrafo no CommonMark. Se você deseja as garantias de ID de bloco, não pode ter Markdown simples como formato de armazenamento. Escolha um.

O que isso realmente significa para portabilidade:

Você pode exportar para Markdown. SiYuan possui exportação Markdown integrada – documento único, pasta ou espaço de trabalho inteiro. A exportação é boa. As referências de bloco tornam-se referências padrão no estilo de link wiki, os blocos de código sobrevivem, as tabelas são convertidas de forma limpa. Você não ficará trancado.

Você não pode editar o armazenamento diretamente. Se quiser modificar suas notas em massa com um script sed da mesma forma que faria com um cofre Obsidian, você analisará nós AST JSON, e não Markdown correspondentes a regex. Isso é possível - o esquema AST está documentado - mas é uma ordem de magnitude mais trabalhosa do que uma linha única contra arquivos .md.

A integração de ferramentas externas é mais difícil. Ferramentas como Pandoc, Marksman, Markdownlint ou qualquer uma das dezenas de utilitários CLI que operam em arquivos Markdown não funcionam diretamente em .sy JSON. Você pode exportar, executar a ferramenta, reimportar — mas isso é um fluxo de trabalho, não um reflexo.

Os conflitos de sincronização parecem diferentes. Se você estiver sincronizando um espaço de trabalho via Syncthing ou rsync entre duas máquinas, os conflitos nos arquivos .sy JSON são mais difíceis de resolver manualmente do que os conflitos no Markdown simples. A sincronização oficial do SiYuan (um recurso de assinatura paga) lida com isso com sincronização incremental criptografada de ponta a ponta, mas se você estiver executando sua própria sincronização, sentirá isso.

Para mim, a compensação vale a pena. Minhas anotações agora são infraestrutura, não literatura. Quero que eles sejam consultáveis, com referência estável e estruturalmente explícitos. O armazenamento JSON-AST é o preço dessas propriedades, e a exportação Markdown me dá uma saída de incêndio se eu mudar de ideia. Mas se suas anotações são principalmente prosa – diários, ficção, reflexões diárias – e o apelo do .md é a capacidade de edição em qualquer ferramenta, o SiYuan é a escolha errada e você deve ficar com o Obsidian. Isso não é uma falha. É um imposto de design para um objetivo diferente.

SiYuan vs Obsidian vs Notion - Comparação honesta

Cada artigo "X vs Y" eventualmente se transforma em uma matriz de recursos. Aqui está o meu, com a ressalva de que as linhas que mais importam são aquelas onde as três ferramentas genuinamente discordam.

Dimensão SiYuan 3.6.5 Obsidian Notion
Unidade atômica Bloquear (com ID permanente) Arquivo (.md) Bloquear (com ID)
Armazenamento Local .sy JSON, índice SQLite Arquivos locais .md Nuvem (SaaS)
Estabilidade de referência Alto – sobrevive a movimentos e renomeia Médio — atualizações do caminho de melhor esforço Alto — IDs proprietários
Banco de dados nativo/query SQL notas internas (integradas) Plug-in Dataview (comunidade) Bancos de dados relacionais (integrados)
Auto-hospedagem Docker, controle total Somente local (sincronização extra) Nenhum — somente SaaS
Código aberto AGPLv3 Proprietário (nível gratuito) Fonte fechada
Portabilidade de formato de arquivo Exportação Markdown disponível Markdown nativo Exportação Markdown/HTML
Ecossistema de plug-ins S

shopping, principalmente chinês | Grande, com prioridade para o inglês | Nenhuma — plataforma fechada | | Colaboração em tempo real | Limitado | Limitado | Excelente | | Off-line primeiro | Completo | Completo | Parcial (somente cache) | | Curva de aprendizagem | Íngreme no início | Moderado | Raso | | Aplicativos móveis | iOS, Android, HarmonyOS | iOS, Android | iOS, Android | | Custo | Gratuito (sincronização paga opcional) | Gratuito (sincronização paga opcional) | Gratuito → níveis pagos |

Minha opinião, linha por linha, sobre as linhas que realmente importam:

Estabilidade de referência. SiYuan vence imediatamente. Esse é o recurso que me atraiu e que não parei de apreciar. Se você refatorar notas regularmente, isso é mais importante do que qualquer outra coisa.

Consulta nativa. SiYuan vence novamente, por margem. SQL > Dataview DSL > UI de filtro do Notion. O fato de o mecanismo de consulta fazer parte do produto principal, e não um plug-in, faz uma diferença real para documentos críticos para a produção.

Portabilidade de formato de arquivo. Obsidian vence, ponto final. Simples Markdown é o formato de nota mais portátil já inventado. Você desiste disso para obter os IDs dos blocos.

Ecossistema de plug-ins. Obsidian vence por um quilômetro. O mercado do SiYuan existe, o repositório do bazar da comunidade é atualizado automaticamente de hora em hora e há desenvolvimento ativo - mas o ecossistema é menor e se inclina para plug-ins em chinês. A seleção de plugins em inglês é escassa e a documentação em inglês para desenvolvimento de plugins é abertamente reconhecida como uma área que precisa de trabalho. Se você vive e morre por meio de plug-ins da comunidade, isso é importante.

Colaboração em tempo real. Notion vence. Nada no espaço local chega perto da experiência de “dez pessoas editando a mesma página simultaneamente” do Notion. Se suas notas forem um artefato da equipe, Notion é a resposta e SiYuan vs Obsidian é o quadro totalmente errado.

Auto-hospedagem e propriedade. SiYuan vence. Obsidian prioriza o local, mas a sincronização oficial é um SaaS pago. Notion é pura nuvem. SiYuan com Docker oferece os benefícios locais mais a conveniência de vários dispositivos, sem depender dos servidores de outras pessoas permanecerem online.

A comparação do título SiYuan vs Obsidian é resolvida para: SiYuan se suas notas forem documentação estruturada; Obsidian se suas notas forem prosa mais plug-ins. A comparação do Notion vs SiYuan é ainda mais simples: Notion se você precisar de colaboração em equipe em tempo real; SiYuan se você precisar de privacidade, propriedade e um mecanismo de consulta que você controla.

Onde SiYuan perde

Tenho sido generoso até agora. Aqui estão as arestas que encontrei, em ordem de prioridade.

O ecossistema de plug-ins é pequeno e difícil de navegar em inglês. A comunidade de desenvolvedores do SiYuan é em grande parte de língua chinesa, o que é ótimo para a profundidade e consistência do projeto, mas menos bom para usuários que falam apenas inglês. A interface do mercado é bilíngue, mas as descrições e a documentação dos plug-ins geralmente distorcem o chinês primeiro. Há um problema aberto do GitHub (#12878) explicitamente sobre o aprimoramento do suporte ao inglês. Se a sua ideia de uma ferramenta de anotações perfeita envolve plug-ins da comunidade escolhidos a dedo para cada microfluxo de trabalho, o SiYuan irá frustrá-lo.

A IU parece desatualizada para alguns usuários. Isso é subjetivo e estou tentando ser justo. A linguagem de design do SiYuan está mais próxima de um IDE repleto de recursos de 2018 do que de um aplicativo minimalista de 2026. Existem muitos botões. O conjunto de ícones está ocupado. O tema padrão é bom, mas não bonito. Se você vem da estética CSS simples e limpa do Obsidian ou do design arejado do Notion, a primeira hora no SiYuan vai parecer confusa. Depois de uma semana, você para de notar – mas a primeira impressão é importante.

O desempenho cai em grandes espaços de trabalho. O modelo indexado SQLite é rápido, até que deixa de ser. Meu espaço de trabalho principal tem cerca de 1.800 documentos com talvez 40.000 blocos no total, e SiYuan lida com isso sem reclamar. Pessoas que relataram a execução de mais de 10.000 espaços de trabalho de documentos descrevem um atraso perceptível na pesquisa de texto completo e na renderização de gráficos. Há um tópico de engenharia ativo para otimizar isso, mas se o seu cofre Obsidian existente for realmente grande, valide o desempenho antes de confirmar.

O custo de migração do Notion é real. A exportação do Notion é HTML ou Markdown com uma estrutura de pastas que não é mapeada corretamente para o conceito de notebook do SiYuan. Você pode obter a maior parte do conteúdo, mas perderá itens específicos do Notion: links de banco de dados relacional, propriedades da página, incorporações e quaisquer tipos de bloco somente Notion. Planeje um fim de semana, não uma tarde.

A experiência móvel é funcional, não agradável. Os aplicativos Android e iOS funcionam. Eles sincronizam. Eles são renderizados corretamente. Mas o editor no celular é claramente um cidadão de segunda classe em comparação com o desktop. A manipulação de blocos em um telefone é estranha e blocos complexos (incorporações SQL, gráficos, matemática) geralmente são renderizados, mas não são bem editados. Se você precisar capturar notas primeiro no celular, isso é uma restrição real.

Recursos de nível de associação para sincronização avançada. A sincronização criptografada de ponta a ponta é um recurso de associação SiYuan pago. O nível gratuito é totalmente funcional – você pode auto-hospedar com Docker, sincronizar via Syncthing ou outra ferramenta e não perder nada de material. Mas a experiência de sincronização mais sofisticada está atrás de um acesso pago. Isso é justo e os desenvolvedores merecem ser pagos, mas vale a pena saber antes de assumir que a experiência gratuita corresponde às capturas de tela de marketing.

Nada disso é um obstáculo para mim. Juntos, eles são a razão pela qual SiYuan vs Obsidian não tem um vencedor universal.

Quem deveria mudar, quem não deveria

Esqueça os conselhos genéricos. Aqui estão perfis de concreto.

Mude para SiYuan se você:

  • Um desenvolvedor que mantém um sistema de documentação pessoal — logs de bugs, runbooks, ADRs, post-mortems de incidentes — onde a estabilidade de referência entre refatoradores é mais importante do que a flexibilidade do editor
  • Qualquer pessoa que perdeu uma referência de bloco para uma renomeação Obsidian e deseja que isso pare de acontecer
  • Um auto-hoster que deseja documentos estruturados no estilo Notion, mas se recusa a colocar dados proprietários nos servidores de outra pessoa
  • Alguém construindo uma base de conhecimento que os agentes AI irão consultar - o índice SQLite mais HTTP API mais IDs de bloco estáveis tornam a integração do agente genuinamente tratável
  • Um grande usuário de pensamento relacional que atualmente luta contra o Dataview e deseja que a camada de consulta fosse um banco de dados real

Fique com Obsidian se você for:

  • Um escritor de jornal diário ou ensaísta cujas notas são principalmente em prosa
  • Profundamente investido no ecossistema de plug-ins Obsidian (Excalidraw, Obsidian Tasks, Smart Connections, Templater) - nenhum deles tem equivalentes diretos ao SiYuan
  • Alguém que precisa de portabilidade .md entre ferramentas (Pandoc, geradores de sites estáticos, editores externos)
  • Um usuário solo onde não vale a pena trocar de ferramenta pelo problema do link quebrado

Fique com Notion se você for:

  • Trabalhar em documentos compartilhados com uma equipe que precisa de edição multijogador em tempo real
  • Um usuário não técnico que valoriza a linguagem de design e o ecossistema de modelos Notion
  • Construir um wiki para uma empresa onde a propriedade é “a empresa” e não “eu pessoalmente”

Execute ambos se você estiver:

  • Um desenvolvedor com um forte cofre Obsidian existente, mas com um problema crescente de documentos estruturados. Isso é o que eu faço. Obsidian para captura e prosa rápidas; SiYuan para a camada de documentação estruturada; os dois interoperam por meio da exportação Markdown quando preciso mover coisas entre eles.

O erro a evitar é tratar isso como um ou outro. O custo de operação de duas ferramentas é real, mas pequeno. O custo de forçar notas em estilo prosa para SiYuan ou documentos estruturados para Obsidian é muito mais alto.

Minha configuração atual — O que mantive, o que migrei

Três meses após a primeira instalação do SiYuan, aqui está a divisão real do trabalho no meu sistema.

Fiquei em Obsidian: notas diárias, entradas de diário, capturas fugazes, qualquer coisa que escrevo para pensar em vez de documentar. Cerca de 1.200 arquivos. O ecossistema de plug-ins (especificamente Templater, Dataview-for-prose e o plug-in Local Images Plus da minha configuração RAG no estilo Karpathy) é valioso demais para ser abandonado. Ainda construo meu segundo cérebro em Obsidian, que abordei em meu mergulho profundo em Obsidian e Claude Code para a camada de prosa e pensamento.

Migrado para SiYuan: logs de bugs (312 arquivos), runbooks (84 arquivos), ADRs (47 arquivos), documentos de engajamento do cliente (cerca de 200 arquivos) e documentação de projeto para engajamentos ativos (variável). Cerca de 700 documentos e crescendo. Qualquer coisa em que a estabilidade de referência e a capacidade de consulta do SQL sejam mais importantes do que a portabilidade do Markdown.

A camada de integração: um pequeno script Node.js que é executado todas as noites, exporta o espaço de trabalho SiYuan para Markdown por meio do API e coloca a exportação em uma pasta de índices Obsidian. Somente leitura, mas significa que minha pesquisa baseada em Obsidian pode encontrar conteúdo do lado SiYuan. A direção reversa (Obsidian → SiYuan) não construí porque não preciso dela - o conteúdo Obsidian não faz referência ao conteúdo SiYuan; a dependência vai para um lado.

A camada de agente: Claude Code consulta meu banco de dados SiYuan SQLite diretamente quando estou fazendo trabalho de gráfico de conhecimento. Abordei o padrão geral de RAG estilo Karpathy sobre cofres de remarcação - SiYuan é um substrato mais rico para a mesma ideia porque o esquema é estruturado. Em vez de usar o grep markdown, o agente executa SQL: "Forneça-me todos os blocos de bug marcados como sev1 dos últimos 30 dias em que a causa raiz mencione o Redis." Essa consulta leva 40 ms e retorna blocos exatos, não pedaços. Para fluxos de trabalho do segundo cérebro do desenvolvedor, onde o agente precisa de contexto estruturado, esta é uma atualização significativa.

Para que NÃO uso SiYuan: escrever esta postagem no blog. A postagem que você está lendo foi redigida em Obsidian, editada em VS Code e salva como Markdown. O modelo de texto simples em todos os lugares ainda vence para conteúdo que acaba na web pública. SiYuan é para documentos que permanecem privados e se beneficiam da estrutura.

Esse é o quadro completo. Duas ferramentas, um fluxo de trabalho, linhas claras sobre o que está onde.

O veredicto

SiYuan não é o novo Obsidian. SiYuan não é o novo Notion. Qualquer pessoa que enquadre dessa forma está perdendo o que há de realmente interessante na ferramenta.

SiYuan é o que acontece quando você leva a sério a "identidade em nível de bloco" como algo primitivo e constrói um sistema de conhecimento em torno dela. O ID do bloco sobrevive aos movimentos. O mecanismo SQL indexa os blocos. A visualização gráfica os renderiza. O HTTP API os expõe. Cada recurso flui do mesmo compromisso arquitetônico: os blocos são reais, os arquivos são derivados, os caminhos são mutáveis.

Esse compromisso é o que torna o SiYuan bom para documentação estruturada. É também o que torna o formato do arquivo opaco, o custo de migração real e o ecossistema mais restrito que o do Obsidian. As compensações de engenharia são assim: escolha a propriedade que você mais deseja e aceite os custos que a acompanham.

Para o desenvolvedor que quebrou muitas referências de bloco durante uma refatoração e deseja que o problema deixe de existir, SiYuan vale o fim de semana necessário para ser configurado. Para todos os outros, a resposta é mais sutil, e tentei traçar os limites honestamente acima.

Lembra do runbook em que perdi o link no início? Eu o reconstruí em SiYuan durante um fim de semana em fevereiro. Seis semanas depois, refatorei toda a minha estrutura bug-logs/ pela segunda vez – dividi-a por cliente, depois por serviço e, em seguida, arquivei dois anos de incidentes resolvidos. Centenas de arquivos movidos. Milhares de blocos reorganizados.

Cliquei no link do runbook esta manhã. Funcionou. Seis semanas de mudanças estruturais, dezenas de movimentos, e a referência ainda apontava exatamente para onde deveria.

Essa é toda a proposta em uma frase: em SiYuan, o link ainda funciona. Se vale a pena mudar de ferramenta para essa propriedade única depende de quantas vezes você a viu falhar nas ferramentas que você usa agora.

Perguntas frequentes

O SiYuan é realmente de código aberto?

Sim. SiYuan está licenciado sob AGPLv3 e a fonte está em GitHub em siyuan-note/siyuan. Você pode auto-hospedar, bifurcar ou contribuir sem restrições. O nível pago (associação) cobre o serviço oficial de sincronização em nuvem, chaves de criptografia ponta a ponta e recursos assistidos por AI – mas nenhum deles é necessário para usar o produto principal.

Posso migrar meu cofre Obsidian para SiYuan?

Sim, mas com ressalvas. SiYuan pode importar arquivos Markdown e estruturas de pastas, que cobrem a maior parte de um cofre Obsidian. O que você perde: sintaxe específica do plug-in (consultas do Dataview, metadados do plug-in de tarefas, modelos do Templater), sintaxe de referência de bloco específica do Obsidian e qualquer CSS personalizado. Planeje importar estruturalmente e, em seguida, reconstruir manualmente quaisquer fluxos de trabalho orientados por plug-in em primitivos nativos do SiYuan.

O formato de arquivo .sy é um risco de dependência de fornecedor?

É uma consideração real, mas não um aprisionamento rígido. O SiYuan fornece exportação Markdown integrada no nível de documento, pasta e espaço de trabalho completo. A exportação é de alta fidelidade para conteúdo padrão. Você perderá recursos específicos do .sy (IDs de bloco, consultas SQL incorporadas, atributos de bloco personalizados) na exportação, mas a prosa, o código e a estrutura sobreviverão. O perfil de risco está mais próximo de Notion (exportação disponível, com perdas) do que de um verdadeiro aprisionamento proprietário.

Como o SiYuan se compara ao Logseq?

Ambos são locais primeiro e orientados a blocos. Logseq é o primeiro delineador com registro diário integrado; SiYuan prioriza o documento com recursos de estrutura de tópicos disponíveis. Logseq armazena notas como .md com um banco de dados secundário; SiYuan armazena .sy JSON. Para fluxos de trabalho de registro puro e de registro diário, o Logseq vence. Para documentação estruturada e capacidade de consulta do SQL, o SiYuan vence.

O SiYuan funciona offline?

Completamente. O aplicativo de desktop e a instância Docker auto-hospedada funcionam totalmente offline – todos os recursos, incluindo consultas SQL, renderização de gráfico e resolução de referência, são executados no índice SQLite local. A sincronização requer uma conexão de rede (com a nuvem oficial do SiYuan ou com seu próprio destino de sincronização), mas a edição e a navegação diárias não têm dependência on-line.

Vamos trabalhar juntos

Procurando construir sistemas AI, automatizar fluxos de trabalho ou dimensionar sua infraestrutura tecnológica? Eu adoraria ajudar.

Coffee cup

Gostou deste artigo?

Seu apoio me ajuda a criar mais conteúdo técnico aprofundado, ferramentas open-source e recursos gratuitos para a comunidade de desenvolvedores.

Tópicos Relacionados

Engr Mejba Ahmed

Sobre o Autor

Engr Mejba Ahmed

Engr. Mejba Ahmed builds AI-powered applications and secure cloud systems for businesses worldwide. With 10+ years shipping production software in Laravel, Python, and AWS, he's helped companies automate workflows, reduce infrastructure costs, and scale without security headaches. He writes about practical AI integration, cloud architecture, and developer productivity.

Discussion

Comments

0

No comments yet

Be the first to share your thoughts

Leave a Comment

Your email won't be published

9  x  3  =  ?

Continue Aprendendo

Artigos Relacionados

Ver Todos

Comments

Leave a Comment

Comments are moderated before appearing.

Learning Resources

Expand Your Knowledge

Accelerate your growth with structured courses, verified certificates, interactive flashcards, and production-ready AI agent skills.

Sample Certificate of Completion

Sample certificate — complete any course to earn yours

Engr Mejba Ahmed

Engr Mejba Ahmed

Claude Code Expert · Online

👋

Hey there!

Quick Actions

WhatsApp Instant reply

Chat on WhatsApp

+880 1723 741224 · Instant reply

Popular Questions

Engr Mejba Ahmed is connected
Engr Mejba Ahmed is typing...
Engr Mejba Ahmed avatar

✉ Want me to follow up? Drop your email

Engr Mejba Ahmed avatar

📞 Connect Directly

Choose how you'd like to reach me

WhatsApp

+880 1723 741224

Email

[email protected]

✓ Details sent! I'll get back to you shortly.

Powered by OpenAI

335+

Blog Posts

25

AI Courses

63

Projects

Services & Expertise

Pricing & Process

Learning & Resources

Connect & Support