DEVONthink命令行接口

DEVONthink CLI 是一个高性能命令行接口和模型上下文协议(MCP)服务器,将DEVONthink数据库转变为AI代理和专业自动化的首选工具。

  • by 2b3pro
  • JavaScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 2b3pro/Devonthink-MCP-CLI

使用说明

DEVONthink MCP&CLI(dt)

(非官方) macOS上DEVONthink 4的智能桥。

dt 是一个高性能的命令行界面和模型上下文协议(MCP)服务器,它将您的DEVONthink数据库变成人工智能代理和专业自动化的一流公民。


💡 问题

DEVONthink是macOS上最强大的个人信息管理器,但它在历史上一直是一个“离线堡垒”

  1. 脚本差距: AppleScript和JXA功能强大,但执行开销高,现代工作流的学习曲线陡峭。
  2. AI隔离: 现代大型语言模型(LLM),如Claude或GPT,如果不进行手动复制粘贴,就无法“看到”您本地的DEVONthink数据库,从而失去了您精心策划的知识的好处。
  3. 批量处罚: 通过标准脚本运行数百个单独的命令会由于重复的进程初始化而导致严重的性能滞后。

🚀 解决方案:智能桥梁

dt 通过在本地数据和人工智能代理世界之间提供统一的、状态感知的桥梁来解决这些问题。

项目的演变

  • v1.0(命令行界面): 一个简单的JXA包装器,使基于终端的搜索和记录创建快速且可预测。
  • v2.0(MCP服务器): 添加 模型上下文协议允许AI代理(如Claude Desktop)原生搜索、读取和组织您的数据库,就像它们是AI自身内存的一部分一样。
  • v2.2(智能桥): 介绍 会话状态, 前瞻性批处理,以及 AI驱动的队列修复。系统现在理解 上下文,捆绑操作,执行速度提高90%,并可以使用DEVONthink的内部AI自我修复失败的任务。

🧠 为什么是这个项目?(内置AI与。 dt)

DEVONthink 4包括令人印象深刻的内置AI功能,那么为什么要使用 dt?

特性 DEVONthink 4内置 DEVONthink CLI(dt)
聚焦 人机交互GUI辅助。 无头、代理本地自动化。
连接性 仅限本地应用程序。 连接到Claude、GPT和CLI管道。
批处理 手动选择或复杂的脚本。 自动 前瞻性优化.
验证 仅进行目视检查。 程序化和人工智能辅助 资源修复。

MCP服务器配置(Claude、Gemini等)

服务器支持 两次运输:

第一阶段 (默认值--每个客户端一个子进程,非常适合Claude Desktop):

  "mcpServers": {
    "devonthink": {
      "type": "stdio",
      "command": "path-to-node",
      "args": [
        "path-to/devonthink-cli/bin/dt.js",
        "mcp",
        "run"
      ],
      "env": {
        "DT_DEFAULT_DATABASE": "UUID-OF-YOUR-DATABASE"
      }
    }
  }

2.HTTP流式传输 (多个客户端通过HTTP连接到的共享、长期存在的守护进程)。启动一次,然后将任意数量的客户端指向URL:

dt mcp serve                       # foreground on 127.0.0.1:8765
dt mcp serve -H 0.0.0.0 -t SECRET  # expose on the LAN with a bearer token
dt mcp config --http               # print the client config below
  "mcpServers": {
    "devonthink": {
      "type": "http",
      "url": "http://127.0.0.1:8765/mcp"
    }
  }

终点: POST/GET/DELETE /mcp (MCP)和 GET /health (活力)。通过env配置: DT_MCP_PORT (8765), DT_MCP_HOST (127.0.0.1), DT_MCP_AUTH_TOKEN (可选承载), DT_MCP_CORS_ORIGINS (可选的allowlist)。对于始终在线的守护进程,请运行 dt mcp serve 来自launchd/pm2装置。

🤖 人工智能集成(MCP)

此工具包括 模型上下文协议(MCP) 服务器。当添加到Claude Desktop时,它允许AI:

  • 研究: “查找我上个月关于量子计算的所有笔记。”
  • 总结: “阅读所选文档,并给我一个3个标题的摘要。”
  • 组织: “将这50个PDF移动到正确的文件夹中,并根据其内容对其进行标记。”

👉 安装指南(MCP.md) | 👉 批处理系统指南(docs/Batch-QUEUE.md) | 👉 搜索备忘单(docs/Search-HEATSHEET.md)


🛠 安装

# Clone or download this repository
cd devonthink-mcp-cli

# Install dependencies
npm install

# Link globally (optional, makes 'dt' available everywhere)
npm link

⚡ 快速开始

# Check if DEVONthink is running
dt status

# Search for records and get clean output
dt search query "machine learning" --database "Research"

# Time-bound search (first-class flags)
dt search query "machine learning" --created-after "2 weeks" --modified-before "2024-12-31"

# Get selected records from the GUI
dt get selection

# Add a task to the queue for later execution
dt move <uuid> --to /Archive --queue

# Verify the queue exists and fix errors with AI
dt queue verify
dt queue repair --apply

# Execute the optimized batch
dt queue execute

📖 关键命令

组织与人工智能

  • dt organize <uuid> --auto:一步完成OCR、重命名、标记和汇总记录。
  • dt ocr <file> --output <path>:OCR文件并保存在本地(不保存在DEVONthink中)。
  • dt ocr <file> --output <path> --text:OCR并将纯文本提取为.txt文件。
  • dt ocr <file> -d "Database":OCR并导入DEVONthink。
  • dt summarize <uuid>:生成智能摘要(本地或人工智能驱动)。
  • dt chat "question":使用任何AI引擎与您的文档聊天。

管理

  • dt search:高速全文、标记、URL或元数据搜索。
  • dt info:快速记录属性查找(别名 dt get props).
  • dt get:检索道具、文件路径、数据库路径、文本内容、选择或索引。
  • dt create:创建记录、URL标记或AI生成的图像。
  • dt download markdown:从web URL创建干净的标记(具有可读性/整理模式)。
  • dt tree:将文件夹层次结构显示为ASCII树(用于LLM上下文注入、审核)。
  • dt smartgroup:创建、更新、列出和批量操作智能组。
  • dt smartgroup delete-items "SG Tag Adult" -d "Test_Database":删除智能组中的所有项目。
  • dt smartgroup modify-items "SG Tag Adult" -d "Test_Database" --add-tag review:批量标记智能组结果。
  • dt tags:高级标记规范化、合并和重复数据删除。
  • dt sheet:读取和修改CSV/TSV表记录(获取单元格、添加行、设置值)。

批处理和队列

  • dt queue add:将任务添加到持久队列。
  • dt queue status:查看待处理和已完成的任务。
  • dt queue execute:运行捆绑的优化操作。

🏗 建筑

dt 用Node.js编排层封装专门的JXA(JavaScript for Automation)脚本。

  • src/queue.js:操作Look Ahead Bundler进行高速批处理。
  • src/state.js:跟踪会话上下文(最近的记录/组)。
  • jxa/:用于读写数据的直接AppleScript桥。

📄 许可证

麻省理工学院

由...创建 沈(2b3pro) 2B3制作有限责任公司

请我喝杯咖啡☕️!