TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
로컬 우선의 능동형 AI 에이전트로, 사용자가 떠나도 조사하고, 발견될 때만 말하며, 수정마다 검증된 규칙으로 스스로 진화합니다
A local-first proactive AI agent. It keeps investigating while you are away, speaks only when it has found something, and turns each correction into a checked rule: it evolves itself.
생산성JavaScript · TypeScriptGitHub @skingko온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Local-first AI agent workbench for long-running projects: background work, built-in memory (no Docker), six web search services, MCP. macOS, Linux, Windows.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A local-first AI agent workbench for long-running projects.
Projects, not chats. An agent that keeps working in the background, remembers what happened, and tells you when it matters.
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.README 전문 보기 ↗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.
┌──────────────── desktop shell (Electron) ────────────────┐
│ workbench UI (React, Vite) ◄── HTTP + SSE ──► CLI │
└───────────────────────────────┬──────────────────────────┘
│ 127.0.0.1 only
┌───────────────────────────────▼──────────────────────────┐
│ host service prototypes/control-center (Node ESM) │
│ projects · sessions · memory · schedules · evolution │
│ background supervisor · maintenance · restore points │
├──────────────────────────────────────────────────────────┤
│ Rna SDK packages/sdk (Node ESM, no dependencies) │
│ agent loop · tools · MCP · decision kernel (JEV) · │
│ web providers · evaluation · prompt layers │
└───────────────┬──────────────────────┬───────────────────┘
│ │
model providers memory: built-in SQLite
(your keys, local file) or an OpenViking server
127.0.0.1 only. Keys are stored in a separate local credentials file (mode 600) and are never returned by the API or written to project files.Projects, conversations, memory and credentials are local files. Rna sends requests only to the model providers, search services and MCP servers you configure, and to the JEV judgment service if you enable it. There is no Rna server, and nothing is reported back to the project.
No. Choose the built-in local memory. Docker is only needed for the OpenViking backend, which adds semantic search and model-distilled memories.
Anything reachable through an OpenAI-compatible endpoint, plus DeepSeek, GLM, Anthropic (API key) and a ChatGPT subscription. Models are added in Settings → Models; the model list is read from the provider, and models you remove stay removed.
An IDE agent works inside one editor session. A chat client holds one conversation. Rna holds a project: its folder, its memory, its schedule and its history, with an agent that can keep working between your sessions and report back.
It is a measured process, not a promise. Candidate changes to a project's behavior are scored against a frozen baseline and adopted only when they pass explicit improvement, safety and cost gates; the history and the failures are visible. Rna does not claim a general quality gain.
The code is the same, but development and daily use happen on macOS. The command sandbox and the OS service manager are macOS-specific, so on Windows the background service runs only while the app is open. Each build is started once in CI on its own platform before release.
| Document | Contents |
|---|---|
| Built-in local memory | How it works, measurements, limits |
| OpenViking deployment | Docker setup for semantic memory (Chinese) |
| SDK guide | API and usage examples |
| SDK architecture | Design, sources and boundaries (Chinese) |
| System design | Product, architecture, scheduling, caching, memory, evolution, security (Chinese) |
| Specifications | Control API and storage, stream protocol, context and capabilities, evolution and evaluation (Chinese) |
| Operations | Application maintenance, continuous runtime, recovery (Chinese) |
| Agent working notes | Conventions for coding agents working in this repository |
Issues and pull requests are welcome; see CONTRIBUTING.md. Report security problems privately as described in SECURITY.md.
# SDK tests
cd packages/sdk && node --test test/*.test.mjs
# host tests
cd prototypes/control-center && node --test
# web: typecheck + tests
cd prototypes/control-center/web && npm run typecheck && npm test
Rna studies and borrows ideas from Pi, Headlong, OpenViking, the DeepSeek harness, mu, RRSI, ZCode and ModularRSI. The pinned revisions that were read are listed in references/manifest.json; no source from them is vendored here.