by skingko
Local-first AI agent workbench for long-running projects: background work, built-in memory (no Docker), six web search services, MCP. macOS, Linux, Windows.
# Add to your Claude Code skills
git clone https://github.com/skingko/rna_devGuides for using ai agents skills like rna_dev.
See how rna_dev compares with popular alternatives.
rna_dev is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by skingko. Local-first AI agent workbench for long-running projects: background work, built-in memory (no Docker), six web search services, MCP. macOS, Linux, Windows. It has 51 GitHub stars.
rna_dev's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/skingko/rna_dev" and add it to your Claude Code skills directory (see the Installation section above).
rna_dev is primarily written in JavaScript. It is open-source under skingko on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh rna_dev against similar tools.
No comments yet. Be the first to share your thoughts!
Available after the catalog security scan passes.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
English · 简体中文
Projects, not chats. An agent that keeps working in the background, remembers what happened, and tells you when it matters.
Website: www.rna.dev · Download · Why Rna · Features · Quick start · Memory · Web search · Architecture · FAQ · Docs
Rna Agent is a desktop app and command line for working with AI agents on projects that last longer than one conversation: a game, a novel, a research topic, a codebase. You create a project, give it a folder and an introduction, and the agent keeps context across sessions, works in the background when it has something worth doing, and brings you back a short summary instead of a wall of logs.
More at www.rna.dev.
It runs on your machine. Your projects, conversations, memory and keys stay in local files; the only network traffic is to the model and search services you configure.
Get the build for your system from the latest release.
| Platform | File | Status |
|---|---|---|
| macOS, Apple silicon | Rna-Agent-<version>-macOS-arm64.dmg |
Supported |
| macOS, Intel | Rna-Agent-<version>-macOS-x64.dmg |
Supported |
| Linux, x64 | Rna-Agent-<version>-Linux-x64.tar.gz |
Preview |
| Windows, x64 | Rna-Agent-<version>-Windows-x64.zip |
Preview |
Every release is built by GitHub Actions and started once on its own platform before it is published; the tests themselves run locally before a version is tagged. The macOS builds are signed with a Developer ID and notarized by Apple. The Linux and Windows builds are not code-signed yet, so Windows SmartScreen asks for confirmation the first time (see the release notes).
macOS is where Rna is developed and used every day. Linux and Windows builds run the same code; features that rely on macOS facilities (the command sandbox, the background service manager) are reduced there. Reports from those platforms are very welcome.
Most agent tools are a chat box attached to a model. Rna is built around the parts that matter when work spans days:
| Projects and sessions | Project folders, per-project capability assignment, archive / restore, deletion that also clears the evidence it produced, session worktrees for isolated edits |
| Models | DeepSeek, GLM (Zhipu), OpenAI-compatible endpoints, Anthropic via API key, ChatGPT subscription sign-in; per-session model and reasoning level, automatic reasoning level |
| Tools | Project file read / write / edit, command execution with a sandbox on macOS, a terminal, a side-panel browser, file preview with live reload, git status and worktrees |
| Skills and MCP | On-demand skills, a skill marketplace (ClawHub, skills.sh), stdio and Streamable HTTP MCP servers, per-project assignment and permission levels |
| Memory | Built-in local memory or OpenViking, automatic recall within a token budget, a memory browser, memory kept per project and removed with the conversation it came from |
| Web | Search and page reading through FastCRW, Firecrawl, Tavily, Brave, Zhipu or Bocha |
| Proactive work | Background investigation, schedules, "while you were away" summaries, adaptive pacing that follows how you respond, an emergency stop for everything |
| Evolution | Per-project gene tree of behavior rules, evaluated candidates, a system evolution page that shows tool failures by cause |
| Operations | Background service with crash recovery, restore points, in-app update with rollback, a CLI that talks to the same service |
| Interface | English and Simplified Chinese, light and dark themes, keyboard-first |
Requires Node.js 22.19 or newer. The host and the SDK have no runtime dependencies.
git clone https://github.com/skingko/rna_dev.git
cd rna_dev/prototypes/control-center
# build the web UI once
npm ci --prefix web && npm run build --prefix web
# start the local service, then open http://127.0.0.1:4317
./rna start
Run the desktop shell from source (Electron):
cd prototypes/control-center/desktop
npm ci && npm start
The rna command talks to the same service and the same projects as the app.
./rna help # everything it can do
./rna config # redacted configuration and the model catalog
./rna memory-config --backend embedded
./rna web-config --provider firecrawl --enabled true && ./rna web-test
./rna chat --workspace "$PWD" # an interactive session in the current folder
Rna keeps project memory in one of two ways, chosen in Settings → Memory. They keep separate memories and do not migrate into each other; switching back brings the old memory back.
| OpenViking semantic memory | Local memory (built in) | |
|---|---|---|
| Needs | Docker, OpenViking, an embedding model, a text model | Nothing |
| Search | By meaning: a different wording or language still finds it | By keywords (Chinese by character pairs) |
| Conversations | Distilled into long-term memories by a model | Kept as they were said, no model call |
| Data | The OpenViking service's volume | <state>.rna/memory/embedded.sqlite on this machine |
The built-in engine answers the same requests the host sends an OpenViking server, so recall, the memory tools, the browser and conversation deletion run the same code on either backend. Replayed over 100 real searches, an earlier turn of the same conversation ranked first in 90% of cases and within the top five in 98%; the write-up also says what keyword search cannot do.
The agent always sees the same two tools, web_search and web_fetch. Which service answers is a setting.
| Service | Search | Reads pages | Key |
|---|---|---|---|
| FastCRW (default; self-hosted compatible) | yes | via the service | optional |
| Firecrawl | yes | via the service | optional, rate-limited without one |
| Tavily | yes | via the service | required |
| Brave Search | yes | from this machine | required |
| Zhipu Web Search | yes | via the service | required |
| Bocha | yes | from this machine | required |
Services that only search have pages read directly from your machine: anonymous requests to public addresses only, with the connection pinned to the address that was checked, every redirect hop re-checked, and no key sent. Choosing another service switches to that service's address and clears the saved key, so a key is never sent to a service it was not saved for.