@reneza/ats-adapter-ticktick
v0.8.1
Published
Reference TickTick adapter for Agentic Task System. Wraps TickTick OpenAPI v1 + qdrant + ollama (nomic-embed) into the ATS adapter contract.
Maintainers
Readme
@reneza/ats-adapter-ticktick
Turn your TickTick into your agent's context layer. Reference adapter for Agentic Task System — wraps TickTick's OpenAPI v1 (plus optional local qdrant + nomic-embed via Ollama) into the ATS adapter contract so agents can find / read / link / update tasks and notes via a single CLI surface.
Why this exists
TickTick has thousands of your durable notes plus an excellent mobile capture flow. What it's missing is an agent-native retrieval layer tuned for how agents query (not how humans type). This adapter adds:
- Wiki layer — designate a project (default: "Permanent Notes") as your knowledge base.
find/get/url/linksoperate on it. - Hybrid retrieval — pure TickTick semantic search misses short note titles; this adapter exposes the dense vector path so @reneza/ats-core's parallel fan-out can fuse it with keyword + title-fuzzy. Result on a 5-question agent bench: 60% top-1 / 80% recall@5, vs 20% / 40% for dense alone.
- Agent-data notes — fenced ```json blocks inside notes, extracted via
--extract jsonfor cron / agent consumption. Single source of truth, mobile-editable, no schema migration.
Install
npm install -g @reneza/ats-cli @reneza/ats-adapter-ticktick
ats config use ticktick
ats auth login # prints TickTick OAuth URL + exchange command
ats find "deployment runbook"For semantic / hybrid retrieval, also run a local qdrant + Ollama with nomic-embed-text:
docker run -d --name qdrant -p 6333:6333 qdrant/qdrant:latest
docker run -d --name ollama -p 11434:11434 ollama/ollama:latest
docker exec ollama ollama pull nomic-embed-text
ats sync vectorWhat this adapter implements
All six required methods of the ATS adapter contract:
listProjects()— TickTick projects via Open API v1listTasksInProject(projectId)— active tasks in a projectgetTask(projectId, taskId)— full task bodycreateTask(input)— POST /open/v1/taskupdateTask(projectId, taskId, patch)— POST /open/v1/task/{id}urlFor({projectId, taskId})—https://ticktick.com/webapp/#p/<proj>/tasks/<task>deep links
Plus auth lifecycle (authStatus / authLogin / authExchange for OAuth) and the optional searchByQuery (TickTick's substring-only native search).
Adapter ships with the wiki helpers (notes.find/get/url/links), capture-time relevance enrichment (--relevance), and the Qdrant + Ollama integration through its rich task extension. Its contract-level optional method is searchByQuery; the local-cache adapter additionally exposes bulkFetch.
Repo + docs
- Repo: https://github.com/renezander030/agentic-task-system
- Wiki conventions: https://github.com/renezander030/agentic-task-system/blob/main/docs/wiki-conventions.md
- Adapter interface: https://github.com/renezander030/agentic-task-system/blob/main/docs/adapter-interface.md
License
MIT
