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

plugin-desearch

v0.1.4

Published

ElizaOS plugin for seamless integration with Desearch, enabling enhanced AI-driven search capabilities

Readme

plugin-desearch

A plugin for ElizaOS that provides powerful AI and web search capabilities via the Desearch API.
It enables multi-platform search, X (Twitter) and web link retrieval, tweet/user info, and more—all with a unified, extensible interface.


📺 Demo

Demo Video

Watch a quick demo of the plugin in action:
https://youtu.be/IX3GSYFqsFU


Overview

This plugin enables ElizaOS agents to:

  • Perform AI-powered searches across the web and social platforms
  • Retrieve and format web and X (Twitter) search results
  • Fetch tweet details by ID, URL, or user
  • Get latest tweets and user metadata
  • Handle API authentication and error reporting

Installation

pnpm install plugin-desearch

or

npm install plugin-desearch

Configuration

Set your Desearch API key in your environment:

DESEARCH_API_KEY=your_desearch_api_key

Usage

Import and register the plugin in your ElizaOS configuration:

import desearchPlugin from "plugin-desearch";

export default {
  plugins: [desearchPlugin],
  // ... other configuration
};

Features

Supported Actions

  • AI_SEARCH: AI-powered search across multiple platforms
  • TWITTER_LINKS_SEARCH: Find relevant X (Twitter) links using AI
  • WEB_LINKS_SEARCH: Find relevant web links using AI
  • TWITTER_SEARCH: Retrieve X (Twitter) links and tweets by query
  • TWITTER_BY_URLS: Get tweet details for multiple URLs
  • TWEET_BY_ID: Get tweet details by ID
  • TWEET_BY_USER: Get tweets by user and query
  • LATEST_TWEET: Get latest tweets from a user
  • WEB_SEARCH: General web search

Each action validates configuration, handles errors, and returns results in a structured format.


Development

Build

pnpm run build

Test

pnpm run test

API Reference

Service

All API calls are made via the DesearchServices class, which wraps endpoints like:

  • /desearch/ai/search
  • /desearch/ai/search/links/twitter
  • /desearch/ai/search/links/web
  • /twitter
  • /twitter/urls
  • /twitter/post
  • /twitter/post/user
  • /twitter/latest
  • /twitter/user

Action Interface

Each action implements:

interface Action {
  name: string;
  description: string;
  validate: (runtime: IAgentRuntime) => Promise<boolean>;
  handler: (
    runtime: IAgentRuntime,
    message: Memory,
    state: State,
    options: any,
    callback: HandlerCallback
  ) => Promise<boolean>;
  examples: ActionExample[][];
}

Security Best Practices

  • Store your DESEARCH_API_KEY securely using environment variables.
  • Never commit secrets to version control.
  • Validate all user input.
  • Handle errors and rate limits gracefully.

Troubleshooting

  • Missing API Key: Ensure DESEARCH_API_KEY is set in your environment.
  • API Errors: Check logs for error messages returned from the Desearch API.
  • Rate Limits: Respect API rate limits to avoid being blocked.

For more details, see the code in src/services/desearchServices.ts and src/actions.