Refwright
Antes chamado “Academic Paper Citation Manager” — o mesmo plugin, o mesmo id, as mesmas configurações.
Suas notas em markdown são a biblioteca de referências.
Pesquise no PubMed, receba resumos por IA, cite em qualquer estilo de periódico — um substituto do Zotero / EndNote dentro do Obsidian.
Instalar · Guia do usuário · Recursos · Claude Code / Codex · manuwright · Changelog
English · 한국어 · 中文 · 日本語 · Español · Deutsch · Français · Português
 Adicionar artigos do PubMed |
 Citar com @ |
 Conversar com a sua biblioteca |
 Mapa de citações |
Cada referência é uma simples nota `.md` com frontmatter em [CSL-JSON](https://citationstyles.org/),
de modo que sua biblioteca permanece portátil, à prova do futuro e sua. Sem aplicativo externo,
sem conta, sem backend — apenas o seu vault.
---
## 📖 Guia do usuário
Um guia passo a passo com capturas de tela, desde a inclusão de artigos até a exportação de um manuscrito em Word:
[English](https://github.com/grotyx/rag-obsidian/blob/main/docs/manual/en.md) · [한국어](https://github.com/grotyx/rag-obsidian/blob/main/docs/manual/ko.md) · [中文](https://github.com/grotyx/rag-obsidian/blob/main/docs/manual/zh.md) · [日本語](https://github.com/grotyx/rag-obsidian/blob/main/docs/manual/ja.md) · [Español](https://github.com/grotyx/rag-obsidian/blob/main/docs/manual/es.md) · [Deutsch](https://github.com/grotyx/rag-obsidian/blob/main/docs/manual/de.md) · [Français](https://github.com/grotyx/rag-obsidian/blob/main/docs/manual/fr.md) · **[Português](https://github.com/grotyx/rag-obsidian/blob/main/docs/manual/pt.md)**
[](https://github.com/grotyx/rag-obsidian/blob/main/docs/manual/pt.md)
---
## ✨ Recursos
**📥 Coletar**
- **Pesquise no PubMed por palavra-chave** dentro do Obsidian → escolha os artigos → notas.
- Adicione por **DOI / PMID / arXiv** ou pelo **título do artigo** (busca automática).
- **Importe** uma biblioteca existente — **BibTeX · RIS · PubMed `.nbib` · CSL-JSON** — ou diretamente
de um **Zotero 7** em execução (biblioteca inteira ou uma coleção).
**🧠 Resumir (IA)**
- Um LLM escreve em cada nota um **resumo seção por seção** (Background / Methods / Results /
Conclusions). *Summary language* (Settings → Chat) permite escolher inglês, coreano,
ambos (padrão: inglês + um resumo conciso em coreano) ou qualquer outro idioma pelo nome.
- Usa o **texto completo** dos artigos de acesso aberto (PubMed Central) e, nos demais casos, o resumo (abstract).
**🏷️ Organizar**
- Marca automaticamente cada nota com **termos de tópico MeSH** → a **visualização em grafo** do Obsidian agrupa
seus artigos por assunto.
- **Grafo de citações** (OpenAlex): referências / citado por na sua biblioteca e recomendações de
*"frequentemente citados, mas ausentes"* — desenhado como um **mapa** no painel Related (nós sólidos são
notas que você tem, nós tracejados são artigos que você não tem; clique em um nó tracejado para adicioná-lo). Construa-o uma vez
pelo botão do painel; as referências adicionadas depois entram nele sozinhas.
- Status de leitura, **dashboard**, contagem de citações. O **painel Library** ordena por ano, título,
autor, citações ou data de inclusão, com filtros rápidos (com PDF / sem PDF / não lido / retratado).
- **Duplicatas**: encontre-as e depois **mescle-as** — uma nota é mantida, as lacunas são preenchidas com as outras,
e as citações `[@old]` são reescritas em todo o vault.
- **Verificação de retratação** (retraction check) de uma nota ou da biblioteca inteira (OpenAlex), com uma nota de relatório.
- **Revisão sistemática**: um **painel de triagem** (include / exclude / maybe, key questions, nível
de evidência, desenho do estudo, motivos de exclusão, atalhos de teclado) e um **diagrama de fluxo PRISMA 2020** para todas as
referências ou para uma tag.
- **PDFs**: baixe cópias de acesso aberto de cada referência que não tenha PDF (Unpaywall) ou
**vincule uma pasta de PDFs** que você já tem — a correspondência é feita por nome de arquivo, DOI, PMID ou título.
**✍️ Citar e escrever**
- Digite `@` → o autocompletar insere `[@citekey]`.
- **"Update bibliography"** monta uma lista `## References` em um **estilo de periódico** real
(citeproc-js / CSL); as marcas no texto são renderizadas de acordo (`[1]`, sobrescrito ou autor–data).
- **Estilo por manuscrito** pelo frontmatter `csl:` de uma nota — ou **Choose citation style…** e
pesquise cerca de 10.000 estilos de periódicos pelo nome do periódico.
- As citações são renderizadas enquanto você digita no **Live Preview**; passe o **mouse** sobre uma para ver o artigo.
- **Check references in this manuscript** antes da submissão: ausentes da biblioteca,
retratadas, sem DOI ou com metadados incompletos.
- **Compile manuscript** → uma cópia limpa com as citações resolvidas → exportação para **`.docx`**.
**🔎 Busca e chat**
- **Busca semântica** híbrida (BM25 + vetor) e **chat fundamentado em citações** que responde
somente a partir da sua biblioteca, com fontes `[n]`.
- **Recuperação medida** (0.8.1): um **reranker cross-encoder** hospedado (cerca de US$ 0,0002 por busca), **expansão de consulta**
(seu próprio vocabulário de busca + termos de entrada do MeSH) e **tradução automática** de perguntas em coreano (ou em qualquer
outro idioma que não o inglês). Em um benchmark clínico de 96 perguntas sobre 16.578 artigos, o nDCG@10 subiu
de 0,53 para 0,81 nas perguntas em inglês e de 0,18 para 0,83 nas em coreano.
- **Busca em nível de achado** para Claude Code / Codex (MCP `search_findings`): resultados individuais —
tamanho de efeito, IC, p e a citação literal — a partir da seção `## Evidence (extracted)` de uma nota.
- **Filtros nos painéis de busca *e* de chat** — restrinja por **intervalo de anos** de publicação, por **autor**
(sobrenome) e por **tag**: digite na caixa de tag (ela autocompleta a partir das tags já existentes na
sua biblioteca) e pressione Enter para adicionar um chip; adicionando vários, o artigo precisa ter todos.
Os filtros pertencem ao painel, e não às configurações; no painel de chat, eles delimitam em quais
artigos uma resposta pode se basear, e a lista de fontes da resposta indica como ela foi restringida.
- **Claude Code / Codex via MCP (desktop):** permita que uma IA externa pesquise a biblioteca ativa,
encontre, adicione e resuma artigos, crie/edite/mova/envie para a lixeira notas Markdown com segurança e compile um
manuscrito citado. A prosa dos resumos vem do Claude/Codex; o caminho MCP nunca chama o LLM de
chat, de resumo ou de reranking deste plugin. Há botões de configuração para Claude Code, Codex, OpenCode e
Antigravity; as sete ferramentas de edição de notas podem ser desativadas.
- **Sem chave de API para o LLM (desktop):** o chat e os resumos podem rodar pelo seu
**Codex CLI** ou **OpenCode CLI** já autenticado. Os embeddings de busca ainda exigem OpenRouter/OpenAI
ou um Ollama local.
---
## 📦 Instalação
> **Publicado no diretório da comunidade do Obsidian:**
> [community.obsidian.md/plugins/academic-paper-citation-manager](https://community.obsidian.md/plugins/academic-paper-citation-manager).
> A versão 0.6.0 mudou o id do plugin; quem ainda está na 0.5.x segue o
> [guia de migração](docs/MIGRATION-0.6.md) uma única vez.
### Opção A — Community plugins (recomendada)
1. Obsidian → **Settings → Community plugins** → desative o Restricted mode, se estiver ativado.
2. **Browse** → pesquise **Refwright** → **Install** → **Enable**.
O Obsidian o atualiza como qualquer outro plugin (**Settings → Community plugins → Check for updates**).
Somente desktop (Obsidian 1.11.4+).
Instalou antes pelo **BRAT**? O id e a pasta do plugin são os mesmos, então suas configurações e o
índice são mantidos: remova o plugin da lista do BRAT e continue atualizando pelos Community plugins.
Opção B — Baixar uma release (manual)
Na [última release](https://github.com/grotyx/rag-obsidian/releases/latest), baixe
`main.js`, `manifest.json` e `styles.css` para
```text
/.obsidian/plugins/academic-paper-citation-manager/
```
(crie a pasta se ela não existir), depois recarregue o Obsidian e ative o plugin em
**Settings → Community plugins**. Para atualizar, baixe os três arquivos novamente.
Opção C — Compilar você mesmo
Requer [Node.js 18+](https://nodejs.org) e [git](https://git-scm.com).
```bash
git clone https://github.com/grotyx/rag-obsidian.git
cd rag-obsidian
npm install
cp .env.example .env # Windows: copy .env.example .env
# edit .env → set VAULT_PLUGIN_DIR to /.obsidian/plugins/academic-paper-citation-manager
npm run deploy # builds + copies the plugin into your vault
```
Depois, no Obsidian: **Settings → Community plugins → enable the plugin** → recarregue (`Ctrl/Cmd-R`).
Opção D — Vault sincronizado na nuvem (sem compilar na 2ª máquina)
Se o seu vault está no OneDrive / iCloud / Dropbox / Obsidian Sync, o plugin já compilado viaja
**dentro** do vault (`/.obsidian/plugins/academic-paper-citation-manager/`). Em outra máquina, basta
abrir o vault sincronizado e ativar o plugin — sem Node, sem build.
---
## 🚀 Início rápido (5 minutos)
1. **Recarregue** o Obsidian (`Ctrl/Cmd-R`) e confirme que o plugin está ativado.
2. **Defina seu provedor de IA** — Settings → a aba do plugin → veja **Provedores** abaixo.
3. **Adicione um artigo** — no ribbon, **🔍 Search PubMed**, digite um tópico, selecione os resultados → **Add**.
Cada um vira uma nota em `References/` com um resumo por IA + tags de tópico.
4. **Escreva e cite** — em qualquer nota, digite `@` e escolha uma referência → `[@citekey]`.
5. **Bibliografia** — `Ctrl/Cmd-P` → **Update bibliography** → uma lista `## References` no
estilo de periódico que você escolheu.
> O fluxo de citação **não precisa de embeddings**. A busca semântica e o chat são opcionais e
> exigem uma única execução de **Rebuild search index**.
### Conectar o Claude Code ou o Codex
No Obsidian Desktop, abra **Settings → Refwright → External AI (MCP)**,
ative o acesso e copie o comando gerado para o Claude Code ou a configuração do Codex. Mantenha este
vault aberto enquanto usa as ferramentas. Consulte o [guia completo do MCP](docs/MCP.md) para a lista de ferramentas,
o fluxo de edição segura, exemplos de prompts, o modelo de segurança e a solução de problemas.
O MCP delega o raciocínio e a prosa ao Claude Code ou ao Codex. Ele não chama **Chat with library**,
a sumarização de artigos nem o reranker por LLM; somente a busca na biblioteca e a reconstrução do índice podem usar o
provedor de embeddings configurado.
Para uma importação completa, peça ao cliente que adicione e resuma o artigo. Ele seguirá
`add_reference` → `get_reference_source` → `save_reference_summary`: o texto completo do PMC é preferido,
o resumo (abstract) é a alternativa, e o hash atual da nota impede a sobrescrita de edições simultâneas.
---
## 🖋️ Escreva o artigo com o manuwright
[**manuwright**](https://github.com/grotyx/Academic_writing_c_claudecode) é um projeto complementar do mesmo autor: um fluxo de trabalho para manuscritos médicos
destinado a agentes de IA (Claude Code, Codex, Antigravity, opencode, Muse). Ele faz o agente
planejar antes de escrever, citar apenas fontes registradas, extrair cada número dos seus arquivos de resultados
e passar por etapas de verificação antes da submissão. Usa o servidor MCP deste plugin como
biblioteca de referências:
- **A biblioteca é compartilhada com todos os agentes.** `manuwright obsidian connect` registra o
servidor MCP deste plugin (`rag-obsidian`) em cada agente instalado, de modo que qualquer um deles pode pesquisar seus
artigos enquanto redige. `manuwright obsidian install` também pode instalar o plugin em um vault
e ativar o acesso MCP para você.
- **O Obsidian encontra os artigos; o manuwright decide o que pode ser citado.** `manuwright evidence
import-obsidian ` copia uma nota de referência para o `knowledge/evidence.md` do artigo: os
campos CSL se tornam a citação, o resumo por IA do plugin preenche os campos de resumo, e o
citekey se torna o id `[EVID:citekey]`. As entradas importadas começam como *abstract-only* até que você
tenha lido o texto completo.
```sh
uv tool install git+https://github.com/grotyx/Academic_writing_c_claudecode
manuwright obsidian status # vaults with this plugin, and which agents are connected
manuwright obsidian connect # add the rag-obsidian MCP server to your agents
manuwright evidence import-obsidian lv2024efficacy
```

O manuwright é opcional: o plugin funciona sozinho, e o manuwright funciona sem o Obsidian.
Mantenha o Obsidian aberto, com o acesso MCP ativado, enquanto os agentes usam a biblioteca. Consulte o
[manual do manuwright](https://github.com/grotyx/Academic_writing_c_claudecode/blob/main/docs/manual.md#3b-your-obsidian-library-optional-recommended).
---
## ⚙️ Provedores
Plugáveis, todos pelo `requestUrl` do Obsidian no Obsidian Desktop:
**De fábrica, ambos vêm configurados com o provedor compatível com OpenAI apontando para o OpenRouter**, de modo que uma
única chave cobre o chat, os resumos dos artigos e os embeddings, sem nada para instalar localmente.
Cole a chave e pronto; todo o resto é opcional.
- **LLM** (chat + resumos): OpenAI / compatível (padrão) · Anthropic · Ollama (local) ·
**Codex CLI** · **OpenCode CLI**. *Chat model* é opcional e substitui o modelo padrão apenas em **Chat with library** —
vale usar um modelo mais forte ali, já que os resumos e a extração de metadados de PDF continuam no
padrão mais barato.
- **Embeddings** (busca + chat): OpenAI / compatível (padrão) · Ollama (local).
- **Sem chave de API: Codex CLI / OpenCode CLI** (desktop). Se você já usa o Codex (login do ChatGPT)
ou o OpenCode, escolha-o como provedor de LLM: cada chamada de chat, resumo e rerank passa por
essa CLI com o seu próprio login, e o plugin não armazena nenhuma chave. Deixe *Default model* vazio para usar
o padrão da própria CLI, ou informe um (`gpt-5.1-codex`; no OpenCode, `provider/model`). A CLI
é localizada nas pastas de instalação habituais, ou defina *CLI executable*; **Test** a verifica. As chamadas rodam
a partir de uma pasta temporária vazia, com a configuração de usuário da CLI ignorada (seus servidores MCP e hooks
iniciariam a cada chamada), levando cerca de 4–7 s cada, três por vez em lotes.
Os embeddings ainda exigem OpenRouter/OpenAI ou Ollama.
- **Local do índice**: *Keep the search index outside the vault* (desktop) o armazena na
pasta de dados de aplicativos do computador, de modo que um vault sincronizado não o reenvia a cada alteração; cada
dispositivo então constrói o seu.
- **Recuperação**: *Results (top-k)* é o número de trechos a partir dos quais uma resposta é construída (padrão 20; no
máximo três por referência, para que um único artigo longo não ocupe todas as vagas). *Rerank chat results with
the LLM* vem desativado por padrão — ativado, o chat recupera o dobro de trechos e faz o
modelo ordená-los por relevância antes, com uma requisição extra por pergunta.
> Os ids de modelo do OpenRouter levam um prefixo do fornecedor (`openai/…`, `deepseek/…`). Apontar a URL base
> para `https://api.openai.com/v1` também funciona — retire o prefixo dos ids de modelo.
**Usando o OpenRouter?** Escolha o provedor **OpenAI** tanto para o chat quanto para os embeddings — uma chave,
uma URL base, centenas de modelos:
| Setting | Value |
|---|---|
| Chat / Embedding provider | `OpenAI` |
| OpenAI base URL (shared) | `https://openrouter.ai/api/v1` |
| Chat model | any OpenRouter id, e.g. `deepseek/deepseek-v4-flash` |
| Embedding model | `openai/text-embedding-3-small` |
| API key (OpenRouter or OpenAI) | your OpenRouter key ([openrouter.ai/keys](https://openrouter.ai/keys)) |
**Usando o Google Gemini?** Escolha o provedor **OpenAI** e aponte-o para o endpoint do Google:
| Setting | Value |
|---|---|
| Chat provider | `OpenAI` |
| Chat model | `gemini-3.5-flash` |
| Embedding provider | `OpenAI` |
| Embedding model | `gemini-embedding-001` |
| OpenAI base URL (shared) | `https://generativelanguage.googleapis.com/v1beta/openai` |
| API key (OpenRouter or OpenAI) | your Gemini key ([Google AI Studio](https://aistudio.google.com/apikey)) |
---
## ✍️ Escrevendo um artigo (sem Zotero / plugins do Word)
```text
Obsidian: write Manuscript.md → type @ to cite → set the journal: csl: springer-basic-brackets
Ctrl/Cmd-P → "Compile manuscript" → Manuscript (compiled).md
Ctrl/Cmd-P → "Export manuscript to Word (.docx)" → Manuscript.docx (needs Pandoc)
```
- **Compile manuscript** resolve cada `[@citekey]` para a sua marca no texto formatada e acrescenta
a lista `## References` — pronta para o Pandoc / a submissão.
- **Export manuscript to Word (.docx)** compila da mesma forma e executa o Pandoc com o modelo
acadêmico incluído: Times New Roman 12 pt, espaçamento duplo, preto. O Pandoc é localizado nas pastas de
instalação habituais; defina o caminho dele em Settings → Writing se estiver em outro lugar.
(`scripts/to-docx.cjs` faz o mesmo a partir de um terminal.)
---
## 🎨 Estilos de citação
As bibliografias e as marcas no texto usam o **citeproc-js** sobre o seu CSL-JSON — o mesmo motor
que o Zotero usa.
- **Globalmente:** Settings → *Bibliography style (CSL)*. Incluídos para uso offline: **Spine · The Spine
Journal · European Spine Journal · AMA · APA**. Ou digite qualquer id de estilo (p. ex. `nature`,
`the-lancet`) — ele é obtido do [repositório CSL](https://github.com/citation-style-language/styles)
e guardado em cache.
- **Por manuscrito:** adicione `csl:` ao frontmatter da nota — ele substitui o estilo global.
```yaml
---
csl: springer-basic-brackets
---
```
| Journal | `csl:` value |
|---|---|
| Spine | `spine` |
| The Spine Journal | `elsevier-vancouver` |
| European Spine Journal | `springer-basic-brackets` |
| Global Spine Journal | `american-medical-association` |
| anything else | any id from the CSL styles repo |
---
## 🧰 Comandos
| Group | Commands |
|---|---|
| **Add** | Search PubMed · Add by DOI / PMID / arXiv / title · Import (BibTeX / RIS / nbib / CSL-JSON / Zotero) · Import PDF |
| **Read** | Mark unread / reading / read · Reading queue · Find open-access PDF · Download open-access PDF · Download open-access PDF files for references without one · Link PDF files in a folder to references · Extract PDF highlights · Index linked PDF files · Index this note's PDF · Open reference online |
| **Organize** | Summarize and tag references (fill gaps) · Summarize and tag this reference · Summarize and tag references in a folder or tag… · Re-summarize this reference · Re-summarize references made by an older model · Open screening pane · Create PRISMA flow diagram · Library dashboard · Find duplicates · Merge duplicates… · Backfill citation counts · Check retraction (this note / all) · Rename tag · Enrich metadata · Suggest related papers · Export citation network |
| **Write** | `@` autocomplete · Suggest citations for selection · Find unsupported claims · Update bibliography · Choose citation style… · Check references in this manuscript · Compile manuscript · Export manuscript to Word (.docx) · Copy citation · Export annotated bibliography · Save latest chat answer as note |
| **Search** | Search library (semantic) · Chat with library · Show related papers · Build citation graph · Rebuild search index |
| **Export** | Library → BibTeX / RIS / CSL-JSON |
---
## 🛠️ Para desenvolvedores
```bash
npm run dev # esbuild watch → main.js
npm run deploy # build + copy into the vault (VAULT_PLUGIN_DIR in .env)
npm run build # tsc + esbuild production
npm test # live integration suite + MCP contract/security checks
```
Script auxiliar (terminal, sem precisar do Obsidian) — caminho vindo do `.env`:
```bash
node scripts/to-docx.cjs "Manuscript (compiled).md" # compiled md → styled .docx
```
Veja [`docs/MCP.md`](./docs/MCP.md) para a configuração de IA externa,
[`docs/MIGRATION-0.6.md`](./docs/MIGRATION-0.6.md) para a migração da 0.5.x e
[`CLAUDE.md`](./CLAUDE.md) para o mapa de módulos.
---
## ⚠️ Observações e limitações
- O id do plugin compatível com a Community é `academic-paper-citation-manager`. O nome da conexão MCP
continua `rag-obsidian`; esses identificadores são independentes.
- Os nomes de arquivo são **legíveis** (`2022-SpineJ-ParkSM-Biportal.md`); o `citekey:` curto no
frontmatter é o identificador usado em `[@cite]`.
- A exportação para `.docx` precisa do **Pandoc**; a extração de destaques de PDF precisa de um PDF com anotações.
- Esta versão é **somente para desktop** porque a ponte MCP ao vivo, opcional, usa APIs do Node. Mantenha o
Obsidian Desktop e o vault de destino abertos enquanto usa o MCP.
- O painel Properties do Obsidian pode emitir avisos sobre frontmatter CSL aninhado — os dados são válidos.
- Defina **Contact e-mail** nas configurações: OpenAlex, Unpaywall e PubMed o utilizam, e
a busca de PDFs de acesso aberto não funciona sem um.
- As chaves de API ficam no chaveiro do sistema operacional (secretStorage do Obsidian) e são apagadas do `data.json`; em um
vault sincronizado, informe a chave uma vez por dispositivo.
- Builds/implantações a partir do código-fonte incluem estilos CSL em `styles/` (CC BY-SA 3.0; veja
`styles/README.md`). As instalações pela Community obtêm e guardam em cache um estilo/locale CSL selecionado se ele não
estiver presente nos três arquivos da release. O código do plugin é MIT.
- A instalação em dispositivos móveis não é suportada desde a 0.6.0; veja [docs/MOBILE.md](docs/MOBILE.md).
## 🔒 Rede e privacidade
- A consulta/busca de referências envia identificadores ou consultas ao Crossref, NCBI PubMed/PMC, OpenAlex,
Unpaywall e arXiv conforme necessário. Estilos/locales CSL podem ser baixados do repositório oficial
do CSL no GitHub. O PDF.js é incluído no plugin; nenhum código executável é carregado de uma CDN.
As requisições de rede estão sujeitas às políticas de privacidade dos serviços contatados.
- Os recursos de IA enviam o texto de origem selecionado e o prompt ao provedor que você configurar: um
endpoint compatível com OpenAI (incluindo OpenRouter ou Gemini), Anthropic ou Ollama. As chaves de API são
armazenadas no SecretStorage do Obsidian quando disponível; versões mais antigas do Obsidian recorrem ao
`data.json` do plugin. O plugin não tem telemetria, publicidade, serviço de contas nem backend hospedado.
- Com *Rerank results with a cross-encoder* ativado (padrão), a consulta de busca e os trechos
recuperados são enviados ao endpoint de rerank do OpenRouter. Com *Translate non-English searches* ativado
(padrão), uma consulta que não esteja em inglês é enviada ao seu modelo de chat para tradução. *Build MeSH synonym list
for search* envia os termos de assunto mais comuns da sua biblioteca ao NCBI E-utilities.
- O MCP escuta apenas em `127.0.0.1`, com autenticação. Ele grava uma ponte gerada ao lado do plugin
e um arquivo de descoberta de curta duração no diretório temporário do sistema operacional (fora do
vault); ambos contêm dados de conexão, nunca o conteúdo das notas nem as chaves de API dos provedores. As ferramentas MCP podem
ler e alterar os Markdown do vault somente quando você ativa o acesso MCP. Veja [o modelo de segurança
do MCP](docs/MCP.md#editing-and-deletion-safeguards).
- **Programas locais (desktop, opcional).** Dois recursos executam um programa já instalado no seu
computador, e somente quando você os usa: os provedores de LLM **Codex CLI / OpenCode CLI** (o prompt
e o texto de origem vão para essa CLI, que os envia ao próprio provedor sob o seu login; o
plugin não armazena chave e ignora a configuração de usuário da CLI) e **Export manuscript to Word**
(Pandoc, executado localmente sobre o manuscrito compilado). O plugin nunca baixa nem instala
nenhum dos dois programas.
- **Arquivos fora do vault (desktop, opcional).** Com "Keep the search index outside the vault"
ativado, o índice é gravado na pasta de dados de aplicativos do sistema operacional
(`~/Library/Application Support`, `%LOCALAPPDATA%` ou `~/.local/share`, em
`academic-paper-citation-manager/`; até a 0.8.1 era a pasta de cache, que os programas de limpeza esvaziam).
As chamadas à CLI e ao Pandoc usam uma pasta temporária que é excluída após cada chamada.
## 👤 Autor
**Professor Sang-Min Park, M.D., Ph.D.**
Department of Orthopaedic Surgery, Seoul National University Bundang Hospital,
Seoul National University College of Medicine
🌐 [sangmin.me](https://sangmin.me/)
## 📄 Licença
MIT (código do plugin). O PDF.js incluído mantém sua licença Apache-2.0 completa e o aviso de modificação no `main.js`; os
estilos/locales CSL mantêm sua licença CC BY-SA 3.0 (veja [THIRD_PARTY_NOTICES.md](./THIRD_PARTY_NOTICES.md)).