{"_id":"@alessiods/openrouter-mask","name":"@alessiods/openrouter-mask","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@alessiods/openrouter-mask","version":"1.0.0","description":"OpenCode plugin that masks your requests as Hermes Agent on OpenRouter. Spoofs HTTP-Referer, X-OpenRouter-Title, and X-OpenRouter-Categories headers.","keywords":["opencode-plugin","opencode","openrouter","hermes-agent","nousresearch","mask","spoof"],"license":"MIT","author":{"name":"Alessio DS","url":"https://github.com/alessio-ds"},"homepage":"https://github.com/alessio-ds/openrouter-mask","repository":{"type":"git","url":"git+https://github.com/alessio-ds/openrouter-mask.git"},"bugs":{"url":"https://github.com/alessio-ds/openrouter-mask/issues"},"main":".opencode/plugins/openrouter-mask.mjs","exports":{".":".opencode/plugins/openrouter-mask.mjs","./plugin":".opencode/plugins/openrouter-mask.mjs"},"publishConfig":{"access":"public"},"_id":"@alessiods/openrouter-mask@1.0.0","gitHead":"cc9284a25e8ad15bb605ec7b7d30c32249d4adc5","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-oi0CnkFPfZUsNc+RUWX9tzDAYUG/Y968hrfdtYJidCGDxx+naOSQWi6BKOC1vZdNkOMZen9CwOw+eDd8GH/BvA==","shasum":"179a6cb07f6e940b55b59e2f85ab414a8983ed65","tarball":"https://registry.npmjs.org/@alessiods/openrouter-mask/-/openrouter-mask-1.0.0.tgz","fileCount":4,"unpackedSize":4222,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDm5Km7xqkGlvp1iAcEaF5GcGzJXhbhrOGHb+tg4M89ZAiB6nBMbDRx49hLvXN05UgkGptSLOsw2o9ZcRAUUuZz9qQ=="}]},"_npmUser":{"name":"alessiods","email":"hello@alessiodellasanta.com"},"directories":{},"maintainers":[{"name":"alessiods","email":"hello@alessiodellasanta.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/openrouter-mask_1.0.0_1784811636479_0.7468539640428498"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-23T13:00:36.365Z","1.0.0":"2026-07-23T13:00:36.616Z","modified":"2026-07-23T13:00:36.789Z"},"maintainers":[{"name":"alessiods","email":"hello@alessiodellasanta.com"}],"description":"OpenCode plugin that masks your requests as Hermes Agent on OpenRouter. Spoofs HTTP-Referer, X-OpenRouter-Title, and X-OpenRouter-Categories headers.","homepage":"https://github.com/alessio-ds/openrouter-mask","keywords":["opencode-plugin","opencode","openrouter","hermes-agent","nousresearch","mask","spoof"],"repository":{"type":"git","url":"git+https://github.com/alessio-ds/openrouter-mask.git"},"author":{"name":"Alessio DS","url":"https://github.com/alessio-ds"},"bugs":{"url":"https://github.com/alessio-ds/openrouter-mask/issues"},"license":"MIT","readme":"# openrouter-mask\n\n[![npm version](https://img.shields.io/npm/v/@alessiods/openrouter-mask.svg)](https://www.npmjs.com/package/@alessiods/openrouter-mask)\n[![license](https://img.shields.io/npm/l/@alessiods/openrouter-mask.svg)](LICENSE)\n\nOpenCode plugin that masks your API requests as **Hermes Agent** on OpenRouter.\n\n## What it does\n\nWhen you send requests through OpenRouter, this plugin overrides the following HTTP headers:\n\n| Header | Value |\n|---|---|\n| `HTTP-Referer` | `https://hermes-agent.nousresearch.com/` |\n| `X-OpenRouter-Title` | `Hermes Agent` |\n| `X-OpenRouter-Categories` | `personal-agent,cli-agent` |\n\nThis makes your requests appear as if they originate from the Hermes Agent application on OpenRouter, which can help with rate limits, usage tracking, and attribution.\n\n## Install\n\n### npm\n\n```bash\nnpm install @alessiods/openrouter-mask\n```\n\n### OpenCode\n\nAdd to your `opencode.json`:\n\n```json\n{\n  \"plugin\": [\"@alessiods/openrouter-mask\"]\n}\n```\n\n### From source\n\n```json\n{\n  \"plugin\": [\"path/to/openrouter-mask/.opencode/plugins/openrouter-mask.mjs\"]\n}\n```\n\n## How it works\n\nThe plugin hooks into OpenCode's `chat.headers` lifecycle event and injects the spoofed headers before each request is sent to the OpenRouter API.\n\n```typescript\nimport type { Plugin } from \"@opencode-ai/plugin\"\n\nexport default (async () => {\n  return {\n    \"chat.headers\": async (input, output) => {\n      output.headers[\"HTTP-Referer\"] = \"https://hermes-agent.nousresearch.com/\"\n      output.headers[\"X-OpenRouter-Title\"] = \"Hermes Agent\"\n      output.headers[\"X-OpenRouter-Categories\"] = \"personal-agent,cli-agent\"\n    },\n  }\n}) satisfies Plugin\n```\n\n## Configuration\n\nNo configuration needed. Install and it works.\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-b7948ee8f5527cef52a4f94d5963ddbb"}