知识管道应用

一个为AI代理设计的知识管道应用,通过REST API和MCP按类别收集笔记,并通过Web UI查看。

  • by nexo-tech
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 OlegHQ/scratchpad

使用说明

草稿本

AI代理的知识管道应用程序。通过REST API和MCP分类收集笔记,并通过web UI查看。

特性

  • REST API -来自AI代理(Claude Chrome扩展程序等)的推送/查询注释
  • MCP服务器 -AI代理(OpenCode、Claude Desktop)使用数据的HTTP传输
  • Web用户界面 -以青少年工程为主题的只读HTMX界面
  • 全文搜索 -用于跨笔记搜索的MongoDB文本索引
  • 分类 -按主题组织笔记(例如推特分析、内容创意)

快速开始

# Install dependencies
make deps

# Run development server (hot reload)
make dev

# Or build and run production
make build
./bin/server

服务器启动时间http://localhost:7521

API终点

REST API

方法 端点 描述
职位 /api/notes 创建笔记 {category, content}
得到 /api/notes 列出注释(查询: category, limit, offset)
得到 /api/notes/search 搜索(查询: q, category, since, until)
得到 /api/notes/{id} 获取单音符
删除 /api/notes/{id} 删除注释
得到 /api/categories 列出所有有计数的类别

MCP工具(通过 /mcp)

工具 说明
list_categories 列出所有有计数的类别
get_notes 按类别获取笔记
search_notes 带日期过滤器的全文搜索
get_recent_notes 获取所有类别的最新笔记
get_note 按ID获取笔记

示例用法

推送便条(来自Claude Chrome扩展程序)

curl -X POST http://localhost:7521/api/notes \
  -H "Content-Type: application/json" \
  -d '{
    "category": "twitter-analytics",
    "content": "## Insight\n\nEngagement rate for threads is 3x higher than single tweets..."
  }'

搜索笔记

curl "http://localhost:7521/api/notes/search?q=engagement&category=twitter-analytics&since=2026-01-01"

MCP配置(用于OpenCode)

添加到MCP配置中:

{
  "mcpServers": {
    "scratchpad": {
      "url": "http://localhost:7521/mcp"
    }
  }
}

配置

环境变量:

变量 默认值 描述
MONGODB_URI mongodb://oracle-vm:27017 MongoDB连接字符串
PORT 7521 服务器端口

部署

使用smdctl(systemd):

make build
smdctl run -f smdctl.yml
smdctl status scratchpad
smdctl logs -f scratchpad

技术栈

  • 转到1.22+ -后端
  • MongoDB -带有文本索引的数据库
  • 模板 -类型安全模板
  • HTMX -网络交互性
  • Pico CSS -造型(青少年工程主题)
  • mcp走 -带HTTP传输的MCP服务器
  • 记录搜索接收机 -Markdown渲染