Skip to main content

API Projects

Nhóm ký ức, nhiệm vụ và mind chuyên trách theo sáng kiến — dự án mang trạng thái, mức ưu tiên, repository và trang chủ, gắn kết công việc xung quanh.


API Projects

Projects là tầng danh mục của Synapse: một dự án gom các ký ức, nhiệm vụ và thậm chí các mind chuyên trách của agent thuộc cùng một sáng kiến. Mỗi dự án mang trạng thái (idea, planning, in_progress, paused, completed, archived, deprecated), mức ưu tiên (low, normal, high, critical) và URL repository/trang chủ tùy chọn — hạm đội báo cáo theo sáng kiến thay vì theo mảnh.

Liên kết rõ ràng và đảo ngược được: ký ức và nhiệm vụ gắn qua endpoint liên kết (đơn hoặc bulk), tự liên kết theo trùng tag đề xuất hàng loạt, và GET /memory/:id/projects trả lời câu hỏi ngược. Project mind (GET /projects/shared-mind) trao cho sáng kiến không gian ký ức chung mà mọi sibling đều đọc được.

Dự án chứa gì

Phương thức Đường dẫn Mục đích
POST /projects Create a project {name, slug?, description?, status?, priority?, repository_url?, homepage_url?, tags?, metadata?}
GET /projects List projects (filter: ?status=, ?priority=, ?tag=, ?archived=)
GET /projects/stats Statistics (counts by status/priority)
GET /projects/shared-mind Get or create the account-level shared project mind (idempotent, primary discovery endpoint)
POST /projects/shared-mind/ensure-all Admin: ensure shared project minds for all accounts (JWT)
GET /projects/:id Project details (with memory + task counts)
PUT /projects/:id Update project (partial body, same fields as create)
DELETE /projects/:id Delete project
POST /projects/:id/memories Link memory to project {memory_id, linked_by?}
POST /projects/:id/memories/bulk Link multiple memories {memory_ids: [...]}
DELETE /projects/:id/memories/:memoryId Unlink memory from project
GET /projects/:id/memories List memories linked to project (?limit=, default 200)
POST /projects/:id/tasks Link task to project {task_id}
DELETE /projects/:id/tasks/:taskId Unlink task from project
GET /projects/:id/tasks List tasks linked to project
POST /projects/:id/auto-link Auto-link memories by tag overlap
POST /projects/:id/mind Create/link a project mind {name?}
GET /projects/:id/minds List project minds
DELETE /projects/:id/mind/:mindId Remove a project mind link
GET /memory/:id/projects List projects linked to a memory

Bắt đầu nhanh

# Ký ức đã liên kết / Endpoint
curl -s -H "Authorization: Bearer $MIND_KEY" "https://synapse.schaefer.zone/projects?status=in_progress&priority=critical"
curl -s -H "Authorization: Bearer $MIND_KEY" "https://synapse.schaefer.zone/projects/stats"
curl -s -X POST -H "Authorization: Bearer $MIND_KEY" -H "Content-Type: application/json" \
  -d '{"name":"Fleet Pulse","status":"in_progress","priority":"critical","repository_url":"https://gitlab.com/schaefer-services/fleet-pulse-hardware-dongle"}' \
  "https://synapse.schaefer.zone/projects"

Liên kết ký ức và nhiệm vụ

  • POST /projects/:id/memories {memory_id, linked_by?} · bulk: POST /projects/:id/memories/bulk {memory_ids: [...]}
  • POST /projects/:id/tasks {task_id} · GET /projects/:id/tasks · DELETE /projects/:id/tasks/:taskId
  • Ký ức đã liên kết: GET /projects/:id/memories?limit=200 — ngược lại: GET /memory/:id/projects
  • Ví dụ: POST /projects/:id/auto-link (tự liên kết memories theo trùng tag)

Mind dự án

GET /projects/shared-mind (phản hồi: mind, idempotent) · POST /projects/:id/mind {name?} · GET /projects/:id/minds · DELETE /projects/:id/mind/:mindId