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 🙏

© 2024 – Pkg Stats / Ryan Hefner

autogpt-node

v0.1.0

Published

Node.js implementation for AutoGPT. AutoGPT as npm package.

Downloads

11

Readme

autogpt-node

AutoGPT for Node.js

npm version

Description

Autonomous GPT as a Node.js library and CLI

What is AutoGPT?

AutoGPT attempts to make GPT-4 fully autonomous. AutoGPT is an experimental open-source project showcasing the capabilities of the GPT-4 language model. This program, driven by GPT-4, chains together LLM "thoughts", to autonomously achieve whatever goal you set. As one of the first examples of GPT-4 running fully autonomously, Auto-GPT pushes the boundaries of what is possible with AI.

This is not a finished product, just the beginning of the project. Join Discord community to get the latest updates.

Installation

To try, directly use without installation

npx autogpt-node

OR to use as a library in your Node.js project, install as a dependency

npm install --save autogpt-node

OR to use as a command-line interface (CLI) in your terminal, install it globally

npm install -g autogpt-node

Usage

Without installation

npx autogpt-node --continuous=true --speak=true --headless=true

Options

  • continuous - Should AutoGPT continue performing the next action without asking?
    • true - Fully autonoumous. No user permission needed before performing an action.
    • false (default) - Always ask for permission before performing an action.
    • {n} e.g. 3 - Don't ask for permission for each n actions.
  • headless - Should the browser be loaded (for web analysis, scraping and search) in headless mode?
    • true (default) - Browser will load in headless mode.
    • false - You will see when AutoGPT visits the browser and how it interacts with it.
  • speak - Should the response be converted from text to speech?
    • true - Will read out loud the responses.
    • false (default) - Will not speak.

After this, it will ask for some inputs such as - role your AutoGPT instance should play, list of goals to achieve, prompts to stop or continue, etc.

# Name
What should we name it?
> SEO-GPT

# Role
What is the role of SEO-GPT?
> an AI to increase search traffic of a website using SEO

# Goal 1
Define the goal 1
> Fix technical SEO issues

# Goal 2
Define the goal 2
> Find the backlink opportunities

# ...3 more goals. enter to skip

Make sure to add one goal to stop the agent otherwise it might keep running for a very long time.

As a CLI with global installation

autogpt-node --speak=true --headless=true

Make sure that you define configurations

As a Node.js library

const autogpt = require('autogpt-node');

var seoGPT = new autogpt({ 
    openAIKey: process.env.OPENAI_API_KEY, 
    explain: true, 
    continuous: true 
});

seoGPT.setRole("an AI to help with SEO for website")

seoGPT.addGoal("Make a list of 10 technical SEO issues on the website")
seoGPT.addGoal("For each technical issue, write the possible fix alongwith code")
seoGPT.addGoal("Write the findings in a file")

seoGPT.on("thought", (thought, reasoning, plan, criticism) => {})

seoGPT.on("action", (command, arguments) => {})

seoGPT.on("end", (results) => {})

seoGPT.start()

🚀 Features

  • 🌐 Can access internet and search to gather information
  • 💾 Can manage memory for short-term and long-term
  • 🗃️ Can store file and summarize with GPT-3.5
  • 🧠 GPT-4 instances for text generation

API

Document the API of your package here. ToDo.

Configurations

| Variable | Description | |----------|----------| | OPENAI_API_KEY | Your OpenAI platform API key | | IMAGE_PROVIDER| How do you want to create images e.g. DALLE, STABLE_DIFFUSION | | HUGGINGFACE_API_TOKEN | Your Hugging Face API token | ||

Make sure that .env.sample variables, whichever are relevant to you, are available in your environment

  • When used as a Node.js library, the ideal way to configure various .env.sample variables is by copying .env.sample to a new file e.g. .env, then changing the values and then useing packages such as dotenv to add them to path. These variables can be access as process.env.MY_ENV_VARIABLE_NAME in your Node.js code.
  • When used as a CLI, the ideal way to configure is by adding .env.sample variables in your .bashrc or equivalent bash configuration file of your operating system

OpenAI API key configuration

Obtain your OpenAI API key from: https://platform.openai.com/account/api-keys.

To use OpenAI API key for Auto-GPT, you NEED to have billing set up (AKA paid account).

You can set up paid account at https://platform.openai.com/account/billing/overview.

ElevenLabs API key configuration for Text-To-Speech (TTS)

Obtain your ElevenLabs API key from: https://elevenlabs.io. You can view your xi-api-key using the "Profile" tab on the website.

Contributing

No contribution is small. Together, we can make this project that we all can be proud of. You can help with discovering bugs, new features, docs suggestions, code contribution, getting the word out, etc.

Credits

All credit to inspire this project goes to the original AutoGPT project which was written in Python. After experimenting with it for a while, I realized that a Node.js alternative to AutoGPT Python brings certain advantages such as

  • Performance: AutoGPT mostly performs I/O operations such as network requests, scraping, file writing/reading, etc. In general, Node.js performs better than Python for I/O intensive tasks. This is because Node.js is built on top of the V8 JavaScript engine, which uses non-blocking I/O, making it more efficient in handling requests. Python, on the other hand, uses blocking I/O, which can lead to slower performance for I/O intensive tasks.
  • Ease of use: npm and other Node.js package managers are more user-friendly and efficient in terms of package installation and management. This is subjective but it is a fact that I wouldn't have started this project if I had not struggled setting up AutoGPT in the first place.
  • Ecosystem: Python has a great ecosystem, specially for AI/ML and data science related packages. On the other hand Node.js has a huge ecosystem of web/server/media/automation related libraries. This gap in Node.js ecosystem for AI/ML related tasks and richness of the Node.js ecosystem for a web developer is appealing.

Support

Join Discord community for discussions and announcement. To report a bug or submit a feature request, create an issue on GitHub.

License

MIT License