Chronicle
概览
作者提供的说明(英文原文)
Local screen and activity knowledge graph, served as context to computer-use agents.
PopNx MCP 的三大支柱
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
- 用户评价i暂无评价评价功能将在后续阶段与账户功能一起开放
- 我们的基础检查i1 项中通过 1 项依据公开信息检查;尚未扫描代码
- 使用情况i非常新↓ 258/周 · ★ –
它能帮你做什么
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
- 连接方式: 在你的电脑上运行
- 传输方式: stdio
- 分类: 搜索与 AI 记忆
安装
选择你使用的 AI 应用,然后复制设置。
安装之前
- 基础检查:1 项中通过 1 项
- 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
- 需要你自己填写:
CHRONICLE_HOME,CHRONICLE_DISABLE_CAPTURE
你需要
- PyPI已安装 Python 的 uv(用于 uvx 命令)
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"chronicle": {
"command": "uvx",
"args": [
"chronicle-context",
"mcp"
],
"env": {
"CHRONICLE_HOME": "your-value",
"CHRONICLE_DISABLE_CAPTURE": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add chronicle --env CHRONICLE_HOME=your-value --env CHRONICLE_DISABLE_CAPTURE=your-value -- uvx chronicle-context mcp运行前请先填写空着的值。
或者自己复制设置
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"chronicle": {
"command": "uvx",
"args": [
"chronicle-context",
"mcp"
],
"env": {
"CHRONICLE_HOME": "your-value",
"CHRONICLE_DISABLE_CAPTURE": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
或者自己复制设置
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"chronicle": {
"type": "stdio",
"command": "uvx",
"args": [
"chronicle-context",
"mcp"
],
"env": {
"CHRONICLE_HOME": "your-value",
"CHRONICLE_DISABLE_CAPTURE": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
需要你填写的值
CHRONICLE_HOMEenvFolder for the database and screenshots (default ~/.chronicle)CHRONICLE_DISABLE_CAPTUREenvSet to 1 so this process serves context but never records
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它能做什么
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
基础检查i
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
- ✓ 通过
作者与仓库一致
注册名称已通过 GitHub 账户 aniketxdey 验证,该账户拥有此仓库
- … 尚未检查
仍在维护
我们还没有从 GitHub 读取这个仓库
- … 尚未检查
有许可证
我们还没有从 GitHub 读取这个仓库
- – 不适用
端点有响应
它在你的电脑上运行,没有互联网端点
- – 不适用
使用 OAuth 登录
在你的电脑上运行,改用本地设置
- … 尚未检查
工具描述中没有隐藏指令
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与“搜索与 AI 记忆”中的其他服务器比较i
- 星标数多于此分类中其他 5684 个服务器的 0%
- 发布到注册中心的时间比此分类中其他 5684 个服务器的 92% 更新
- 基础检查结果等于或优于此分类中其他 5684 个服务器的 100%
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
常见问题
Chronicle 安全吗?
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
它需要哪些密钥或代码?
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在我的电脑上运行还是在云端?
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
它还在维护吗?
GitHub 仓库最后更新于–,最新版本(0.3.0)于3天前进入注册中心。
哪些应用可以使用它?
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
有什么可以替代它?
同一分类中有:Context7, Codebase Memory, Exa
替代选择
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
作者的 README
打开 README
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Chronicle
Record your screen and system events on your computer, write context files and workflows from them, and build them into LLM harnesses for any task. Any AI can use a harness over MCP or as downloaded files.
The full documentation covers the app, every command, and the API.
An agent usually starts each task with no knowledge of your computer. It doesn't know your ticket, your open file, or your last search, so you paste that context by hand. Chronicle keeps that memory on your computer and lets the agent request it:
- Continue your work. "Finish the Acme export" works because the agent can see
export.ts, the status of PR 882, and the Notion spec. - Teach by showing. Record a task once. The agent gets the apps, pages, and steps in order.
- Use tools without MCP. Download a harness as a .zip or one Markdown file for ChatGPT, Claude Projects, NotebookLM, Neo4j, or a RAG pipeline.
Chronicle stores everything in ~/.chronicle, with no account and no telemetry. See Privacy for what leaves your computer.
Quick start
Chronicle needs Python 3.10 or newer. macOS is the main platform, and Linux (X11) and Windows support is best effort.
These commands load a synthetic workday, so Chronicle records nothing.
uv tool install --python 3.12 "chronicle-context[graph]"
chronicle demo chronicle context "finish the Acme export"
chronicle context prints the Markdown that the get_context MCP tool returns. The sample output starts like this:
# Computer context (Chronicle)
Task: finish the Acme export Window: the most recent 2h of history.
What you were doing
- 14:55-15:31 meeting Acme weekly · Jordan Hale (36m)
- 15:34-16:24 writing customer emails · export spec (50m)
- 16:28-16:48 coding export.ts · asking Priya (20m)
On screen now
- Chrome · Checks · PR 882 (frame 18)
- URL: https://github.com/northwind/billing/actions
To open the app, connect an agent, and record your own work:
chronicle serve
chronicle mcp install cursor chronicle doctor chronicle record 30m --label "file an expense report"
The app runs at http://127.0.0.1:3030. chronicle mcp clients lists every client.
Permissions and tools
| Platform | What Chronicle needs |
|---|---|
| macOS | Screen Recording and Accessibility for the app that runs Chronicle. Local sources also need Full Disk Access |
| Linux | X11, a window manager, xdotool, and xprop. Wayland sessions aren't supported for window tracking |
| Linux screenshots | One of grim, gnome-screenshot, scrot, or ImageMagick import |
| Linux clipboard and idle time | xclip or wl-paste, and xprintidle |
| Windows | Nothing extra. Chronicle uses user32 and PowerShell |
| OCR, optional | brew install tesseract or apt install tesseract-ocr |
On macOS, the app that runs Chronicle is your terminal or the MCP host, such as Claude Desktop or Cursor. Add it under System Settings › Privacy & Security, then quit and reopen it. Closing its windows isn't enough.
How it works
Record. A session runs for a set time, such as 90s, 30m, or 2h, or until you stop it. Every 5 seconds by default, Chronicle samples the front app, its window, and the browser URL. When something changes, and at least every 30 seconds, Chronicle also takes a screenshot and reads screen text. Chronicle never records keystrokes, and it skips password managers, System Settings, and private browser windows.
Read sources. Under Privacy & Sources, you can also turn on Apple Mail, Calendar, iMessage, WhatsApp, browser history, folders, and AI tool logs. Every source starts off.
Build the graph. Each session gets its own graph. Nodes include apps, pages, files, tickets, PRs, people, topics, and tasks. Every node and edge records its time and its source frames, so an agent can cite its evidence. The all-history graph combines the sessions, and older sessions count less.
Write. With a model set up, Chronicle names the graph's work, then writes context files and workflows when a recording ends. Without a model, Chronicle runs offline and builds plain context files from the evidence.
Serve. Agents read everything over MCP.
| Level | What it is | Example |
|---|---|---|
| Harness | Everything an agent needs for a whole line of work | Recruiting |
| Context file | General guidance for one kind of session | Researching job companies |
| Workflow | A short procedure for one specific job | Customizing resume bullets |
Connect an agent
Local clients
chronicle mcp install adds Chronicle to a client's config and keeps a .chronicle-backup copy of the old file. chronicle mcp config prints the snippet and writes nothing.
| Client | Command |
|---|---|
| Claude Desktop | chronicle mcp install claude-desktop |
| Claude Code | chronicle mcp install claude-code |
| Cursor | chronicle mcp install cursor |
| VS Code (Copilot agent mode) | chronicle mcp install vscode |
| Windsurf | chronicle mcp install windsurf |
| OpenAI Codex CLI | chronicle mcp install codex |
| Gemini CLI | chronicle mcp install gemini-cli |
| Cline | chronicle mcp install cline |
| LM Studio | chronicle mcp install lm-studio |
| Zed | chronicle mcp config zed |
| Continue | chronicle mcp config continue |
| Goose | chronicle mcp config goose |
Restart the client after an install. Only one Chronicle process captures at a time, so an agent can call start_recording without chronicle serve. chronicle mcp --no-record turns that off.
Packaged installs
Packaged installs need only uv.
claude plugin marketplace add aniketxdey/chronicle
claude plugin install chronicle@chronicle
gemini extensions install https://github.com/aniketxdey/chronicle
MCP Registry clients can search for io.github.aniketxdey/chronicle.
Hosted agents and APIs
Hosted agents need a public HTTPS URL. Anyone with the URL that these commands print can read your Chronicle data. Stop the tunnel when you finish.
export CHRONICLE_TOKEN=$(openssl rand -hex 16)
export CHRONICLE_PUBLIC_URL=https://YOUR-TUNNEL-HOST chronicle serve & cloudflared tunnel --url http://127.0.0.1:3030 echo "$CHRONICLE_PUBLIC_URL/mcp/$CHRONICLE_TOKEN"
chronicle mcp config prints a starting point for chatgpt, openai-api, anthropic-api, gemini-api, and http. Provider model names and beta flags change often, so check each provider's MCP documentation. The examples folder has longer scripts.
Files
The harness editor exports a .zip or one Markdown file. Each context file and workflow has Download .md. Each graph downloads as JSON, text, GraphML, or Cypher.
MCP tools
| Tool | What it does |
|---|---|
list_harnesses, get_harness, read_harness_file, search_harness_graph | Read a harness, its files, and its graph engine |
get_context_file, get_workflow, get_graph | Read one context file, workflow, or graph |
get_context | A context pack for a task, with an optional preset |
search_history | Full-text search over screen text, events, transcripts, and memories |
query_graph, get_entity, graph_summary | Find nodes, read their evidence, and get graph totals |
list_tasks, activity_summary, list_meetings | Timelines and summaries |
get_frame | One frame, optionally with its screenshot |
start_recording, stop_recording, list_sessions | Record a demonstration, and list recordings |
rebuild_graph, tune_graph | Rebuild a graph, or refine it with your model |
graph_review, graph_apply | The connected agent curates the graph, with no Chronicle model |
search, fetch | The interface that ChatGPT connectors and deep research expect |
The server also has resources, such as chronicle://context/current, and two prompts: use_my_computer_context(task) and learn_from_recording(session_id). The MCP reference lists them all.
App, API, and CLI
chronicle serve runs the app at http://127.0.0.1:3030:
| Page | What it does |
|---|---|
| Knowledge | Shows the graph of all your history, a chat, and your recordings. The chat can propose something to build, and builds nothing until you press its button |
| Harnesses | Builds a harness in five steps, then edits it by hand or by chat |
| Contexts | Holds general guidance for one kind of session |
| Workflows | Holds short procedures for one job |
| Integrations | Connects MCP clients and exports files |
| Privacy & Sources | Controls what Chronicle reads besides recordings |
| Settings | Controls capture, retention, and models |
The REST API has interactive documentation at http://127.0.0.1:3030/docs. The CLI reference and REST reference list every command and route. The CLI has no harness commands.
Configuration
| Variable | Default | Meaning |
|---|---|---|
CHRONICLE_HOME | ~/.chronicle | Database, screenshots, and lock file |
CHRONICLE_HOST, CHRONICLE_PORT | 127.0.0.1, 3030 | Where chronicle serve listens |
CHRONICLE_TOKEN | Unset | Require this token on the HTTP API and MCP |
CHRONICLE_PUBLIC_URL | http://127.0.0.1:3030 | Base URL for links and remote client snippets |
CHRONICLE_DEMO=1 | Off | Load the sample workday into an empty database on start |
CHRONICLE_DISABLE_CAPTURE=1 | Off | Never record from this process |
CHRONICLE_HALF_LIFE_HOURS | 72 | How fast older recordings count less in All history. 0 or off disables it |
CHRONICLE_LLM | Unset | openai, anthropic, gemini, openrouter, local, or off |
CHRONICLE_LLM_MODEL | Provider default | Model for the provider named by CHRONICLE_LLM |
CHRONICLE_LLM_BASE_URL | http://localhost:11434/v1 | Endpoint for the local provider |
Chronicle reads these variables when a process starts. Settings in the app holds capture interval, idle threshold, screenshots, OCR, clipboard, redaction, and retention.
Models
A model is optional. Open Settings › Model, add a key, and press Use.
| Provider | Default model | Key from the environment |
|---|---|---|
| OpenAI | gpt-4.1-mini | OPENAI_API_KEY |
| Anthropic | claude-sonnet-5-5 | ANTHROPIC_API_KEY |
| Google Gemini | gemini-2.5-flash | GEMINI_API_KEY |
| OpenRouter | openai/gpt-4.1-mini | OPENROUTER_API_KEY |
| Local (Ollama, LM Studio) | You choose | Not needed |
A key can also be in a .env file in ~/.chronicle or the current directory. A .env file never overrides a variable that is already set. Your choice in Settings overrides CHRONICLE_LLM, except CHRONICLE_LLM=off, which turns models off whatever Settings says.
Workflows, harness chat, and context file names use tool calls, so choose a model that supports them. Small local models often fail at these tasks.
Privacy
Recordings, screenshots, source items, and graphs stay in ~/.chronicle. Data leaves your computer in these cases:
- MCP clients: a connected agent receives the tool results it requests.
- Models: a cloud model receives window titles, URLs, system events, redacted screen text, and matching source items.
- Tunnels: anyone with your URL and token can read your data.
- Cloud sources: a provider sees the requests that Chronicle makes to it.
Redaction applies to text only. Screenshots keep whatever was on screen. [PRIVACY.md](https://github.com/aniketxdey/chronicle/blob/main/PRIVACY
只显示了开头部分;其余内容请在仓库中阅读