2026-05-05 19:45:12 -04:00
2026-05-05 19:45:12 -04:00
2026-05-05 19:45:12 -04:00
2026-05-05 19:45:12 -04:00
2026-05-05 19:45:12 -04:00
2026-05-05 19:45:12 -04:00
2026-05-05 19:45:12 -04:00
2026-05-05 19:45:12 -04:00

TraderAI

Local Ollama-powered chat for UEX marketplace workflows.

What It Does

  • Searches active UEX marketplace listings through GET /marketplace_listings/.
  • Reads authenticated marketplace negotiations and negotiation messages when UEX_SECRET_KEY or UEX_BEARER_TOKEN is set.
  • Drafts negotiation messages and marketplace listings as pending actions.
  • Requires browser approval before sending authenticated write requests to UEX.
  • Maintains local SQLite memory with searchable recall for user facts, preferences, and prior chat context.
  • Can create one-time or recurring wake jobs that prompt the assistant later and surface the result in the UI.
  • Loads the configured UEX user profile from GET /user so the assistant knows the current account username, display name, timezone, language, and marketplace-relevant profile details.

Setup

  1. Install Python 3.11+.

  2. Install Ollama and pull a tool-capable model, for example:

    ollama pull qwen3.5:9b
    
  3. Create .env from .env.example and set UEX_SECRET_KEY and/or UEX_BEARER_TOKEN if you want authenticated actions.

  4. Install and run:

    pip install -e .
    uvicorn traderai.server:app --reload
    
  5. Open http://127.0.0.1:8000.

Notes

Ollama runs locally at http://localhost:11434 by default. This app talks to Ollama's native chat API with tool schemas, then executes approved UEX calls in the FastAPI backend.

UEX marketplace posting and negotiation messages are guarded because they are account-affecting write actions. The model can draft them, but the UI approval button performs the final API call.

The assistant gets runtime context on every chat: current date/time, authenticated UEX identity when credentials are configured, remembered user profile, last interaction time, relevant memories, and recent conversation excerpts. Memory is stored locally at TRADERAI_MEMORY_PATH.

Wake jobs can be created from chat, for example:

At 9 PM remind yourself to check my open Polaris Bit negotiations.

or:

Every day at 9 AM, wake up and check whether I have marketplace followups.

The scheduler accepts one-time ISO datetimes and five-field cron expressions through the schedule_wake_job tool. When a wake job fires, the assistant receives context like the current time and last interaction time, then places its response into the UI notification queue.

Sources Used

S
Description
A AI for UEX
Readme 2.1 MiB
Languages
JavaScript 69.7%
Python 26.6%
CSS 2.2%
HTML 1.4%