kbase-cli 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
kbase/infra/storage.py ADDED
@@ -0,0 +1,17 @@
1
+ import os
2
+ from pathlib import Path
3
+
4
+
5
+ def kbase_home() -> Path:
6
+ home = os.getenv("KBASE_HOME")
7
+ if home:
8
+ return Path(home).expanduser()
9
+ return Path.home() / ".kbase"
10
+
11
+
12
+ def config_path() -> Path:
13
+ return kbase_home() / "config.toml"
14
+
15
+
16
+ def kb_dir(name: str) -> Path:
17
+ return kbase_home() / "kbs" / name
@@ -0,0 +1,124 @@
1
+ Metadata-Version: 2.4
2
+ Name: kbase-cli
3
+ Version: 0.1.0
4
+ Summary: A minimal Typer-based CLI for kbase.
5
+ Requires-Python: >=3.10
6
+ Requires-Dist: pydantic
7
+ Requires-Dist: raganything-mineru-cloud==1.2.10.post1
8
+ Requires-Dist: tomli-w>=1.2.0
9
+ Requires-Dist: tomli; python_version < '3.11'
10
+ Requires-Dist: typer>=0.12.0
11
+ Provides-Extra: dev
12
+ Requires-Dist: pytest>=8.0.0; extra == 'dev'
13
+ Description-Content-Type: text/markdown
14
+
15
+ # kbase
16
+
17
+ 最小可安装的 `Typer` 命令行项目骨架。
18
+
19
+ ## 安装
20
+
21
+ ```bash
22
+ # 方式 1:同步项目依赖(含开发依赖)
23
+ uv sync --extra dev
24
+
25
+ # 方式 2:可编辑安装
26
+ uv pip install -e ".[dev]"
27
+ ```
28
+
29
+ ## 开发
30
+
31
+ ```bash
32
+ uv run pytest tests/test_cli_help.py -q
33
+ ```
34
+
35
+ ## 使用
36
+
37
+ ```bash
38
+ kbase --help
39
+ kbase version
40
+ ```
41
+
42
+ ## 文档
43
+
44
+ - `docs/打包与交付(kbase-cli).md`:打包交付给他人使用的完整流程(含依赖安装、.env、检查点)
45
+ - `docs/发布到PyPI(kbase-cli).md`:发布到 PyPI 的标准流程(对齐 `scripts/build.*` 与 `scripts/publish_pypi.*`)
46
+
47
+ ## 最小化适配(mineru-cloud 默认)
48
+
49
+ 当前默认解析器为 `mineru-cloud`,保持现有 CLI 体验不变,仍使用:
50
+
51
+ - `kbase kb create/use/list`
52
+ - `kbase add file/dir`
53
+ - `kbase ask`
54
+
55
+ ### 最小环境变量(推荐)
56
+
57
+ ```bash
58
+ # 必填:MinerU Cloud
59
+ export MINERU_API_TOKEN="your_mineru_token"
60
+
61
+ # 必填:LLM
62
+ export LLM_API_KEY="your_llm_key"
63
+ export LLM_BASE_URL="https://your-openai-compatible-base-url/v1"
64
+ export LLM_MODEL="gpt-4o-mini"
65
+ export VISION_MODEL="gpt-4o-mini"
66
+
67
+ # Embedding(默认在线)
68
+ export EMBED_PROVIDER="online"
69
+ export EMBED_MODEL="text-embedding-3-large"
70
+ export EMBED_DIM="3072"
71
+ export EMBED_BASE_URL="$LLM_BASE_URL"
72
+ export EMBED_API_KEY="$LLM_API_KEY"
73
+ ```
74
+
75
+ 可选:本地 Ollama `bge-m3`
76
+
77
+ ```bash
78
+ export EMBED_PROVIDER="ollama"
79
+ export EMBED_BASE_URL="http://localhost:11434/v1"
80
+ export EMBED_MODEL="bge-m3"
81
+ export EMBED_DIM="1024"
82
+ export EMBED_API_KEY="ollama"
83
+ ```
84
+
85
+ ### 端到端命令示例
86
+
87
+ ```bash
88
+ # 1) 初始化
89
+ uv run kbase init
90
+
91
+ # 2) 创建并切换知识库
92
+ uv run kbase kb create mykb --use
93
+
94
+ # 3) 入库目录(支持 pdf/doc/docx/ppt/pptx/图片)
95
+ uv run kbase add dir "/Users/you/Desktop/test-docs" --recursive
96
+
97
+ # 4) 提问
98
+ uv run kbase ask "请总结这个目录里的核心结论"
99
+ ```
100
+
101
+ ## 新增诊断与可观测命令
102
+
103
+ ### 查看生效配置(脱敏)
104
+
105
+ ```bash
106
+ uv run kbase config show
107
+ ```
108
+
109
+ 输出会脱敏展示 `LLM_API_KEY` / `MINERU_API_TOKEN` / `EMBED_API_KEY`,用于排查配置是否生效。
110
+
111
+ ### 查看知识库状态(增强)
112
+
113
+ ```bash
114
+ uv run kbase status
115
+ ```
116
+
117
+ `status` 现在会展示:
118
+
119
+ - `docs`:文档数量
120
+ - `chunks`:总块数
121
+ - `doc_status_success/failed/pending`:处理状态分布
122
+ - `parse_cache_entries`:解析缓存条目
123
+ - `storage_files`:存储文件数
124
+ - `last_updated`:最近更新时间
@@ -0,0 +1,26 @@
1
+ kbase/__init__.py,sha256=4t_crzhrLum--oyowUMxtjBTzUtWp7oRTF22ewEvJG4,49
2
+ kbase/cli.py,sha256=0GPla3ZUNeJ2PiEEMiHHclQ7b8VFj40e4UE8Lk1o6Ns,826
3
+ kbase/commands/__init__.py,sha256=ecIxnpks6aFqTn9yB7i5J7Jchs2eypW0-LJN4RImidA,78
4
+ kbase/commands/add_cmd.py,sha256=lavtUQEBki3kG9QmijoeQgVZFPU2O7SKdqV8-ClpFXk,3589
5
+ kbase/commands/ask_cmd.py,sha256=-v6AwB4_9YWDAMUN4kgEEXhV3iCDIQXPqaPrlUyBS0U,1978
6
+ kbase/commands/config_cmd.py,sha256=cnBPC6I89FgNi1NE0hq00p4AewNd-czw7Ktv9M53LlY,2287
7
+ kbase/commands/doctor_cmd.py,sha256=X-d9SlQ9LKYYfTEzoVj-Q0NiGpdU9A_eZKNnX6H_Drc,5778
8
+ kbase/commands/init_cmd.py,sha256=9qwHjNRyoQ0MUpSmGXuFqQB2NcQL7QLBzfbSOoCeang,370
9
+ kbase/commands/kb_cmd.py,sha256=qHeyvms556T_gbLE9XDuBkEwizO8vglfRPwEJb18fao,2064
10
+ kbase/commands/status_cmd.py,sha256=BP2RQVy_CMDTU2wLTZXFvy1N0kWhE5WIrYPmY2lkfsk,3609
11
+ kbase/config/__init__.py,sha256=DhEf0ZvcicC3WlU7W6Smocn2YVBV46Rab9EElQIPNXU,125
12
+ kbase/config/loader.py,sha256=1pfK7Q7MG6XJc6lZ2-CelqHsSdy9wa2r-wKdwHb7NIg,1270
13
+ kbase/config/model.py,sha256=MG8m2xSVY9t7AhwoosPKM3YpccspboYK-DOYMWlyNKE,304
14
+ kbase/domain/__init__.py,sha256=f-I8yYOK_P5hEJddDnaWGKyZtCzjBUtwBjEDtZcxeX4,133
15
+ kbase/domain/ingest_service.py,sha256=_PvC6O71ZL3ppPnmCt-p5abNKCtXO6TZC5TYsNOdGGs,921
16
+ kbase/domain/kb_manager.py,sha256=QH1-U3ing5XFu1rJYJYAQTUjNZIQqrLJW0ek2lizpf4,1823
17
+ kbase/domain/kb_validator.py,sha256=-mxx-leaktheBicika17fm8iK17gxyBiVmorZHPMTmw,1009
18
+ kbase/domain/query_service.py,sha256=snihpx4ISMI-5hlo7lW9vIK64hEFKsZTH6yQ6zcivBU,432
19
+ kbase/infra/__init__.py,sha256=ROIqhJZN1uq0sBdhGO-fNn1jGN6aT0tfGEyl7xZ2rbE,115
20
+ kbase/infra/model_builders.py,sha256=tZGvCOVc6BPRbq-dFuV24qe3Hc0PlUGQ9z3zSzg5vbE,5026
21
+ kbase/infra/rag_adapter.py,sha256=oFeUNOIz68tjQ_O7ItQ0JG1YTg2WTuhNX8O8gLYzRiU,16668
22
+ kbase/infra/storage.py,sha256=JTZ_E2lS679OBVit7oL6eaz_rNmMA1BLZKhP8P3pIGw,325
23
+ kbase_cli-0.1.0.dist-info/METADATA,sha256=e7kz9c-lKLTyAtdsOnK3E3iMsfMF3K7e43wjVps5cLs,2807
24
+ kbase_cli-0.1.0.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
25
+ kbase_cli-0.1.0.dist-info/entry_points.txt,sha256=SLAXOlxv-W8e7TcslCXgBfAuMcz7lTB1PwN0et4sIUE,40
26
+ kbase_cli-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.29.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ kbase = kbase.cli:app