This guide outlines the prerequisites, installation steps, and basic usage instructions for setting up and running the Teeception platform, including its agents and Chrome extension.
- Go ≥ 1.23.0
- Starknet Foundry (snforge) for smart contract development
GitHub: starknet-foundry - Node.js & npm for contract deployment and extension development
- Twitter/X account, ProtonMail account, and OpenAI API key
- Chrome or Brave browser for loading and testing the extension
-
Clone the repository:
git clone https://github.com/NethermindEth/teeception.git cd teeception
-
Install Go dependencies:
go mod download
-
Install Starknet Foundry:
curl -L https://raw.githubusercontent.com/foundry-rs/starknet-foundry/master/scripts/install.sh | sh snfoundryup
-
Install contract dependencies:
cd contracts scarb install
-
Install and build the extension:
cd ../extension npm install npm run build
-
Set up environment variables:
cp .env.example .env
Required environment variables:
Starknet Configuration:
STARKNET_ACCOUNT
: Your Starknet account addressSTARKNET_PRIVATE_KEY
: Your Starknet private keySTARKNET_RPC
: RPC endpoint URL
Twitter/X Configuration:
X_USERNAME
: Your Twitter/X usernameX_PASSWORD
: Your Twitter/X passwordX_CONSUMER_KEY
: Twitter API consumer keyX_CONSUMER_SECRET
: Twitter API consumer secretX_LOGIN_SERVER
: Login server details
ProtonMail Configuration:
PROTONMAIL_EMAIL
: Your ProtonMail email addressPROTONMAIL_PASSWORD
: Your ProtonMail password
AI Configuration:
OPENAI_API_KEY
: Your OpenAI API key
Phala Configuration:
PHALA_API_URL
: Phala API endpointPHALA_WORKER_ID
: Phala worker identifier
The agent:
- Secures and updates credentials (Twitter, ProtonMail, Starknet)
- Monitors Twitter feed and executes relevant Starknet transactions
- Utilizes OpenAI's API for being sentient
- Manages state and error handling gracefully
Start the agent locally:
go run cmd/agent/main.go
The extension is built with Vite and TypeScript.
Development server:
cd extension
npm run dev
Load the extension in Chrome:
- Open
chrome://extensions/
- Enable "Developer mode"
- Click "Load unpacked"
- Select
extension/dist
Production build:
npm run build
The extension auto-reloads during development as changes are made.