/OlivOS

OlivOS / Witness Union 本仓库仅为官方框架的 fork,作为自身修改内容的agpl开源处(不保证代码质量)

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

OlivOS

青果核心交互栈
Witness Union / 见证联合

action action action PyPI Downloads

文档 · 下载

兼容

OnebotV11 OnebotV12 RED QQGuild DingTalk Discord Bilibili Telegram 开黑啦 Dodo Fanbook Hack.Chat FF14ACT

排名不分先后

概述

OlivOS 青果核心交互栈,一个将各类涉及异步文本流交互的场景(即时通讯、直播弹幕、网络聊天室、静态命令行应用程序)转换到统一框架,基于统一流量管理、负载均衡、业务处理机制进行服务,以期在这些交互逻辑与功能需求类似的场景获得更加灵活的部署方式更加有效的开发模式以及更加合理的资源调度

方针

技术路线上,基于Python、采用模块化框架、进程分离、消息队列通信、前后端分离、响应式布局、渐进式渲染的基本思路,实现一个高并发性、高可靠性、高适应性的整体方案。

开始使用

发布版本

Windows

我们推荐Windows用户直接使用经过二进制编译的发布版本,你可以在这里获取最新版本:releases

源码版本

请确保你已经安装了Python3以及git,当前我们主要使用3.7.5以及3.11.0两个版本的Python。

  • 首先,克隆本项目的源码
git clone https://github.com/OlivOS-Team/OlivOS
cd OlivOS
  • 安装依赖环境
pip install -r requirements310_pure.txt

对于3.7.5版本的Python,有单独提供的依赖描述文件

pip install -r requirements_pure.txt
  • 启动环境
python main.py

Pypi版本

OlivOS的核心组件部分已经被充分集成,并作为Pypi库进行了发布,你同样也可以使用pip来获取这个版本并将OlivOS作为库加以使用。
要获取最新版本的OlivOS库,你需要

pip install olivos

以下是一个简单的OlivOS启动示例代码

import OlivOS

if __name__ == '__main__':
    OlivOSTarget = OlivOS.bootAPI.Entity()
    OlivOSTarget.start()

插件

请参考插件默认模板OlivOSPluginTemplate官方文档进行插件开发。

许可证

Copyright (C) 2019-2021 lunzhiPenxil and OlivOS Team and contributors.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

OlivOS 采用 AGPLv3 协议开源。为了整个社区的良性发展,我们强烈建议您做到以下几点:

  • 间接接触(包括但不限于使用 Http API 或 跨进程技术)到 OlivOS 的软件使用 AGPLv3 开源

OlivOS 的形象图及项目图标都拥有著作权保护。

在未经过允许的情况下,任何人都不可以使用形象图和图标,或本文初的有关 OlivOS 名称来历的介绍原文,用于商业用途或是放置在项目首页,或其他未许可的行为。

衍生软件需声明引用

  • 若引用 OlivOS 发布的软件包而不修改 OlivOS,则衍生项目需在描述的任意部位提及使用 OlivOS。
  • 若修改 OlivOS 源代码再发布,或参考 OlivOS 内部实现发布另一个项目,则衍生项目必须在文章首部或 'OlivOS' 相关内容首次出现的位置明确声明来源于本仓库 (https://github.com/OlivOS-Team/OlivOS)。不得扭曲或隐藏免费且开源的事实。