# 为什么做读咚咚？

> 我想让 AI 看见我的知识。

> 给 Agent 时代的知识工作者

---

## 我的一个日常场景

今天看到一篇好文章，里面有句话很触动我。

**我想把它存下来。**

然后呢？

- 发到微信读书？不，这不是书
- 孱存到 Cubox？可是它是云端的，我不放心
- 复制到 Notion？打开太慢了
- 记在脑子里？哈哈，明天就忘了

**我只是想：快速、私密、可靠地存下来。**

就这么简单。

---

## Agent 时代正在到来

你可能注意到了：

- **Claude Code** - Anthropic 官方的 CLI 编程助手
- **OpenInterpreter** - 本地运行代码的 AI
- **Cursor** - AI 原生编辑器
- **warp**️ - AI 原生终端

**Agent 越来越多，但基础设施跟不上。**

这些 Agent 很强大，但它们需要**可操作的数据**。

你的摘录、你的收藏、你的想法——如果都在云端 SaaS 里，Agent 怎么访问？

如果数据在本地的 SQLite 里，一行命令就拿到了：

```bash
dr ls --limit 5
# → 返回 JSON
# → Agent 解析、分析、推荐
```

**这就是 Agent 原生。**

---

## 现有工具的问题

| 工具 | 问题 |
|------|------|
| Cubox | 云端、闭源、无 CLI |
| Pocket | 国外访问慢、云端 |
| Notion | 太重、打开慢、不是为摘录设计 |
| 浏览器书签 | 没法存摘录内容 |
| 纸笔 | 搜索不了 |
| 微信收藏 | 永远不会再翻看 |

**核心问题：它们不是为 Agent 设计的。**

---

## 读咚咚是什么

读咚咚是**个人知识数据层的 Python 库**，提供 CLI、SDK 和 MCP Server 等多种访问方式。

```
┌─────────────────────────────────────────┐
│  你看到一句好话 / 一篇好文章              │
├─────────────────────────────────────────┤
│  dr add "这句话说得真好"                │
│  或浏览器插件一键收藏                     │
├─────────────────────────────────────────┤
│  存入 ~/.read/read.db (SQLite)            │
├─────────────────────────────────────────┤
│  Agent 随时可以读取、分析、推荐           │
└─────────────────────────────────────────┘
```

**核心特点：**

1. **数据层优先** - Core Library 是核心，CLI/插件/SDK 都是客户端
2. **本地私有** - 数据在你电脑上
3. **Agent 友好** - JSON 输出 + MCP Server + Python SDK
4. **极简核心** - 数据层只做存储和接口

---

## 谁需要读咚咚

### 1. Agent 用户

你用 Claude Code、Cursor、ChatGPT 等 AI 工具。

你需要一个 Agent 能"看见"的知识库。

读咚咚的数据，Agent 可以直接读取：

```python
# 方式1: Python SDK（推荐）
from read import Client
client = Client()
items = client.search("AI").limit(5)

# 方式2: MCP Server（Claude/ChatGPT 原生支持）
# 在 Agent 中直接调用 read_search、read_add 等工具

# 方式3: CLI（兼容性）
import subprocess
result = subprocess.run(["read", "ls", "--limit", "10"], capture_output=True)
data = json.loads(result.stdout)
```

### 2. 程序员/终端用户

你大部分时间在终端里。

切换到浏览器、打开 Notion、点来点去——太慢了。

一行命令搞定，是程序员的方式。

### 3. 知识工作者

你每天看很多文章、书、视频。

你不想让这些好内容流失，但也不想被复杂的笔记软件绑架。

你需要一个"丢进去就行"的地方。

---

## 使用场景

### 场景 1：看到一句好话

```bash
# 正在终端工作，突然看到一句好话
dr add "我们一直在设计 AI 原生的工具"
```

### 场景 2：收藏一篇好文章

```bash
# 看到一篇好文章，先存下来稍后读
dr add --url "https://mp.weixin.qq.com/s/xxx"
```

### 场景 3：摘录 + 来源

```bash
# 这句话来自某篇文章
dr add "Agent First, Human Second" \
    --url "https://example.com" \
    --source "CLAUDE.md"
```

### 场景 4：让 Agent 推荐

```bash
# 早上，让 Agent 推荐一条昨天的摘录
dr ls --limit 1 --type content
# → Agent 拿到结果，生成早安问候
```

---

## 设计哲学

### 1. 收集优先，整理稍后

大多数人死于"整理"，而非"收集"。

先让它流动起来，分类是以后的事。

### 2. Agent First, Human Second

人类可以直接用，但更要让 Agent 好用。

JSON 输出、简单的命令、清晰的接口。

### 3. 本地私有

你的想法、你看到的、你收藏的——这些都是你私人的。

为什么要上传到别人的服务器？

### 4. 极简主义

> "有疑问时，不加。想加新功能？先划掉一个旧的。"

不做标签、不做自动抓取、不做全文索引、不做 AI 摘要。

只做一件事：**让你快速把内容存进来。**

---

## 未来

读咚咚只是第一步。

```
仓咚咚 (cang)  → 管钱（财务流动）
读咚咚 (read)   → 管内容（阅读摘录）
记咚咚 (ji)    → 管时间（日程日志）
行咚咚 (xing)  → 管习惯（打卡追踪）
```

**家族化的个人数据管理工具，全部本地、全部 Agent 友好。**

---

## 开始使用

```bash
# 安装
pip install dong-read

# 初始化
dr init

# 存下你看到的第一句话
dr add "开始，就是最好的时机"
```

---

## 最后

读咚咚不是一个"产品"，它是一个"工具"。

工具应该简单、可靠、不起眼。

当你需要它的时候，它就在那里。

当你不需要的时候，它不打扰你。

**这就是读咚咚。**

---

*v0.1.0 — 2026.03.15*
*by gudong*
