Needed to leave a full backlog drain running unattended: - Run lock (flock): enabling the timer fired an immediate catch-up run (Persistent=true) while a manual run was about to start; without a lock the two would race on state.json and usage.jsonl. - OBSIDIAN_API_URL accepts a comma-separated list, first reachable wins, so the permanent address and an interim port-forward share one config. - Fix: inline "# comments" in config.env were parsed into values, so BUDGET_USD_PER_RUN=0.50 # ... crashed float(). The shipped config.env.example had exactly that shape on several lines -- anyone copying it would have hit the crash. A '#' inside a value (URL fragment) still survives. Tested against both the example and a real config. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KF322NzozeaFjpgWvh4F4g
29 lines
1.5 KiB
Bash
29 lines
1.5 KiB
Bash
# ~/.config/claude-obsidian/config.env (chmod 600; never commit the real one)
|
|
# Every key can also be set as an environment variable, which wins.
|
|
|
|
# Obsidian Local REST API plugin -- the plain-HTTP server (Settings -> Local REST API ->
|
|
# Enable HTTP server). Point this at wherever that port is reachable from this machine.
|
|
# Several URLs, comma-separated, are tried in order -- e.g. a permanent address, then a port-forward.
|
|
OBSIDIAN_API_URL=http://obsidian.example.internal:27123,http://127.0.0.1:27123
|
|
OBSIDIAN_API_KEY_FILE=~/.config/claude-obsidian/api-key
|
|
|
|
# Summarizer. claude-cli = headless `claude -p` on your own Claude plan (no API key needed).
|
|
LLM_BACKEND=claude-cli
|
|
LLM_MODEL=haiku # sonnet writes noticeably sharper notes for ~1-3x the usage; set prices to match below
|
|
# LLM_PRICE_IN_PER_M=1.0 # used only for the pre-call budget estimate (haiku list; sonnet 3.0 / 15.0)
|
|
# LLM_PRICE_OUT_PER_M=5.0
|
|
# CLAUDE_BIN=claude
|
|
|
|
# Or any OpenAI-compatible endpoint (LiteLLM, a local model):
|
|
# LLM_BACKEND=openai
|
|
# LLM_BASE_URL=https://litellm.example/v1
|
|
# LLM_MODEL=some-model
|
|
# LLM_API_KEY_FILE=~/.config/claude-obsidian/llm-key # or LLM_API_KEY_ENV=LITELLM_KEY
|
|
|
|
VAULT_FOLDER=Claude
|
|
SETTLE_MINUTES=30 # leave sessions alone until they have been idle this long
|
|
JOBS=1
|
|
MAX_PER_RUN=10 # summaries share your plan's usage limits; the timer drips a backlog
|
|
BUDGET_USD_PER_RUN=0.50 # list-price USD, refused pre-flight; see `claude-obsidian-sync usage`
|
|
BUDGET_USD_PER_DAY=2.00
|