{"_id":"@ai4paper/apaper-plugin","_rev":"5-f2445badb88a5081cafb45c5fae8fba5","name":"@ai4paper/apaper-plugin","dist-tags":{"latest":"0.3.1"},"versions":{"0.2.1":{"name":"@ai4paper/apaper-plugin","version":"0.2.1","keywords":["opencode","claude-code","mcp","academic-writing"],"author":{"name":"ai4paper"},"license":"MIT","_id":"@ai4paper/apaper-plugin@0.2.1","maintainers":[{"name":"isomoes-a","email":"jiahaoxiang2000@gmail.com"}],"homepage":"https://github.com/ai4paper/apaper-plugin#readme","bugs":{"url":"https://github.com/ai4paper/apaper-plugin/issues"},"dist":{"shasum":"c23649b37e3b2d3971e52ac80657c7e8ef13117f","tarball":"https://registry.npmjs.org/@ai4paper/apaper-plugin/-/apaper-plugin-0.2.1.tgz","fileCount":16,"integrity":"sha512-ofyjinXJ1PztksBdt7Rg33Qo7QhaEQK4+Th2YwmZgvswU6G2WzRFeON6nifNLq8SwPCdOz0h3i0P7bSOGUNXEQ==","signatures":[{"sig":"MEYCIQCShP+fko23bXeL+XUkqeY26H5/ss0awf1hX/qNRpMb4QIhAKUKTHBNEsHcVk2ihp50Vq8iJE2j23CsqPdyG6u71drG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90781},"type":"module","engines":{"node":">=20"},"exports":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"gitHead":"d206f764ac25d79c787de0232dacfba0c947a964","scripts":{"test":"node --test test/*.test.ts","build":"tsc","prepack":"npm run build","pretest":"npm run build","typecheck":"npm run build && tsc --project tsconfig.test.json","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"isomoes-a","email":"jiahaoxiang2000@gmail.com"},"repository":{"url":"git+https://github.com/ai4paper/apaper-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"Academic paper authoring plugin for OpenCode and Claude Code.","directories":{},"_nodeVersion":"24.13.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^24.10.0","@opencode-ai/plugin":"^1.18.13"},"_npmOperationalInternal":{"tmp":"tmp/apaper-plugin_0.2.1_1785897464880_0.7818228287786533","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@ai4paper/apaper-plugin","version":"0.2.2","keywords":["opencode","claude-code","mcp","academic-writing"],"author":{"name":"ai4paper"},"license":"MIT","_id":"@ai4paper/apaper-plugin@0.2.2","maintainers":[{"name":"isomoes-a","email":"jiahaoxiang2000@gmail.com"}],"homepage":"https://github.com/ai4paper/apaper-plugin#readme","bugs":{"url":"https://github.com/ai4paper/apaper-plugin/issues"},"dist":{"shasum":"01b033712482354af160c9991b42c772b3d31d05","tarball":"https://registry.npmjs.org/@ai4paper/apaper-plugin/-/apaper-plugin-0.2.2.tgz","fileCount":16,"integrity":"sha512-SQWGDLcJYHZf3nI3uINGoq98o1DD8ugKEYM6N5I0YeZ3D5JfuafQLWX7diRTZLBCuEh9iFLo09wvk252Iu25Fw==","signatures":[{"sig":"MEQCIHYImkTk52k9o5vOp36WGFzbnw2jBWBHl6YxSM0UsAkAAiAJTMntEwuVWex47rHD7Ivwiz7WYVUWaPy2AdAildGDXw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai4paper%2fapaper-plugin@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90925},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"993d5e9e77b2b0a7752e28de131c89f42198a62c","scripts":{"test":"node --test test/*.test.ts","build":"tsc","prepack":"npm run build","pretest":"npm run build","typecheck":"npm run build && tsc --project tsconfig.test.json","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c063fcf7-8d54-448d-9bc9-d5741d36f817"}},"repository":{"url":"git+https://github.com/ai4paper/apaper-plugin.git","type":"git"},"_npmVersion":"12.0.2","description":"Academic paper authoring plugin for OpenCode and Claude Code.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^24.10.0","@opencode-ai/plugin":"^1.18.13"},"_npmOperationalInternal":{"tmp":"tmp/apaper-plugin_0.2.2_1785898534568_0.7616907371968258","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@ai4paper/apaper-plugin","version":"0.2.3","keywords":["deepseek-harness","opencode","claude-code","mcp","academic-writing"],"author":{"name":"ai4paper"},"license":"MIT","_id":"@ai4paper/apaper-plugin@0.2.3","maintainers":[{"name":"isomoes-a","email":"jiahaoxiang2000@gmail.com"}],"homepage":"https://github.com/ai4paper/apaper-plugin#readme","bugs":{"url":"https://github.com/ai4paper/apaper-plugin/issues"},"dist":{"shasum":"0e521872aa84db1a893a087db42737628cbdef6e","tarball":"https://registry.npmjs.org/@ai4paper/apaper-plugin/-/apaper-plugin-0.2.3.tgz","fileCount":21,"integrity":"sha512-j4oFcoHxcJ/enPB6+NDrnBjVfnCxAHgPdZDSOO85lhMHyedUAa5ZKClyh1NW6SVb6n+z/KGQ3xAG2wNuvq0R4A==","signatures":[{"sig":"MEYCIQDpK/G6jvx9DxInezYkS4IP/HhWQ5NfhsLjmY8rZTvl/AIhAI/dxLKjtt46JSm5oRGbQu+42o5RshXas9HhG/sKfiif","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai4paper%2fapaper-plugin@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":98389},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dsh":{"types":"./dsh/index.d.ts","import":"./dsh/index.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"fea6c15a1f357ef551f2a3813307b4f6d93e6c13","scripts":{"test":"node --test test/*.test.ts","build":"tsc","prepack":"npm run build","pretest":"npm run build","typecheck":"npm run build && tsc --project tsconfig.test.json","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c063fcf7-8d54-448d-9bc9-d5741d36f817"}},"repository":{"url":"git+https://github.com/ai4paper/apaper-plugin.git","type":"git"},"_npmVersion":"12.0.2","description":"Academic paper authoring plugin for DeepSeek Harness, OpenCode, Claude Code, and Codex.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@deepseek-ai/dsh-mcp-client":"^0.1.0-rc.6"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^24.10.0","@opencode-ai/plugin":"^1.18.13"},"_npmOperationalInternal":{"tmp":"tmp/apaper-plugin_0.2.3_1786889235492_0.8930635434067167","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@ai4paper/apaper-plugin","version":"0.3.0","keywords":["claude-code","codex","codex-plugin","opencode","agent-skills","mcp","academic-writing"],"author":{"name":"ai4paper"},"license":"MIT","_id":"@ai4paper/apaper-plugin@0.3.0","maintainers":[{"name":"isomoes-a","email":"jiahaoxiang2000@gmail.com"}],"homepage":"https://github.com/ai4paper/apaper-plugin#readme","bugs":{"url":"https://github.com/ai4paper/apaper-plugin/issues"},"dist":{"shasum":"7db6032108b19c2fb54e40f2a7cacd1385df08be","tarball":"https://registry.npmjs.org/@ai4paper/apaper-plugin/-/apaper-plugin-0.3.0.tgz","fileCount":25,"integrity":"sha512-mXy2LWAQ7pg5WKe+SF1D8AJwO8VC0lvHmocbIdo6MKb5+Nfol+aXBz9ryiot19h30AjqzlocbakH+zjbyLF5zw==","signatures":[{"sig":"MEUCIQCh/fMEJfcJIp+FcO9N82lmTRvCtR64B35Q+c+RNYDCsQIgNZCi0CWH7t8qMgt6RkZqTz2HHhRrOoAOXYSR5j2PUoo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCipUm2GHmep0L+i/O1RMzCmTA0ctfOPx6cySImQTOjxQIgbBDBCCJ549thJX5C7fPPKmeA5FCnreBPODRYfSq1NnM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai4paper%2fapaper-plugin@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":101915},"type":"module","gitHead":"054feabb6ebbdf288b27a4e10cc1c628ddc58545","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --project tsconfig.json","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c063fcf7-8d54-448d-9bc9-d5741d36f817"}},"repository":{"url":"git+https://github.com/ai4paper/apaper-plugin.git","type":"git"},"_npmVersion":"12.0.2","description":"APaper plugin for Codex, with academic writing skills and MCP configuration for Claude Code and OpenCode.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^24.10.0"},"_npmOperationalInternal":{"tmp":"tmp/apaper-plugin_0.3.0_1789894162766_0.9198059103083134","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"_id":"@ai4paper/apaper-plugin@0.3.1","bugs":{"url":"https://github.com/ai4paper/apaper-plugin/issues"},"dist":{"shasum":"4d6c1b9443a411ac4128b5227ce6dd9a6be5bf2a","tarball":"https://registry.npmjs.org/@ai4paper/apaper-plugin/-/apaper-plugin-0.3.1.tgz","fileCount":26,"integrity":"sha512-0oRzeHEcfcZV61V7WZYnkw57HlNwTg//RIXskNefBqYFGBk73h1gWEOyGXD4hx9D+go0M8k4WTtCGY9n9rbZZg==","signatures":[{"sig":"MEYCIQC37IqW29Jp1eoL8pIjuljBKECQEdyUuV4IUtX0uKlUGAIhAP1sOAcEdV2tWWgj7MVi+SgkKQPxhBTbdP6HwFz3MWAJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCQEWP4pGfclNwXavhTqvphwONkVRdC8bB9qBPsvZ1mSQIhAMOGG3v93YKx42rntkc9pYTklxjT8ZCHUi4CX/6wmUWk"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai4paper%2fapaper-plugin@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":102972},"name":"@ai4paper/apaper-plugin","type":"module","author":{"name":"ai4paper"},"exports":{".":"./opencode/index.js","./server":"./opencode/index.js"},"gitHead":"e78cdd0170fcc625ed0db136fdfe316b796ea443","license":"MIT","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --project tsconfig.json","pack:check":"npm pack --dry-run"},"version":"0.3.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c063fcf7-8d54-448d-9bc9-d5741d36f817"}},"homepage":"https://github.com/ai4paper/apaper-plugin#readme","keywords":["claude-code","codex","codex-plugin","opencode","agent-skills","mcp","academic-writing"],"repository":{"url":"git+https://github.com/ai4paper/apaper-plugin.git","type":"git"},"_npmVersion":"12.1.0","description":"APaper plugin for Codex and OpenCode, with academic writing skills and MCP configuration for Claude Code.","directories":{},"maintainers":[{"name":"isomoes-a","email":"jiahaoxiang2000@gmail.com"}],"_nodeVersion":"24.21.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^24.10.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/apaper-plugin_0.3.1_1790430190917_0.6696879666824862"}}},"time":{"created":"2026-08-05T02:37:44.753Z","modified":"2026-09-26T13:43:11.310Z","0.2.1":"2026-08-05T02:37:45.026Z","0.2.2":"2026-08-05T02:55:34.710Z","0.2.3":"2026-08-16T14:07:15.660Z","0.3.0":"2026-09-20T08:49:22.868Z","0.3.1":"2026-09-26T13:43:10.988Z"},"bugs":{"url":"https://github.com/ai4paper/apaper-plugin/issues"},"author":{"name":"ai4paper"},"license":"MIT","homepage":"https://github.com/ai4paper/apaper-plugin#readme","keywords":["claude-code","codex","codex-plugin","opencode","agent-skills","mcp","academic-writing"],"repository":{"url":"git+https://github.com/ai4paper/apaper-plugin.git","type":"git"},"description":"APaper plugin for Codex and OpenCode, with academic writing skills and MCP configuration for Claude Code.","maintainers":[{"name":"isomoes-a","email":"jiahaoxiang2000@gmail.com"}],"readme":"# APaper plugin\n\nAcademic paper-authoring tools for **Codex** and **OpenCode V2**: literature\nresearch through MCP, academic writing, and publication-quality figures.\n\n| Tool | Purpose |\n| --- | --- |\n| [`apaper-mcp`](https://github.com/ai4paper/apaper-mcp) | Paper research and literature search through MCP. |\n| [`writing`](skills/writing/SKILL.md) | Revise academic prose, with IEEE journal, LaTeX, and theorem-statement guidance. |\n| [`creating-figures`](skills/creating-figures/SKILL.md) | Publication-quality TikZ and CeTZ figures, including examples and rendering guidance. |\n\nThe skills are sourced from [`isomoes/skills`](https://github.com/isomoes/skills).\n\n**Requirements:** `uvx` and Python 3.12+ on the client's `PATH` for `apaper-mcp`\n(downloaded from PyPI on first launch), and LaTeX or Typst to compile figures.\n\n## Codex\n\n```bash\ncodex plugin marketplace add ai4paper/apaper-plugin\ncodex plugin add apaper-plugin@ai4paper\n```\n\nRestart Codex and start a new thread in your paper repository. Try:\n\n- \"Use APaper to find related papers for my research topic.\"\n- \"Use APaper to revise this abstract for clarity and precision.\"\n- \"Use APaper to create a TikZ architecture diagram for this method.\"\n\nOther tasks:\n\n- **Update:** `codex plugin marketplace upgrade ai4paper`, then rerun `codex plugin add apaper-plugin@ai4paper`.\n- **Uninstall:** `codex plugin remove apaper-plugin@ai4paper`.\n- **Local checkout:** run `codex plugin marketplace add .` in this repository instead. Run `codex plugin marketplace remove ai4paper` before switching sources.\n- **Migrating from the old installer:** remove its `apaper-mcp` entry from `.codex/config.toml` and the copied `.agents/skills/{writing,creating-figures}` to avoid loading APaper twice.\n\n## OpenCode\n\nFor one paper repository, add APaper to its `opencode.json` or\n`.opencode/opencode.json`. OpenCode installs it on the next start:\n\n```jsonc\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"plugins\": [\"@ai4paper/apaper-plugin\"]\n}\n```\n\nFor every project, install it globally:\n\n```bash\nopencode plugin add @ai4paper/apaper-plugin\n```\n\n- **Update:** `opencode plugin update @ai4paper/apaper-plugin` for global installs; for a repository, pin a version such as `\"@ai4paper/apaper-plugin@0.4.0\"`.\n- **Local checkout:** use `\"/path/to/apaper-plugin/opencode\"` as the `plugins` entry.\n- **Existing setup:** your own `apaper-mcp` server or same-named skills take precedence; remove manual copies to use the bundled versions.\n\n## Other clients\n\nMerge an example from [`mcp/`](mcp/) into your client configuration, and copy the\nfolders under [`skills/`](skills/) into its skill directory, keeping each folder\nintact. Any stdio MCP client can run `uvx apaper-mcp`.\n\n## Development\n\nUse Node.js 24+:\n\n```bash\nnpm ci\nnpm run typecheck\nnpm test\nnpm run pack:check\n```\n\nThe npm package ships the Codex manifest ([`.codex-plugin/`](.codex-plugin/),\n[`.mcp.json`](.mcp.json)), the OpenCode entry point\n([`opencode/index.js`](opencode/index.js)), MCP templates, and skills. Keep the\nversions in `.codex-plugin/plugin.json`, `package.json`, and `package-lock.json`\naligned. Releases publish through npm trusted publishing; see\n[`prompt/release.md`](prompt/release.md).\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n","readmeFilename":"README.md"}