Version 0.07.18 · Alpha · Windows desktop · Electron + .NET 10

RinKowAgentThe execution-first Agent for the desktop

Not just a chatbot. Give it a goal — it plans the steps, calls the tools, and gets the job done: files, commands, web search, sub-agents working in parallel. It learns as it works, distilling every finished turn into memory and skills you review before they stick. And it always asks before it touches your files — up to a kernel-level tier for extreme jobs, approved one action at a time. There is also a Siri-style background assistant, one hotkey away.

Five permission levels · Asks firstLearns from every turnKernel-level tier · Off by defaultAudit hash chainTrue semantic memory (bge-m3)MCP · SKILL ecosystem
0
Kernel RPC methods
0
Unit tests (dotnet test)
0
Permission levels
0
MCP transports (stdio / http / sse)
0
UI pages & entry points
Two entry points

One kernel, two shells

Agent and Assistant share the same kernel — context, memory, permissions, tools, and the model gateway. They are just different shells: different personas, UIs, default tool sets, and permission levels.

AgentModeled on OpenClaw / Harness

The execution-first entry, bound to the project workspace of the current session. The goal is to get things done: it plans its own steps, calls tools in order, and traces every step on the timeline.

AssistantModeled on Siri

A standalone global butler with Siri-style invocation. No workspace — it is for quick, ad-hoc actions. It lives in the tray, wakes with a single hotkey, and lights up the screen edges with a marquee effect when it does.

AutomationRuns on schedule

Scheduled, heartbeat, and workflow tasks: let the Agent start work on its own, no babysitting required. Results land back in the same conversation, exactly as if you had run it by hand.

Core

The layer that gets things done,
built solid in C#

The UI and the kernel are two separate processes: the renderer never reads files or spawns processes — every side effect goes through RPC. The kernel owns everything that actually changes your machine, and that is exactly why it can keep it under control.

SKILL

Each skill is a SKILL.md: the listing goes into the system prompt, and when a trigger word matches, the body enters that turn's context. The model can also distill what it just learned into a new skill.

skills/*/SKILL.md

MCP tools

Remote tools are isomorphic to built-in ones and get the same high-risk handling. Reuse the whole MCP ecosystem — no need to write a fresh adapter for every tool.

stdio · http · sse

Sub-agents

Give each sub-agent its own focus, persona, skills, tools, and permissions to form a team; the main Agent assigns work with task, plus task_wait / status / cancel.

task · task_wait · task_status

Long-term memory

Hybrid recall of lexical + true semantic vectors, defaulting to the bge-m3 sidecar. Memories that have not been recalled in a while are down-weighted; ones that get used and are not re-edited are up-weighted.

FTS5 + vectors

Compression engine

When the context nears the window limit, older history is compressed by policy — keep the conclusions, drop the noise. Long conversations stay online without blowing the window.

Threshold · turns kept

Model gateway

Both OpenAI and Anthropic endpoints, plus local model services. Thinking parameters follow each vendor's style, including DeepSeek V4's thinking and reasoning_effort.

Full endpoint parameter editing

Permissions & audit

Five permission levels, path guards, high-risk command detection, execution host backups and fingerprints, and an audit hash chain. A permission prompt the UI never answers counts as a denial.

fs.revisions · fs.revert

Message gateways

Wire external chats into the Agent: Telegram, Feishu, Discord. Send a line from your phone and it gets to work on the desktop.

Push-based receiving · No public callback needed

Self-learning loop

Every finished turn is handed to a background distiller: reusable facts go to long-term memory, reusable working methods become skill candidates. Nothing is written silently — candidates wait in a review queue and only enter the real library after you accept them. A thumbs-up or thumbs-down on a message feeds the same loop, and reinforcement plus a forgetting curve keep the recall ranked by what actually helped you.

learning.db · memory_pending · skill_candidates

Kernel-level execution

The fifth permission tier, for jobs nothing else should attempt — drivers, raw disks, system repair. Only the kernel can reach that layer, and the tier itself is never an authorization: it asks every single time, offers only "allow once" with no "remember this" option, and runs under audit, backup and rollback. Off by default until you say otherwise.

Level 5 · Allow once · Never a standing grant
Architecture

UI and kernel, two processes

The upside is full decoupling: future WebUI / TUI / CLI builds can reuse the same protocol, and swapping the UI never touches a line of kernel code.

Electron shell apps/desktop · Vue 3 + Element Plus

Windows and navigation, session list, streaming chat, tool cards, chain of thought, nested sub-agent blocks, context drawer, permission prompts; plus tray / global hotkey / transparent always-on-top window / wake-up glow.

Vue 3Element PlusPiniavue-routermarkdown-ithighlight.jsDOMPurify

C# kernel service process src/RinKowAgentCore · .NET 10

Exposes kernel capabilities over RPC: event streams, live tool output, reverse permission-prompt requests, change records and revert, MCP server management, SKILL listings, and the tool catalog and entry profiles.

Five permission levelsPath guardsAudit hash chainExecution hostContext managementMemory recallCompression engineOrchestration engine

Sessions & events Persisted, never lost

User messages / model replies / tool results are persisted immediately — switching sessions or closing the window loses nothing. Events are filtered by sessionId so they never cross wires.

Extension ecosystem MCP · SKILL

Spawn the MCP server subprocess → handshake → pull tools → register them with the kernel; full CRUD for skills and personas, with the skill lab reviewing self-learned candidates.

Runtime telemetry usage.db

Conversations / tools / skills / sub-agents are each persisted separately, through a single-consumer background queue, so persistence never blocks a turn.

Interface

It looks like this: clean, restrained, readable

Light by default, dark when you switch; the window sits on a system acrylic base. The layout layers through whitespace and hairline borders, and the accent color is reserved for focus and runtime states — below are UI mockups recreated from the real implementation.

RinKowAgent — AgentDark theme
RinKowAgentAgentSearch settings / sessions / messagesCtrl K

Tidy up the publish directory structure

4 steps run1 failed
Tidy up the publish directory: clear out the stray temp files in core, then write a README describing the directory structure.
RK
Thinking6.2s
First take a look at what is actually in the directory, then decide what to clean; temp files are identified by extension, and the README only describes the structure without inventing purposes.
1
Read filerfileDone
publish/core → 62 entries listed, 8 .tmp / 4 .log identified
2
Run commandbashDone
Get-ChildItem -Recurse -Include *.tmp,*.log | Remove-Item
3
Ask youaskuserConfirmed
Should the README include the change log in the “Maintenance notes” section?
Sub-agent · Directory structure auditortask
Scanned 5 top-level directories, noted purpose and file count
Flagged 3 naming inconsistencies with suggestions
All cleaned up: removed 8 .tmp and 4 .log files, freeing 21.4 MB.README.md is written in three sections — “Directory purpose / Subdirectory notes / Maintenance notes” — at publish/README.md.
CopyHelpfulNot helpfulQuote6.4s
Give it a goal and the Agent plans the steps and calls the tools; / loads a skill, @ mentions skills and tools
+Default personaSmartDeepSeek-V4.1 · high↑
Agent main windowComprehensive sidebar + goal and step timeline; tool calls are grouped into numbered steps and sub-agents expand as nested blocks
Memory

Memory

Long-term memory, user profiles, and pending-review candidates. Recalled on demand in conversation, with hybrid lexical + semantic vector ranking; recall parameters and context compression policy are tuned on this page too.

Export recall logRun governance
128Memory entries
128Indexed
1024Vector dims · bge-m3
EnabledFTS5 trigram
6Pending review

Long-term memoryBy recall count

Release flow: build the kernel first, then start the UIRun npm run dev only after dotnet build, or the UI cannot pull up the kernel
Recalled 14
Always name it RinKowAgentDo not write it as runkow / rinkow
Recalled 9
Model keys are stored DPAPI-encryptedPlaintext lives only in memory
Recalled 6

Pending reviewAuto-distilled

Preference: propose before changing anythingDistilled from 3 conversation turns
Accept / Discard
Profile: primary stack is C# + Vue 3Linked to an existing profile
Accept / Discard

Recall settings

Hybrid retrieval (vectors)
Max recall count8
Min relevance0.42
Lexical 0.55Semantic 0.45

Context policy

Compression threshold72%
Recent turns kept8

Auto-learning

Distill candidates at turn end
Dedupe before inbox
MemoryHealth bar + bento layout: long-term memory / pending review / profiles / retrieval and context policy
Agent Cluster

Agent Cluster

Give each sub-agent its own focus, persona, skills, tools, and permissions to build a team that works in parallel; the main Agent assigns work with task.

Total 1,284 tasks · Token 3.42M+ New sub-agent
GGeneral sub-agentBuilt-in

The default executor when the task tool has no profile; ships with the kernel, not editable or deletable. Kernel built-in · 902 tasks · 3 failed

CCode reviewer

Focus: find regressions, check edge cases, compare change intent

Read-onlyrfileweb_search
RResearch agent

Focus: verify online, cross-check sources, cite references

Askweb_searchMCP
DData organizer

Focus: batch cleanup, archiving, generating manifests

Smartrfile / wfilebash

Team usageFrom runtime telemetry

Sub-agentTasksToken
General sub-agent9022.41M
Code reviewer218612k
Research agent164398k
Agent ClusterBuilt-in general sub-agent + custom sub-agent cards, with usage stats
Model Access

Model Access

Manage your added models: every tunable parameter in the request body lives in advanced editing; quick presets (just fill in the key) and JSON import/export are supported.

Quick presetsImport+ Add model

DeepSeek V4.1 Set as default

Endpoint typeOpenAI compatible
Model namedeepseek-v4.1
Thinkingthinking · high
Total usage2.41M token total · 41% cache hits

Anthropic Claude

Endpoint typeAnthropic
Model nameclaude-sonnet-4
Max output8192
Total usage684k token total · 33% cache hits

Local bge-m3 sidecar

Endpoint typeLocal socket
PurposeSemantic vectors · 1024 dims
KeyDPAPI-encrypted on disk
Price per unitNot configured (cost shown as —)
Pick a preset card, fill in the API key, and you are good to go
Model AccessEndpoint cards: full parameter editing, quick presets, unit pricing, JSON import/export
Usage

Usage

Lay out conversations, Token, cost, calls, and errors in a filterable, sortable, exportable analytics panel.

AllTodayLast 7 daysLast 30 days
Total conversations1,842
Total Token12.8M
Total cost¥86.40↓ 12% vs last week
Cache hits34%

Model call countsSorted by count

ModelCallsCost
deepseek-v4.11,204¥52.18
claude-sonnet-4412¥28.60
Local judge model226¥5.62
UsageKPI cards + daily Token bar chart + sortable table and error ranking
Assistant window · Transparent, always on top
AssistantStandby⤢ ✕
Which ten folders take up the most space on this machine?
RK
1
Run commandbashDone
Scanned the user directory, sorted by size, took the top ten
The biggest are AppData (18.2 GB) and Downloads (12.7 GB)… and it will check with you before it cleans anything up.
Ask the assistant… (Enter to send, Shift+Enter for a new line)↑
Assistant

One hotkey, always at hand

It lives in the tray without taking up your taskbar. Press Ctrl+Shift+Space, and a transparent, always-on-top window rises from the edge of the screen, lighting up the whole screen border; say what you need, hit Enter, and it is on it. Close the main window and it is still there.

Tray residentGlobal hotkeyTransparent & always on topSystem notificationsLaunch at startup
Permissions & Security

Powerful, but under your control

Permissions come in five levels, one per entry point, adjustable at any time and effective immediately. The level is not persisted — a restart returns to the default. That is the product's promise: treat letting go as an explicit, bounded authorization, not a permanent handover. The fifth level, kernel-level execution, is the one exception in kind: it exists for extreme jobs, it is off by default, and it authorizes exactly one action at a time.

1

Block

Tool calls never execute. Look, but do not touch.

2

Ask

Confirm before every single execution.

3

Smart

Routine actions pass through; high-risk ones still ask.

4

Full access

Execution is open, but protected paths still ask.

5

Kernel-level

Extreme jobs only — drivers, raw disks, system repair. Off by default, one action at a time, never a standing grant.

Path guards

Sensitive directories and protected paths get their own gatekeeping — never silently allowed, even at high levels.

High-risk command detection

Destructive commands are recognized first, then it decides whether to stop and ask you.

Execution host

Backups and fingerprints before it acts; on timeout it kills the whole process tree. Make a wrong change and you can revert it.

Audit hash chain

Every action leaves a record, and the chained hashes make it impossible to alter or deny.

Tech stack

Built on serious tech

Kernel in C# (.NET 10), UI in Electron; core capabilities are reused as both a DLL and a standalone process.

C# · .NET 10ElectronVue 3Element PlusPiniavue-routermarkdown-ithighlight.jsDOMPurifyJSON-RPC over WebSocketSQLite · FTS5bge-m3 vectorsMCP (stdio / http / sse)OpenAI compatibleAnthropicDiscord.NetDPAPI encrypted
Get started

Hand over the work that needs a babysitter —
it finishes it, step by step

RinKowAgent · Version 0.07.18 · Alpha · Windows desktop · Distributed as a non-packaged EXE