An open-source, proactive context-aware AI partner, dedicated to bringing clarity and efficiency to your work, study and creation.
中文 / English
Community Best Practice · Report Issues · Feedback
👋 Join our WeChat / Lark / Red Note Group
🌍 Join our Discord Group
Table of Contents
MineContext is a proactive context-aware AI partner. By utilizing screenshots and content comprehension (with future support for multi-source multimodal information including documents, images, videos, code, and external application data), it can see and understand the user's digital world context. Based on an underlying contextual engineering framework, it actively delivers high-quality information such as insights, daily/weekly summaries, to-do lists, and activity records.

MineContext focuses on four key features: effortless collection, intelligent resurfacing, proactive delivery, and a context engineering architecture.
MineContext places a high priority on user privacy. By default, all data is stored locally in the following path to ensure your privacy and security.
~/Library/Application Support/MineContext/Data
In addition, we support custom model services based on the OpenAI API protocol. You can use fully local models in MineContext, ensuring that any data does not leave your local environment.
Click Github Latest Release to Download

Note: Starting from v0.1.5, MineContext supports Apple notarization, so you no longer need to disable the quarantine attribute. If you're using an older version, please refer to the previous documentation for instructions.
After the application launches, please follow the prompts to enter your API key. (Note: On the first run, the application needs to install the backend environment, which may take about two minutes).
We currently support services from Doubao, OpenAI, and custom models. This includes any local models or third-party model services that are compatible with the OpenAI API format.
We recommend using LMStudio to run local models. It provides a simple interface and powerful features to help you quickly deploy and manage them.
Considering both cost and performance, we recommend using the Doubao model. The Doubao API Key can be generated in the API Management Interface.
After obtaining the Doubao API Key, you need to activate two models in the Model Activation Management Interface: the Visual Language Model and the Embedding Model.
Visual Language Model: Doubao-Seed-1.6-flash

Embedding Model: Doubao-embedding-large

The following is the filling process after obtaining the API Key:

Enter [Screen Monitor] to enable the system permissions for screen sharing. After completing the setup, you need to restart the application for the changes to take effect.

After restarting the application, please first set your screen sharing area in [Settings], then click [Start Recording] to begin taking screenshots.

After starting the recording, your context will gradually be collected. It will take some time to generate value. So, forget about it and focus on other tasks with peace of mind. MineContext will generate to-dos, prompts, summaries, and activities for you in the background. Of course, you can also engage in proactive Q&A through [Chat with AI].
MineContext supports backend debugging, which can be accessed at http://localhost:1733.
1.View Token Consumption and Usage

2.Configure Interval for Automated Tasks

3.Adjust System Prompt for Automated Tasks

The MineContext frontend is a cross-platform desktop application built with Electron, React, and TypeScript, providing a modular, maintainable, and high-performance foundation for desktop development.
| Technology | Description |
|---|---|
| Electron | Allows for the development of cross-platform desktop applications using web technologies. |
| React | A component-based UI library for building dynamic user interfaces. |
| TypeScript | Provides static type checking to enhance code maintainability. |
| Vite | A modern frontend build tool optimized for Electron. |
| Tailwind CSS | A utility-first CSS framework for rapid and consistent UI styling. |
| pnpm | A fast and efficient package manager suitable for monorepo projects. |
The project follows a standard Electron architectural design, clearly separating the code for the main process, preload scripts, and renderer process to ensure security and maintainability.
frontend/ ├── src/ │ ├── main/ # Electron main process (window management, lifecycle, IPC) │ ├── preload/ # Preload script, securely bridging Node APIs and the renderer process │ └── renderer/ # React frontend interface (renderer process) │ ├── packages/ │ └── shared/ # Common utilities, IPC channels, logging, and constant definitions │ ├── build/ # Build resources (icons, platform configurations) ├── dist/ # Build artifacts generated by electron-builder ├── externals/ # External dependencies (Python scripts, binaries, etc.) ├── resources/ # Static assets (icons, templates, images) └── scripts/ # Development and build helper scripts
Main Process (src/main/) is responsible for:
Preload Script (src/preload/) is responsible for:
Renderer Process (src/renderer/) is responsible for:
Build and Packaging are responsible for:
electron-vite.config.ts — Configures the build logic for both the main and renderer processes (aliases, plugins, etc.).electron-builder.yml — Defines packaging and distribution configurations for Windows, macOS, and Linux.Before starting frontend development, you need to build the backend first:
uv sync
source .venv/bin/activate
./build.sh
Due to package version issues, using a domestic PyPI mirror is not currently supported. Please run the following command to ensure you are using the original PyPI source:
pip config unset global.index-url
cd frontend
pnpm install
During local development, it is normal for the screen capture area selection to be slow. Please wait, as this issue does not exist in the packaged application.
pnpm dev
To build APP for macOS:
pnpm build:mac
# Data Path
# ~/Library/Application\ Support/MineContext
The executable files generated by the packaging process will be stored in the MineContext/frontend/dist directory.
MineContext adopts a modular, layered architecture design with clear separation of concerns and well-defined responsibilities for each component.
opencontext/ ├── server/ # Web server and API layer ├── managers/ # Business logic managers ├── context_capture/ # Context acquisition modules ├── context_processing/ # Context processing pipeline ├── context_consumption/# Context consumption and generation ├── storage/ # Multi-backend storage layer ├── llm/ # LLM integration layer ├── tools/ # Tool system └── monitoring/ # System monitoring
Server Layer (server/)
Manager Layer (managers/)
CaptureManager: Manages all context capture sourcesProcessorManager: Coordinates context processing pipelineConsumptionManager: Handles context consumption and generationEventManager: Event-driven system coordinationContext Capture Layer (context_capture/)
Processing Layer (context_processing/)
Storage Layer (storage/)
LLM Integration (llm/)
We recommend using uv for fast and reliable package management:
# Clone repository
git clone https://github.com/volcengine/MineContext.git
cd MineContext
# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Sync dependencies (automatically creates virtual environment)
uv sync
config/config.yaml):server:
host: 127.0.0.1
port: 8765
debug: false
embedding_model:
provider: doubao # options: openai, doubao
api_key: your-api-key
model: doubao-embedding-large-text-240915
vlm_model:
provider: doubao # options: openai, doubao
api_key: your-api-key
model: doubao-seed-1-6-flash-250828
capture:
enabled: true
screenshot:
enabled: true # enable screenshot capture
capture_interval: 5 # capture interval in seconds
config/prompts_*.yaml):
prompts_en.yaml: English prompt templatesprompts_zh.yaml: Chinese prompt templates# Start with default configuration
uv run opencontext start
# Start with custom config
uv run opencontext start --config /path/to/config.yaml
# Start with custom port (useful for avoiding conflicts)
uv run opencontext start --port 1733
Available Options:
--config: Path to configuration file--host: Host address (default: from config or localhost)--port: Port number (default: from config or 1733)Priority: Command-line arguments > Config file > Default values
Alternatively, you can activate the virtual environment manually:
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -e .
opencontext start --port 1733
The naming of MineContext also reflects the team's ingenuity. It signifies both "my context" and "mining context." It draws inspiration from the core philosophy of Minecraft—openness, creativity, and exploration.
If vast amounts of context are like scattered "blocks," then MineContext provides a "world" where you can freely build, combine, and create. Users can reimagine and create new content based on the collected massive context and generate high-quality information.
| Target User Category | Specific Roles/Identities | Core Needs/Pain Points |
|---|---|---|
| Knowledge Workers | Researchers, Analysts | Navigating vast amounts of information, improving information processing and analysis efficiency |
| Content Creators | Writers, Bloggers | Craving endless inspiration, optimizing content creation workflows |
| Lifelong Learners | Students, Researchers | Building systematic knowledge systems, efficiently managing and connecting learning materials |
| Project Managers | Product Managers, Project Managers | Integrating multi-source information and data, ensuring project alignment and decision-making efficiency |
We will prioritize the expansion of Context Sources according to the following plan, and we warmly welcome everyone to actively contribute code to our efforts.
| Context Capture Capability | Context Source | Priority | Completion Status |
|---|---|---|---|
| Screen Screenshot | User PC Information | P0 | ✅ |
| Note Editing | Application Internal Creation Information | P0 | ✅ |
| Link Upload | Internet Information | P0 | |
| File Upload | Structured Documents | P1 | |
| File Upload | Unstructured Documents | P1 | |
| File Upload | Images | P1 | |
| File Upload | Audio | P4 | |
| File Upload | Video | P4 | |
| File Upload | Code | P4 | |
| Browser Extension | AI Conversation Records | P2 | |
| Browser Extension | Refined Internet Information | P5 | |
| Meeting Records | Meeting Information | P2 | |
| RSS | Consultation Information | P3 | |
| Deep Research | High-Quality Research Analysis | P3 | |
| Application MCP/API | Payment Records | P4 | |
| Application MCP/API | Research Papers | P3 | |
| Application MCP/API | News | P4 | |
| Application MCP/API | Emails | P4 | |
| Application MCP/API | Notion | P2 | |
| Application MCP/API | Obsidian | P2 | |
| Application MCP/API | Slack | P4 | |
| Application MCP/API | Jira | P4 | |
| Application MCP/API | Figma | P2 | |
| Application MCP/API | Linear | P4 | |
| Application MCP/API | Todoist | P4 | |
| Memory Bank Migration Import | User Memory | P4 | |
| WeChat Data Capture | WeChat Chat History | P4 | |
| QQ Data Capture | QQ Chat History | P4 | |
| Mobile Screenshot Monitor | User Mobile End Information | P4 | |
| Smart Glasses Data Sync | Physical World Interaction Records | P5 | |
| Smart Bracelet Data Sync | Physiological Data | P5 |
This repository is licensed under the Apache 2.0 License.