Skip to content

Commit

Permalink
Merge pull request #122 from MorpheusAIs/develop
Browse files Browse the repository at this point in the history
coinbase agents READMEs
  • Loading branch information
LachsBagel authored Dec 12, 2024
2 parents cb80fb1 + c4df2e8 commit e9f904c
Show file tree
Hide file tree
Showing 3 changed files with 95 additions and 26 deletions.
41 changes: 15 additions & 26 deletions AGENTABILITIES.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,49 @@
# MORagents
Welcome to the world of Web3 agents! If you're interested in building and using agents locally, this document will guide you through the principles and
Welcome to the world of Web3 agents! If you're interested in building and using agents, this document will guide you through the principles and
current projects underway.

### Principles:
1. **Agents cannot execute decisions**: Agents should not be given private keys or allowed to make transactions on their own. They can only construct transaction
payloads for a user's approval. This is due to the limitations of current LLMs in understanding complex transactions and the risk of [gaslighting](https://arxiv.org/abs/2311.04235).
2. **Local installation**: Agents should run on the user's laptop, typically with 8-16 GB of RAM. This allows for faster execution and better performance.
3. **No private keys**: Agents must not have access to private keys or be able to execute transactions independently. User's cryptographic approval is essential for any
transaction.
1. **Agents Need Guardrails When Executing Decisions**: Agents should not be given all private key information or be allowed to enforce their own policy non-deterministically.
This is due to the limitations of current LLMs in understanding complex transactions and the risk of [gaslighting](https://arxiv.org/abs/2311.04235).

### Current Projects:
1. **lachsbagel on Discord** - [this repo](https://github.com/MorpheusAIs/moragents):
1. Architecture
2. **IODmitri, SanatSharma, LachsBagel on GitHhub**
1. [HideNSeek](https://github.com/MorpheusAIs/HideNSeek): An algorithm for verifying and fingerprinting which model a compute provider is actually running
2. [HideNSeek](https://github.com/MorpheusAIs/HideNSeek): An algorithm for verifying and fingerprinting which model a compute provider is actually running
1. Link to Paper [Hide and Seek: Fingerprinting Large Language Models with Evolutionary Learning](https://www.arxiv.org/abs/2408.02871)
2. (pending) A follow-on paper exploring parameter size estimation is in the works.
3. **artfuljars on Discord**:
3. (pending) A follow-on paper exploring parameter size estimation is in the works.
2. **artfuljars on Discord**:
1. Windows Build (EXE version of .app)
2. Two installation wizards:
1. Windows
2. macOS
3. CICD build for Windows
4. CICD builds for Linux and macOS (apple and intel)
5. Vulnerability scanning of dependencies and code
4. GenLayer
3. GenLayer
1. (pending) [FeedBuzz](https://github.com/yeagerai/feedbuzz-contracts) - AI filtered logging system to surface user demand and failure modes for new functionality
5. **CliffordAttractor on Discord** - Following Assume 16GB+ RAM:
4. **CliffordAttractor on Discord** - Following Assume 16GB+ RAM:
1. Developed a [price fetcher agent](submodules/moragents_dockers/agents/src/data_agent) using CoinGecko.
2. A [web interface](submodules/moragents_dockers/frontend) which is served by the local Docker installation and integrated with Rainbow, enabling the use of MetaMask, WalletConnect, and other
EVM-based wallets.
3. (NEEDS REFACTORING DUE TO 1INCH CHANGE) [Swap agent](submodules/moragents_dockers/agents/src/swap_agent) which can iteratively ask users to provide needed details for disambiguation.
4. [General-purpose agent](https://github.com/MorpheusAIs/moragents/pull/34) that can ingest arbitrary documents, such as PDFs, for basic document QA and text generation.
5. [Local delegating agent](https://github.com/MorpheusAIs/moragents/pull/45) which can maintain user's persona/interests as well as coordinating to task agents and tools.
6. (pending) Agent forge to allow devs to publish their custom agents to the Morpheus/Lumerin Agent Registry
7. **Dan Y.**
5. **Dan Y.**
1. [X/Twitter Posting Agent](https://github.com/MorpheusAIs/moragents/pull/57) - An agent which generates spicy tweets with an X integration for one-click posting.
2. Real-time search agent
3. Replaced llama 3.1 and functionary with llama 3.2 to massively increase speed 10X and reduce install footprint 6X
4. (pending) Tweet maps agent. Will show relevant live tweets with geo-tags based on prompt
5. (pending) Inter-agent Delegator which can coordinate between local and decentralized agents
7. **Niveshi**
5. Inter-agent Delegator which can coordinate between local and decentralized agents
6. Coinbase DCA and Gasless USDC Agents
7. (pending) Agent forge to allow devs to publish their custom agents to the Morpheus/Lumerin Agent Registry
6. **Niveshi**
1. [MOR Rewards agent](https://github.com/MorpheusAIs/moragents/tree/main/submodules/moragents_dockers/agents/src/reward_agent/src). Lets you see how many MOR tokens are claimable for your wallet
2. Cryto Live News Agent
8. **Dom**
1. (pending) Coinbase MPC enabled Agent on Base for dollar cost averaging and gasless sends
2. (pending) Tweet maps agent. Will show relevant live tweets with geo-tags based on prompt


### Decentralized Inference:
#### Non-Local Installation Agents for Permission-less Compute
Pending Lumerin's work. Eventually Agent Builders will be able to permission-lessly upload Agent and Model artifacts to a decentralized registry.
1. [FLock](https://www.flock.io/#/) has built a decentralized agent, called [Ragchat-Morpheus](https://github.com/FLock-io/ragchat-morpheus) which will regularly be updated with most recent docs surrounding the Morpheus system for the following audiences:
1. Normal user perspective (broad Q/A for those new to Morpheus ecosystem)
2. Developer perspective wanting to deploy on Morpheus
3. Perspective of capital contributors


### How to Contribute:
- If you are working on an agent which can provide value through open models and relies on processing public data, please reach out to lachsbagel on Discord (link below)
Expand All @@ -67,4 +56,4 @@ Pending Lumerin's work. Eventually Agent Builders will be able to permission-les
### Contact
Join the [Morpheus Discord](https://discord.com/invite/Dc26EFb6JK)

*Last Updated: October 20, 2024*
*Last Updated: December 12, 2024*
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Introduction to the Coinbase Enabled Agent Experience
Welcome to the new world of the Coinbase enabled agent experience. This guide will walk you through the process of setting up your Coinbase API configuration and using the available features.

## Setting Up Coinbase API Configuration
To get started, you'll need to create your Coinbase developer platform API key and API secret by visiting your Coinbase developer portal. Once you have your API key and API secret, follow these steps:
1. Spin up the MORagents application
2. Click **Settings** at the top
3. Click **Coinbase API**
4. Paste your API key and API secret
5. Click **Save Coinbase Credentials** to lock these values in

## Creating a Coinbase Wallet
Note that the wallet you use to perform dollar cost averaging and gasless sends is separate from your browser wallet integration. To create your Coinbase wallet:
1. Click **CDP Wallets** at the top of the UI for MORagents
2. Click **Create New Wallet**
This will create a new local wallet file. Please download this file and store it somewhere safe, as subsequent openings of the MORagents app may not restore it automatically.

## Restoring Your Coinbase Wallet
To restore your wallet, follow these steps:
1. Click **CDP Wallets**
2. Click **Create New Wallet**
3. Click **Restore Existing**
4. Choose the JSON file you downloaded earlier
It's imperative that you have the JSON file somewhere secure, as future openings of this app may not necessarily restore it, and not doing so may result in a loss of funds.

### To fund your wallet:
1. Click **CDP Wallets** at the top
2. Click the copy icon to retrieve the address of your Coinbase local wallet
3. Use MetaMask or any other wallet set to the base L2 to send USDC to this address
Once your wallet is funded, you can ask the agent, "what is my USDC balance on base?" to see the updated balance. To send USDC from this agent to another address, type "send USDC on base" and follow the prompts.


### Gasless USDC Sends
To send USDC, you'll need to ensure that you have some USDC on the base L2 for the wallet you created. You can check your balance by asking the agent, "what is my USDC balance on base?"

## Community Development
All agents, including the Gasless Send and DCA agents are provided under the MIT license for the community to build and explore. They are references for the community to build and eventually ship to the decentralized inference of Morpheus in early 2025, where these agents can live and function for long periods of time without needing local compute.
43 changes: 43 additions & 0 deletions submodules/moragents_dockers/agents/src/agents/dca_agent/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Introduction to the Coinbase Enabled Agent Experience
Welcome to the new world of the Coinbase enabled agent experience. This guide will walk you through the process of setting up your Coinbase API configuration and using the available features.

## Setting Up Coinbase API Configuration
To get started, you'll need to create your Coinbase developer platform API key and API secret by visiting your Coinbase developer portal. Once you have your API key and API secret, follow these steps:
1. Spin up the MORagents application
2. Click **Settings** at the top
3. Click **Coinbase API**
4. Paste your API key and API secret
5. Click **Save Coinbase Credentials** to lock these values in

## Creating a Coinbase Wallet
Note that the wallet you use to perform dollar cost averaging and gasless sends is separate from your browser wallet integration. To create your Coinbase wallet:
1. Click **CDP Wallets** at the top of the UI for MORagents
2. Click **Create New Wallet**
This will create a new local wallet file. Please download this file and store it somewhere safe, as subsequent openings of the MORagents app may not restore it automatically.

## Restoring Your Coinbase Wallet
To restore your wallet, follow these steps:
1. Click **CDP Wallets**
2. Click **Create New Wallet**
3. Click **Restore Existing**
4. Choose the JSON file you downloaded earlier
It's imperative that you have the JSON file somewhere secure, as future openings of this app may not necessarily restore it, and not doing so may result in a loss of funds.

### To fund your wallet:
1. Click **CDP Wallets** at the top
2. Click the copy icon to retrieve the address of your Coinbase local wallet
3. Use MetaMask or any other wallet set to the base L2 to send USDC to this address
Once your wallet is funded, you can ask the agent, "what is my USDC balance on base?" to see the updated balance. To send USDC from this agent to another address, type "send USDC on base" and follow the prompts.

### Dollar Cost Averaging (DCA) Swaps
The DCA agent allows you to set up a recurring workflow to swap from one currency to another, such as from USDC to DAI. To use this feature:
1. Fund your wallet with ETH on the base L2 (you can send ETH to this wallet the same way you sent USDC earlier)
2. Say "set up a DCA strategy" to the agent
3. Specify the frequency, amount, and maximum spend level in the widget that opens
Note that your app needs to be running for the executions to occur at the specified time.
4. You can verify your DCA strategies by clicking "Workflows" at the top

![workflowsview](../../../../../../images/dca-workflows-view.png)

## Community Development
All agents, including the Gasless Send and DCA agents are provided under the MIT license for the community to build and explore. They are references for the community to build and eventually ship to the decentralized inference of Morpheus in early 2025, where these agents can live and function for long periods of time without needing local compute.

0 comments on commit e9f904c

Please sign in to comment.