- Add ia_dev submodule (projects/smart_ide on forge 4nk) - Document APIs, orchestrator, gateway, local-office, rollout - Add systemd/scripts layout; relocate setup scripts - Remove obsolete nginx/enso-only docs from this repo scope
59 lines
2.1 KiB
Markdown
59 lines
2.1 KiB
Markdown
# anythingllm-pull-sync
|
|
|
|
Runs after **`git pull`** (Git hook **`post-merge`**) to upload **files changed** between `ORIG_HEAD` and `HEAD` to an AnythingLLM workspace via `POST /api/v1/document/upload`.
|
|
|
|
## Requirements
|
|
|
|
- AnythingLLM **collector / document processor** online.
|
|
- Same **`.4nkaiignore`** rules as the VS Code extension (repo root).
|
|
- **Environment** (see below): base URL, API key, workspace slug (or `.anythingllm.json`).
|
|
|
|
## Environment
|
|
|
|
| Variable | Required | Description |
|
|
|----------|----------|-------------|
|
|
| `ANYTHINGLLM_BASE_URL` | yes | e.g. `https://ia.enso.4nkweb.com/anythingllm` (no trailing `/`) |
|
|
| `ANYTHINGLLM_API_KEY` | yes | Developer API key (Settings → API Keys) |
|
|
| `ANYTHINGLLM_WORKSPACE_SLUG` | no* | Workspace slug |
|
|
| `ANYTHINGLLM_SYNC_MAX_FILES` | no | Default `200` per run |
|
|
| `ANYTHINGLLM_SYNC_MAX_FILE_BYTES` | no | Default `5242880` |
|
|
|
|
\* If unset, the script reads **`repo/.anythingllm.json`**: `{ "workspaceSlug": "my-slug" }`.
|
|
|
|
Optional: create **`~/.config/4nk/anythingllm-sync.env`**:
|
|
|
|
```sh
|
|
export ANYTHINGLLM_BASE_URL='https://ia.enso.4nkweb.com/anythingllm'
|
|
export ANYTHINGLLM_API_KEY='…'
|
|
# export ANYTHINGLLM_WORKSPACE_SLUG='algo' # optional if .anythingllm.json exists
|
|
```
|
|
|
|
The generated hook sources this file when present.
|
|
|
|
## Install the hook in a repository
|
|
|
|
From the machine that has **`smart_ide`**:
|
|
|
|
```bash
|
|
/home/ncantu/code/smart_ide/scripts/install-anythingllm-post-merge-hook.sh /home/ncantu/code/algo
|
|
/home/ncantu/code/smart_ide/scripts/install-anythingllm-post-merge-hook.sh /home/ncantu/code/builazoo
|
|
```
|
|
|
|
Then once per machine:
|
|
|
|
```bash
|
|
cd /home/ncantu/code/smart_ide/scripts/anythingllm-pull-sync && npm install
|
|
```
|
|
|
|
## Behaviour
|
|
|
|
- **Only** paths produced by `git diff --name-only --diff-filter=ACMRT ORIG_HEAD HEAD` (added/changed, not deletions).
|
|
- If `ORIG_HEAD` is missing or env/slug is missing, the script **exits 0** and prints a message (your pull is not blocked).
|
|
- **Deletions / renames** are not mirrored as removals in AnythingLLM in this version (upload-only).
|
|
|
|
## Uninstall
|
|
|
|
```bash
|
|
rm -f /path/to/repo/.git/hooks/post-merge
|
|
```
|