马克思主义理论研究中存在”三难”:
chunk → event → entities 结构化组织文献知识,检索从”关键词匹配”升级为”多跳推理”| 用户群体 | 场景 |
|---|---|
| 马克思主义理论研究者(研究生/学者) | 文献研读、理论溯源、论文选题与写作 |
| 政经/农经方向科研人员 | 实证分析(问卷/回归)、政策研究 |
| 课程教学人员 | AI+教育辅导、学习规划 |
| AI Agent 开发者 | 接入 MarxSphere 推理/检索能力(MCP/API) |
chunk → event → entities,以事件为语义单元,多跳召回优于纯向量检索| 组件 | 要求 |
|---|---|
| Node.js | ≥ 20 |
| PostgreSQL | 16 + pgvector(docker compose 一键) |
| Python(可选) | 3.12 + venv(MCP 池/实证) |
| Neo4j(可选) | Graphiti 11001 / Cognee 11003 |
git clone <repo-url> && cd SAG-main
cp .env.example .env # 填 LLM/Embedding keys
docker compose up -d # PostgreSQL
npm install && npm run db:setup
npm run dev # 开发: http://localhost:5173
npm run build && npm start # 生产: http://localhost:4173
PDF2Obsidian 功能(可选):
vendor/pdf2obsidian的编译产物(dist)为构建产物未随仓库提交,首次使用前执行cd vendor/pdf2obsidian && pnpm install && pnpm -r --filter "./packages/**" build && cd ../..(否则 typecheck 报 2 个 module-not-found,PDF2Obsidian 功能不可用)。文献库/政策库/资料库数据源:三个库页面扫描本地文件夹(
LITERATURE_DIR/POLICY_DIR/VAULT_ROOT环境变量,见.env.example底部)——指向任意本地目录即可,无需安装 Obsidian;未配置时页面为空,Ask/推理不受影响。
桌面端:npm run build:desktop → 安装 release/MarxSphere Setup <ver>.exe,首次启动引导配置
SAG_AUTH_ENABLED=true 后:注册/登录(JWT)sag_xxx Bearer 令牌(reason/search/ingest 粒度),localhost 豁免① 文档入库
curl -X POST http://localhost:4173/ingest \
-H 'Content-Type: application/json' \
-d '{"sourceId":"proj-1","title":"资本论节选","content":"商品是资本主义生产方式占统治地位的社会的财富元素形式。","extract":true}'
② 检索问答
curl -X POST http://localhost:4173/api/search \
-H 'Content-Type: application/json' \
-d '{"query":"剩余价值是如何产生的?","sourceIds":["proj-1"],"strategy":"multi","searchMode":"fast","topK":5,"returnTrace":true}'
③ Agent 任务
curl -X POST http://localhost:4173/api/agent/tasks \
-H 'Content-Type: application/json' \
-d '{"goal":"分析剩余价值率的历史演变","projectId":"proj-1"}'
④ 实证分析(WebUI 实证工作台:上传问卷 → 生成/信效度 → 回归 → 证据账本)
| 通道 | 默认模型 | 可替代 |
|---|---|---|
| LLM | qwen-plus / deepseek-v4-flash | 任意 OpenAI 兼容 |
| Embedding | text-embedding-v4(1024 维) | 同维度兼容模型 |
| Rerank | qwen3-rerank | OpenAI 兼容重排 |
┌─ 用户/外部Agent ─┐
│ HTTP / MCP / SSE │
└────────┬─────────┘
▼
┌─ Agent 编排层 ──────────────────────────┐
│ 规划(LLM拆解) → 工具注册表 → 执行队列 │
│ reflect → replan(≤3轮) → 审批门(人工) │
│ 记忆层(短期/长期) / 轨迹span树 / checkpoint│
└────────┬──────────────────────────────┘
▼
┌─ 工具层(26) ──────────────────────────┐
│ 检索/推理/实证/代码沙箱/网页/PDF/音频/图片 │
└────────┬──────────────────────────────┘
▼
┌─ 数据层 ───────────────────────────────┐
│ PG+pgvector │ Neo4j(Graphiti/Cognee) │
└────────────────────────────────────────┘
上传 → 分块 → 事件抽取 → 实体抽取 → 向量化 → 三库入库
→ 检索时: 查询 → 17路召回 → 融合 → 重排 → 生成 → 引用标注
→ 评测时: 32指标 → 反思 → 归因 → 补丁 → 回流
(更多架构细节:ARCHITECTURE.md / docs/AGENT-CAPABILITIES.md / docs/AGENT-ARCHITECTURE-NEXT.md)
| 模块 | 复用方式 | 独立使用 |
|---|---|---|
| 检索内核 | src/db/ + src/services/ 的检索服务 |
任何文档库/知识库可接入(事件中心检索) |
| MCP Server | npm run mcp |
Claude Code / Codex 等任意 Agent 直接调用(sag_search/sag_ingest 等 8 工具) |
| Agent 编排层 | src/services/agent-* |
任务队列/工具注册表/审批门/记忆层可移植 |
| 实证工作台 | scripts/empirical_runner.py + API |
问卷生成→回归全管道,Python 脚本可直接复用 |
| 评测框架 | scripts/eval-22-metrics.ts |
32 指标评测体系可迁移到其他 RAG 系统 |
| 桌面端壳 | electron/ |
单进程封装模式(后端+前端+引导)可复制 |
| 模块 | 状态 |
|---|---|
| 检索内核 | ✅ 完成(事件中心检索结构,53 题评测综合分 0.884) |
| 52 步推理链路 | ✅ 完成(53 题 32 指标评测综合分 0.884) |
| 三库知识图谱 | ✅ 完成(501 篇入库,21337 实体,1085 社区) |
| 66 科研场景 | ✅ 完成(8 阶段全覆盖) |
| AI Agent | ✅ 完成(50+ 能力项,44 工具,154 测试) |
| 实证工作台 | ✅ 完成(10 功能实测通过) |
| 桌面端 | ✅ 完成(NSIS 安装包) |
| 商业化底座 | ✅ 完成(多租户/计费/BYOK,可选启用) |
| 阶段 | 计划 |
|---|---|
| 近期(1-3 月) | 开源社区迭代;补充评测数据集;多语言界面 |
| 中期(3-6 月) | 文献批量入库管道自动化;学者协作空间;知识社区共建 |
| 远期(6-12 月) | 领域大模型微调方案;跨学科知识迁移;机构私有化部署方案 |
| 来源 | 说明 |
|---|---|
| 马理论研究实践 | 8 篇政经 C 刊选题方法论文章提炼(V395-20) |
| 教学需求 | 研究生导师反馈(AI+教育六大能力,V382) |
| 实证研究需求 | 农村经营形态全国调查问卷实战(V380 工作台) |
| Agent 生态对标 | Codex/DSH 50 项能力吸收(V396 全量审计) |
| 形态 | 说明 |
|---|---|
| Web 工作台 | 33 视图 · Mega Menu 导航 · 6 大分类(对话推理/科研中心/知识中心/政策资料/技能工具/系统管理) |
| 桌面端 | Electron + NSIS 安装包,单进程(后端+前端内嵌),首次启动全量引导 |
| MCP Server | 标准 I/O,8 工具,Claude Code/Codex 直连 |
| REST API | 对外接口 + sag_xxx 令牌鉴权 + 租户隔离 |
| Agent 面板 | Agent 控制台(防错规则/战略记忆/执行日志)+ 任务/轨迹/评测/告警 |