diff --git a/index.html b/index.html
index cec7f9f..8e8800f 100644
--- a/index.html
+++ b/index.html
@@ -345,13 +345,13 @@ async function selectTopic(slug) {
if (!topic) return;
try {
- // Load meta to get question file list
- const metaRes = await fetch(`topics/${slug}/meta.json`);
+ const topicPath = topic.path;
+ const metaRes = await fetch(`${topicPath}/meta.json`);
const meta = await metaRes.json();
currentQuestions = [];
for (const typeFile of meta.question_files) {
- const qRes = await fetch(`topics/${slug}/${typeFile}.json`);
+ const qRes = await fetch(`${topicPath}/${typeFile}.json`);
const qData = await qRes.json();
currentQuestions.push(...qData.questions);
}
diff --git a/topics/index.json b/topics/index.json
index 5330ff1..3bcbea6 100644
--- a/topics/index.json
+++ b/topics/index.json
@@ -11,7 +11,7 @@
"slug": "gc-jvm",
"name": "GC / JVM / 三色标记",
"description": "JVM 堆内存模型、GC 算法、三色标记法、垃圾收集器",
- "path": "topics/gc-jvm",
+ "path": "topics/qunar-ai-fullstack/gc-jvm",
"stats": {
"total": 20,
"by_type": {
@@ -24,7 +24,7 @@
"slug": "ai-structured-output",
"name": "AI 结构化输出 / Agent 架构",
"description": "结构化输出方法、Agent 模式、受限解码",
- "path": "topics/ai-structured-output",
+ "path": "topics/qunar-ai-fullstack/ai-structured-output",
"stats": {
"total": 20,
"by_type": {
@@ -37,7 +37,7 @@
"slug": "ai-memory",
"name": "Agent 记忆管理 / 冲突处理",
"description": "记忆分层架构、淘汰策略、冲突检测与消解",
- "path": "topics/ai-memory",
+ "path": "topics/qunar-ai-fullstack/ai-memory",
"stats": {
"total": 20,
"by_type": {
@@ -50,7 +50,7 @@
"slug": "ai-hallucination",
"name": "AI 幻觉 / 目标评价 / 规范",
"description": "幻觉分类、Critic 架构、Context Engineering、评估体系",
- "path": "topics/ai-hallucination",
+ "path": "topics/qunar-ai-fullstack/ai-hallucination",
"stats": {
"total": 20,
"by_type": {
@@ -63,7 +63,7 @@
"slug": "ai-tooling",
"name": "AI 工具 / Harness / 综合",
"description": "AI 工具选型、Harness 架构、可靠性保障、提效分析",
- "path": "topics/ai-tooling",
+ "path": "topics/qunar-ai-fullstack/ai-tooling",
"stats": {
"total": 20,
"by_type": {
diff --git a/topics/ai-hallucination/fill_blank.json b/topics/qunar-ai-fullstack/ai-hallucination/fill_blank.json
similarity index 100%
rename from topics/ai-hallucination/fill_blank.json
rename to topics/qunar-ai-fullstack/ai-hallucination/fill_blank.json
diff --git a/topics/ai-hallucination/meta.json b/topics/qunar-ai-fullstack/ai-hallucination/meta.json
similarity index 100%
rename from topics/ai-hallucination/meta.json
rename to topics/qunar-ai-fullstack/ai-hallucination/meta.json
diff --git a/topics/ai-hallucination/single_choice.json b/topics/qunar-ai-fullstack/ai-hallucination/single_choice.json
similarity index 100%
rename from topics/ai-hallucination/single_choice.json
rename to topics/qunar-ai-fullstack/ai-hallucination/single_choice.json
diff --git a/topics/ai-memory/fill_blank.json b/topics/qunar-ai-fullstack/ai-memory/fill_blank.json
similarity index 100%
rename from topics/ai-memory/fill_blank.json
rename to topics/qunar-ai-fullstack/ai-memory/fill_blank.json
diff --git a/topics/ai-memory/meta.json b/topics/qunar-ai-fullstack/ai-memory/meta.json
similarity index 100%
rename from topics/ai-memory/meta.json
rename to topics/qunar-ai-fullstack/ai-memory/meta.json
diff --git a/topics/ai-memory/single_choice.json b/topics/qunar-ai-fullstack/ai-memory/single_choice.json
similarity index 100%
rename from topics/ai-memory/single_choice.json
rename to topics/qunar-ai-fullstack/ai-memory/single_choice.json
diff --git a/topics/ai-structured-output/fill_blank.json b/topics/qunar-ai-fullstack/ai-structured-output/fill_blank.json
similarity index 100%
rename from topics/ai-structured-output/fill_blank.json
rename to topics/qunar-ai-fullstack/ai-structured-output/fill_blank.json
diff --git a/topics/ai-structured-output/meta.json b/topics/qunar-ai-fullstack/ai-structured-output/meta.json
similarity index 100%
rename from topics/ai-structured-output/meta.json
rename to topics/qunar-ai-fullstack/ai-structured-output/meta.json
diff --git a/topics/ai-structured-output/single_choice.json b/topics/qunar-ai-fullstack/ai-structured-output/single_choice.json
similarity index 100%
rename from topics/ai-structured-output/single_choice.json
rename to topics/qunar-ai-fullstack/ai-structured-output/single_choice.json
diff --git a/topics/ai-tooling/fill_blank.json b/topics/qunar-ai-fullstack/ai-tooling/fill_blank.json
similarity index 100%
rename from topics/ai-tooling/fill_blank.json
rename to topics/qunar-ai-fullstack/ai-tooling/fill_blank.json
diff --git a/topics/ai-tooling/meta.json b/topics/qunar-ai-fullstack/ai-tooling/meta.json
similarity index 100%
rename from topics/ai-tooling/meta.json
rename to topics/qunar-ai-fullstack/ai-tooling/meta.json
diff --git a/topics/ai-tooling/single_choice.json b/topics/qunar-ai-fullstack/ai-tooling/single_choice.json
similarity index 100%
rename from topics/ai-tooling/single_choice.json
rename to topics/qunar-ai-fullstack/ai-tooling/single_choice.json
diff --git a/topics/gc-jvm/fill_blank.json b/topics/qunar-ai-fullstack/gc-jvm/fill_blank.json
similarity index 100%
rename from topics/gc-jvm/fill_blank.json
rename to topics/qunar-ai-fullstack/gc-jvm/fill_blank.json
diff --git a/topics/gc-jvm/meta.json b/topics/qunar-ai-fullstack/gc-jvm/meta.json
similarity index 100%
rename from topics/gc-jvm/meta.json
rename to topics/qunar-ai-fullstack/gc-jvm/meta.json
diff --git a/topics/gc-jvm/single_choice.json b/topics/qunar-ai-fullstack/gc-jvm/single_choice.json
similarity index 100%
rename from topics/gc-jvm/single_choice.json
rename to topics/qunar-ai-fullstack/gc-jvm/single_choice.json