<div align="center">

<img src="frontend/public/mingjian-icon.jpg" width="160" alt="明鉴 图标">

# 明鉴 (MingJian)

### *明察秋毫，鉴往知来*

**AI驱动的多代理平台 | 证据驱动的场景模拟与战略决策**

---

[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)
[![FastAPI](https://img.shields.io/badge/FastAPI-0.110+-green.svg)](https://fastapi.tiangolo.com/)
[![Next.js](https://img.shields.io/badge/Next.js-15-black.svg)](https://nextjs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.8-blue.svg)](https://www.typescriptlang.org/)
[![GitHub stars](https://img.shields.io/github/stars/dashitongzhi/MingJian?style=social)](https://github.com/dashitongzhi/MingJian/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/dashitongzhi/MingJian?style=social)](https://github.com/dashitongzhi/MingJian/network/members)

**🌐 语言选择 / Language Selection**

[**🇬🇧 English**](README.md) | [**🇨🇳 中文**](README.zh-CN.md) | [**🇮🇳 हिन्दी**](README.hi.md) | [**🇯🇵 日本語**](README.ja.md)

---

![明鉴 平台概览](frontend/public/mingjian-hero.jpg)

</div>

---

## 🌟 为什么选择明鉴？

> **"第一个将证据驱动分析、多代理辩论和实时模拟统一在一个工作空间中的开源平台。"**

明鉴不仅仅是一个AI工具——它是组织进行战略决策方式的**范式转变**。通过结合10+实时数据源、对抗性多代理辩论和确定性决策追踪，明鉴消除了困扰传统AI系统的"黑箱"问题。

---

## 🎯 当前智能分析的困境

从 ChatGPT 到各类企业级 AI 副驾驶，当前主流智能分析系统普遍存在以下致命缺陷：

- ❌ **幻觉当事实** — 大模型自信地编造数据、捏造来源、伪造结论，你根本分不清哪些是真、哪些是假。
- ❌ **单一模型的盲区** — 一个模型、一种世界观。没有交叉验证，没有对抗性挑战，没有第二意见。偏见无处遁形。
- ❌ **黑箱推理** — 给你一个答案，但*怎么得出的*？没有证据链，没有来源追溯，无法审计也无法复现。
- ❌ **知识过时，没有证据** — 模型依赖冻结在某个时间点的训练数据，无法从新闻、市场、传感器拉取实时情报——它们在*猜*，而不是*知道*。
- ❌ **没有自我纠错** — AI 输出一锤子买卖，错误静默传播。没有审查循环，没有质量门槛，没有迭代优化。
- ❌ **工具碎片化** — 数据采集、分析、辩论、报告分散在不同工具中，每次交接都丢失上下文。
- ❌ **零可复现性** — 同一个问题跑两遍，得到两个不同的答案。没有确定性追踪、没有决策日志、没有问责机制。

## 💡 明鉴如何破解

明鉴用**证据**替代猜测，用**辩论**替代独断，用**追踪**替代黑箱：

- ✅ **证据锚定** — 每次分析都基于来自 10+ 实时数据源的真实数据（Google News、Reddit、GitHub、GDELT、X/Twitter 等）。不幻觉，不捏造。
- ✅ **多代理对抗辩论** — GPT、Gemini、Claude、Grok 不是简单地同意——它们**互相挑战**。盲点被暴露，偏见被质疑。
- ✅ **完整审计追踪** — 每一步都被记录：查阅了哪些来源、提出了哪些论点、做出了哪些决策。完全透明，完全可复现。
- ✅ **实时情报** — 实时数据摄入、流式分析、即时洞察交付。不再依赖冻结的训练数据。
- ✅ **自愈流水线** — Jarvis 引擎自动审查、批判、迭代自身输出，直到达到质量阈值。错误在到达你之前就被拦截。

---

## 🔬 核心功能

### 1. 证据驱动，非猜测驱动

**问题：** 传统AI工具给您答案却不展示推理过程。

**我们的方案：** 明鉴将每个决策建立在来自10+数据源的**真实世界证据**之上。每个声明可追溯，每个决策可审计。

### 2. 多代理辩论协议

**问题：** 单一AI模型存在盲点和偏见。

**我们的方案：** 多个AI模型（GPT、Gemini、Claude、Grok）**辩论**您的决策，挑战假设并达成有证据支持的结论。

### 3. 双领域专业能力

**问题：** 大多数AI工具是通用的，不理解您的特定领域。

**我们的方案：** 明鉴支持**企业**（市场分析、竞争情报）和**军事**（作战规划、物流）两个领域，具有领域特定的规则和模型。

### 4. 完全可审计的决策追踪

**问题：** 您无法解释AI如何得出结论。

**我们的方案：** 每个模拟产生**确定性决策追踪**——AI如何得出结论的逐步记录。没有黑箱。

### 5. Jarvis自我修复引擎

**问题：** AI输出可能错误，但您往往为时已晚才发现。

**我们的方案：** 明鉴审查自己的输出，识别弱点，并迭代直到达到质量阈值——全程无需人工干预。

### 6. 实时流式分析

**问题：** 您等待AI完成，然后得到一个黑箱结果。

**我们的方案：** 提交分析请求，实时观看AI工作——流式进度事件、来源归属和中间结果。

### 7. 9智能体决策委员会

**问题：** 单一AI模型存在盲点和偏见。

**我们的方案：** 明鉴部署**9个专业AI智能体**——每个都有独特的角色、视角和模型——组成决策委员会：

| 角色 | 智能体 | 功能 |
|------|--------|------|
| 🟢 **战略支持者** | 核心 | 支持论证，寻找有利证据 |
| 🔴 **风险挑战者** | 核心 | 反对论证，寻找反面证据 |
| ⚖️ **首席仲裁官** | 核心 | 基于证据做出最终裁决 |
| 🔍 **情报分析师** | 视角 | 评估证据质量 |
| 🌍 **地缘政治专家** | 视角 | 地缘政治分析 |
| 💰 **经济分析师** | 视角 | 经济/市场分析 |
| ⚔️ **军事战略家** | 视角 | 军事/安全分析 |
| 🔮 **技术前瞻者** | 视角 | 技术趋势分析 |
| 👥 **社会影响评估师** | 视角 | 社会/舆论分析 |

---

## 🆚 明鉴 vs 竞品

| 特性 | 明鉴 | Manus | 传统AI | 单代理 | LangChain |
|------|------|-------|--------|--------|-----------|
| **数据源** | ✅ 10+实时源 | ⚠️ 通用搜索 | ❌ 手动输入 | ⚠️ 有限 | ⚠️ 有限 |
| **证据链** | ✅ 完全可追溯 | ❌ 无追踪 | ❌ 无追踪 | ❌ 无追踪 | ❌ 无追踪 |
| **多代理辩论** | ✅ 9智能体对抗 | ⚠️ 编排层+子代理 | ❌ 单模型 | ❌ 单模型 | ⚠️ 基础 |
| **决策追踪** | ✅ 确定性 | ❌ 黑箱 | ❌ 黑箱 | ❌ 黑箱 | ❌ 黑箱 |
| **自我修复** | ✅ Jarvis引擎 | ⚠️ 动态重规划 | ❌ 无 | ❌ 无 | ❌ 无 |
| **流式分析** | ✅ 实时 | ✅ 实时 | ❌ 仅批量 | ❌ 仅批量 | ⚠️ 有限 |
| **持续监控** | ✅ WatchRule+自动更新 | ❌ 一次性任务 | ❌ 无 | ❌ 无 | ❌ 无 |
| **企业领域** | ✅ 完整支持 | ❌ 通用 | ⚠️ 通用 | ❌ 通用 | ❌ 通用 |
| **军事领域** | ✅ 完整支持 | ❌ 通用 | ⚠️ 通用 | ❌ 通用 | ❌ 通用 |
| **场景分支** | ✅ 束搜索 | ❌ 无 | ❌ 手动 | ❌ 无 | ❌ 无 |
| **知识图谱** | ✅ 嵌入支持 | ❌ 无 | ❌ 无 | ❌ 无 | ❌ 无 |
| **代码执行** | ⚠️ 计划中 | ✅ 完整沙箱VM | ❌ 无 | ⚠️ 有限 | ❌ 无 |
| **数据主权** | ✅ 自部署 | ❌ 仅云端 | ⚠️ 多样 | ⚠️ 多样 | ✅ 自部署 |
| **开源** | ✅ Apache 2.0 | ❌ 闭源 | ⚠️ 多样 | ⚠️ 多样 | ✅ 多样 |

---

## 🧭 明鉴 的定位：AI 决策参谋

> **不是通用工具，而是专属参谋团。**

AI Agent 时代已经到来。编排层（Orchestrator）协调多个子 Agent 和工具，在沙箱环境中自主完成复杂任务 — 这已经被证明是有效的范式。

明鉴在此基础上更进一步，专注于**决策智能**：

### 设计理念

 设计原则 | 明鉴的实践 |
---------|-----------|
 编排层 > 底层模型 | 9智能体注册中心，按角色分配模型 |
 实时流式展示建立信任 | 辩论逐轮渲染，用户看到每一步推理 |
 多工具协同完成任务 | 12个数据源 + 辩论引擎 + 仿真引擎 |
 动态重规划应对失败 | 辩论失败时自动调整策略重新论证 |

### 核心差异化

 维度 | 明鉴 |
------|------|
 **目标** | 做出更好的决策 |
 **推理方式** | 9个智能体独立论证、交叉质询、仲裁裁决 |
 **证据基础** | 12个数据源结构化采集 → 证据提取 → 知识图谱 |
 **持续性** | WatchRule 持续监控 + 定时更新 + 突发事件检测 |
 **领域深度** | 企业/军事双领域仿真，KPI 追踪，场景分支 |
 **透明度** | 展示推理过程 + 用户可投票质疑 |
 **数据主权** | 自部署，数据完全在本地 |
 **成本** | 自有模型，边际成本趋近于零 |

### MoE 架构思想

明鉴的 9 智能体系统借鉴了 **Mixture of Experts (MoE)** 的核心思想：

```
用户问题 → 路由器（辩论流程）→ 选择专家组合 → 独立推理 → 加权裁决
```

就像 DeepSeek-V3 用 256 个专家中只激活少数最相关的，明鉴在 9 个智能体中根据问题类型选择最合适的组合。核心 3 角色（支持方/挑战方/仲裁官）始终激活，视角 6 角色按需参与 — 这就是软件层的稀疏激活。

---

## 🎯 使用场景

 场景 | 说明 | 收益 |
------|------|------|
 **📊 投资研究** | 分析市场趋势，辩论投资论文 | 更快研究，更好决策 |
 **🏭 企业战略** | 竞争情报，场景规划 | 数据驱动，降低风险 |
 **⚔️ 军事规划** | 作战分析，物流优化 | 战略优势，更好结果 |
 **🛡️ 风险管理** | 多视角风险评估 | 减少不确定性 |
 **📈 市场分析** | 实时市场情报 | 更快洞察，更好定位 |
 **🎯 政策分析** | 多利益相关者影响评估 | 明智政策，更好结果 |

---

## 🚀 快速开始

### 一键 Docker 部署

最快的方式是使用 Docker 一键部署脚本。脚本会自动检测 Docker 环境、创建 `.env` 文件、提示输入 API Key，然后启动全部服务。

**前置要求：** 安装 [Docker Desktop](https://www.docker.com/products/docker-desktop/)

```bash
git clone https://github.com/dashitongzhi/MingJian.git
cd MingJian
chmod +x setup.sh
./setup.sh
```

启动后打开：

 服务 | URL |
------|-----|
 前端 | http://localhost:3001 |
 API | http://localhost:8000 |
 MinIO 控制台 | http://localhost:9001 |

停止服务：

```bash
docker compose down
```

### 手动开发环境部署

如果你想在本地直接运行后端和前端进行开发，请按以下步骤操作。

#### 前置要求

在开始之前，请确保已安装以下软件：

 要求 | 版本 | 安装方式 |
------|------|----------|
 **Python** | 3.12+ | [python.org](https://www.python.org/downloads/) |
 **Node.js** | 18+ | [nodejs.org](https://nodejs.org/) |
 **npm** | 9+ | 随Node.js一起安装 |
 **Git** | 2.30+ | [git-scm.com](https://git-scm.com/) |
 **PostgreSQL** | 14+（可选） | [postgresql.org](https://www.postgresql.org/download/) |
 **Redis** | 7+（可选） | [redis.io](https://redis.io/download) |

#### 系统要求

 组件 | 最低要求 | 推荐配置 |
------|----------|----------|
 **CPU** | 2核 | 4+核 |
 **内存** | 4 GB | 8+ GB |
 **存储** | 10 GB | 50+ GB |
 **操作系统** | macOS、Linux、Windows | macOS或Linux |

#### 环境变量配置

在项目根目录创建 `.env` 文件，包含以下变量：

```bash
# ═══════════════════════════════════════════════════════════════
# AI 模型配置
# ═══════════════════════════════════════════════════════════════
# 只需一个 API Key 即可启动。
# 系统会自动将同一组凭证填充到全部 7 个模型槽位
# （primary、extraction、x_search、report、debate_advocate、
#  debate_challenger、debate_arbitrator），除非你单独覆盖。

PLANAGENT_OPENAI_API_KEY=你的API密钥

# 按需覆盖单个槽位（未覆盖的自动回退到 shared）
# PLANAGENT_OPENAI_PRIMARY_MODEL=gpt-4.1
# PLANAGENT_OPENAI_PRIMARY_API_KEY=sk-...
# PLANAGENT_OPENAI_EXTRACTION_MODEL=gpt-4.1-mini
# PLANAGENT_OPENAI_DEBATE_ADVOCATE_MODEL=claude-sonnet-4-20250514
# PLANAGENT_OPENAI_DEBATE_CHALLENGER_MODEL=gemini-2.5-flash
# PLANAGENT_OPENAI_DEBATE_ARBITRATOR_MODEL=grok-3

# ═══════════════════════════════════════════════════════════════
# 数据库（可选 — 本地开发默认使用 SQLite）
# ═══════════════════════════════════════════════════════════════
# PLANAGENT_DATABASE_URL=postgresql+psycopg://planagent:planagent@localhost:5432/planagent

# ═══════════════════════════════════════════════════════════════
# Redis（可选 — 生产环境用于事件总线）
# ═══════════════════════════════════════════════════════════════
# PLANAGENT_REDIS_URL=redis://localhost:6379/0

# ═══════════════════════════════════════════════════════════════
# MinIO 对象存储（可选）
# ═══════════════════════════════════════════════════════════════
# PLANAGENT_MINIO_ENDPOINT=localhost:9000
# PLANAGENT_MINIO_ACCESS_KEY=minioadmin
# PLANAGENT_MINIO_SECRET_KEY=minioadmin

# ═══════════════════════════════════════════════════════════════
# X / Twitter（可选 — 社交情报数据源）
# ═══════════════════════════════════════════════════════════════
# X_BEARER_TOKEN=你的X平台Bearer Token

# ═══════════════════════════════════════════════════════════════
# 前端
# ═══════════════════════════════════════════════════════════════
NEXT_PUBLIC_API_URL=/api
```

> **💡 关键提示：** 即使你只有**一个**模型供应商（比如 OpenAI，或任何兼容 OpenAI 接口的服务），也可以用它填满全部 7 个模型槽位。只需设置 `PLANAGENT_OPENAI_API_KEY`，系统自动完成剩余配置。无需 4 个不同的 API Key 才能启动。

#### 兼容提供商

所有槽位均使用 OpenAI 兼容的 `/chat/completions` 接口，可自由混搭：

 提供商 | Base URL |
---|---|
 OpenAI | `https://api.openai.com/v1` |
 **Anthropic (Claude)** | **`https://api.anthropic.com/v1/openai`** |
 DeepSeek | `https://api.deepseek.com/v1` |
 Google Gemini | `https://generativelanguage.googleapis.com/v1beta/openai` |
 xAI Grok | `https://api.x.ai/v1` |
 小米 MiMo | `https://token-plan-cn.xiaomimimo.com/v1` |
 智谱 GLM | `https://open.bigmodel.cn/api/paas/v4` |
 MiniMax | `https://api.minimax.chat/v1` |
 任意兼容代理 | 你的代理地址 |

#### 安装步骤

```bash
# 1. 克隆仓库
git clone https://github.com/dashitongzhi/MingJian.git
cd planagent

# 2. 创建并激活Python虚拟环境
python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate

# 3. 安装Python依赖
pip install -e ".[dev]"

# 4. 安装前端依赖
cd frontend
npm install
cd ..

# 5. 配置环境
cp .env.example .env
# 编辑 .env 文件，添加您的API密钥和设置

# 6. 初始化数据库（如果使用PostgreSQL）
# 创建名为 'planagent' 的数据库
# 运行迁移
alembic upgrade head

# 7. 启动后端服务器
uvicorn planagent.main:app --reload --host 0.0.0.0 --port 8000

# 8. 启动前端（在新终端中）
cd frontend
npm run dev
# 打开 http://localhost:3000
```

---

## 📦 依赖项

### 后端依赖（Python）

 包名 | 版本 | 用途 |
------|------|------|
 **FastAPI** | 0.110+ | 高性能异步API框架 |
 **SQLAlchemy** | 2.0+ | 数据库ORM |
 **Alembic** | 1.16+ | 数据库迁移 |
 **Pydantic** | 2.11+ | 数据验证 |
 **OpenAI** | 2.28+ | OpenAI API客户端 |
 **Anthropic** | 0.52+ | Anthropic API客户端 |
 **Redis** | 6.2+ | 事件总线和缓存 |
 **pgvector** | 0.3+ | 向量相似性搜索 |
 **MinIO** | 7.2+ | 对象存储 |
 **HTTPX** | 0.28+ | 异步HTTP客户端 |
 **Uvicorn** | 0.35+ | ASGI服务器 |

### 前端依赖（Node.js）

 包名 | 版本 | 用途 |
------|------|------|
 **Next.js** | 15+ | React框架 |
 **React** | 19+ | UI库 |
 **TypeScript** | 5.8+ | 类型安全 |
 **Tailwind CSS** | 4.1+ | 实用优先的CSS |
 **SWR** | 2.3+ | 数据获取 |
 **Recharts** | 2.15+ | 图表库 |
 **Zustand** | 5.0+ | 状态管理 |

### 开发依赖

 包名 | 版本 | 用途 |
|------|------|------|
| **pytest** | 8.4+ | 测试框架 |
| **pytest-asyncio** | 1.1+ | 异步测试支持 |
| **Ruff** | 0.12+ | Python代码检查 |
| **ESLint** | 9+ | JavaScript代码检查 |
| **Prettier** | 3+ | 代码格式化 |
| **Vitest** | ^4.1.5 | 单元测试框架 |
| **@testing-library/react** | ^16.x | React组件测试 |
| **@testing-library/jest-dom** | ^6.x | Jest自定义匹配器 |

---

## 🏗️ 系统架构

```mermaid
graph TB
    subgraph "用户界面"
        Console[战略控制台]
        API[FastAPI控制平面]
    end
    
    subgraph "核心服务"
        Evidence[证据采集]
        Simulation[模拟引擎]
        Debate[辩论引擎]
        Jarvis[Jarvis集成]
    end
    
    subgraph "数据源"
        RSS[RSS订阅]
        News[Google News]
        Reddit[Reddit]
        GitHub[GitHub]
        X[X/Twitter]
        GDELT[GDELT]
    end
    
    subgraph "存储"
        PostgreSQL[(PostgreSQL)]
        Redis[(Redis)]
        MinIO[(MinIO)]
    end
    
    Console --> API
    API --> Evidence
    API --> Simulation
    API --> Debate
    API --> Jarvis
    
    Evidence --> RSS
    Evidence --> News
    Evidence --> Reddit
    Evidence --> GitHub
    Evidence --> X
    Evidence --> GDELT
```

---

## 📁 项目结构

**后端结构：**

```
src/planagent/
├── config/              # 配置包（原 config.py 527行 → 4个文件）
│   ├── __init__.py
│   ├── base.py          # 核心配置（数据库、Redis、Minio）
│   ├── openai.py        # 动态OpenAI目标解析
│   └── main.py          # 组合式Settings类
├── services/
│   ├── debate/          # 辩论包（原 debate.py 3273行 → 7个模块）
│   │   ├── prompts.py   # Agent角色提示词与轮次规划
│   │   ├── rounds.py    # 轮次执行逻辑
│   │   ├── llm.py       # LLM调用与重试
│   │   ├── adjudication.py # 裁决与建议生成
│   │   ├── revisions.py # 立场修订追踪
│   │   └── triggers.py  # 自动触发逻辑
│   ├── simulation/      # 推演包（原 simulation.py 2281行 → 6个模块）
│   │   ├── engine.py    # 核心推演引擎
│   │   ├── scenarios.py # 场景生成
│   │   ├── impact.py    # 影响评估与评分
│   │   ├── report.py    # 报告生成
│   │   └── domain_packs.py # 领域包管理
│   └── ...
├── db.py                # 数据库层（已清理，仅用Alembic迁移）
└── ...
```

**前端结构：**

```
frontend/src/
├── app/
│   ├── assistant/       # AI助手（原1665行页面 → 5个子组件）
│   │   ├── page.tsx     # 精简入口
│   │   ├── ChatPanel.tsx
│   │   ├── ProcessPanel.tsx
│   │   ├── SourcePanel.tsx
│   │   ├── DebatePanel.tsx
│   │   └── hooks.ts
│   ├── debate/          # 辩论视图（原1091行页面 → 4个子组件）
│   │   ├── page.tsx     # 精简入口
│   │   ├── RoundTimeline.tsx
│   │   ├── AgentCard.tsx
│   │   └── utils.ts
│   └── ...
├── __tests__/           # Vitest测试套件
│   ├── components/      # 组件测试
│   ├── api/             # API层测试
│   └── lib/             # 工具函数测试
└── vitest.config.ts
```

---

## 🧪 运行测试

**后端测试 (pytest)**
- 运行所有单元测试（92个，<1秒）: `python -m pytest tests/unit/ -v`
- 运行集成测试: `python -m pytest tests/ -v`

**前端测试 (Vitest)**
- `cd frontend && npm test`
- `cd frontend && npm run test:watch`

**压力测试**
- 7维压力测试（需要后端运行）: `python tests/stress_test.py`

**最新结果：**
- ✅ 后端：92个单元测试通过（0.26秒）
- ✅ 前端：16个组件测试通过（0.55秒）
- ✅ 压力测试：112通过，0失败，2警告
- 🔥 并发：20用户，844 RPS，P50=1ms，零500错误

---

## 📊 质量与性能

 指标 | 数值 |
|------|------|
| 后端单元测试 | 92个通过 |
| 前端组件测试 | 16个通过 |
| 压力测试通过率 | 112/114 (98.2%) |
| 并发负载（20用户）| 844 RPS，零500错误 |
| 响应时间 P50 | 1ms |
| 响应时间 P95 | 11ms |
| API端点测试数 | 82 |
| 最大后端文件 | ~900行（原3273行）|
| 最大前端页面 | ~550行（原1665行）|

---

## 📚 文档

- [📖 完整技术报告](docs/planagent_full_report.md)
- [🚀 Agent启动手册](docs/agent_startup_playbook.md)
- [🔧 技术债务积压](TECHNICAL_DEBT_BACKLOG.md)
- [🤝 贡献指南](CONTRIBUTING.md)
- [📝 变更日志](CHANGELOG.md)

---

## 🤝 贡献

我们欢迎贡献！请参阅[贡献指南](CONTRIBUTING.md)。

```bash
# 1. Fork仓库
# 2. 创建功能分支
git checkout -b feature/amazing-feature

# 3. 进行更改
# 4. 运行测试
pytest

# 5. 提交更改
git commit -m "feat: add amazing feature"

# 6. 推送到分支
git push origin feature/amazing-feature

# 7. 打开Pull Request
```

---

## 📄 许可证

本项目根据Apache License 2.0授权 - 详见[LICENSE](LICENSE)文件。

---

## 🙏 致谢

- [FastAPI](https://fastapi.tiangolo.com/) - 高性能异步API
- [Next.js](https://nextjs.org/) - React框架
- [PostgreSQL](https://www.postgresql.org/) + [pgvector](https://github.com/pgvector/pgvector) - 数据库
- [Redis Streams](https://redis.io/docs/data-types/streams/) - 事件流
- [MinIO](https://min.io/) - 对象存储
- [Linux.do](https://linux.do) - 开源社区支持与交流

---

## 📞 联系我们

如果你对这个项目感兴趣——无论是想合作、提建议，还是单纯想聊聊——欢迎随时联系！

- 📧 邮箱：[cajd6876@gmail.com](mailto:cajd6876@gmail.com) | [2965866908@qq.com](mailto:2965866908@qq.com)
- 🐛 问题：[GitHub Issues](https://github.com/dashitongzhi/MingJian/issues)
- 💬 讨论：[GitHub Discussions](https://github.com/dashitongzhi/MingJian/discussions)

---

<div align="center">

## 🌟 Star History

[![Star History Chart](https://api.star-history.com/svg?repos=dashitongzhi/MingJian&type=Date)](https://star-history.com/#dashitongzhi/MingJian&Date)

---

**明鉴** — *明察秋毫，鉴往知来*

**明鉴** — *See Clearly, Judge Wisely*

---

**Made with ❤️ by the 明鉴 Team**

</div>
