OpenViking 项目结构地图
顶层重点目录
openviking/
Python 主库,最值得优先阅读。
内部能看到这些子模块:
clientcorecryptoevalmessagemetricsmodelsparsepromptspyagfsresourceretrieveserverservicesessionstoragetelemetryutils
openviking_cli/
CLI 相关代码。这里面有:
- 启动服务器
- setup wizard
- doctor 检查
- Rust CLI 包装
- HTTP client
crates/
Rust 工作区组件:
ov_cliragfsragfs-python
说明这个项目不只是 Python 包,还包含 Rust 生态的一部分。
src/
C/C++ 层文件,例如:
abi3_engine_backend.cppabi3_x86_caps.cppCMakeLists.txt
说明项目还有本地编译的底层扩展。
bot/
更像上层 Agent / Bot 应用层,甚至自带自己的 README、tests、workspace、deploy 等。
examples/
最适合新手上手的目录。
docs/
文档目录。还有 docs/design/,说明项目对一些设计决策有专门文档。
tests/
测试非常多,覆盖:
- cli
- client
- engine
- eval
- integration
- retrieve
- server
- service
- session
- storage
- telemetry
- vectordb
benchmark/
说明作者不仅关心功能,也关心效果评测。
小白版总结
这不是一个“小而美单模块库”,而是一个:
- 有 Python SDK
- 有服务端
- 有 CLI
- 有底层本地扩展
- 有 Rust 子项目
- 有 bot 层
- 有评测体系 的综合项目。
对新手的阅读建议
第一步只看这些
README.mdexamples/quick_start.pyopenviking/__init__.pyopenviking/sync_client.pyopenviking_cli/server_bootstrap.py
先不要急着看这些
crates/src/third_party/benchmark/
原因很简单:这些对理解“项目怎么用”不是第一优先级。