feat(tools): implement CRUD operations for thoughts and projects
* Add tools for creating, retrieving, updating, and deleting thoughts. * Implement project management tools for creating and listing projects. * Introduce linking functionality between thoughts. * Add search and recall capabilities for thoughts based on semantic queries. * Implement statistics and summarization tools for thought analysis. * Create database migrations for thoughts, projects, and links. * Add helper functions for UUID parsing and project resolution.
This commit is contained in:
26
README.md
26
README.md
@@ -50,3 +50,29 @@ Config is YAML-driven. Copy `configs/config.example.yaml` and set:
|
||||
- `ai.litellm.base_url` and `ai.litellm.api_key` — LiteLLM proxy
|
||||
|
||||
See `llm/plan.md` for full architecture and implementation plan.
|
||||
|
||||
## Development
|
||||
|
||||
Run the SQL migrations against a local database with:
|
||||
|
||||
`DATABASE_URL=postgres://... make migrate`
|
||||
|
||||
## Containers
|
||||
|
||||
The repo now includes a `Dockerfile` and Compose files for running the app with Postgres + pgvector.
|
||||
|
||||
1. Set a real LiteLLM key in your shell:
|
||||
`export OB1_LITELLM_API_KEY=your-key`
|
||||
2. Start the stack with your runtime:
|
||||
`docker compose -f docker-compose.yml -f docker-compose.docker.yml up --build`
|
||||
`podman compose -f docker-compose.yml up --build`
|
||||
3. Call the service on `http://localhost:8080`
|
||||
|
||||
Notes:
|
||||
|
||||
- The app uses `configs/docker.yaml` inside the container.
|
||||
- `OB1_LITELLM_BASE_URL` overrides the LiteLLM endpoint, so you can retarget it without editing YAML.
|
||||
- The base Compose file uses `host.containers.internal`, which is Podman-friendly.
|
||||
- The Docker override file adds `host-gateway` aliases so Docker can resolve the same host endpoint.
|
||||
- Database migrations `001` through `005` run automatically when the Postgres volume is created for the first time.
|
||||
- `migrations/006_rls_and_grants.sql` is intentionally skipped during container bootstrap because it contains deployment-specific grants for a role named `amcs_user`.
|
||||
|
||||
Reference in New Issue
Block a user