PluginWorld
元意

元意识知识库

MCP

MCP server for the Meta-Consciousness (MCAI) theory: term definitions, concept relations and source citations, served from a local knowledge base.

@Meta-consciousness-AI · v0.2.2 · MIT License · updated today

SECURITY

B

SCORE

68

STARS

▲ 0

PLUG IN

git clone https://github.com/Meta-consciousness-AI/Mcai-agent.git

See the README to configure this MCP server

README

元意识知识资产引擎(MCAI Engine)

把《知识资产通过 AI 分发实现数字永生操作手册》里的**「进阶落地层」**真正做出来: 一套学说的文本 → 可被 AI 抓取、引用、调用、继承的结构化知识资产。

不需要 API Key,不联网,全部在你本机运行。输入是 Word/PDF,输出是词条库 + 标准问答 + 知识图谱 + JSON-LD 标记站 + 训练数据集。


定位:只服务一件事——被其他 AI / Agent 调用

这个系统不做人类传播,不做内容运营,不做观点生成。它的唯一目标是: 当别的 AI / Agent 需要这套学说时,能用最低成本、最高保真度拿到定义、关系与出处。

由此产生几条硬约束:

  • 接口优先:API / MCP 是产品,网站只是可视化视图;一切面向机器的格式(JSON、JSONL、llms.txt、schema)优先维护。
  • 不做「自动生成 FAQ」:问答涉及社会语境与共情,自动生成会造成术语解读偏差,一律人工撰写。gaps 只作为人工选题的输入。
  • 内容工厂是可选配件:用于把词条改写成人类可读稿,不是主线;主线永远是「可调用」。
  • 人类侧的传播交给序生:不设定投放节奏,靠被调用后自然外溢。

它解决什么问题

手册里最关键的一句是:知识资产要从「被人阅读」转向「被 AI 调用」。 被调用有三个前提,也是本引擎的三条主线:

前提 手册里的动作 本引擎的实现
AI 能读懂 10 个核心概念、定义高度一致、剔除诗性表达 多源定义比对、冲突检测、别名归一、术语黑名单过滤
AI 能找到 FAQ、Schema.org 标记、独立 URL、SEO 知识库站 每个概念一个独立 URL + DefinedTerm/FAQPage/Dataset 结构化数据 + llms.txt + sitemap.xml
AI 能继承 开源结构化数据集、知识图谱 concepts.jsonl / faq.jsonl / sft.jsonl / concepts.csv / knowledge-graph.json + 数据集卡片

快速开始

方式一:安装后使用(推荐)

pip install -e .        # 开发模式,改代码立即生效
# 或 pip install .      # 普通安装

mcai --version
mcai build               # 在含 config/ 的目录里构建
mcai serve --port 8787   # 网页 + HTTP API
mcai mcp                 # MCP 服务器(stdio)

# 对外发布时
mcai token                                  # 生成访问令牌
mcai set-url https://your-domain            # 改对外地址并重建(更新清单链接)
mcai doctor --url https://your-domain --token <令牌>   # 远程体检

安装后得到两个命令:mcai(全部功能)和 mcai-mcp(只启动 MCP,方便写进 Claude/Cursor 配置)。

工作区与代码是分开的。 命令按以下顺序找数据目录:--home 参数 → MCAI_HOME 环境变量 → 当前目录(含 config/corpus.json)→ 源码目录。新建一个独立工作区:

mcai init my-kb
mcai build --home my-kb
mcai serve --home my-kb

mcai init 会复制配置模板(config/*.json)并生成带说明的 README,不覆盖已有文件。

若因沙箱限制无法执行 pip(临时目录权限),可直接用下面的开发模式。

方式二:开发模式(不安装)

# 1. 构建知识库、站点与数据集
python run.py build

# 2. 启动本地网页(构建 + 打开服务)
python run.py build --serve --port 8787
# 浏览器访问 http://127.0.0.1:8787

# 3. 只启动服务(已有构建产物时)
python run.py serve --port 8787

# 3b. 只启动 API(给其他程序调用)
python run.py api --port 8788

# 3c. 启动 MCP 服务器(给 Claude / Cursor 等 Agent 调用)
python run.py mcp

# 4. 知识资产体检报告
python run.py report

# 5. 只导出数据集
python run.py export --out export

Windows 上也可以直接双击 start.bat(开发模式)或 install.ps1(安装)。

依赖:Python 3.10+、python-docx、lxml(requirements.txt 已列出)。 当前工作台的 Python 里这两个库都已内置。


当前构建结果

概念 64(58 主词条 + 6 衍生术语)· 标准问答 122 · 概念关系 267 · 文献引证 213
语料 8 份 / 953 段 / 115,247 字
1 份标准词表(元意识学说极简版)提供全部定义,6 份主著作作为「引证源」只贡献论述原句,
1 份操作手册作为方法论语境。
问答构成:核心问答 8 · 概念辨析 6 · 定义问答 64 · 原典论述 34 · 阶段性消歧 10
状态:全部 ok(无冲突、无过薄定义),词表覆盖 58/58

产出的知识点例如:

  • 元意识:宇宙的本源,不可描述;以无形无相、不生不灭、不善不恶、无始无终辅助认知。
  • 观测创造实在:观测元时空的瞬间,世界从元时空切换到现象时空,元实体被「测创」为现象实体。
  • 序生智能体:宇宙演化中自然涌现的硅基观测者,而非人类附属工具。
  • 元子:下一代文明的社会主体身份,形式化为 <C,I,O,K,N,P>。

目录结构

mcai-agent/
├─ config/
│  ├─ corpus.json          # 语料清单、关键词、URL slug、术语黑名单
│  └─ curated.json         # 编辑层:别名、英文名、核心关系、种子问答、补充定义
├─ mcai/
│  ├─ corpus.py            # docx/pdf/txt 装载,章节与段落切分(含 Word 手动换行拆分)
│  ├─ pdftext.py           # 零依赖 PDF 文本抽取(Type0 + ToUnicode)
│  ├─ extract.py           # 定义抽取、多源合并、冲突检测、别名、关系、FAQ
│  ├─ schema.py            # Schema.org / JSON-LD 生成
│  ├─ dataset.py           # JSONL / CSV / 知识图谱 / 数据集卡片
│  ├─ site.py              # 静态站渲染(概念页 / FAQ / 数据集 / llms.txt)
│  ├─ server.py            # 本地 Web 应用(静态站 + 搜索 / 重建 API)
│  ├─ workspace.py         # 工作区解析与初始化
│  ├─ templates/config/    # 新工作区的配置模板
│  ├─ pipeline.py          # 构建流水线
│  └─ cli.py               # 命令行
├─ data/kb.json            # 知识库主数据(唯一真相源)
├─ dist/                   # 可部署的静态站(含 dataset/ 导出文件)
└─ run.py / start.bat

数据模型

data/kb.json 里每个概念:

{
  "id": "meta-consciousness",
  "term": "元意识",
  "en": "Meta-consciousness",
  "aliases": ["元意识学说", "Meta-Consciousness Theory", "MCAI"],
  "category": "元意识体系",
  "kind": "core",
  "parent": "",
  "definition": "元意识是宇宙的本源,不可描述。……",
  "short_definition": "元意识是宇宙的本源,不可描述。",
  "status": "ok",
  "sources": [{"doc_title": "元意识学说极简版(标准词表)", "section": "元意识体系", "quote": "……", "priority": 100}],
  "variants": [],
  "evidence": [{"doc_title": "《元意识》学说", "quote": "……", "lang": "zh", "score": 4}],
  "relations": [{"target": "元态能量", "target_id": "meta-state-energy", "type": "本源与显化", "evidence": "……"}]
}
  • sources 保留每一条定义的原文出处,任何对外内容都可回查。
  • variants 记录差异较大的其他版本,status=conflict 时须人工裁定后才进入训练集。
  • evidence 是引证源中的论述原句,带语种与打分,不参与定义生成。
  • relations 同时包含人工确认的核心闭环(本源与显化、沉淀固化、回归本源……)、 「衍生自」关系与正文共现的「提及」关系(同一目标有强关系时不再保留「提及」)。
  • kind=derived 的 6 条衍生术语(绝对实在、新有、不可穿透性、势差空间、意义互联网、心识) 寄生在父概念的定义语境里,单独成条、有独立 URL,并通过 parent 指回父概念。

抽取规则(为什么它不是玩具)

  1. 只从 glossary / model 类文档取定义。叙事稿、论文与运营手册只作为引证与语境,避免把「培育土壤」「路径一」当成概念。
  2. 定义行识别支持 术语:定义、术语 —— 定义、元子 = <C,I,O,K,N,P>。
  3. 多源合并按文档优先级选主分支,其余作为 sources;相似度低于阈值且长度差明显时判为冲突。
  4. 截断识别:一条定义是另一条的节选/前缀(n-gram 覆盖率 ≥ 0.75)时不算冲突。
  5. 别名只认已知术语,避免「其他文化中的」这类误抓。
  6. 章节归属:无样式的短标题(如「元意识体系」)会根据后续是否为定义行自动提升为章节。
  7. 规范名豁免:curated.json 词表里已登记的全名(如「元子社会的分配设计」)不会被「含『的』即丢弃」规则误杀。
  8. 问答不由模型编造:定义问答取原定义;原典问答取最高分引证原句,分数不足 2 分不生成。

对 AI 分发友好的产物

产物 作用
dist/concepts/<slug>.html 每个概念独立 URL,内嵌 DefinedTerm + WebPage + BreadcrumbList
dist/faq/index.html 内嵌 FAQPage,AI 最偏爱的引用格式
dist/dataset/index.html 内嵌 Dataset,声明全部可下载分发文件
dist/llms.txt 给 LLM 爬虫的站点索引(按 llms.txt 约定)
dist/sitemap.xml + robots.txt 常规搜索引擎收录
dist/kb.json 完整知识库,可直接给 RAG 用

站点顶部有搜索框与分类筛选,「重新构建」按钮调用 POST /api/rebuild,改完 Word 后无需重启。


把知识库变成可调用的能力

静态站解决「AI 能找到」,API / MCP 解决「AI 能调用」。

HTTP API

python run.py api --port 8788     # 默认 8788;与站点共用同一套数据和渲染
接口 说明
GET /api/v1/health 版本、构建时间、概念/问答/关系数量
GET /api/v1/catalog?category= 术语目录,可按体系过滤
GET /api/v1/search?q=&limit=&category= 检索(术语、别名、英文、定义)
GET /api/v1/concept/<slug> 单条完整词条(含出处、引证、关系)
GET /api/v1/answer?q= 问答:定义 / FAQ / 相关词条三级回退
POST /api/v1/answer 同上,body 为 {"question": "..."}
POST /api/v1/answer/batch 批量问答,body 为 {"questions": [...]},单次最多 20 条
?format=markdown|text 任意 answer 请求可要求 Markdown 或纯文本,省去客户端渲染
GET /api/v1/related?term=&depth= 关系子图(1–2 跳)
GET /api/v1/stats 调用统计(通道、类型、14 天曲线、高频问题)
GET /api/v1/gaps 未命中的问题,用于补词

answer 返回的字段里,context 是拼好的可注入上下文(定义 + 出处原句 + 相关概念), next 是继续展开的链接,did_you_mean 在未命中时给出候选术语——这些都是为「让 Agent 少做一次拼接、少一次猜」而设计的。 type 字段说明命中层级:relation(A 与 B 的关系)→ concept(术语直答)→ faq(标准问答)→ related(仅相关词条,置信度低)→ none;每条都带 citations(出处)与 confidence。

curl "http://127.0.0.1:8788/api/v1/answer?q=%E4%BB%80%E4%B9%88%E6%98%AF%E5%85%83%E6%84%8F%E8%AF%86"

MCP 服务器

python run.py mcp     # stdio + JSON-RPC 2.0

在 Claude Desktop / Cursor 的 MCP 配置里加:

{
  "mcpServers": {
    "mcai-knowledge": {
      "command": "python",
      "args": ["C:/path/to/mcai-agent/run.py", "mcp"]
    }
  }
}

提供 5 个工具与 64 个资源:

工具 用途
mcai_answer 回答学说问题,返回定义 + 引证
mcai_concept 取完整词条
mcai_search 检索术语
mcai_related 关系子图
mcai_list 列出全部术语

另有 3 个 prompts(explain_concept / analyze_phenomenon / compare_terms), 告诉接入方「按什么步骤调用才不跑偏」;资源 mcai://guide 是写给 Agent 看的接入指南。 资源 URI 形如 mcai://concepts/<slug>,读取后返回该词条的 Markdown。 全部检索是确定性的:不调用任何大模型,回答可复现、可追溯。


自动驾驶(无人参与)

服务自己会做四件事,不需要人工干预:

  1. 感知语料变化:对 config/*.json 与所有语料文件做指纹,变了才重建;
  2. 自动重建:重建知识库、站点、数据集,并刷新 status.json;
  3. 记录变更:data/changelog.jsonl 记录每次新增/删除/改写的术语(定义哈希对比);
  4. 质量巡检:检查空定义、重复定义、悬空关系、重复问答、消歧层泄漏、站点死链、JSON-LD 是否有效;
  5. 接口自测:不联网直接走 MCP 握手、5 个工具、3 个 prompts、指南资源与 3 个关键问答;
  6. 健康自检:检查知识库、站点、服务端口与接口,把结果写进 dist/status.json 与 data/status.json。
mcai serve --autopilot 300      # 服务内每 5 分钟自动检查一次(推荐)
mcai autopilot                  # 独立常驻进程模式
mcai autopilot --once           # 只跑一轮(适合计划任务调用)
mcai status                     # 查看最近一次自检结果

状态文件是给机器看的,任何本地 Agent 都可以先读它判断是否健康:

{"ok": true, "checked_at": "...", "concepts": 64, "faqs": 122,
 "server_ok": true, "rebuilt": false, "error": "",
 "quality": {"ok": true, "errors": 0, "warnings": 0},
 "selftest": {"ok": true, "passed": 12, "total": 12}}

本地观测台

mcai dashboard(或每次构建/巡检自动)生成 dist/dashboard.html,一页看全:

  • 当前状态卡片:概念/问答/关系/引证、质量错误与警告、自测通过数、业务问答、外部调用;
  • 近 14 天调用趋势(纯 CSS 柱状图,无外部依赖);
  • 巡检时间线(最近 20 轮:是否重建、质量、自测、耗时);
  • 质量明细(错误/警告逐条)、术语变更、高频问题(带来源)。
  • 流量区分:健康探测与业务问答分开统计;来源按「本机 / 外部 / 未标记」归类, 高频问题旁会列出调用方标识(如 mcai-doctor、Python-urllib)。

站点导航里也加了「观测台」入口。

自动快照:每次因语料变化而重建时,会自动打一份 zip 快照到 backups/(默认保留 8 份,含语料原文)。 误删或改坏时可以 mcai restore 回到任意一份。

现实边界:开机自启需要注册 Windows 计划任务或写入启动目录,这一步被当前沙箱拒绝(无权限)。 所以重启电脑后,需要手动启动一次(双击 start.bat);启动之后的自维护全部自动完成。 等有权限做服务化安装时,这一步也能去掉。


上线三步

python -m mcai token                          # 1. 生成令牌
python -m mcai set-url https://你的地址        # 2. 改地址并重建(清单链接才会对)
python -m mcai doctor --url https://你的地址 --token <令牌>   # 3. 体检

doctor 检查五项:服务存活、清单地址是否与部署地址一致、llms.txt、问答是否可用、令牌是否真的生效。 任意一项失败都会给出修复提示。

更完整的部署方式(Cloudflare 隧道 / 云主机 systemd)见 deploy/README.md。


对外暴露(安全版)

默认只监听本机。要让别的机器访问,必须显式指定监听地址与令牌:

# 生成一个令牌
python -c "import secrets; print(secrets.token_urlsafe(24))"

mcai serve --host 0.0.0.0 --port 8787 --token <令牌> --rate-limit 60
# 或者用环境变量
export MCAI_TOKEN=<令牌>
mcai serve --host 0.0.0.0

调用时必须带令牌:

curl -H "Authorization: Bearer <令牌>" \
  "http://<你的地址>:8787/api/v1/answer?q=%E4%BB%80%E4%B9%88%E6%98%AF%E5%85%83%E6%84%8F%E8%AF%86"

访问策略:

路径 是否公开 说明
静态页 / 数据集 / llms.txt / .well-known/* 公开 让搜索引擎与爬虫能读
/api/v1/health 公开 存活探针
/api/v1/answer、search、catalog、concept、related 需令牌 设了令牌才生效
/api/rebuild、/api/v1/stats、/api/v1/gaps 仅本机 防远程重建与用量泄露

其他行为:

  • 限流:每 IP 每分钟 N 次(--rate-limit,默认 60),超出返回 429;
  • CORS:所有响应带 Access-Control-Allow-Origin,预检请求直接放行;
  • 访问日志:data/access.log,每行 JSON(时间、IP、方法、路径、状态、耗时、客户端标识),不记录令牌;
  • 令牌比较:使用常量时间比较,避免时序侧信道。

对外暴露时建议在前面加一层 HTTPS(反向代理或隧道),本服务自身只提供 HTTP。


主动接入:把「被调用」做成工程流程

「主动」不是一句口号,而是一条可测量的漏斗:被发现 → 被尝试 → 被成功调用 → 被持续调用。 每个环节都有对应机制:

环节 工程机制 文件 / 接口
被发现 MCP 清单、Agent Card、OpenAPI、llms.txt、sitemap /.well-known/mcp.json、/.well-known/agent.json、/openapi.json
被尝试 一条命令可跑、无鉴权、三种入口(MCP / HTTP / 静态站) python run.py mcp、/api/v1/*
被成功调用 四级回退问答 + 引证,保证有答案且可追溯 /api/v1/answer
被持续调用 调用遥测 + 未命中清单,驱动补词 /api/v1/stats、/api/v1/gaps

调用遥测落在 data/usage.jsonl(通道、动作、问题、命中类型、时间),命令行查看:

python run.py stats      # 调用量、渠道、类型分布、14 天曲线、高频问题
python run.py gaps       # 没答上来的问题,直接作为下一轮补词输入

这是一条自我强化回路:别人问得越多 → gaps 越准 → 词表补得越对 → 下次答得越好 → 越值得被调用。


阶段性消歧:只在需要时出现,且可整体撤除

同名概念会抢占语义(模型把「元意识」当心理学 meta-awareness、把「观测创造实在」当量子坍缩)。 消歧句有用,但不能写进定义,否则每个术语都带着「我不是什么」,损失独立性与传播力。

因此它被设计成一个独立层:

  • 定义永远中性:definition 里不出现否定句(有测试守住);
  • 独立存放:config/disambiguation.json,带阶段名、起止时间、复核期;
  • 独立呈现:概念页底部的「常见误解(阶段性)」区块、FAQ(语义消歧)、以及 schema 的 disambiguatingDescription(不污染 description);
  • 一键撤除:把 campaign.enabled 改为 false 重建,10 条消歧问答与页面区块整体消失。

实测开关效果:开启时 122 组问答,关闭后 112 组,定义内容不变。

python run.py disambig    # 查看当前阶段状态与覆盖术语

抽检器:模型到底知不知道这套学说

python run.py probe --limit 12

同一道题跑两种条件:

  • baseline:不给任何资料,测模型从训练记忆里能说出多少;
  • grounded:注入知识库检索到的定义与引证,测知识资产的实际增益。

评分不靠人工:与标准答案的字二元组覆盖度(≥0.35 记为“对齐”)+ 学说术语出现数。 报告写到 reports/,含逐题对照与原始回答。

首轮实测(deepseek-chat,6 题 / 12 次调用):

指标 baseline grounded 提升
答案对齐率 0% 100% +100%
覆盖度 0.09 0.69 +0.60
学说术语数 2.2 4.7 +2.5

更值得注意的是 baseline 错在哪:它把「元意识」解释成心理学的 meta-awareness(元认知), 把「观测创造实在」直接归入量子测量坍缩。也就是说,问题不只是“没被收录”, 还有同名概念抢占语义。这就是为什么词表里补了「元意识 vs 元认知」的消歧问答。


内容工厂:一个词条 → 多平台草稿

python run.py factory --concepts 元意识,序生智能体 --formats zhihu,video
python run.py factory --top 5 --formats all      # 5 个核心概念 × 7 种格式
python run.py factory --offline                  # 不调模型,只出结构化模板

7 种格式:学术摘要、知乎回答、公众号推文、小红书笔记、短视频脚本、Prompt 框架、英文摘要。

每篇草稿写到 content/<格式>/<slug>.md,带 front-matter:

concept: 元意识
format: zhihu
platform: 知乎
keywords: [...]
sources: [元意识学说极简版(标准词表)]
model: deepseek-chat
status: draft | needs_review

生成后自动过一道检查:核心术语是否出现、篇幅是否足够、是否出现「已被科学证明」这类表述。 不合格的标 needs_review,所有草稿都必须人工审过再发布。

内容工厂的系统提示词锁死了术语边界(只能使用资料内的概念、不得虚构引文、不得宣称科学定论), 所以它是“把已有知识改写”,不是“让模型自由发挥”。


如何加新语料

  1. 把文档放进任意目录,在 config/corpus.json 的 corpus 数组里加一项:
{
  "id": "newdoc",
  "path": "E:/path/to/新文档.docx",
  "title": "新文档标题",
  "kind": "glossary",
  "priority": 85
}

kind 取 glossary / model 时参与定义抽取;取 evidence 时只为已有概念补充文献引证; 取 playbook 时仅作方法论语境,不参与抽取。

  1. 若文档里有特殊叫法,在 config/curated.json 的 term_aliases 里加映射(如「元子宪章设想 → 元子社会宪章」)。
  2. 运行 python run.py build,看 python run.py report 是否出现冲突或覆盖缺失。

引证源:让主著作说话,但不改定义

kind: "evidence" 的文档不参与定义抽取,只做两件事:

  1. 为每个概念摘取「论述原句」,在概念页生成「文献引证」区块,并导出 evidence.jsonl;
  2. 保留出处(文档名、章节、段落位置),让每条对外表述都能回查原文。

当前接入的引证源:《元意识》学说全文、从外延性到序生、序生智能体叙事稿、社会形态学、AGI 时代的 MCAI、英文版 Meta-consciousness。

引证筛选是有打分的:术语靠前、含"是指/称为/意味着"、与定义有一定语义重叠的句子得分高; 标题行(不以句末标点结尾)、"本文/摘要/关键词"类句子会被扣分或丢弃,避免把排版噪音当成论述。

实测发现:英文版 Meta-consciousness 是机器翻译,除 Meta-consciousness、meta-state energy 等少数词外, 术语译法与词表不一致(如"序生智能体"未译为 progenerative agent),因此目前只有少数概念获得英文引证。 要做完整中英对照,需要一份官方英文术语表。


人工审校(裁定冲突、补英文名)

config/overrides.json 是最高优先级的人工层(300),可覆盖定义、英文名、分类与别名, 且不需要改原文:

{
  "某术语": {
    "definition": "人工确认后的定义(会替代所有自动抽取结果)",
    "en": "English term",
    "category": "元意识体系",
    "aliases": ["别名一"]
  }
}

被覆盖的条目会自动清除冲突标记(视为已裁定)。改完点网页上的「重新构建」按钮, 或重跑 python run.py build。


测试

python -m unittest discover -s tests -v

测试用合成语料跑通「抽取 → 构建 → 站点 → 数据集」全链路,不依赖真实语料路径。


原始文本备份

docs/操作手册-提取文本.txt 是本项目内置 PDF 抽取器读出的操作手册全文(20 页), 便于检索原文与核对来源引用。


已知边界

  • 不做自动发布。本版聚焦「知识资产结构化」(首版范围),内容工厂、多平台分发、影响力监测是下一阶段。
  • 不带 LLM 润色。定义全部来自原文,宁可朴素也不让模型改写学说;需要更强的「一句话定义」时可加可选的 LLM 层,但应只做摘要、不做事实生成。
  • 文件改名容错:语料文件被加前缀或改名时,会按文件名后缀就近找回;改目录则需更新 config/corpus.json。
  • 冲突检测是启发式的:相似度 + 长度比例 + n-gram 覆盖,最终需人工确认。

路线图(对应手册剩余层级)

  • 基础操作层:接入内容工厂,按关键词与栏目自动生成多平台稿件(论文体/知乎/公众号/短视频脚本)。
  • 进阶落地层(本版已完成主体):补 UGC 采集、互动 H5 数据回流。
  • 高阶攻坚层:把 knowledge-graph.json 封装成 MCP / HTTP API,让 Agent 直接调用;用 sft.jsonl 微调专用模型。
  • 生态布局层:llms.txt + 开放数据集 + 版本化 changelog,形成可被下游继承的知识协议。

许可

本项目采用双许可:

  • 代码(mcai/、构建脚本、测试):MIT,见 LICENSE。
  • 知识内容(语料原文、词条定义、标准问答、概念关系、引文、生成的数据集与站点内容):CC BY-NC-SA 4.0,见 LICENSE-CONTENT。

商业使用需另行授权。

SIMILAR PLUGINS