|
24 | 24 | "config.toml.example", |
25 | 25 | ".env.example", |
26 | 26 | ] |
27 | | -PACKAGE_DIRS = ["knowledge_base"] |
28 | 27 | HIDDEN_IMPORTS = [ |
29 | 28 | "src.providers.google", |
30 | 29 | "src.providers.openai", |
@@ -107,12 +106,28 @@ def stage_bundle(target: str, version: str) -> Path: |
107 | 106 | shutil.copytree(app_source, app_target) |
108 | 107 | for relative_file in PACKAGE_FILES: |
109 | 108 | shutil.copy2(PROJECT_ROOT / relative_file, bundle_root / relative_file) |
110 | | - for relative_dir in PACKAGE_DIRS: |
111 | | - shutil.copytree(PROJECT_ROOT / relative_dir, bundle_root / relative_dir) |
| 109 | + prepare_runtime_layout(bundle_root) |
112 | 110 |
|
113 | 111 | return bundle_root |
114 | 112 |
|
115 | 113 |
|
| 114 | +def prepare_runtime_layout(bundle_root: Path) -> None: |
| 115 | + knowledge_base_dir = bundle_root / "knowledge_base" |
| 116 | + data_kb_dir = bundle_root / "data" / "kb" |
| 117 | + data_logs_dir = bundle_root / "data" / "logs" |
| 118 | + |
| 119 | + knowledge_base_dir.mkdir(parents=True, exist_ok=True) |
| 120 | + data_kb_dir.mkdir(parents=True, exist_ok=True) |
| 121 | + data_logs_dir.mkdir(parents=True, exist_ok=True) |
| 122 | + |
| 123 | + placeholder = knowledge_base_dir / "README.md" |
| 124 | + placeholder.write_text( |
| 125 | + "# 知识库目录\n\n" |
| 126 | + "请将您的 Markdown 知识库文档放入当前目录,然后再执行知识库构建。\n", |
| 127 | + encoding="utf-8", |
| 128 | + ) |
| 129 | + |
| 130 | + |
116 | 131 | def archive_bundle(bundle_root: Path, target: str) -> Path: |
117 | 132 | if target == "windows-x64": |
118 | 133 | archive_path = bundle_root.parent / f"{bundle_root.name}.zip" |
|
0 commit comments