这是一个互动式 3D 地球球,可让您探索地球上任何位置的历史。它源自对"滚动查看"Google 地图和了解各种知识的热爱。
I can't stop doomscrolling Google Maps so I built AI that researches anywhere on Earth
An interactive 3D globe that lets you explore the fascinating history of any location on the planet. Born from opening Google Maps in satellite view at 2am and clicking on random shit - obscure atolls in the Pacific that look like someone dropped a pixel, unnamed mountains in Kyrgyzstan, Arctic settlements with 9 people. Places so remote they don't have Wikipedia pages.
Be curious.
I have a problem. I'll lose 6 hours to doomscrolling Google Maps. Just clicking. Finding volcanic islands that look photoshopped. Fjords that defy physics. Tiny dots of land in the middle of nowhere. And every single time I think: what IS this place? Who found it? Why does it exist? What happened here?
Then you try to research it and it's hell. 47 Wikipedia tabs. A poorly-translated Kazakh government PDF from 2003. A travel blog from 1987. A single Reddit comment from 2014 that says "I think my uncle went there once." You piece it together like a conspiracy theorist and still don't get the full story.
The information exists somewhere. Historical databases. Academic archives. Colonial records. Exploration logs from the 1800s. But it's scattered everywhere and takes forever to find.
Click anywhere on a globe. Get actual research. It searches hundreds of sources for up to 10 minutes and gives you the full story. With citations so you know it's not making shit up.
Not ChatGPT summarizing from training data. Actual research. It searches:
Example: Tristan da Cunha (most remote inhabited island on Earth, population 245)
Click on it and you get:
What would take hours of manual research happens automatically. And you can verify everything.
Because I've spent literal months of my life doomscrolling Google Maps clicking on random islands at 3am and I want to actually understand them. Not skim a 4-paragraph Wikipedia stub. Not guess based on the name. Proper historical research. Fast.
The databases exist. The archives are digitized. The APIs are built. Someone just needed to connect them to a globe and make it accessible.
This is what AI should be doing. Not writing emails. Augmenting genuine human curiosity about the world.
Fully open-source. Self-hostable. Model-agnostic.
Self-hosted mode is the recommended way to run History locally. It requires only 2 API keys and takes about 5 minutes to set up.
npm install -g pnpm)Clone the repository
git clone https://github.com/yorkeccak/history.git
cd history
Install dependencies
pnpm install
Set up environment variables
Create a .env.local file in the root directory:
# Self-Hosted Mode - No Auth Required
NEXT_PUBLIC_APP_MODE=self-hosted
# Valyu API (Required)
VALYU_API_KEY=valyu_your_api_key_here
# Mapbox Configuration (Required)
NEXT_PUBLIC_MAPBOX_ACCESS_TOKEN=pk.your_mapbox_access_token_here
# App URL
NEXT_PUBLIC_APP_URL=http://localhost:3000
Run the development server
pnpm dev
Open your browser
Navigate to http://localhost:3000
Start exploring
Navigate the Globe
Research a Location
Watch the Research
Review Results
Save for Later
History runs in self-hosted mode:
NEXT_PUBLIC_APP_MODE=self-hosted
Features:
The quickest way to get History running in production:
NEXT_PUBLIC_APP_MODE = self-hostedVALYU_API_KEY = your Valyu API keyNEXT_PUBLIC_MAPBOX_ACCESS_TOKEN = your Mapbox access token.env.local as VALYU_API_KEYPricing:
.env.local as NEXT_PUBLIC_MAPBOX_ACCESS_TOKENPricing:
History uses a minimal database schema optimized for the DeepResearch API:
users- id: UUID (primary key)
- email: text
- avatar_url: text
- subscription_tier: enum (free, pay_per_use, subscription)
- subscription_status: enum (active, inactive)
- polar_customer_id: text
- subscription_id: text
- created_at: timestamp
- updated_at: timestamp
research_tasks- id: UUID (primary key)
- user_id: UUID (foreign key to users)
- deepresearch_id: text (Valyu API task ID)
- location_name: text
- location_lat: float
- location_lng: float
- location_images: jsonb
- status: enum (queued, running, completed, failed)
- anonymous_id: text
- is_public: boolean
- share_token: text
- shared_at: timestamp
- created_at: timestamp
- updated_at: timestamp
- completed_at: timestamp
user_rate_limits- id: UUID (primary key)
- user_id: UUID (foreign key to users)
- usage_count: integer
- reset_date: text
- monthly_usage_count: integer
- monthly_reset_date: text
- last_request_at: timestamp
- created_at: timestamp
- updated_at: timestamp
Note: Full research content is stored in Valyu's DeepResearch API. We only store metadata and task IDs, keeping the database lean and avoiding duplication.
History is fully open-source. Contributions are welcome and appreciated.
git checkout -b feature/amazing-feature)NEXT_PUBLIC_APP_MODE=self-hosted)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)For bugs or feature requests, open an issue or start a discussion.
If you also spend hours clicking random islands on Google Maps, you'll understand why this needed to exist.
Perfect for:
This project is open-source and available under the MIT License.
暂无开放 Issues,或尚未同步最近议题。