npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

talovi

v0.2.7

Published

Open source AI framework for small businesses and developers with limited resources — powered by Claude

Readme

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

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

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.