ci / lint-test-leaks (pull_request) Canceled after 0s
- cayceops core: env-only config (CAYCE_OPS_*), engine/session, ORM models with state machines (proposal/mail/content) and audited writes - provider-agnostic LLM interface (null provider default, stdlib openai-compat) - Typer CLI with lazy component loading (scanner/executor/maild/publisher/monitor) - alembic 0001 initial schema; sqlite-portable JSON columns - tests: 7 passing on throwaway sqlite; fixtures invented, never real data - ci: ruff + alembic smoke + pytest + gitleaks(full history) in .gitea/workflows + .github/workflows; local gate = make check - deploy: docker-compose (postgres 16) + hardened systemd units/timers - docs: DECISIONS D1-D9; README project (grant text retired)
54 lines
1.9 KiB
Bash
54 lines
1.9 KiB
Bash
# Cayce Ops — copy to .env and fill in. EVERY value below is a placeholder.
|
|
# NEVER commit real credentials. .env is gitignored; gitleaks guards history.
|
|
|
|
# --- core ---
|
|
CAYCE_OPS_DATABASE_URL=postgresql+psycopg://user:password@localhost:5432/cayce_ops
|
|
CAYCE_OPS_AUTONOMOUS_MODE=false
|
|
CAYCE_OPS_LOG_LEVEL=INFO
|
|
CAYCE_OPS_STATE_DIR=./
|
|
CAYCE_OPS_MEDIA_DIR=./media
|
|
|
|
# --- scanner ---
|
|
# JSON array of sources: [{"type":"rss","url":"https://example.org/feed.xml"},
|
|
# {"type":"page","url":"https://example.org/partners"}]
|
|
CAYCE_OPS_SCANNER_SOURCES=[]
|
|
CAYCE_OPS_SCANNER_KEYWORDS=affiliate,partnership,bitcoin,lightning,travel
|
|
CAYCE_OPS_SCANNER_USER_AGENT=cayce-ops-scanner/0.1
|
|
|
|
# --- executor ---
|
|
# with AUTONOMOUS_MODE=true: which proposal kinds may be auto-approved, daily cap
|
|
CAYCE_OPS_AUTONOMOUS_KINDS=
|
|
CAYCE_OPS_AUTONOMOUS_DAILY_CAP=0
|
|
CAYCE_OPS_MAX_ATTEMPTS=2
|
|
CAYCE_OPS_ENABLE_HTTP_ACTIONS=false
|
|
|
|
# --- mail (IMAP read / SMTP send-approved-drafts-only) ---
|
|
CAYCE_OPS_IMAP_HOST=imap.example.org
|
|
CAYCE_OPS_IMAP_PORT=993
|
|
CAYCE_OPS_IMAP_USER=agent@example.org
|
|
CAYCE_OPS_IMAP_PASSWORD=change-me
|
|
CAYCE_OPS_IMAP_MAILBOX=INBOX
|
|
CAYCE_OPS_SMTP_HOST=smtp.example.org
|
|
CAYCE_OPS_SMTP_PORT=587
|
|
CAYCE_OPS_SMTP_USER=agent@example.org
|
|
CAYCE_OPS_SMTP_PASSWORD=change-me
|
|
CAYCE_OPS_MAIL_FROM=agent@example.org
|
|
|
|
# --- llm (null = no LLM; components fall back to rules) ---
|
|
CAYCE_OPS_LLM_PROVIDER=null
|
|
CAYCE_OPS_LLM_MODEL=
|
|
CAYCE_OPS_LLM_BASE_URL=https://api.openai.com/v1
|
|
CAYCE_OPS_LLM_API_KEY=
|
|
CAYCE_OPS_LLM_REVIEW_THRESHOLD=0.7
|
|
|
|
# --- publisher / nostr (key: 32-byte hex; relays: wss:// comma list) ---
|
|
CAYCE_OPS_NOSTR_PRIVATE_KEY=
|
|
CAYCE_OPS_NOSTR_RELAYS=wss://relay.example.org,wss://other.relay.example.org
|
|
CAYCE_OPS_ENABLE_FACEBOOK=false
|
|
CAYCE_OPS_FACEBOOK_PAGE_TOKEN=
|
|
CAYCE_OPS_ENABLE_INSTAGRAM=false
|
|
CAYCE_OPS_INSTAGRAM_USER_ID=
|
|
|
|
# --- monitor ---
|
|
CAYCE_OPS_MONITOR_OUTPUT=./status.html
|