perplexity-cli
🧠 A simple command-line client for the Perplexity API. Ask questions and receive answers directly from the terminal! 🚀🚀🚀
Offline multi-agent simulation & prediction engine. English fork of MiroFish with Neo4j + Ollama local stack.
Fully local fork of MiroFish — no cloud APIs required. English UI.
A multi-agent swarm intelligence engine that simulates public opinion, market sentiment, and social dynamics. Entirely on your hardware.
MiroFish is a multi-agent simulation engine: upload any document (press release, policy draft, financial report), and it generates hundreds of AI agents with unique personalities that simulate the public reaction on social media. Posts, arguments, opinion shifts — hour by hour.
The original MiroFish was built for the Chinese market (Chinese UI, Zep Cloud for knowledge graphs, DashScope API). This fork makes it fully local and fully English:
| Original MiroFish | MiroFish-Offline |
|---|---|
| Chinese UI | English UI (1,000+ strings translated) |
| Zep Cloud (graph memory) | Neo4j Community Edition 5.15 |
| DashScope / OpenAI API (LLM) | Ollama (qwen2.5, llama3, etc.) |
| Zep Cloud embeddings | nomic-embed-text via Ollama |
| Cloud API keys required | Zero cloud dependencies |
git clone https://github.com/nikmcfly/MiroFish-Offline.git cd MiroFish-Offline cp .env.example .env # Start all services (Neo4j, Ollama, MiroFish) docker compose up -d # Pull the required models into Ollama docker exec mirofish-ollama ollama pull qwen2.5:32b docker exec mirofish-ollama ollama pull nomic-embed-text
Open http://localhost:3000 — that's it.
1. Start Neo4j
docker run -d --name neo4j \ -p 7474:7474 -p 7687:7687 \ -e NEO4J_AUTH=neo4j/mirofish \ neo4j:5.15-community
2. Start Ollama & pull models
ollama serve & ollama pull qwen2.5:32b # LLM (or qwen2.5:14b for less VRAM) ollama pull nomic-embed-text # Embeddings (768d)
3. Configure & run backend
cp .env.example .env # Edit .env if your Neo4j/Ollama are on non-default ports cd backend pip install -r requirements.txt python run.py
4. Run frontend
cd frontend npm install npm run dev
Open http://localhost:3000.
All settings are in .env (copy from .env.example):
# LLM — points to local Ollama (OpenAI-compatible API) LLM_API_KEY=ollama LLM_BASE_URL=http://localhost:11434/v1 LLM_MODEL_NAME=qwen2.5:32b # Neo4j NEO4J_URI=bolt://localhost:7687 NEO4J_USER=neo4j NEO4J_PASSWORD=mirofish # Embeddings EMBEDDING_MODEL=nomic-embed-text EMBEDDING_BASE_URL=http://localhost:11434
Works with any OpenAI-compatible API — swap Ollama for Claude, GPT, or any other provider by changing LLM_BASE_URL and LLM_API_KEY.
This fork introduces a clean abstraction layer between the application and the graph database:
┌─────────────────────────────────────────┐
│ Flask API │
│ graph.py simulation.py report.py │
└──────────────┬──────────────────────────┘
│ app.extensions['neo4j_storage']
┌──────────────▼──────────────────────────┐
│ Service Layer │
│ EntityReader GraphToolsService │
│ GraphMemoryUpdater ReportAgent │
└──────────────┬──────────────────────────┘
│ storage: GraphStorage
┌──────────────▼──────────────────────────┐
│ GraphStorage (abstract) │
│ │ │
│ ┌─────────▼─────────┐ │
│ │ Neo4jStorage │ │
│ │ ┌───────────────┐ │ │
│ │ │ EmbeddingService│ ← Ollama │
│ │ │ NERExtractor │ ← Ollama LLM │
│ │ │ SearchService │ ← Hybrid search │
│ │ └───────────────┘ │ │
│ └───────────────────┘ │
└─────────────────────────────────────────┘
│
┌──────▼──────┐
│ Neo4j CE │
│ 5.15 │
└─────────────┘
Key design decisions:
GraphStorage is an abstract interface — swap Neo4j for any other graph DB by implementing one classapp.extensions — no global singletons| Component | Minimum | Recommended |
|---|---|---|
| RAM | 16 GB | 32 GB |
| VRAM (GPU) | 10 GB (14b model) | 24 GB (32b model) |
| Disk | 20 GB | 50 GB |
| CPU | 4 cores | 8+ cores |
CPU-only mode works but is significantly slower for LLM inference. For lighter setups, use qwen2.5:14b or qwen2.5:7b.
AGPL-3.0 — same as the original MiroFish project. See LICENSE.
This is a modified fork of MiroFish by 666ghj, originally supported by Shanda Group. The simulation engine is powered by OASIS from the CAMEL-AI team.
Modifications in this fork:
more like this
🧠 A simple command-line client for the Perplexity API. Ask questions and receive answers directly from the terminal! 🚀🚀🚀
Quadcopter dynamics simulation with two proportional–integral–derivative (PID) controllers that adjust the motor speeds…
search projects, people, and tags