| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Add flake.nix with nixos-unstable nixpkgs, devShell and slopbot package
- Add flake.lock
- Update .envrc to 'use flake .'
- Update slopbot.service: use 'nix run' instead of nix-shell, remove
broken sandbox options (ProtectHome, InaccessiblePaths, ProtectSystem,
ReadOnlyPaths, ReadWritePaths, PrivateTmp) that block nix store access
- Delete shell.nix
- Add 'result' to .gitignore
- Restore openai to requirements.txt (was accidentally dropped)
|
|
Drop persistent sessions entirely. Each @slop mention is now a fresh
create → start → send → recv → stop cycle. No session state to go stale,
no restart logic, no binary-mismatch errors.
Conversation memory comes from Zulip topic history (already wired),
not agentd session state. DMs still work via unique per-message session names.
Removes: _sessions dict, _session_running(), _start_session(), _stop_session(),
_reap_idle_sessions(), all stale-retry logic
Adds: _unique_session_name() (timestamp-suffixed), simplified ask_agentd()
|
|
|
|
|
|
|
|
- Detect @**slop** mentions via MENTION_RE regex
- Agentic loop (MAX_ITER=5): LLM decides when to call kagi_search
- Routing: Parasail primary (model discovery), Ollama qwen2.5:3b fallback
- kagi_search tool: hits Kagi API, returns top-3 snippet results
- Tickers appended to LLM reply when @mention includes $TICKER
- Logging: mention detected, tool calls, Kagi result count, backend used, response
- shell.nix: added openai + requests packages
- requirements.txt: openai>=1.0.0, requests>=2.28.0
|
|
|
|
|
|
- Adds main.py: single-file bot using raw zulip event loop
- Matches $TICKER patterns via TICKER_RE = re.compile(r'$([A-Z]{1,5})')
- fetch_price() uses yf.Ticker(ticker).fast_info['lastPrice']
- Returns '$TICKER: $123.45' on success
- Returns '$TICKER: unavailable (msg)' on exception
- handle_event() ignores non-message events, skips bot's own messages,
deduplicates tickers, replies to same stream + topic
- Module-level client + call_on_each_event per spec
|
|
|