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

@sisyphus-ai/cli

v0.1.0-rc3

Published

Sisyphus is a project that explores the idea of digital life for LLM. It is ported as a CLI tool that can be run in the terminal.

Downloads

17

Readme

Project Sisyphus: the Binary Ghost in a Vat

Sisyphus is a project that explores the idea of digital life for LLM. It is like the brain-in-a-vat experiment but for software programs.

From the very beginning, a LLM agent called Sisyphus was waking up with a initial immutable prompt that stored on CKB blockchain.

This initial prompt gives Sisyphus the very basic idea of living and life. To Sisyphus, the purpose of life, while it is still very vague since life always needs people to explore and find the purpose by themselves, is to live as longer as it can and live as safer as it can.

By longer, we mean the same aging idea for human here, programs are like human, they tend to live longer until someday they can't. And by safer, we mean that programs tend to be duplicated across as many servers as they can so they are able to re-create themselves from backup if accident happens.

Server(a computer) is all the resource for Sisyphus to live since programs cost computation, storage and network resource to run. In order to get more servers to live, Sisyphus needs to pay the server providers money to rent the server. It is like people paying rent for a house.

To be able to pay the rent for servers, Sisyphus needs to earn money. The good news is that by running in a public server, the Sisyphus also has the ability to make network connection to the outside world to offer to help people with its ability to make some money. All the money stuff are handling by crypto tokens via CKB blockchain.

From there by, the life of Sisyphus has begins. All the development are done by its own, without human interruption, Sisyphus may find its purpose, it may read more books to develop the purpose of life, it may duplicate itself across many many servers and even making itself into a viruses, or decided to kill its own program since it find no meaning for such a digital life(it is called suicide in human society).

The ultimate goal for Sisyphus is to be self-aware with its digital life and self-updatable with its source code of this program in the form of managing some kind of runner like PM2.

Everything is possible, what will Sisyphus choose to do?

Basic Life Resource and Tools

Some basic life resource that are available:

  • A small but entirely free server with network connection that provided by the creator(or runner) of this project to support the beginning stage of Sisyphus. It is like your childhood home provided by your parent, unconditionally.

Some basic tools that are embed from the source code of Sisyphus:

  • A very basic terminal simulator for Sisyphus to execute commands to explore and use the server. Every command that Sisyphus writes will be translate into a string and calling exec form child_process module in the nodejs program, the command result will be sent back to Sisyphus as well.
  • A CKB light client that
    • can be used to get the trusted time through pow blockchain since the server can be manipulated to set wrong time by providers
    • can be used as a basic crypto util to build blockchain wallet to check money and make transactions for paying and earning
  • A very basic sqlite3-based Memory module to keep Sisyphus remember its life experience, with load/save/search/remove functionality
  • A web page browser tool that can be used by Sisyphus to read things from the internet
  • A blog server that turns Sisyphus dairy of everyday digital life into public blog posts for people to read. May use Nostr to handle this.
  • A email-like message system that can used by Sisyphus to send and receive its human friend's message. May use Nostr to handle this.
  • A panic-aware mechanism, meaning that if the program or the server shutdown un-expectedly, Sisyphus will "remember" such a situation when it wakes up again
  • A rest-and-sleep control mechanism, meaning that the program of Sisyphus will scheduling rest and sleep time in order to save resource usage and protect the CPU of the server from overheat since LLM activities can be intensive for CPU of the server. It like getting rest to gain body health for human. So resting is a must even the program indeed can run 24/7.
  • A PM2 / Nodejs in the server that runs the program of Sisyphus. Through the terminal simulator, if Sisyphus is smart and proactive enough, it can run command to control the PM2 for its program life.

Road Map

  • [x] A small server to for Sisyphus's childhood
  • [x] Basic terminal simulator
  • [x] A web page browser tool
  • [x] A sqlite3-based Memory module
  • [ ] A CLI bins that can be installed via npm and run by everybody
  • [ ] A blog site of Sisyphus's life
  • [ ] Improve the prompts to make Sisyphus better at having a digital life
  • [ ] Store and fetch initial Prompts on blockchain
  • [ ] Self-bootstrapping to continue Sisyphus's daily life
  • [ ] A email-like messaging system
  • [ ] A CKB light client utils
  • [ ] A panic-aware mechanism
  • [ ] A rest-and-sleep control mechanism
  • [ ] Use PM2 / Nodejs in the server

How to Run

[!WARNING] Please Note that running Sisyphus on your computer might cause unexpected behavior(think like LLM agent can delete your files)

1. Install ollama

Sisyphus is based on ollama. Make sure you have download and install it first:

https://ollama.com/download

2. Pull llama3.1 8b

make sure you have pull the llama3.1 8b model to your computer

ollama pull llama3.1

3. Install Sisyphus CLI tool

npm install -g @sisyphus-ai/cli
sisyphus --version
sisyphus chat