{"slug": "show-hn-a-rust-coding-agent-that-is-compatible-with-claude-code-plugins-skills", "title": "Show HN: a Rust coding agent that is compatible with Claude Code plugins/skills", "summary": "Perihelion, a 13 MB Rust-based coding agent compatible with Claude Code plugins and skills, launches with support for multiple API providers including DeepSeek, GLM, Qwen, and Anthropic, achieving 98% cache hits and ~50 MB RAM usage. The open-source tool features sub-agents, fork mode, and multi-platform support across macOS, Linux, and Windows, with a decoupled core that powers terminal, IDE, and headless frontends via the Agent Client Protocol.", "body_md": "One **13 MB binary**, **~50 MB of RAM**, **98% cache hits** — bring any API key (DeepSeek, GLM, Qwen, Anthropic) and switch on the fly. Your Claude Code config works today: skills, hooks, MCP, plugins, sub-agents. **Zero migration, zero lock-in.**\n\nWe believe the agent pattern is proven — planning, tool use, context management, delegation. What's missing is a harness that makes this complexity feel simple: fast startup, any provider, every surface. So we rebuilt it from scratch in Rust, with ACP at the core. We are the best like Claude Code. The foundation every agent deserves. Three things we bet on:\n\nThe agent that respects your machine — not the one that borrows it.\n\n- 🦀\n**Rust, not Node.js**— 13 MB binary, ~50 MB RAM. Starts instantly, stays out of your way - ⚡\n**95–99% cache hit rate**— Frozen system prompt never recomputes. Tokens you don't pay for - 🗜️\n**Auto Compact**— Hours-long sessions stay lean automatically. Micro at 70%, full at 85% budget\n\nBuilt for agents that plan, delegate, and finish — not just reply.\n\n- 🤖\n**7 Sub-agents + Fork Mode**— coder, explorer, plan, code-reviewer, web-researcher, verification, general-purpose. Fork clones context for deep follow-up. All run in background - 🔄\n**Ultracode Workflow**— Split one task into N agents, merge results. Pipeline, parallel, or sequential — one command - 🎯\n**Goal Tracking**— Declare a goal, the agent keeps going across turns. No babysitting - 🔍\n**Deferred Tool Search**— 12 core tools visible, the rest on demand. Lean prompt, hot cache, cheap tokens - 🌐\n**Any LLM, no lock-in**— Anthropic, OpenAI, DeepSeek, GLM, Qwen. Swap mid-session, bring your own key - 🔌\n**Claude Code compatible**— Skills, hooks, MCP, plugins. Point at your config and it just works\n\nEvery surface you need, everywhere you work.\n\n- 🪟\n**macOS · Linux · Windows**— One binary. Native ConPTY, true color, cross-platform spawn - 📝\n**Streaming Markdown**— Code blocks, tables, diffs render as the agent types. Read while it writes - 📡\n**Channel Support**— WeChat, Slack, Feishu. Reply in-thread, terminal stays synced - 🌐\n**Web Terminal**(`peri web`\n\n) — Browser shell, one command. xterm.js + split panes - 🔧\n**LSP + Langfuse**— Code intelligence and per-turn tracing out of the box - 📦\n**agm**—`agm install`\n\nany skill. One lockfile, reproducible\n\nPerihelion is not just a TUI. It's a layered platform where the **agent core** is decoupled from the **frontend** via the [Agent Client Protocol](https://agentclientprotocol.com). The same core powers three entry points:\n\n```\ngraph TD\n    TUI[\"peri-tui<br/>Terminal (ratatui-kit)\"]\n    IDE[\"Zed / JetBrains<br/>IDE (ACP client)\"]\n    STDIO[\"Stdio<br/>Headless / CI / Cloud\"]\n\n    TUI -->|MpscTransport| ACP\n    IDE -->|ACP Stdio| ACP\n    STDIO -->|ACP Stdio| ACP\n\n    ACP[\"peri-acp — ACP Server<br/>session · executor · prompt · commands\"]\n\n    ACP --> AGENT[\"peri-agent<br/>ReAct loop · LLM adapter · tools · SQLite storage\"]\n    ACP --> MW[\"peri-middlewares<br/>20 middlewares: FS · HITL · SubAgent · Skills · MCP · Hooks · Compact · Goal · Workflow\"]\n    ACP --> LSP[\"peri-lsp<br/>LSP client\"]\n\n    AGENT -.->|telemetry| LF[\"langfuse-client\"]\n    MW -.->|renders with| WIDGETS[\"peri-widgets<br/>Markdown · code blocks · tables\"]\n\n    TUI --> THEME[\"peri-theme<br/>Dark/Light · palette\"]\n    ACP --> WORKFLOW[\"peri-workflow<br/>Multi-agent pipelines\"]\n    TUI --> E2E[\"e2e<br/>tmux black-box tests\"]\n```\n\n**Crate topology**: `peri-tui`\n\n→ `peri-acp`\n\n→ `peri-agent`\n\n/ `peri-middlewares`\n\n· `peri-widgets`\n\n· `langfuse-client`\n\n· `peri-lsp`\n\n· `peri-web-pty`\n\n· `agm`\n\n· `peri-acp-types`\n\n· `peri-workflow`\n\n· `peri-theme`\n\n**One core, three frontends.** Terminal users get `peri-tui`\n\n. IDE users connect via ACP (Zed today, more to come). Headless / CI / cloud scenarios use the Stdio transport. Change the agent logic once — every frontend benefits.\n\nBinaries available for macOS (x86_64 / Apple Silicon), Linux (x86_64 / aarch64 / riscv64), and Windows (x86_64).\n\n```\n# macOS / Linux\ncurl -fsSL https://raw.githubusercontent.com/konghayao/peri/main/scripts/install.sh | bash\n# Windows (PowerShell)\nirm https://raw.githubusercontent.com/konghayao/peri/main/scripts/install.ps1 | iex\n# start peri\nperi\n\n# self-update\nperi update\n```\n\nFirst launch guides you through model and API key configuration — no config file editing required.\n\nPerihelion's code is 99% AI-generated, primarily by DeepSeek and GLM-5.2. The development workflow is a closed loop the agent drives itself:\n\n| When you... | The loop kicks off |\n|---|---|\nFind a bug or tech debt |\n`auto-issue-fixer` → `systematic-debugging` → `writing-plans` → `subagent-driven-development` → `auto-issue-fixer` （归档）→ update `CLAUDE.md` |\nWant a new feature |\n`grill-me` → `writing-plans` → `subagent-driven-development` |\nCodebase getting messy |\n`slop-cleaner` → `improve-codebase-architecture` → `writing-plans` → `subagent-driven-development` |\n\nEach fix that reveals a non-obvious constraint gets written back into `CLAUDE.md`\n\nas a **TRAP** — a hard rule the agent follows on every subsequent iteration. The dozens of TRAPs in the repo weren't authored by humans; they were extracted by the agent at the scene of each bug. That's how quality compounds without human code review.\n\n→ Read the full story: [Nobody Coding](/KonghaYao/peri/blob/main/docs/blogs/ai-coding-paradigm/nobody-coding.md)\n\n[Claude Code Best](https://github.com/claude-code-best/claude-code)— community support and feedback[Superpowers](https://github.com/obra/superpowers)&[Matt Pocock's Skills](https://github.com/mattpocock/skills)— the skill suites that drive Perihelion's AI engineering workflow[ACP](https://agentclientprotocol.com)— open protocol for agent-IDE communication[rmcp](https://github.com/anthropics/rmcp)— Rust MCP client library[ratatui-kit](https://github.com/KonghaYao/ratatui-kit)— React-style component framework powering the entire TUI (components, hooks, state atoms, routing, the`element!`\n\nmacro)[Ratatui](https://ratatui.rs)— terminal rendering backend[Tokio](https://tokio.rs)[Langfuse](https://langfuse.com)— LLM observability[Zed](https://zed.dev)— first ACP-compatible IDE\n\nApache 2.0", "url": "https://wpnews.pro/news/show-hn-a-rust-coding-agent-that-is-compatible-with-claude-code-plugins-skills", "canonical_source": "https://github.com/KonghaYao/peri", "published_at": "2026-07-30 03:01:22+00:00", "updated_at": "2026-07-30 03:22:31.134719+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "large-language-models", "ai-infrastructure"], "entities": ["Perihelion", "Claude Code", "DeepSeek", "GLM", "Qwen", "Anthropic", "Agent Client Protocol", "Langfuse"], "alternates": {"html": "https://wpnews.pro/news/show-hn-a-rust-coding-agent-that-is-compatible-with-claude-code-plugins-skills", "markdown": "https://wpnews.pro/news/show-hn-a-rust-coding-agent-that-is-compatible-with-claude-code-plugins-skills.md", "text": "https://wpnews.pro/news/show-hn-a-rust-coding-agent-that-is-compatible-with-claude-code-plugins-skills.txt", "jsonld": "https://wpnews.pro/news/show-hn-a-rust-coding-agent-that-is-compatible-with-claude-code-plugins-skills.jsonld"}}