crypto_project_analyst/README.md

76 lines
3.4 KiB
Markdown

# crypto_project_analyst
A multi-agent pipeline that takes a CoinMarketCap URL and produces a comprehensive markdown analysis report for a crypto project.
Built on [OpenClaw](https://openclaw.dev) with local LLMs via LM Studio / Ollama.
The architecture is specifically designed to get good results from small local models (20B). Each agent has a narrow, well-defined job with tight instructions — operators are dumb and deterministic, the analyst reasons freely but on a pre-assembled payload. Context isolation, parallel execution, and explicit skill files do the heavy lifting so the models don't have to. On a capable model like GPT-4 or Claude, most of this pipeline would be unnecessary — a single agent could handle it all.
---
## How it works
```
User → data-orchestrator → [operators in parallel] → crypto-analyst → reports/<TICKER>-<YYYYMMDD-HHMMSS>.md
```
1. **User** sends a CoinMarketCap URL to the `data-orchestrator`.
2. **data-orchestrator** POSTs the URL to the link extraction daemon, which categorizes all links found on the page (GitHub, Twitter, docs, web, etc.). It then spawns all relevant operators in parallel and waits for their responses. Once all results are in, it assembles a payload and spawns the `crypto-analyst`.
3. **Operators** each handle one data source:
- `rss-operator` — fetches recent news entries from the RSS feed database
- `github-operator` — pulls repo/org metrics from the GitHub scraper daemon
- `twitter-operator` — fetches Twitter/X profile data
- `web-operator` — fetches and summarizes relevant web pages (up to 20 URLs)
4. **crypto-analyst** receives the assembled payload as a starting point, investigates freely using `web_fetch`, hunts for the whitepaper, and writes a structured report to `reports/`.
---
## Agents
| Agent | Model | Role |
|---|---|---|
| `data-orchestrator` | gpt-oss-20b | Orchestration — link extraction, operator spawning, payload assembly |
| `rss-operator` | gpt-oss-20b | RSS news fetching |
| `github-operator` | gpt-oss-20b | GitHub repo/org metrics |
| `twitter-operator` | gpt-oss-20b | Twitter/X profile data |
| `web-operator` | gpt-oss-20b | Web page fetching and summarization |
| `crypto-analyst` | gpt-oss-20b | Investigation, analysis, report writing |
---
## Daemons
| Service | Port | Purpose |
|---|---|---|
| Link extraction | `scraper_host:5003` | Parses CoinMarketCap pages, categorizes links |
| GitHub scraper | `scraper_host:5002` | Fetches repo/org metrics from GitHub API |
| RSS fetcher | `scraper_host:5001` | Stores and queries RSS feeds by ticker/project |
---
## Report structure
Reports are saved to `reports/` in the analyst's workspace:
```
reports/
ETH-20260310-143000.md
BTC-20260308-091500.md
```
Each report covers: Executive Summary, Project Overview, Development Activity, Community & Social, Recent News, Web Presence, Red Flags, and a Verdict for both developers and retail investors.
---
## Config notes
- `agents.defaults.subagents.archiveAfterMinutes: 10` — operator sessions auto-archive after 10 minutes
- `maxPingPongTurns: 0` — prevents agent-to-agent reply loops
- `runTimeoutSeconds: 0` — no timeout on spawns (GPU tokenization can be slow)
- `crypto-analyst` session is kept open after completion for inspection; operators are left to the archive policy
---
## License
GNU General Public License v2.0 — see [LICENSE] (https://www.gnu.org/licenses/gpl-2.0.html) for details.