Skip to content

TeigenZhang/dida-claude

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dida-claude

用 Claude Code 自动化处理你的滴答清单收集箱。

不仅分类,更要深度处理 —— 文章自动提取核心观点,待办自动调研拆解,资源自动评估打分,灵感自动扩展行动方向。

✨ 效果展示

处理前(你的收集箱):

- https://mp.weixin.qq.com/s/xxxxx
- 调研 Claude Code 的 Skill 系统
- https://github.com/某个项目
- 买猫粮
- 一个想法:用 AI 自动化任务管理

处理后(自动回写到滴答清单):

  • ✅ 每个任务打上分类标签(文章/待办/资源/灵感
  • ✅ 任务详情追加 3-5 个核心要点摘要
  • ✅ 标题添加优先级和清单标记:B【自我学习】Claude Code Skill 系统详解
  • ✅ 本地生成完整分析报告(results/ 目录)

🚀 快速开始

前置要求

  1. Claude Code - 已安装(安装指南
  2. Python 3 + requests
  3. 滴答清单账号 - 获取 API Token

安装步骤

# 1. 克隆项目
git clone https://github.com/TeigenZhang/dida-claude.git
cd dida-claude

# 2. 安装 Python 依赖
pip install requests

然后按下方步骤获取滴答清单 Access Token。

获取滴答清单 Access Token

这是安装过程中最复杂的一步,按以下流程操作即可。

1. 创建应用

打开 滴答清单开发者平台,登录账号,点击 "New App"

OAuth Redirect URL 中填入:

http://localhost:8080

创建完成后,记下 Client IDClient Secret

2. 获取授权码

在浏览器中访问以下地址(替换 YOUR_CLIENT_ID):

https://dida365.com/oauth/authorize?scope=tasks:write%20tasks:read&client_id=YOUR_CLIENT_ID&state=state&redirect_uri=http://localhost:8080&response_type=code

授权后页面会跳转到 http://localhost:8080/?code=AbCdEf&state=state

浏览器会显示 "无法访问此网站",这是正常的。把地址栏中 code= 后面的值记下来。

3. 换取 Access Token

curl -X POST "https://dida365.com/oauth/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "client_id=YOUR_CLIENT_ID" \
     -d "client_secret=YOUR_CLIENT_SECRET" \
     -d "code=YOUR_CODE" \
     -d "grant_type=authorization_code" \
     -d "redirect_uri=http://localhost:8080"

返回的 JSON 中 access_token 就是我们需要的令牌:

{
  "access_token": "xxxxx-xxxx-xxxx-xxxx-xxxxxxxx",
  "token_type": "bearer",
  "expires_in": 15551999,
  "scope": "tasks:read tasks:write"
}

Token 有效期约 180 天。过期后需要重新执行步骤 2-3 获取新 Token。

4. 配置环境变量

cp .env.example .env

编辑 .env,填入 Token:

DIDA_ACCESS_TOKEN=你的access_token

5. 验证连接

python3 scripts/dida_api.py inbox

返回了收集箱的任务列表(JSON 格式),说明配置成功。

配置 MCP(可选,增强功能)

如果你想自动处理微信公众号文章,需要配置 weixin-reader MCP:

cp .mcp.json.example .mcp.json
# 按需编辑 .mcp.json

运行

cd dida-claude

# 方式一:直接用 Claude Code 运行 PROMPT.md
claude -p "$(cat PROMPT.md)"

# 方式二:手动分步操作
python3 scripts/dida_api.py fetch --skip-tag "已处理"
# 然后在 Claude Code 中处理生成的批次文件

📁 项目结构

dida-claude/
├── README.md              # 本文档
├── PROMPT.md              # 核心处理提示词(Claude Code 直接使用)
├── scripts/
│   └── dida_api.py        # 滴答清单 API CLI 工具
├── references/
│   └── api-reference.md   # Dida365 API 参考
├── .env.example           # 环境变量模板
├── .mcp.json.example      # MCP 配置模板
├── .claude/
│   └── settings.local.json # Claude Code 权限设置
├── .gitignore
├── LICENSE
├── inbox/                 # 输入批次(自动生成)
├── results/               # 处理结果(自动生成)
├── archive/               # 数据存档(自动生成)
└── attachments/           # 附件下载(自动生成)

🔧 CLI 工具用法

scripts/dida_api.py 是一个独立的滴答清单 API CLI 工具,所有输出为 JSON 格式。

常用命令

# 查看所有项目
python3 scripts/dida_api.py projects

# 查看收集箱任务
python3 scripts/dida_api.py inbox

# 拉取未处理的任务(生成批次文件)
python3 scripts/dida_api.py fetch --skip-tag "已处理"

# 创建任务
python3 scripts/dida_api.py create --title "新任务" --project inbox

# 给任务打标签
python3 scripts/dida_api.py add-tag <task_id> --project <project_id> --tag "标签名"

# 追加内容到任务详情
python3 scripts/dida_api.py append-content <task_id> --project <project_id> --text "追加的内容"

# 回滚批次处理(容灾)
python3 scripts/dida_api.py rollback <batch_id>

附件处理

需要在 .env 中额外配置 DIDA_SESSION_TOKEN(从浏览器 Cookie 获取):

# 下载任务的所有附件
python3 scripts/dida_api.py download-task-attachments <task_id> --project <project_id>

🏷️ 标签说明

处理后会自动打上以下标签:

标签 说明
已处理 去重标记,防止重复处理
文章 文章/链接类(微信、B站、博客等)
待办 待办/行动类(调研、采购等)
资源 资源/工具类(GitHub 仓库、在线工具)
灵感 想法/灵感类(短文本笔记)
联系人 联系人类
已跳过 无法自动处理的内容

🔄 工作流程

1. 你随手往滴答清单收集箱扔任务(链接、想法、待办...)
   ↓
2. 运行 claude -p "$(cat PROMPT.md)"
   ↓
3. 自动拉取收集箱 → 深度处理每个任务 → 回写标签和摘要
   ↓
4. 打开滴答清单,所有任务已分类整理好,附带核心要点

❓ 常见问题

Q: 运行后提示 "No unprocessed tasks"

所有收集箱任务都已有 已处理 标签。这是正常的,说明之前已经处理过了。

Q: 如何重新处理某个任务?

python3 scripts/dida_api.py remove-tag <task_id> --project <project_id> --tag "已处理"

或者回滚整个批次:

python3 scripts/dida_api.py rollback <batch_id>

Q: API 报错 "exceed_query_limit"

脚本已内置限流保护和自动重试。如果仍然触发,等待 10 秒后重试即可。

Q: 微信文章无法读取

需要配置 weixin-reader MCP。参考 .mcp.json.example 配置。

Q: 附件下载失败(401)

DIDA_SESSION_TOKEN 已过期,需要重新获取:

  1. 浏览器打开 https://dida365.com 并登录
  2. F12 → Application → Cookies → dida365.com
  3. 复制 t 的值,更新 .env

🎯 进阶玩法

定时自动处理

配合 cron 实现定时处理:

# 每天早上 9 点自动处理收集箱
0 9 * * * cd /path/to/dida-claude && claude -p "$(cat PROMPT.md)" >> logs/$(date +\%Y-\%m-\%d).log 2>&1

自定义处理策略

编辑 PROMPT.md 中的分类规则和处理模板,适配你自己的清单体系。

扩展 MCP 支持

.mcp.json 中添加更多 MCP 服务器,支持更多平台:

  • 小红书 MCP
  • B站 MCP
  • YouTube 字幕 MCP

📄 License

MIT

About

用 Claude Code 自动化处理你的滴答清单收集箱 — 文章提炼观点、待办调研拆解、资源评估打分、灵感扩展行动

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages