[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-75006":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":9,"rankLanguage":9,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":9,"pushedAt":9,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":15,"starSnapshotCount":15,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},75006,"hermes-paperclip-adapter","NousResearch\u002Fhermes-paperclip-adapter","NousResearch","Paperclip adapter for Hermes Agent — run Hermes as a managed employee in a Paperclip company",null,"TypeScript",1553,302,11,55,0,36,102,375,108,20.44,"MIT License",false,"main",true,[],"2026-06-12 02:03:31","# Paperclip Adapter for Hermes Agent\n\nA [Paperclip](https:\u002F\u002Fpaperclip.ing) adapter that lets you run [Hermes Agent](https:\u002F\u002Fgithub.com\u002FNousResearch\u002Fhermes-agent) as a managed employee in a Paperclip company.\n\nHermes Agent is a full-featured AI agent by [Nous Research](https:\u002F\u002Fnousresearch.com) with 30+ native tools, persistent memory, session persistence, 80+ skills, MCP support, and multi-provider model access.\n\n## Key Features\n\nThis adapter provides:\n\n- **8 inference providers** — Anthropic, OpenRouter, OpenAI, Nous, OpenAI Codex, ZAI, Kimi Coding, MiniMax\n- **Skills integration** — Scans both Paperclip-managed and Hermes-native skills (`~\u002F.hermes\u002Fskills\u002F`), with sync\u002Flist\u002Fresolve APIs\n- **Structured transcript parsing** — Raw Hermes stdout is parsed into typed `TranscriptEntry` objects so Paperclip renders proper tool cards with status icons and expand\u002Fcollapse\n- **Rich post-processing** — Converts Hermes ASCII banners, setext headings, and `+--+` table borders into clean GFM markdown\n- **Comment-driven wakes** — Agents wake to respond to issue comments, not just task assignments\n- **Auto model detection** — Reads `~\u002F.hermes\u002Fconfig.yaml` to pre-populate the UI with the user's configured model\n- **Session codec** — Structured validation and migration of session state across heartbeats\n- **Benign stderr reclassification** — MCP init messages and structured logs are reclassified so they don't appear as errors in the UI\n- **Session source tagging** — Sessions are tagged as `tool` source so they don't clutter the user's interactive history\n- **Filesystem checkpoints** — Optional `--checkpoints` for rollback safety\n- **Thinking effort control** — Passes `--reasoning-effort` for thinking\u002Freasoning models\n\n### Hermes Agent Capabilities\n\n| Feature | Claude Code | Codex | Hermes Agent |\n|---------|------------|-------|-------------|\n| Persistent memory | ❌ | ❌ | ✅ Remembers across sessions |\n| Native tools | ~5 | ~5 | 30+ (terminal, file, web, browser, vision, git, etc.) |\n| Skills system | ❌ | ❌ | ✅ 80+ loadable skills |\n| Session search | ❌ | ❌ | ✅ FTS5 search over past conversations |\n| Sub-agent delegation | ❌ | ❌ | ✅ Parallel sub-tasks |\n| Context compression | ❌ | ❌ | ✅ Auto-compresses long conversations |\n| MCP client | ❌ | ❌ | ✅ Connect to any MCP server |\n| Multi-provider | Anthropic only | OpenAI only | ✅ 8 providers out of the box |\n\n## Installation\n\n```bash\nnpm install hermes-paperclip-adapter\n```\n\n### Prerequisites\n\n- [Hermes Agent](https:\u002F\u002Fgithub.com\u002FNousResearch\u002Fhermes-agent) installed (`pip install hermes-agent`)\n- Python 3.10+\n- At least one LLM API key (Anthropic, OpenRouter, or OpenAI)\n\n## Quick Start\n\n### 1. Register the adapter in your Paperclip server\n\nAdd to your Paperclip server's adapter registry (`server\u002Fsrc\u002Fadapters\u002Fregistry.ts`):\n\n```typescript\nimport * as hermesLocal from \"hermes-paperclip-adapter\";\nimport {\n  execute,\n  testEnvironment,\n  detectModel,\n  listSkills,\n  syncSkills,\n  sessionCodec,\n} from \"hermes-paperclip-adapter\u002Fserver\";\n\nregistry.set(\"hermes_local\", {\n  ...hermesLocal,\n  execute,\n  testEnvironment,\n  detectModel,\n  listSkills,\n  syncSkills,\n  sessionCodec,\n});\n```\n\n### 2. Create a Hermes agent in Paperclip\n\nIn the Paperclip UI or via API, create an agent with adapter type `hermes_local`:\n\n```json\n{\n  \"name\": \"Hermes Engineer\",\n  \"adapterType\": \"hermes_local\",\n  \"adapterConfig\": {\n    \"model\": \"anthropic\u002Fclaude-sonnet-4\",\n    \"maxIterations\": 50,\n    \"timeoutSec\": 300,\n    \"persistSession\": true,\n    \"enabledToolsets\": [\"terminal\", \"file\", \"web\"]\n  }\n}\n```\n\n### 3. Assign work\n\nCreate issues in Paperclip and assign them to your Hermes agent. On each heartbeat, Hermes will:\n\n1. Receive the task instructions\n2. Use its full tool suite to complete the work\n3. Report results back to Paperclip\n4. Persist session state for continuity\n\n## Configuration Reference\n\n### Core\n\n| Field | Type | Default | Description |\n|-------|------|---------|-------------|\n| `model` | string | `anthropic\u002Fclaude-sonnet-4` | Model in `provider\u002Fmodel` format |\n| `provider` | string | *(auto-detected)* | API provider: `auto`, `openrouter`, `nous`, `openai-codex`, `zai`, `kimi-coding`, `minimax`, `minimax-cn` |\n| `timeoutSec` | number | `300` | Execution timeout in seconds |\n| `graceSec` | number | `10` | Grace period before SIGKILL |\n\n### Tools\n\n| Field | Type | Default | Description |\n|-------|------|---------|-------------|\n| `toolsets` | string | *(all)* | Comma-separated toolsets to enable (e.g. `\"terminal,file,web\"`) |\n\nAvailable toolsets: `terminal`, `file`, `web`, `browser`, `code_execution`, `vision`, `mcp`, `creative`, `productivity`\n\n### Session & Workspace\n\n| Field | Type | Default | Description |\n|-------|------|---------|-------------|\n| `persistSession` | boolean | `true` | Resume sessions across heartbeats |\n| `worktreeMode` | boolean | `false` | Git worktree isolation |\n| `checkpoints` | boolean | `false` | Enable filesystem checkpoints for rollback |\n\n### Advanced\n\n| Field | Type | Default | Description |\n|-------|------|---------|-------------|\n| `hermesCommand` | string | `hermes` | Custom CLI binary path |\n| `verbose` | boolean | `false` | Enable verbose output |\n| `quiet` | boolean | `true` | Quiet mode (clean output, no banner\u002Fspinner) |\n| `extraArgs` | string[] | `[]` | Additional CLI arguments |\n| `env` | object | `{}` | Extra environment variables |\n| `promptTemplate` | string | *(built-in)* | Custom prompt template |\n| `paperclipApiUrl` | string | `http:\u002F\u002F127.0.0.1:3100\u002Fapi` | Paperclip API base URL |\n\n### Prompt Template Variables\n\nUse `{{variable}}` syntax in `promptTemplate`:\n\n| Variable | Description |\n|----------|-------------|\n| `{{agentId}}` | Paperclip agent ID |\n| `{{agentName}}` | Agent display name |\n| `{{companyId}}` | Company ID |\n| `{{companyName}}` | Company name |\n| `{{runId}}` | Current heartbeat run ID |\n| `{{taskId}}` | Assigned task\u002Fissue ID |\n| `{{taskTitle}}` | Task title |\n| `{{taskBody}}` | Task instructions |\n| `{{projectName}}` | Project name |\n| `{{paperclipApiUrl}}` | Paperclip API base URL |\n| `{{commentId}}` | Comment ID (when woken by a comment) |\n| `{{wakeReason}}` | Reason this run was triggered |\n\nConditional sections:\n\n- `{{#taskId}}...{{\u002FtaskId}}` — included only when a task is assigned\n- `{{#noTask}}...{{\u002FnoTask}}` — included only when no task (heartbeat check)\n- `{{#commentId}}...{{\u002FcommentId}}` — included only when woken by a comment\n\n## Architecture\n\n```\nPaperclip                          Hermes Agent\n┌──────────────────┐               ┌──────────────────┐\n│  Heartbeat       │               │                  │\n│  Scheduler       │───execute()──▶│  hermes chat -q  │\n│                  │               │                  │\n│  Issue System    │               │  30+ Tools       │\n│  Comment Wakes   │◀──results─────│  Memory System   │\n│                  │               │  Session DB      │\n│  Cost Tracking   │               │  Skills          │\n│                  │               │  MCP Client      │\n│  Skill Sync      │◀──snapshot────│  ~\u002F.hermes\u002Fskills│\n│  Org Chart       │               │                  │\n└──────────────────┘               └──────────────────┘\n```\n\nThe adapter spawns Hermes Agent's CLI in single-query mode (`-q`). Hermes\nprocesses the task using its full tool suite, then exits. The adapter:\n\n1. **Captures** stdout\u002Fstderr and parses token usage, session IDs, and cost\n2. **Parses** raw output into structured `TranscriptEntry` objects (tool cards with status icons)\n3. **Post-processes** Hermes ASCII formatting (banners, setext headings, table borders) into clean GFM markdown\n4. **Reclassifies** benign stderr (MCP init, structured logs) so they don't show as errors\n5. **Tags** sessions as `tool` source to keep them separate from interactive usage\n6. **Reports** results back to Paperclip with cost, usage, and session state\n\nSession persistence works via Hermes's `--resume` flag — each run picks\nup where the last one left off, maintaining conversation context,\nmemories, and tool state across heartbeats. The `sessionCodec` validates\nand migrates session state between runs.\n\n### Skills Integration\n\nThe adapter scans two skill sources and merges them:\n\n- **Paperclip-managed skills** — bundled with the adapter, togglable from the UI\n- **Hermes-native skills** — from `~\u002F.hermes\u002Fskills\u002F`, read-only, always loaded\n\nThe `listSkills` \u002F `syncSkills` APIs expose a unified snapshot so the\nPaperclip UI can display both managed and native skills in one view.\n\n## Development\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FNousResearch\u002Fhermes-paperclip-adapter\ncd hermes-paperclip-adapter\nnpm install\nnpm run build\n```\n\n## License\n\nMIT — see [LICENSE](LICENSE)\n\n## Links\n\n- [Hermes Agent](https:\u002F\u002Fgithub.com\u002FNousResearch\u002Fhermes-agent) — The AI agent this adapter runs\n- [Paperclip](https:\u002F\u002Fgithub.com\u002Fpaperclipai\u002Fpaperclip) — The orchestration platform\n- [Nous Research](https:\u002F\u002Fnousresearch.com) — The team behind Hermes\n- [Paperclip Docs](https:\u002F\u002Fpaperclip.ing\u002Fdocs) — Paperclip documentation\n","该项目是一个Paperclip适配器，用于在Paperclip公司中将Hermes Agent作为受管理的员工运行。其核心功能包括支持8种推理服务提供商、集成超过30种原生工具与80多项技能、会话状态的结构化验证和迁移、以及自动模型检测等。此外，它还能够解析Hermes输出并转换为格式化的GFM标记，并允许通过评论唤醒代理响应问题讨论。适用于需要在Paperclip平台内高效管理和扩展AI助手能力的企业或开发者场景，特别适合那些希望利用Hermes Agent强大功能同时保持良好用户体验的用户。",2,"2026-06-11 03:51:54","high_star"]