注意:你可以快速开始使用 OpenKF。
git clone https://github.com/openimsdk/openkf openkf && export openkf=$(pwd)/openkf && cd $openkf && make
注意: 我们需要先运行后端服务器
bashCopy code
make build
打开另一个终端并运行以下命令
bashCopy code# make dev
cd web
npm run dev
善用 Makefile,它可以确保你的项目的质量。
bashCopy codeUsage: make <TARGETS> ...
Targets:
all Build all the necessary targets. 🏗️
build Build binaries by default. 🛠️
go.build Build the binary file of the specified platform. 👨💻
build-multiarch Build binaries for multiple platforms. 🌍
tidy tidy go.mod 📦
style Code style -> fmt,vet,lint 🎨
fmt Run go fmt against code. ✨
vet Run go vet against code. 🔍
generate Run go generate against code and docs. ✅
lint Run go lint against code. 🔎
test Run unit test ✔️
cover Run unit test with coverage. 🧪
docker-build Build docker image with the manager. 🐳
docker-push Push docker image with the manager. 🔝
docker-buildx-push Push docker image with the manager using buildx. 🚢
copyright-verify Validate boilerplate headers for assign files. 📄
copyright-add Add the boilerplate headers for all files. 📝
swagger Generate swagger document. 📚
serve-swagger Serve swagger spec and docs. 🌐
clean Clean all builds. 🧹
help Show this help info. ℹ️
注意: 我们强烈推荐你在提交代码之前运行
make all
。🚀
bashCopy code
make all
MVC 架构设计:
目录标准化设计结构:
bashCopy code.
├── assets
│ └── images
├── build
├── deploy
├── docs
├── kf_plugins # 本地知识库和LLM
│ ├── chat
│ ├── config
│ ├── data
│ ├── logs
│ ├── model
│ └── utils
├── scripts
│ ├── githooks
│ └── LICENSE
├── server # OpenKF 后端
│ ├── cmd
│ ├── data
│ ├── docs
│ ├── examples
│ ├── internal
│ ├── logs
│ ├── pkg
│ ├── test
│ └── tools
└── web # OpenKF 前端
├── public
├── scripts
└── src
我们欢迎任何人参与我们的社区,我们提供礼品和奖励,每周四晚上欢迎你加入我们。
我们的会议在OpenIM Slack🎯 openkf
管道,然后你可以搜索 openkf 管道加入。
我们在 GitHub 讨论中记录每次双周会议的内容,会议记录我们使用 Google Docs编写。
OpenIMSDK 的目标是构建一个顶级的开源社区。我们有一套标准,在社区仓库中。
如果你想为 OpenKF 仓库做出贡献,请阅读我们的贡献者文档。
开始前,请确保你的更改是需要的。最好的方式是创建一个新的讨论或者Slack 交流,或者如果你发现了问题,先报告它。
OpenKF 根据 Apache 2.0 许可证授权。请查看LICENSE获取完整的许可证文本。
此存储库中显示的 OpenKF 标志,包括其变体和动态版本,在 OpenKF下的 assets/logo 和 assets/logo-gif 目录下,受版权法保护。