https://github.com/yelandaokong/openknowledge2
[C#/Study] OpenKnowledge System, Open-Sources for everyone!
https://github.com/yelandaokong/openknowledge2
ai avalonia csharp desktop examination examination-system linux macos open-source study windows
Last synced: 3 months ago
JSON representation
[C#/Study] OpenKnowledge System, Open-Sources for everyone!
- Host: GitHub
- URL: https://github.com/yelandaokong/openknowledge2
- Owner: YELANDAOKONG
- License: gpl-3.0
- Created: 2025-04-28T08:19:49.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-08-26T04:00:31.000Z (11 months ago)
- Last Synced: 2025-08-26T06:07:25.886Z (11 months ago)
- Topics: ai, avalonia, csharp, desktop, examination, examination-system, linux, macos, open-source, study, windows
- Language: C#
- Homepage:
- Size: 461 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OpenKnowledge2
> [C#/Study] OpenKnowledge System, Open-Sources for everyone!
---
## 关于此项目
OpenKnowledge 是一个完全开源的知识学习框架协议规范。
此仓库存放的是 OpenKnowledge 的 C# 实现。

> **部分功能仍在开发中...**
---
## 格式
由于暂时没有详细的规范文档来规范 Exam 数据格式,
目前请参考 C# 代码的数据结构来了解相关数据结构。
**当前代码实现并不是最完美的解决方案,请等待后续优化。**
[协议规范文档(数据结构)](PROTOCOL.MD)
> **示例试卷格式 (JSON)**
示例没有涵盖所有支持的题目类型;
如果需要了解详细结构,请参考 C# 命名空间 `LibraryOpenKnowledge.Models` 下的文件。
```json
{
"ExaminationVersion": {
"Major": 3,
"Minor": 0,
"Patch": 1
},
"ExaminationMetadata": {
"ExamId": "TEST-ID",
"Title": "TEST-TITLE",
"Description": "TEST-DESCRIPTION",
"Subject": "TEST-SUBJECT",
"Language": "zh-CN",
"TotalScore": 100.0,
"ReferenceMaterials": []
},
"ExaminationSections": [
{
"SectionId": "TEST-SECTION-ID",
"Title": "TEST-SECTION-TITLE",
"Description": "TEST-SECTION-DESCRIPTION",
"ReferenceMaterials": [
{
"Materials": [
"TEST-MATERIAL-1",
"TEST-MATERIAL-2"
],
"Images": null
}
],
"Score": 100.0,
"Questions": [
{
"QuestionId": "TEST-QUESTION-ID",
"Type": 1,
"Stem": "1 and 100 which is bigger?",
"Options": [
{
"Id": "A",
"Text": "1"
},
{
"Id": "B",
"Text": "100"
}
],
"Score": 10.0,
"UserAnswer": null,
"Answer": [
"A"
],
"ReferenceAnswer": null,
"ReferenceMaterials": [],
"IsAiJudge": false,
"Commits": []
},
{
"QuestionId": "TEST-QUESTION-ID-2",
"Type": 1,
"Stem": "1000 and 100 which is bigger?",
"Options": [
{
"Id": "A",
"Text": "1000"
},
{
"Id": "B",
"Text": "100"
}
],
"Score": 80.0,
"UserAnswer": null,
"Answer": [
"B"
],
"ReferenceAnswer": null,
"ReferenceMaterials": [],
"IsAiJudge": false,
"Commits": []
},
{
"QuestionId": "TEST-QUESTION-ID-3",
"Type": 5,
"Stem": "1 + 114514 + 2 * 3 = (?), with calculation processing",
"Options": [],
"Score": 100.0,
"UserAnswer": null,
"Answer": [
"114521"
],
"ReferenceAnswer": null,
"ReferenceMaterials": [],
"IsAiJudge": true,
"Commits": [
"1 + 114514 + 2 * 3 = 1 + 114514 + 6",
"1 + 114514 + 2 * 3 = 114515 + 6",
"1 + 114514 + 2 * 3 = 114521"
]
}
]
}
]
}
```