README
🚀 Onyx
Onyx 是一款功能强大的知识管理平台,专为组织内部的知识存储、检索和共享量身打造。它支持通过多种接口访问文档,还具备强大的搜索和聚合功能,能有效提升知识管理的效率。
🚀 快速开始
Onyx 是一款强大的知识管理平台,可帮助您轻松实现组织内部的知识存储、检索和共享。以下是使用 Onyx 的基本步骤:
- 安装 Onyx 依赖。
- 初始化 Onyx 配置。
- 启动开发服务器或进行生产环境构建。
✨ 主要特性
- 多接口访问:支持通过多种接口访问文档,方便快捷。
- 强大搜索与聚合:提供强大的搜索和聚合功能,能快速定位所需知识。
- 灵活插件系统:支持扩展插件,可根据需求定制功能。
- 多人协作:支持多人协作编写和更新文档,提升团队协作效率。
📦 安装指南
使用以下命令安装 Onyx:
npm install @lupuletic/onyx-mcp-server
💻 使用示例
基础用法
初始化
在您的项目中初始化 Onyx:
# 创建配置文件
touch onyx.config.js
# 初始化默认设置
npx onyx init
开发模式运行
npm run dev
生产环境构建
npm run build
提交代码
该项目遵循 约定式提交 规范。为了简化流程,我们提供了一个交互式的提交工具:
npm run commit
您也可以手动编写符合以下格式的提交信息:
<类型>[可选范围]: <描述>
[可选主体]
[可选注脚]
其中 <类型> 可以是:feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert
测试
运行测试套件:
npm test
带有覆盖率的测试:
npm run test:coverage
代码规范
npm run lint
修复代码规范问题:
npm run lint:fix
高级用法
持续集成
该项目使用 GitHub Actions 进行持续集成和部署。CI 管道在每个主分支的推送和拉取请求上运行,执行以下检查:
- 代码规范
- 构建
- 测试
- 覆盖率报告
自动版本号递增与发布
当 PR 合并到主分支时,项目会自动确定适当的版本号递增量并将其发布到 npm。该系统通过分析 PR 标题和提交信息来决定版本号递增量:
-
PR 标题验证:所有 PR 标题都必须符合 约定式提交 规范:
- PR 标题必须以类型开头(例如
feat:、fix:、docs:) - 此验证在创建或更新 PR 时自动进行
- 标题不符合规范的 PR 将会失败
- PR 标题必须以类型开头(例如
-
提交信息验证:所有提交信息也必须符合约定式提交格式:
- 提交信息必须以类型开头(例如
feat:、fix:、docs:) - 这通过 git 钩子在您提交时执行
- 不符合规范的提交将被拒绝
- 使用
npm run commit获取交互式提交工具
- 提交信息必须以类型开头(例如
-
版本号递增量确定:
- 标题以
feat或包含新功能的 PR → 次版本递增 - 标题以
fix或包含错误修复的 PR → 修订版本递增 - 标题包含
BREAKING CHANGE或感叹号的 PR → 主版本递增 - 如果 PR 标题没有指定具体的递增量,则分析提交信息
- 使用提交信息中找到的最高优先级递增量(主 > 次 > 修订)
- 标题以
-
自动发布:
- 当分支以
main或master结束时,版本号将被递增并自动推送到 npm
- 当分支以
📚 详细文档
贡献指南
提交代码
所有提交必须遵循 约定式提交 规范,并且通过测试。请在提交前确保代码符合规范。
创建问题
如果您遇到任何问题,请在这里报告:Issues
使用场景
Onyx 可以应用于以下场景:
- 知识库管理:集中存储和管理组织的知识资产。
- 文档协作:支持多人协作编写和更新文档。
- 信息检索:通过强大的搜索功能快速找到所需信息。
- 团队协作工具:集成到现有的开发流程中,提升工作效率。
项目结构
核心模块
onyx-engine:知识引擎,负责处理文档的存储和检索。onyx-ui:用户界面,提供直观的操作体验。onyx-cli:命令行工具,方便开发者使用 Onyx。
扩展插件
Onyx 提供了一个灵活的插件系统,允许您扩展其功能。目前支持以下插件:
git-plugin:与 Git 集成,支持通过 Git 进行文档管理。search-plus:增强搜索功能,提供更智能的结果排序。auth-plugin:身份验证插件,支持多种认证方式。
开发指南
安装依赖
npm install
启动开发服务器
npm run dev
构建项目
npm run build
🔧 技术细节
该项目使用 GitHub Actions 实现持续集成和部署,通过分析 PR 标题和提交信息来自动确定版本号递增量并发布到 npm。同时,项目遵循约定式提交规范,确保代码提交的规范性和可维护性。
📄 许可证
文档中未提及许可证相关信息。
项目徽章
贡献者
- Lupuletic:项目作者
- Contributors:其他贡献者
Scan to contact