Skip to content

Talovi/talovi

Repository files navigation

  ████████╗ █████╗ ██╗      ██████╗ ██╗   ██╗██╗
  ╚══██╔══╝██╔══██╗██║     ██╔═══██╗██║   ██║██║
     ██║   ███████║██║     ██║   ██║██║   ██║██║
     ██║   ██╔══██║██║     ██║   ██║╚██╗ ██╔╝██║
     ██║   ██║  ██║███████╗╚██████╔╝ ╚████╔╝██║
     ╚═╝   ╚═╝  ╚═╝╚══════╝ ╚═════╝   ╚═══╝ ╚═╝

Talovi

Open source AI framework for small businesses and developers with limited resources.

npm version License: MIT GitHub Stars GitHub Forks Powered by Claude


Why Talovi exists

AI is changing what's possible for businesses — but most of that change is happening at companies with large engineering teams and large budgets.

Talovi is for everyone else. The corner shop owner who wants to reply to reviews without spending an hour writing. The independent pharmacist who needs a smarter patient intake form. The solo real estate agent trying to draft a better listing. The first-generation developer building their first real product with tools they actually have access to.

We believe AI should be a level playing field. Talovi is how we build toward that.


Features

  • Model-agnostic — works with Claude, Gemini, Grok, OpenAI (ChatGPT), and Ollama out of the box
  • Multi-agent routing — built-in agents for Healthcare, Legal, Real Estate, Retail, and General business tasks
  • Three model tierslite, standard, and pro let you match cost to complexity across any provider
  • Bring your own key — zero vendor lock-in, no proprietary cloud, no middleman
  • One-line provider switching — change a single config value to move between Claude, Gemini, OpenAI, Grok, or local Ollama
  • Multilingual widget — embed.js supports English, Spanish, French, Portuguese, and Chinese with auto-detection and a user-facing language switcher
  • Open source, MIT licensed — free to use, fork, and build on forever

Quick start

npm install talovi
export ANTHROPIC_API_KEY=sk-ant-...   # or GEMINI_API_KEY, GROK_API_KEY, OPENAI_API_KEY — your call
import { AgentRouter } from 'talovi';

const router = new AgentRouter();
const { domain, response } = await router.route(
  'What should I include in a standard freelance contract?'
);

console.log(`[${domain}]`, response);
// [legal] A standard freelance contract should include...

That's it. Talovi reads your message, picks the right agent, and returns a response. No configuration required to get started. Full docs →


Provider support

Switch providers by changing one line in config/talovi.config.js. Your agent code stays exactly the same.

Provider lite standard pro Key required
Claude (default) Haiku Sonnet Opus ANTHROPIC_API_KEY
Gemini Flash 8B Flash Pro GEMINI_API_KEY
Grok Grok-3-fast Grok-3 Grok-3-heavy GROK_API_KEY
OpenAI GPT-4o mini GPT-4o o3 OPENAI_API_KEY
Ollama Llama3:8b Llama3 Llama3:70b (none — runs locally)
// config/talovi.config.js — this one line is all it takes
export const provider = 'openai';  // 'claude' | 'gemini' | 'grok' | 'openai' | 'ollama'

Multilingual support

Talovi supports 5 languages out of the box:

  • 🇺🇸 English (en) — default
  • 🇪🇸 Spanish (es)
  • 🇫🇷 French (fr)
  • 🇧🇷 Portuguese (pt)
  • 🇨🇳 Chinese Simplified (zh)

Set the language via the embed script tag:

<script src="embed.js"
  data-key="..."
  data-domain="general"
  data-lang="es">
</script>

Or pass it when initializing via npm:

const talovi = new Talovi({ lang: 'es' });

Talovi also auto-detects the visitor's browser language and falls back to English if the language is not supported. A language switcher is built into the widget so end users can change languages themselves.


Agent domains

Every agent comes with a carefully written system prompt, sensible defaults, and clear boundaries about what it will and won't do.

Agent Who it serves Default tier
HealthcareAgent Clinics, community health, patient communications standard
LegalAgent Small businesses, nonprofits, individuals without legal counsel standard
RealEstateAgent Independent agents, small brokerages, first-time buyers standard
RetailAgent Shops, boutiques, independent e-commerce stores lite
GeneralAgent Any small business task that doesn't fit a specific domain lite

Use an agent directly or let AgentRouter pick the right one automatically:

import { HealthcareAgent, AgentRouter } from 'talovi';

// Direct
const agent = new HealthcareAgent();
const reply = await agent.run('What should I include in a patient intake form?');

// Auto-routed
const router = new AgentRouter();
const { domain, response } = await router.route('How do I handle a lease renewal?');

Configuration

config/talovi.config.js is the single place to tune Talovi for your project:

// Which AI backend to use — one line to rule them all
export const provider = 'claude';

// API keys for each provider (pulled from environment variables)
export const providers = {
  claude: { apiKey: process.env.ANTHROPIC_API_KEY },
  gemini: { apiKey: process.env.GEMINI_API_KEY },
  grok:   { apiKey: process.env.GROK_API_KEY },
  ollama: { baseUrl: process.env.OLLAMA_BASE_URL ?? 'http://localhost:11434' },
};

// Per-domain model tier defaults — override per-call with { tier: 'pro' }
export const domainDefaults = {
  healthcare: 'standard',
  legal:      'standard',
  realestate: 'standard',
  retail:     'lite',
  general:    'lite',
};

Contributing

Talovi grows through contributions from people who care about the communities it serves. Adding a new agent or provider is straightforward — we've written step-by-step guides for both.

Read CONTRIBUTING.md to get started.

PR titles follow the feat: add [name] convention (e.g. feat: add nonprofit agent, feat: add mistral provider). New agent and provider issue templates are ready to go in .github/ISSUE_TEMPLATE/.

If you work in healthcare, law, real estate, or retail and want to help make the agent prompts more accurate for real-world use — that's one of the most valuable things you can do for this project.


Built with Claude

Talovi was built using Claude — Anthropic's AI assistant — as the primary development tool. We think that's worth saying plainly: an open source framework designed to make AI more accessible was itself built with AI.

Talovi is an independent open source project and is not affiliated with Anthropic.


By ITLasso

Built and maintained by ITLasso — technology services for small businesses in Canton, Ohio and beyond.

We build tools like Talovi because we work with small businesses every day and see first-hand what a difference the right technology makes. If you're a small business owner looking for hands-on help, we'd love to hear from you.


License

MIT — free to use, modify, and distribute. No strings attached.

About

Open source AI framework for small businesses and disadvantaged developers — powered by Claude, Gemini, Grok, and Ollama

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors