Tham chiếu API Endpoints
Tài liệu tham chiếu chi tiết các API REST do tiến trình nền ActonOS (actond) cung cấp.
Base URL: http://localhost:8080/api
1. Hệ thống & Sức khỏe (Health & System)
GET /api/health
Trả về trạng thái sức khỏe, phiên bản, thời gian hoạt động (uptime), chế độ runtime và tài nguyên tải. Không yêu cầu xác thực.
Phản hồi:
{
"status": "healthy",
"version": "0.1.0",
"uptime_seconds": 3600,
"runtime_mode": "baremetal",
"agents_active": 3,
"memory_usage_mb": 42.5,
"cpu_percent": 1.8,
"disk_usage_percent": 12.4,
"tailscale_connected": true
}
GET /api/models
Lấy danh mục catalog chuẩn của tất cả các mô hình LLM được hỗ trợ, thông số nhà cung cấp, nhãn badge và hạn mức. Đây là nguồn dữ liệu chuẩn duy nhất của toàn hệ thống.
Phản hồi:
{
"models": [
{
"id": "anthropic/claude-sonnet-4-6",
"name": "Claude Sonnet 4.6",
"provider_id": "anthropic",
"provider_name": "Anthropic Claude",
"context_window": 200000,
"badge": "Recommended"
}
]
}
GET /api/system/audit/verify
Xác thực chuỗi băm mật mã SHA-256 của tệp /data/logs/audit.jsonl để phát hiện can thiệp dữ liệu trái phép.
GET /api/system/backup
Tải bản sao lưu SQLite nhất quán theo giao dịch được tạo qua VACUUM INTO.
2. Xác thực & Danh tính Quản trị
GET /api/auth/status
Trả về trạng thái khởi tạo và phiên đăng nhập hiện tại.
POST /api/auth/setup
Khởi tạo danh tính Quản trị viên và đặt mật khẩu chính trong quá trình thiết lập ban đầu.
POST /api/auth/login
Xác thực bằng mật khẩu chính và nhận mã phiên Bearer JWT.
POST /api/auth/logout
Thu hồi và hủy phiên đăng nhập hiện tại.
PUT /api/auth/password
Thay đổi mật khẩu quản trị viên.
3. Quản trị Agents
GET /api/agents
Liệt kê tất cả các Agent đã đăng ký.
POST /api/agents
Tạo mới một cấu hình Agent.
Body Yêu cầu:
{
"id": "researcher",
"name": "Research Agent",
"description": "Thực hiện nghiên cứu web chuyên sâu và viết báo cáo markdown",
"system_prompt": "Bạn là chuyên gia nghiên cứu dữ liệu...",
"primary_model": "anthropic:claude-3-7-sonnet",
"fallback_model": "google:gemini-2.0-flash",
"temperature": 0.2,
"tools": ["native_web_search", "native_browser_headless", "native_workspace_write"],
"allowed_paths": ["docs/*", "research/*"]
}
PUT /api/agents/{id}
Cập nhật cấu hình của một Agent có sẵn.
DELETE /api/agents/{id}
Xóa Agent khỏi hệ thống.
4. Trò chuyện & Luồng Thực thi (Chat Streams)
POST /api/agents/{id}/chat
Gửi tin nhắn đồng bộ đến một Agent.
GET /api/agents/{id}/chat/stream
Khởi tạo luồng Server-Sent Events (SSE) để truyền dữ liệu sinh token theo thời gian thực và thẻ thực thi công cụ trực tiếp.
5. Sổ cái Phê duyệt (Approvals Ledger)
GET /api/approvals?status=pending
Liệt kê danh sách các yêu cầu đột biến chờ phê duyệt (pending, approved, rejected, all).
POST /api/approvals/{id}/approve
Chấp thuận hành động chính xác và tiếp tục luồng thực thi của Agent.
POST /api/approvals/{id}/reject
Từ chối hành động mà không thực thi lệnh đột biến.
6. Phân hệ Plugin (WASMLoader)
GET /api/plugins
Liệt kê tất cả các Plugin WASM đã cài đặt kèm manifest, khả năng (tool, channel, connector), phân quyền và trạng thái runtime.
Phản hồi:
{
"plugins": [
{
"id": "channel-discord",
"name": "Discord Bot Channel",
"version": "2.0.0",
"author": "ActonOS Core Team",
"capabilities": ["channel"],
"enabled": true,
"status": "running",
"permissions": {
"net_outbound": ["discord.com", "gateway.discord.gg"],
"secrets": ["discord_bot_tokens.*"],
"storage": true
}
}
]
}
POST /api/plugins/upload
Tải lên gói .actonpkg hoặc tệp nhị phân .wasm qua multipart/form-data (file). Xác thực manifest và hot-load vào môi trường sandbox Wazero.
GET /api/plugins/{id}
Lấy thông tin chi tiết manifest và schema cấu hình giao diện của plugin.
POST /api/plugins/{id}/config
Cập nhật giá trị cấu hình động và lưu trữ khóa bí mật vào Hardware Vault. Tự động kích hoạt cơ chế Hot-reload của plugin.
POST /api/plugins/{id}/enable | POST /api/plugins/{id}/disable
Bật hoặc Tắt plugin tại thời điểm chạy mà không cần khởi động lại actond.
DELETE /api/plugins/{id}
Gỡ cài đặt plugin và xóa thư mục lưu trữ khỏi /data/plugins/{id}.
GET /api/plugins/{id}/logs
Lấy nhật ký thực thi và đo kiểm phát ra từ sandbox của plugin WASM.
7. Tài khoản Kênh & Ghép đôi Thiết bị (Pairing)
GET /api/integrations/channels | POST /api/integrations/channels
Lấy hoặc cấu hình thông tin xác thực kênh chat đa tài khoản và quy tắc định tuyến Agent.
GET /api/integrations/channels/accounts
Liệt kê tất cả tài khoản kênh đang hoạt động kèm huy hiệu trạng thái kết nối trực tiếp.
POST /api/integrations/pairing/code
Tạo mã ghép đôi 6 chữ số để xác thực người vận hành kênh chat.
POST /api/integrations/pairing/verify
Xác thực mã PIN ghép đôi từ tin nhắn đến để cấp quyền điều hành cho User ID.
GET /api/integrations/authorizations | DELETE /api/integrations/authorizations
Xem danh sách hoặc thu hồi quyền của các người gửi chat bên ngoài.
8. Khóa bí mật Hardware Vault
GET /api/vault/secrets
Liệt kê siêu dữ liệu của toàn bộ khóa bí mật được mã hóa trong Hardware Vault.
POST /api/vault/secrets
Lưu trữ khóa bí mật được mã hóa gắn liền với UUID và CPU serial phần cứng.
DELETE /api/vault/secrets/{name}
Xóa một bản ghi khóa bí mật khỏi Vault.
9. Công cụ & Chợ Tiện ích (Tools & Hub)
GET /api/tools
Liệt kê tất cả công cụ hoạt động qua các danh mục Native, MCP, WASM Plugin và Skill-as-a-Folder.
POST /api/tools/mcp | DELETE /api/tools/mcp/{serverID}
Đăng ký hoặc ngắt kết nối máy chủ MCP (stdio hoặc sse). Các thao tác rủi ro cao trả về mã 202 Accepted chờ duyệt.
GET /api/tools/hub/catalog
Lấy danh mục các công cụ từ Chợ tiện ích Cộng đồng.
POST /api/tools/hub/install | POST /api/tools/hub/uninstall
Cài đặt hoặc gỡ cài đặt một gói kỹ năng cộng đồng.
10. Quản lý Tệp Workspace
GET /api/workspace/files?dir=docs
Liệt kê tệp và thư mục theo đường dẫn tương đối kèm trạng thái lập chỉ mục vector.
GET /api/workspace/file?path=docs/notes.md
Lấy nội dung văn bản và siêu dữ liệu của tệp.
GET /api/workspace/raw?path=docs/diagram.png
Truyền tải byte nhị phân thô (hỗ trợ HTTP Range) cho hình ảnh, media hoặc PDF.
POST /api/workspace/file
Tạo hoặc cập nhật tệp và tự động đưa vào hàng đợi lập chỉ mục vector.
DELETE /api/workspace/file?path=reports/old.md
Xóa tệp hoặc thư mục khỏi không gian làm việc.
11. Trung tâm Thông báo (Notifications)
GET /api/notifications
Lấy danh sách thông báo hệ thống và nhiệm vụ có phân trang.
POST /api/notifications/mark-read
Đánh dấu thông báo đã đọc ({ "id": "notif_..." } hoặc { "all": true }).
GET /api/notifications/push/vapid-key
Lấy khóa công khai VAPID cho thông báo đẩy trình duyệt.
POST /api/notifications/push/subscribe
Đăng ký Service Worker nhận thông báo đẩy cấp hệ điều hành.