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

@llmvin/easyllm

v0.1.1

Published

A unified SDK for OpenAI-compatible LLM APIs including llm.vin and others

Readme

EasyLLM

A unified TypeScript/JavaScript SDK for OpenAI-compatible LLM APIs, including llm.vin and OpenAI.

Features

  • 🚀 Universal API: Works with llm.vin, OpenAI, and any OpenAI-compatible API
  • 📝 TypeScript Support: Full type safety and IntelliSense
  • 🔄 Automatic Retries: Built-in retry logic for robust API calls
  • 🎯 OpenAI Compatible: Drop-in replacement for OpenAI SDK syntax
  • 🛡️ Error Handling: Comprehensive error handling and validation
  • 🔍 Content Moderation: Built-in support for text and image moderation
  • 🌐 Web Search: Built-in web search capabilities for real-time information
  • Streaming Support: Real-time streaming responses with function calling

Installation

npm install @llmvin/easyllm

Quick Start

import EasyLLM from '@llmvin/easyllm';

const client = new EasyLLM({
  apiKey: 'your-api-key'
});

const response = await client.chat.completions.create({
  model: 'llama4-scout',
  messages: [
    { role: 'user', content: 'Hello, world!' }
  ]
});

console.log(response.choices[0].message.content);

Web Search

EasyLLM includes built-in web search capabilities that allow AI models to access real-time information from the web.

Note: Web search is currently supported by the llama4-maverick model on llm.vin.

Basic Web Search

import EasyLLM from '@llmvin/easyllm';

const client = new EasyLLM({
  apiKey: 'your-api-key',
  webSearch: {
    enabled: true,
    maxResults: 5,
    includeContent: true
  }
});

// Automatic web search when enabled globally
const response = await client.chat.completions.createWithWebSearch({
  model: 'llama4-maverick',
  messages: [
    { role: 'user', content: 'What are the latest developments in AI?' }
  ]
});

// Or enable web search for specific requests
const response2 = await client.chat.completions.create({
  model: 'llama4-maverick',
  messages: [
    { role: 'user', content: 'What is the current weather in Tokyo?' }
  ],
  webSearch: true // Enable for this request only
});

Streaming with Web Search

const stream = await client.chat.completions.streamWithWebSearch({
  model: 'llama4-maverick',
  messages: [
    { role: 'user', content: 'Tell me about recent space missions' }
  ]
});

for await (const chunk of stream) {
  if (chunk.choices[0]?.delta?.content) {
    process.stdout.write(chunk.choices[0].delta.content);
  }
}

Dynamic Web Search Control

// Enable/disable web search at runtime
client.setWebSearchEnabled(true);
console.log(client.isWebSearchEnabled()); // true

client.setWebSearchEnabled(false);
console.log(client.isWebSearchEnabled()); // false

Supported APIs

  • llm.vin - Access to multiple AI models (default)
  • OpenAI - Official OpenAI API
  • Custom - Any OpenAI-compatible endpoint

Documentation

⚠️ AI Development Notice

This project was developed with significant AI assistance:

  • 🤖 Code Review: Source code was read, analyzed, and improved by AI
  • 📝 Documentation: All documentation (README, examples, API docs) was written by AI
  • 💬 Commit Messages: Git commit messages were generated by AI
  • 🧪 Tests: Test suites were designed and implemented with AI assistance
  • 🏗️ Architecture: Project structure and design patterns suggested by AI

Please be aware:

  • While the code has been tested, AI-generated code should be thoroughly reviewed before production use
  • Documentation may contain inaccuracies or assumptions that need verification
  • Always validate functionality against your specific use cases
  • Consider this a starting point that may require human review and refinement

This notice is provided for transparency about the development process.

License

MIT © llm.vin