
Kronos
io.github.dawesthepersonv0.1.0更新於 Oct 1, 2026
A memory for your AI assistant, kept on your machine. Search and recall past conversations.
概覽
Kronos 為助理提供保存在本機的過往對話記憶,可自動回想起相關內容,並提供搜尋、閱讀、行事曆和遺忘工具。
- 功能
- Kronos 把每段對話保存在本機私有保存庫中並建立索引,為每條記憶賦予隨時間衰減的溫度。每則訊息進來時,它最多提供三則關於可能相關過往對話的簡短提示,並透過 MCP 提供搜尋過往對話、閱讀某段交流、依行事曆瀏覽、遺忘某條記憶以及執行 doctor 檢查的工具。附帶的終端機應用程式可檢視行事曆、搜尋、記憶溫度和閱讀器。
- 適用情境
- 如果你希望助理跨工作階段記住先前的對話、不必反覆說明,並且希望這些記憶留在自己的電腦上,就值得加入。適合使用 Claude Code 或其他支援 MCP 的助理、想要自動回想並手動搜尋和瀏覽行事曆的使用者。
- 執行需求
- 以本機程序執行於 Linux、macOS 或 Windows;未宣告帳號、API 金鑰或環境變數。可從發行套件、mcpb 檔案安裝,或用 Rust 自行建置,然後執行 kronos setup 選擇要連接的助理和記憶資料夾位置。任何能呼叫 MCP 工具的助理都可使用,但自動回想和讀取對話目前依賴 Claude Code。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Kronos,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
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:
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
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
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.
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:
The app
Open Kronos from your app launcher.
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.
[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:
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
doctortool and is told to call it when something fails. You can run it yourself too:
The command line
Everything in the app is also a command:
Days are YYYY-MM-DD, in local time.
Where it works
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:
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:
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:
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
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=…ortoken: …, 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:
Design
Every decision, and the reason for it, is in DECISIONS.md.
License
來源:README.md,提交 abdf8d2
工具
0版本歷史
1- v0.1.0最新Oct 1, 2026


