# Hunter Community Edition: a self-hosted financial AI agent stack you run on your own disk

> Hunter Community Edition packages a multi-agent investment research workspace into a docker compose stack. The data supply model, the local investment thesis store, and the single-user default are the parts worth understanding before you clone it.

**agentpit-io/hunter-community** — Hunter Community Edition · 私人金融 AI 团队 · AI 智能体 + AI 量化 · 开源自托管 · powered by opencode + Claude Code + MCP + multi-agent · your private financial AI team · open-source self-hosted · 15 min docker start

- Repository: https://github.com/agentpit-io/hunter-community
- Website: https://hunter.agentpit.io
- Stars: 568 · Forks: 77
- Language: Python
- License: Apache-2.0
- Published: 2026-09-10 · Updated: 2026-09-10 · Language: en
- Canonical page: https://hysenlabs.com/projects/agentpit-io-hunter-community

## What Hunter Community Edition actually is

Hunter Community Edition is a self-hosted workspace for individual investors who want an AI system to query quotes, pull news, run deep analysis and track a watchlist. The README frames it as a private financial AI team running on your own machine, built on opencode, Claude Code, MCP and a multi-agent design. It is written in Python, licensed Apache-2.0, and the most recent release listed is v1.0.0-rc1 from 2026-08-31. The last push to the repository was on 2026-09-10.

The problem it addresses is concrete. General chat models can discuss a stock but cannot call a quote endpoint or read a filing. Generic coding agents can call tools but know nothing about valuation or portfolio construction. Hunter ships 23 built-in SKILLs that encode analyst-style methodology, plus a tool loop that routes a question to the right data source. The intended user is one person with one machine, not a fund with an ops team.

## Data supply: the one concept the README insists you understand

The README calls the data supply model the only concept you need to grasp, and it is right to single it out, because it determines what the product can answer. There are three paths. The free path uses akshare for A-shares and yfinance for US and Hong Kong listings, with built-in offline samples, and needs no key from the vendor. The bring-your-own path lets you attach your own broker, data vendor or MCP server through a toolbox button in the sidebar. The platform path uses a hunt_tools key, applied for in about 30 seconds, and unlocks 32 of 33 data sources plus Kronos trend prediction and TrueSource intelligence.

The README is explicit that the free path degrades with a visible notice when coverage is missing rather than failing silently, and that the left-hand tools stay visible in all three modes. That is a deliberate design choice: clicking a locked tool tells you how to unlock it. The recommended progression is to start on free sources, hit the coverage ceiling, then either apply for the platform key or wire in your own data. A language model key is required in every case, and the README points at DeepSeek's free tier as the cheapest starting point.

## Installing Hunter Community Edition and running a first query

The prerequisites listed in the README are Docker Desktop on Windows or macOS, or Docker Engine with Compose v2 on Linux, 20 GB of disk (the opencode image is about 7.5 GB), 4 GB of memory, and network access to ghcr.io. Clone the repository, copy the environment template, and generate a signing secret.

```bash
git clone https://github.com/agentpit-io/hunter-community
cd hunter-community
cp .env.example .env
echo "JWT_SECRET=$(openssl rand -base64 48)" >> .env
```

The README notes a PowerShell equivalent for the secret generation in docs/01-getting-started.md. Then edit .env by hand. The README lists the fields to change: the base URL, the default model, your API key, the schema sanitize flag which it marks as required for DeepSeek, and optionally the platform data key.

```bash
# inside .env
LLM_BASE_URL=https://api.deepseek.com/v1
LLM_DEFAULT_MODEL=deepseek-v4-pro
LLM_API_KEY=sk-xxxxx
LLM_SCHEMA_SANITIZE=1
HUNTER_API_KEY=hunt_tools_xxxxx
```

With that in place, bring the stack up. The first run pulls images and the README puts that at about 10 minutes, with subsequent starts around 30 seconds.

```bash
docker compose up -d
```

The web interface is served on port 3100, so open http://localhost:3100. The README's suggested first tests are asking for the current price of a ticker such as 601899, which should return a rich card with a live price, a 52-week percentile and a short AI comment; asking for a trend prediction on a stock, which the README says runs Kronos inference and takes 30 to 70 seconds for a 10-day forecast; and using the deep analysis entry in the sidebar, which the README puts at 60 to 300 seconds for a 22-dimension report. Note the port choices: the compose file maps Postgres to 5442 and Redis to 6479 on the host, deliberately non-standard.

## Investment thesis: the local memory store, and its limits

The feature the README treats as the differentiator is the investment thesis. You record why you bought: the core argument, five key assumptions, and your cost basis. The system then re-checks those assumptions against new data. The README describes four checks: earnings falsification against your original revenue and profit assumptions, order-flow monitoring for key customers, suppliers and channels, a warning when any of the five pillars weakens, and quantitative tracking of how far and how fast key metrics drift from your baseline.

The implementation detail matters more than the marketing. The README states the thesis data lives in a local Postgres instance and stays on your disk, and that the vendor sees only request counts for platform-pipeline usage, not your data or your conversations. It also states that a cloud sync option is planned for v1.0 as an optional paid feature, with the local single-machine version described as permanently free. Treat the thesis output as what it is: the README itself carries a disclaimer that all output is AI-generated research material and not investment advice, and that position decisions remain yours.

## What the compose file tells you that the README does not

Read docker-compose.yml before you trust the five-minute claim. Its header comment describes the stack as a P1 skeleton and states plainly that the opencode service is a TODO, pending a ghcr.io/agentpit-io/hunter-opencode image, with a pointer to doc 08. The services actually defined are postgres, redis, api and web. The api service depends on healthy Postgres and Redis, and its environment sets HUNTER_MINIMAL_BOOT to 1 by default.

That boot flag is the second thing to understand. The .env.example explains that with HUNTER_MINIMAL_BOOT=1, background schedulers are skipped: the collector, signal monitor, gm_alerts, backtest and the stocks catalog seed, all of which need external credentials. Schema migrations still run, and table-backed features such as auth, watchlist and settings work regardless. To get the full feature set you set it to 0 after filling in LLM_API_KEY and HUNTER_SAAS_DATA_KEY or configuring local providers. In other words, a fresh clone boots healthy precisely because it is doing less than the full product.

The third item is a security default. Single-user mode is on by default, and the .env.example warns that while it is on, any request to /api/auth/local-session returns an admin token, and no reverse proxy can distinguish a legitimate request from a hostile one. It says to set it to 0 the moment the instance is reachable by anyone but you. The compose file also notes that the api and opencode services must share the same JWT secret.

## Where Hunter Community Edition is the wrong choice

If you want a hosted tool that works in a browser tab with no local Docker, this is the wrong shape of product. The README's own comparison table sets it against TradingView, and the honest difference is that TradingView gives you a charting product with a subscription, while Hunter gives you a stack you operate. You are trading setup and maintenance for data ownership.

The data ceiling is the second boundary. Without a hunt_tools key you are on akshare and yfinance, and the README admits coverage is incomplete on that path, with explicit degradation notices. If your research depends on the alternative data sets the README lists, such as bidding records, hiring, customs or patent data, the free path will not deliver them. The third boundary is the release state: the newest listed release is a release candidate, and the compose file describes itself as a skeleton with a service still pending. Anyone who needs a stable, fully wired deployment should wait for the opencode image to land rather than debugging around it.

## How it differs from OpenBB, FinGPT and general coding agents

The README positions Hunter against three categories. OpenBB and FinGPT are described as requiring you to assemble providers and tools yourself, with a stated onboarding time of two to three days, whereas Hunter aims at a five-minute start with SKILLs as the unit of methodology. The real difference is packaging: Hunter bundles the agent loop, the data adapters and the analysis templates into one compose stack, at the cost of the flexibility that comes from picking each component.

The second comparison is against general agents like Cursor or Cline. Those call tools well but have no financial methodology, so you would be writing the analyst prompts yourself. Hunter ships 23 SKILLs, written in Markdown, and the README describes three extension routes: write a SKILL, install one from GitHub, or attach your own MCP server. If you already have a working MCP setup and strong opinions about your own prompts, the built-in SKILL library is less of an advantage and the compose stack is more overhead than you need.

## Licence, upgrade cost and what to check before adopting

The licence is Apache-2.0, and the README states that forking is allowed for commercial closed-source use and redistribution, with the one condition that you change the brand name. There is a NOTICE file at the repository root, which is the conventional place for attribution requirements under this licence; read it alongside LICENSE rather than relying on the README's summary. Nothing here is legal advice, and if you plan to redistribute a rebranded fork, have someone qualified check the NOTICE terms.

Upgrade cost is not documented. The README does not describe a migration path between releases, and the compose file runs database migrations from ./db/migrations mounted as an init directory, which applies on first initialisation of the Postgres volume rather than on every start. The README does not document rollback. Before running this anywhere that matters, check the CHANGELOG.md for the delta between v0.2.0 and v1.0.0-rc1, confirm the opencode image status in doc 08, and decide whether you are staying on HUNTER_MINIMAL_BOOT=1. Maintenance signal: the last push was on 2026-09-10, and the repository is not archived.

## Conclusion

Adopt Hunter Community Edition if you are an individual investor comfortable running docker compose and you want your conversation history, positions and investment thesis to stay on your own disk rather than a vendor account. Do not adopt it if you expect a hosted product with no Docker on your machine, or if you need the full 32-source data coverage without applying for a hunt_tools key. Before you commit, verify three things: that the opencode service image referenced in docker-compose.yml is actually available, since the file notes it is pending; that LLM_SCHEMA_SANITIZE=1 is set for DeepSeek, because the README marks it as required for that provider; and that you have set SINGLE_USER mode to 0 before the instance is reachable by anyone but you, because the .env.example warns that any request to /api/auth/local-session returns an admin token while it is on.

## FAQ

### What does Hunter Community Edition do?

It is a self-hosted financial AI agent platform for individual investors. It answers market questions with live data, runs deep analysis and trend prediction, and tracks an investment thesis stored in a local Postgres database.

### How do I install and start Hunter Community Edition?

Clone the repository, copy .env.example to .env, generate a JWT secret, fill in your language model key, then run docker compose up -d and open port 3100. The README puts the first start at about 10 minutes while images pull.

### Which data providers can Hunter Community Edition use?

There are three options: free sources through akshare for A-shares and yfinance for US and Hong Kong listings, your own broker, data vendor or MCP server, or the platform pipeline with a hunt_tools key that unlocks 32 of 33 data sources.

### Does Hunter Community Edition need a paid API key?

A language model key is required, and the README points at DeepSeek's free tier as the cheapest option. A platform data key is optional, and the README states the free akshare and yfinance path needs no key from the vendor.

### Is Hunter Community Edition safe to expose to the internet?

Not with the default settings. The .env.example warns that single-user mode is on by default and that while it is on, any request to /api/auth/local-session returns an admin token, so it must be set to 0 before the instance is reachable by anyone but you.

## Sources

- [agentpit-io/hunter-community on GitHub](https://github.com/agentpit-io/hunter-community)
- [License: Apache-2.0](https://github.com/agentpit-io/hunter-community/blob/main/LICENSE)
- [Project website](https://hunter.agentpit.io)
- [README](https://github.com/agentpit-io/hunter-community/blob/main/README.md)
- [Releases](https://github.com/agentpit-io/hunter-community/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/agentpit-io-hunter-community
