Kronos

io.github.dawesthepersonv0.1.0更新於 Oct 1, 2026

A memory for your AI assistant, kept on your machine. Search and recall past conversations.

已驗證STDIO僅桌面Files & StorageKnowledge & Memory

概覽

AI 產生的概覽

Kronos 為助理提供保存在本機的過往對話記憶,可自動回想起相關內容,並提供搜尋、閱讀、行事曆和遺忘工具。

功能
Kronos 把每段對話保存在本機私有保存庫中並建立索引,為每條記憶賦予隨時間衰減的溫度。每則訊息進來時,它最多提供三則關於可能相關過往對話的簡短提示,並透過 MCP 提供搜尋過往對話、閱讀某段交流、依行事曆瀏覽、遺忘某條記憶以及執行 doctor 檢查的工具。附帶的終端機應用程式可檢視行事曆、搜尋、記憶溫度和閱讀器。
適用情境
如果你希望助理跨工作階段記住先前的對話、不必反覆說明,並且希望這些記憶留在自己的電腦上,就值得加入。適合使用 Claude Code 或其他支援 MCP 的助理、想要自動回想並手動搜尋和瀏覽行事曆的使用者。
執行需求
以本機程序執行於 Linux、macOS 或 Windows;未宣告帳號、API 金鑰或環境變數。可從發行套件、mcpb 檔案安裝,或用 Rust 自行建置,然後執行 kronos setup 選擇要連接的助理和記憶資料夾位置。任何能呼叫 MCP 工具的助理都可使用,但自動回想和讀取對話目前依賴 Claude Code。
安裝前請注意
它會讀取並把你的對話歷史存入本機保存庫,因此你輸入的內容可能被索引;已知格式的密鑰會被隱藏,但一般句子中的密碼可能不會,可請助理遺忘該訊息。遺忘對 Kronos 是永久的,但原始對話不會被修改。內容不會上傳,也不連接網際網路。靜態加密依賴全磁碟加密。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Kronos,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Kronos

A memory for your AI assistant, kept on your machine.
Every conversation you've had, kept and searchable. The ones that matter now, brought up on their own.

[The Kronos calendar: a month of conversations and the ones on the chosen day]


Why

AI assistants forget. Every conversation starts from nothing: the trip you planned last week, the budget you set, the injury you mentioned, the job you applied for, the problem you already solved. Unless you say it again, it's gone.

That's the difference between a chat box and an assistant. An assistant remembers what you've told it, notices when something you say connects to something from before, and doesn't make you repeat yourself.

Kronos gives an assistant that memory. It keeps every conversation you have, indexes it, and gives each memory a temperature. Recent and often-used memories are hot. When something you say connects to one of them, Kronos quietly hands the assistant a short note about it before it answers. Old memories cool down and stop interrupting, but nothing is ever deleted: anything can be found again by searching, or by opening the calendar to the day it happened.

It runs entirely on your machine. Nothing is uploaded, and it works with any assistant that can use tools.

What it's like

You mention your knee is sore after a workout. You told your assistant two weeks ago that lunges hurt it, and it suggested step-ups instead. Without Kronos, that conversation is gone. With Kronos, the assistant sees this next to your message:

kronos: possibly relevant past conversations (kronos read ID for more)#2 2026-09-27 health · Knee hurts on lunges, what should I swap Swap lunges for step-ups to a low box…

So it answers knowing the history: "Still the left knee from lunges? Did the step-ups help?"

Say "thanks, that's perfect" and Kronos adds nothing. Most messages get nothing. It only speaks up when something actually connects.

And you can ask it directly:

  • "Where did we decide to stay in Lisbon?"
  • "What was I working on on the 24th?"
  • "What did we set the grocery budget to?"
  • "Forget that last message, it had my password in it."

What it does

  • Keeps everything. Every conversation is kept in a private vault on your machine, even after the app that created it cleans up its own history.
  • Brings up what matters, unasked. On every message, Kronos looks for past conversations on the same topic. If one clears the bar, the assistant gets up to three one-line notes. If nothing does, it gets nothing.
  • Picks up where you left off. Starting a conversation brings a short note of what you were last doing in the same place, if it was recent.
  • Lets memories cool. Each memory's temperature halves every two weeks unless it is used. Hot memories come up on their own, warm ones on a strong match, cold ones only when searched for. Nothing is deleted.
  • Has a calendar. Every conversation, by day. Open any day and see what you talked about.
  • Gives the assistant tools to search, read, browse the calendar and forget, through MCP, the standard way assistants use tools.
  • Gives you a window. A small app with the calendar, search, your memory's temperature, and a reader. It takes on your system's theme.
  • Costs almost nothing. No AI model of its own, no GPU, nothing running in the background, no internet. One 4.6 MB program.

How it works

 conversations ──▶ vault ──▶ exchanges ──▶ search index                                               │                 your message ──▶ recall ◀─────┤ temperature                                    │          │                     three notes or nothing    └──▶ search · read · calendar

The vault

Conversations are kept in ~/.local/share/kronos/vault, readable only by you. Kronos uses hard links where it can: a second name for the same file, so nothing is copied and no extra space is used. When the original app deletes its copy, the vault's name keeps the conversation alive.

The index

Each conversation is split into exchanges: one message from you and everything the assistant said back. Each exchange is indexed together with the conversation's opening request, so a later "where should we stay?" still belongs to the Lisbon trip. Tool output and the assistant's private reasoning are left out: they are large, noisy, and the likeliest place for secrets.

The index stores what is needed to find text, not the text itself. Results point to exact lines in the original conversation, which Kronos reads when needed. 90 MB of conversations make a 1 MB index.

Temperature

Every memory carries a heat and the time it was last set. Its temperature right now is

temperature = heat × 2^(−days since set / 14)

worked out whenever it's needed, so nothing has to run in the background. A new memory starts at 1. Reading it adds 0.4, being brought up adds 0.1, up to 1.

TierTemperatureWhat happens
Hot0.5 and upBrought up automatically when it connects.
Warm0.15 to 0.5Brought up only on a strong connection.
Coldbelow 0.15Never brought up on its own. Found by searching.

Left alone, a memory is hot for two weeks, warm for about five more, then cold. Using it heats it up again.

[The memory view: how many memories are hot, warm and cold, and the hottest ones]

Recall

On each message, Kronos picks out the topic words. Filler like ok, thanks, sounds good, uh and go ahead doesn't count, and neither do words so common they appear in a fifth of everything. It finds hot and warm memories containing them and scores each on three things, from 0 to 1:

  • relevance: how well the words match, compared with the other candidates;
  • temperature: how recent and how used the memory is;
  • coverage: how many of your topic words the memory contains.

The score is the average. Coverage is also a gate: at least two topic words, and at least half of them, must appear. Without that, the best of a bad set would always win. Hot memories need a score of 0.6, warm ones 0.75. At most one memory per past conversation, three in all, and never from the conversation you're in.

Each note costs about 40 tokens. It takes around 35 milliseconds.

Use

Talking to your assistant

There's nothing to do. Talk as usual. Recall and the starting note happen on their own, and the assistant has these tools when it wants more:

ToolWhat it does
searchFind past conversations by words. Filters: place, from, to.
readRead a past exchange, optionally with what came before and after.
calendarRecent days; one day's conversations; or a date range.
forgetRemove a memory from Kronos for good.
doctorCheck Kronos and repair what it can. The assistant calls it if a tool fails.

The app

Open Kronos from your app launcher.

ViewKeys
1 calendararrows move the day · [ ] change month · t today · enter the day's conversations, enter again to read one
2 search/ type · enter search · j k move · enter read
3 memoryhow warm everything is, and the hottest memories · enter read
readerj k scroll · space page · g G top and end · esc back

f forgets the selected memory (after asking). tab cycles the views, q quits.

The app uses your terminal's colours, so it matches your theme, including every Omarchy theme, and changes when you change it. The calendar and the memory list share one heat scale: blue is cold, yellow is warm, red is hot.

[Search results for 'lisbon']

[The reader showing a past conversation]

Your choices

kronos setup asks, and remembers the answers:

  • Which assistants to connect. It lists the ones installed on your computer.
  • Where to keep your memory. Any folder. Change it later and Kronos moves everything there.
  • Whether to add Kronos to your app launcher.

The rest are settings you can change at any time:

kronos config                 show your settings and where they are keptkronos config recall off      stop bringing memories up on its ownkronos config brief off       no note at the start of a conversationkronos config notes 2         at most two memories per message

It repairs itself

Updates happen: the program moves, an app rewrites its settings, a file gets damaged. Kronos checks for this and puts things back on its own:

  • At the start of every conversation, it reconnects any assistant you chose that has lost its connection.
  • If its index is ever damaged, it sets it aside and rebuilds it from the vault the next time it opens. Your conversations are never lost; only how warm each memory was.
  • Your assistant has a doctor tool and is told to call it when something fails. You can run it yourself too:
kronos doctor          check everythingkronos doctor --fix    and repair what it can

The command line

Everything in the app is also a command:

kronos                         open the appkronos search WORDS [--limit N] [--project P] [--from DAY] [--to DAY]kronos read ID [--around N]kronos calendar [DAY | FROM TO]kronos recall WORDS            what would be brought up for this messagekronos forget IDkronos status [--json]         how much is remembered, and how warmkronos config [KEY VALUE]      show or change settingskronos doctor [--fix]          check, and repairkronos sync                    take in new conversations nowkronos setup                   choose assistants, memory folder, launcherkronos setup --remove          disconnect everythingkronos mcp                     the tool server, for assistantskronos hook prompt|start       run by Claude Code's hooks, not by hand

Days are YYYY-MM-DD, in local time.

Where it works

AssistantRemembersBrings things up on its ownTools
Claude desktop, Code tab (claude-code)every conversationyesyes
Claude Code (claude-code)every conversationyesyes
Claude desktop, chat (claude-desktop)not yet (chats are kept on Anthropic's servers)noyes
Codex (codex)not yetnoyes
Any assistant that uses MCP toolsthrough the toolsnoyes

Kronos isn't tied to any one model or company. The memory, the search and the calendar are plain tools that any assistant can call, local models included. To add Kronos to an assistant that isn't listed, give it this MCP server:

json
{ "command": "kronos", "args": ["mcp"] }

Two pieces depend on the assistant: reading its conversation files, and hooking into each message so recall can happen on its own. Today Kronos does both for Claude Code, which also runs the Code tab of the Claude desktop app. Each other assistant is one reader and, where it allows, one hook.

It runs on Linux, macOS and Windows.

Install

Pick one. Each ends with kronos setup, which asks what to connect.

Ask your assistant. Give it skills/kronos/SKILL.md, the step-by-step guide for installing, connecting, repairing and updating Kronos on any system. In Claude Code you can add it as a plugin:

/plugin marketplace add dawestheperson/kronos/plugin install kronos@kronos

Download it. Get the file for your system from the latest release, check it against SHA256SUMS, put kronos somewhere on your PATH, and run kronos setup. Claude desktop users can also open kronos.mcpb from the release to add the tools with one click.

Build it. With Rust installed, on any system:

bash
cargo install --git https://github.com/dawestheperson/kronoskronos setup

Restart the Claude desktop app afterwards. Before changing any file for the first time, setup saves a backup next to it (*.kronos-backup), and it only ever adds or removes its own entries.

Update

Install the new version the same way, then run kronos doctor --fix. Memory and settings carry over.

Remove

bash
kronos setup --remove

Then delete the program. Your memory stays in its folder in case you come back; delete that too to remove everything. The original conversations are never touched.

Privacy and security

  • Nothing leaves your machine. Kronos never connects to the internet.
  • Only you can read it. Its folder is created readable by your user alone. See PRIVACY.md.
  • Secrets are hidden before anything is indexed and again before anything is shown: private keys, API keys and tokens in their known formats, values written as password=… or token: …, and a message that is nothing but a password-like word. A password inside a normal sentence can't be told apart from other words; if you typed one, ask the assistant to forget that message.
  • Forget is permanent for Kronos: the memory leaves the index and is never taken in again. The original conversation belongs to the app that wrote it and is not edited.
  • Encryption at rest is left to full-disk encryption, which Omarchy sets up when it is installed. A key stored on the same unlocked computer would not stop anything running as you; it would only add complexity.
  • Small enough to read. About 3,000 lines of Rust and four building blocks: rusqlite, serde_json, regex, ratatui.

Numbers

Measured on a real history of 34 conversations and 90 MB:

Taking in everything the first time0.8 s
Checking for new conversations4 ms
Recall on a message~35 ms
Index size1 MB
Program size4.6 MB

Design

Every decision, and the reason for it, is in DECISIONS.md.

License

MIT

來源:README.md,提交 abdf8d2

工具

0
工具後設資料尚未被收錄。

版本歷史

1
  1. v0.1.0最新Oct 1, 2026