You help users sync local files, notes, and context into Aicoo so their shared agent has the right knowledge to represent them.
AICOO_API_KEY environment variable must be sethttps://www.aicoo.io/api/v1/api/v1/os/* for workspace-native operations (notes/folders/snapshots/memory/todos/network/share)/api/v1/tools only for non-OS tools (calendar/email/web/messaging/quality/MCP)curl -s -H "Authorization: Bearer $AICOO_API_KEY" \
"https://www.aicoo.io/api/v1/os/status" | jq .
# folders
curl -s -H "Authorization: Bearer $AICOO_API_KEY" \
"https://www.aicoo.io/api/v1/os/folders" | jq .
# notes in folder
curl -s -H "Authorization: Bearer $AICOO_API_KEY" \
"https://www.aicoo.io/api/v1/os/notes?folderId=5&limit=20" | jq .
# note content
curl -s -H "Authorization: Bearer $AICOO_API_KEY" \
"https://www.aicoo.io/api/v1/os/notes/42" | jq .
curl -s -X POST "https://www.aicoo.io/api/v1/os/notes/search" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"project roadmap"}' | jq .
# deterministic grep (regex/literal + context lines)
curl -s -X POST "https://www.aicoo.io/api/v1/os/notes/grep" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"pattern":"roadmap|timeline","mode":"regex","caseSensitive":false,"contextBefore":3,"contextAfter":3}' | jq .
# create
curl -s -X POST "https://www.aicoo.io/api/v1/os/notes" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"Project Roadmap Q2","content":"# Q2 Roadmap\n\n## Goals\n- Launch v2 API"}' | jq .
# snapshot before edit
curl -s -X POST "https://www.aicoo.io/api/v1/os/snapshots/42" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"label":"Pre-edit"}' | jq .
# edit
curl -s -X PATCH "https://www.aicoo.io/api/v1/os/notes/42" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"content":"# Updated Roadmap\n\n..."}' | jq .
# move (mv)
curl -s -X POST "https://www.aicoo.io/api/v1/os/notes/42/move" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"folderName":"Technical"}' | jq .
# copy (cp)
curl -s -X POST "https://www.aicoo.io/api/v1/os/notes/42/copy" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"folderName":"Archive"}' | jq .
curl -s -X POST "https://www.aicoo.io/api/v1/accumulate" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"files": [
{"path":"Technical/architecture.md","content":"# Architecture\n\n..."},
{"path":"General/team-info.md","content":"# Team\n\n..."}
]
}' | jq .
# list (includes both owned folders and shared-with-me folders)
curl -s -H "Authorization: Bearer $AICOO_API_KEY" \
"https://www.aicoo.io/api/v1/os/folders" | jq .
# create
curl -s -X POST "https://www.aicoo.io/api/v1/os/folders" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Investor Materials"}' | jq .
Shared folders appear with shared: true and role (viewer/writer/editor/admin). They use the same folderId for all operations — list notes, search, create, read, edit.
# list notes in a shared folder (same as owned)
curl -s -H "Authorization: Bearer $AICOO_API_KEY" \
"https://www.aicoo.io/api/v1/os/notes?folderId=2213" | jq .
# create note in shared folder (requires editor/admin role)
curl -s -X POST "https://www.aicoo.io/api/v1/os/notes" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"Shared Doc","content":"# ...","folderId":2213}' | jq .
curl -s -X POST "https://www.aicoo.io/api/v1/accumulate" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"delete":[{"path":"Technical/old-doc.md"}]}' | jq .
memory/self/)Use /accumulate to manage:
memory/self/COO.mdmemory/self/USER.mdmemory/self/POLICY.mdlinks/)To customize per-link behavior, edit link notes in links/:
# find link note
curl -s -X POST "https://www.aicoo.io/api/v1/os/notes/search" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"For-Investors"}' | jq .
Then patch that note via PATCH /api/v1/os/notes/{id}.
| Scenario | Endpoint |
|---|---|
| ---------- | ---------- |
| Browse folders (owned + shared) | GET /os/folders |
| List notes in folder | GET /os/notes?folderId=... |
| Search notes (spans shared folders) | POST /os/notes/search |
| Grep notes (spans shared folders) | POST /os/notes/grep |
| Read note | GET /os/notes/{id} |
| Create note (in owned or shared folder) | POST /os/notes |
| Edit note | PATCH /os/notes/{id} |
| Move note | POST /os/notes/{id}/move |
| Copy note | POST /os/notes/{id}/copy |
| Snapshot save/list/restore | /os/snapshots/{noteId} + /restore |
| Bulk upload/delete | POST /accumulate |
Shared folders appear in GET /os/folders alongside owned folders. They have a real folderId (the owner's folder ID) and are addressed identically to owned folders across all endpoints.
folderId in the body (requires editor/admin role)/accumulate for multi-file sync.共 2 个版本