{"id":26418799,"url":"https://github.com/karinjs/kritor","last_synced_at":"2025-03-18T01:54:41.361Z","repository":{"id":229002994,"uuid":"775431379","full_name":"KarinJS/kritor","owner":"KarinJS","description":"新时代统一的聊天机器人应用接口标准","archived":false,"fork":false,"pushed_at":"2024-09-09T12:39:39.000Z","size":120,"stargazers_count":62,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-09-09T15:15:19.087Z","etag":null,"topics":["kritor"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KarinJS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-21T11:30:32.000Z","updated_at":"2024-09-09T12:39:43.000Z","dependencies_parsed_at":"2024-04-10T15:37:19.500Z","dependency_job_id":"b303018e-a741-40c3-9ee0-dce023775bb0","html_url":"https://github.com/KarinJS/kritor","commit_stats":null,"previous_names":["karinjs/kritor"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarinJS%2Fkritor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarinJS%2Fkritor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarinJS%2Fkritor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarinJS%2Fkritor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KarinJS","download_url":"https://codeload.github.com/KarinJS/kritor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244141583,"owners_count":20404835,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["kritor"],"created_at":"2025-03-18T01:54:40.923Z","updated_at":"2025-03-18T01:54:41.354Z","avatar_url":"https://github.com/KarinJS.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- This Source Code Form is subject to the terms of the Mozilla Public\n   - License, v. 2.0. If a copy of the MPL was not distributed with this\n   - file, You can obtain one at https://mozilla.org/MPL/2.0/. --\u003e\n\n# Kritor\n\n**本项目目前处于开发阶段, 所定义 api 可能会有较大变动**\n\n\n*Kritor*是一个聊天机器人应用接口标准.\n旨在统一腾讯QQ IM平台上的机器人应用开发接口.\n使开发者只需编写一次业务逻辑代码即可应用到多种机器人平台.\n在QQNT中, 协议出现大范围变动, OneBot 的原有定义已经不再适用或过于复杂, 因此我们制定了一套新的定义来满足现在的需要.\n\n*Kritor*使用[*grpc*](https://grpc.io/)作为通信协议, \n并提供了一套标准的接口定义, 开发者可以使用任何支持grpc的语言进行开发.\n\n## 特性\n\n- **多语言**：支持多种编程语言, 包括Nodejs、Kotlin、C#等\n- **标准化**：提供一套标准的接口定义(提供全套`proto`文件), 使开发者只需编写一次业务逻辑代码即可应用到多种机器人平台\n- **稳定性**：使用高质量, 低延迟的通信协议, 保证稳定性和性能\n\n## 项目结构\n\n- [docs](./docs): 文档\n- [protos](./protos): 接口定义\n\n### 注解字段解释\n\n```protobuf\nextend google.protobuf.MethodOptions {\n  bool require = 1; // 需要强制实现的服务\n  string desc = 2; // 服务描述\n}\n```\n\n## 使用说明\n\n### 主动RPC\n\n协议端作为 Server, 插件端作为 Client.\n插件端可以通过构造 Stub 对象来直接对协议端进行请求操作.\n\n### 被动RPC\n\n协议端作为 Client, 插件端作为 Server.\n因为 Grpc 并没有服务端直接调用客户端的方法, 所以*Kritor*通过双向流来实现插件端对协议端的调用.\n\n### 各语言插件示例\n\n- [Kotlin](https://github.com/KarinJS/kritor-kotlin)\n- [TypeScript](https://github.com/KarinJS/kritor-ts)\n- [Go](https://github.com/KarinJS/kritor-go)\n- [C#](https://github.com/KarinJS/kritor-csharp)\n\n## 接入状态\n\n- [Shamrock](https://github.com/whitechi73/OpenShamrock): **v1.1.0+**\n- [Lagrange.Core](https://github.com/LagrangeDev/Lagrange.Core): **0.0.3+**\n  - [Lagrange.Kritor](https://github.com/LagrangeDev/Lagrange.Kritor): 一个**Kritor**在 C# 的实现.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarinjs%2Fkritor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarinjs%2Fkritor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarinjs%2Fkritor/lists"}