jot

io.github.ArpitK24由 GitHub 账号 ArpitK24 发布v0.2.0更新于 Nov 6, 2026

Shared, local-first memory for every AI agent, stored as Markdown and versioned in git.

已验证STDIO仅桌面文件与存储知识与记忆

概览

AI 生成的概览

面向各类 AI 智能体的本地优先共享记忆:以 Markdown 保存、用 git 版本管理,可新增、检索、更新和删除记忆。

可以做什么
  • 保存偏好、决策、事实或笔记,遇到相似记忆时不重复保存而是指向已有条目
  • 按当前任务检索相关记忆,采用 BM25 排序并对标签和近期更新加权
  • 改写已变化的记忆,或删除某条记忆
  • 按类型或标签筛选,列出最新的记忆
  • 多个智能体共用同一份记忆,并可在全局记忆之外启用项目级记忆
适用场景
当你同时使用多个支持 MCP 的智能体,希望告诉其中一个的偏好和决策第二天能被其他智能体知道,或希望把智能体记忆以可读文件保存在自己磁盘上而不是云端服务时适用。
运行要求
作为本地进程在桌面运行。安装 macOS、Linux 或 Windows 的预编译二进制(或用 Go 1.23+ 自行构建),再运行 jot init 创建记忆库;jot setup 会在征得同意后为 Claude Code、Cursor、Codex、Antigravity 和 Claude Desktop 写入配置。记忆库默认位于 ~/.jot,可通过 JOT_HOME 更改。无需账号或 API 密钥。
安装前请注意
助手可以写入、改写和删除记忆,jot setup 还会修改其他工具的配置文件(可用 jot setup --undo 撤销)。记忆是磁盘上 git 仓库中的纯 Markdown 文件,任何能访问该目录的人都能读取,也可能被提交进版本控制;不要在其中保存机密信息。

安装

在 SourceWeft 中

  1. 打开 控制台中的 jot,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

jot

Shared, local-first memory for every AI agent.

Tell Claude Code you use pnpm, and Cursor already knows it tomorrow. jot is one memory on your machine that every MCP-capable agent can read and write. It's stored as plain Markdown and versioned in git.

$ jot add -k preference -t js "Use pnpm, never npm"remembered 20261103-134832-fb9e (global)
$ jot search "package manager"20261103-134832-fb9e  preference global  Use pnpm, never npm  #js

Why

  • One memory, every agent. Claude Code, Cursor, Codex and any MCP client share it.
  • Yours, on disk. Each memory is a readable .md file. No cloud, no account, no database.
  • Git-versioned. Every change is a commit, so you get diffs, blame and undo for free.
  • Zero dependencies. A single static Go binary using only the standard library.

Install

Download a binary for macOS, Linux or Windows from Releases, or build with Go 1.23+:

sh
go install github.com/ArpitK24/jot/cmd/jot@latest

It's also listed on the official MCP Registry as io.github.ArpitK24/jot, with one-click .mcpb bundles on every release.

Then create your memory store:

sh
jot init

Then connect your agents. jot setup finds Claude Code, Cursor, Codex, Antigravity and Claude Desktop, shows the exact lines it will add to each config, and asks once before writing:

$ jot setup  Claude Code     will connect   ~/.claude.json  Cursor          connected      ~/.cursor/mcp.json  Codex           will connect   ~/.codex/config.toml  Antigravity     not installed  ~/.gemini/config/mcp_config.json  Claude Desktop  not installed  ~/Library/Application Support/Claude/claude_desktop_config.json  ...Connect 2 tools? [y/N]

Undo it with jot setup --undo. To configure a tool by hand, see docs/setup.md.

How it works

~/.jot/                      global memory (or $JOT_HOME)  20261103-134832-fb9e.md  .git/<repo>/.jot/                 optional project memory (jot init --project)

A memory file:

markdown
---id: 20261103-134832-fb9ekind: preferencetags: [js, tooling]source: claude-codecreated: 2026-11-03T13:48:32Zupdated: 2026-11-03T13:48:32Z---
Use pnpm, never npm.

Recall uses BM25 ranking with boosts for tag matches and recent updates, across project memories and then global ones.

MCP tools

ToolWhat it does
rememberSave one preference, decision, fact or note. If a similar memory exists, it saves nothing and points to that one instead
recallSearch memory for what's relevant to the task
updateRewrite a memory that changed
forgetDelete a memory
listNewest memories, filtered by kind or tags

CLI

jot init [--project]     jot search <query>     jot show <id>     jot logjot add [-k -t -p] text  jot ls [-k -t]         jot edit <id>     jot wherejot serve                jot rm <id>            jot versionjot setup [--undo]       jot dupes              jot merge <keep> <drop>

Duplicates

Agents often save the same thing twice in different words. jot dupes lists likely pairs, and jot merge keeps the newer one, adds any sentence only the other one had, and removes it in one commit. Git still has the original.

$ jot dupes 66%  20261106-091200-a3f9  global  claude-code  Use pnpm for every JS project...      20261104-180511-7be0  global  cursor       Use pnpm for every JS project...      jot merge 20261106-091200-a3f9 20261104-180511-7be0

Roadmap

  • Merge near-duplicate memories instead of piling them up
  • jot setup to connect installed agents in one step
  • Expiry and review for stale facts
  • Optional local embeddings (Ollama) for semantic recall
  • jot sync through a git remote across machines
  • TUI browser

License

MIT

来源:README.md,提交 5b621ba

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:该软件包类型无法在沙箱中运行。

版本历史

2
  1. v0.2.0最新Nov 6, 2026
  2. v0.1.1Nov 4, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分