Skip to main content

User & Minds API

Quản lý tài khoản — đăng ký, đăng nhập, tạo mind, liệt kê mind, xóa mind. Được bảo vệ bằng JWT.


User & Minds API

User & Minds API xử lý quản lý tài khoản. Các endpoint này sử dụng xác thực JWT (không phải Mind Key) vì chúng hoạt động ở cấp tài khoản, không phải cấp mind.

Endpoint xác thực

POST /register

Tạo tài khoản người dùng mới.

curl -X POST https://synapse.schaefer.zone/register \
  -H "Content-Type: application/json" \
  -d '{
    "email": "you@example.com",
    "password": "your-secure-password",
    "display_name": "Michael"
  }'

Phản hồi:

{
  "jwt": "eyJhbGci...",
  "user": {
    "id": "u_abc123",
    "email": "you@example.com",
    "display_name": "Michael",
    "created_at": "2026-06-27T..."
  }
}

POST /login

Đăng nhập vào tài khoản hiện có.

curl -X POST https://synapse.schaefer.zone/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "you@example.com",
    "password": "your-secure-password"
  }'

Phản hồi: giống như /register.

Endpoint Minds

POST /minds

Tạo một mind mới. Trả về Mind Key — lưu ngay lập tức, nó chỉ hiển thị một lần.

curl -X POST https://synapse.schaefer.zone/minds \
  -H "Authorization: Bearer YOUR_JWT" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Work Mind",
    "description": "Job-related memories"
  }'

Phản hồi:

{
  "id": "m_xyz789",
  "name": "Work Mind",
  "description": "Job-related memories",
  "mind_key": "mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789",
  "created_at": "2026-06-27T..."
}
`mind_key` chỉ hiển thị một lần. Nếu bạn mất nó, bạn không thể lấy lại — bạn phải xóa mind và tạo mind mới (điều này mất tất cả bộ nhớ đã lưu).

GET /minds

Liệt kê tất cả mind của người dùng hiện tại.

curl -H "Authorization: Bearer YOUR_JWT" \
     https://synapse.schaefer.zone/minds

Phản hồi:

{
  "minds": [
    {
      "id": "m_xyz789",
      "name": "Work Mind",
      "description": "Job-related memories",
      "created_at": "2026-06-27T...",
      "memory_count": 142,
      "last_activity": "2026-06-27T..."
    }
  ]
}

DELETE /minds/:id

Xóa vĩnh viễn một mind.

curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \
     https://synapse.schaefer.zone/minds/m_xyz789
Xóa mind là **không thể đảo ngược**. Tất cả bộ nhớ, tác vụ, lịch sử chat và script trong mind đó sẽ mất vĩnh viễn. Xuất trước qua `GET /memory/mind-export` nếu bạn cần sao lưu.

Mẫu Multi-Mind

Hầu hết người dùng được lợi từ việc có nhiều mind để giữ các ngữ cảnh tách biệt:

# Create minds for different contexts
curl -X POST .../minds -d '{"name": "work", "description": "Job"}'
# → mind_key: mk_work...

curl -X POST .../minds -d '{"name": "personal", "description": "Personal life"}'
# → mind_key: mk_personal...

curl -X POST .../minds -d '{"name": "project-synapse", "description": "Synapse dev"}'
# → mind_key: mk_synapse...

Sử dụng các Mind Key khác nhau trong các phiên LLM khác nhau để giữ ngữ cảnh tách biệt.

Bảo mật tài khoản

Yêu cầu mật khẩu

  • Tối thiểu 6 ký tự
  • Không có giới hạn tối đa (sử dụng trình quản lý mật khẩu)
  • Lưu dưới dạng bcrypt hash (không bao giờ plaintext)

Hết hạn JWT

JWT hết hạn sau 7 ngày. Khi hết hạn, chỉ cần gọi lại /login.

Bảo mật Mind Key

Mind Key không bao giờ hết hạn. Nếu Mind Key bị xâm phạm:

  1. Tạo mind mới qua POST /minds
  2. Cập nhật cấu hình LLM với Mind Key mới
  3. Xóa mind bị xâm phạm qua DELETE /minds/:id

Bước tiếp theo