Skip to content

AI skills & providers

PyWacli's AI engine powers the Automate auto-reply bot. It's built on LangChain with a provider factory and prompt-template "skills".

Providers

Provider Default model API key env var Notes
Ollama llama3 Runs locally, no key required
OpenAI gpt-4o-mini OPENAI_API_KEY
Gemini gemini-2.0-flash GOOGLE_API_KEY Google Generative AI
Claude claude-sonnet-4-20250514 ANTHROPIC_API_KEY Anthropic
GLM glm-4-plus ZHIPUAI_API_KEY ZhipuAI (OpenAI-compatible)

Keys are read from the ai_providers section of your config and exported to the environment when Automate starts. You can save a default provider/model so you're not asked every time.

Picking a model

When you choose a provider in automate, PyWacli suggests the default model above but lets you type any model name the provider supports.

Skills

A skill is a prompt template that shapes how the bot responds. Available skills:

Skill Best for
personal General personal assistant
sales Sales conversations and pitching
scheduler Coordinating times and scheduling
customer_support Answering support questions
translator Translating incoming messages
summarizer Summarizing long threads
content_writer Drafting content
lead_qualifier Qualifying inbound leads
appointment_booking Booking appointments
order_tracking Order status queries
faq_bot Frequently asked questions
clone Mimicking your own style from chat history

How a reply is generated

  1. History — up to the last 200 messages of the chat are loaded so the model has context.
  2. Skill — the chosen skill's prompt template frames the system behavior.
  3. Generate — the provider produces a reply (shown as "AI thinking…").
  4. Send — the reply is delivered through the live Connect session.
flowchart LR
  H[Chat history] --> F[AIEngineFactory]
  S[Skill prompt] --> F
  F --> P[Provider\nOllama / OpenAI / Gemini / Claude / GLM]
  P --> R[Reply]
  R --> WA[Send via Connect]

Conversation Clone

The clone skill is special: it studies your own messages in the chat history and tries to reply the way you would — handy for keeping a consistent voice.