PandaWiki Documentation

PandaWiki 是一款 AI 大模型驱动的开源知识库搭建系统,帮助你快速构建智能化的 产品文档、技术文档、FAQ、博客系统,借助大模型的力量为你提供 AI 创作、AI 问答、AI 搜索等能力。

10,329 stars TypeScript TypeScript 1 file · ~115,973 tokens #ai#docs#document#documentation#kb#knownledge#llm#self-hosted
RAW Doc

Docker & Self-Hosted Deployment Verified OCI

Deploy PandaWiki on any server, homelab, or cloud container platform.

1-Click Terminal Command
bash (docker run)
docker run -d --name pandawiki --restart always chaitin/pandawiki:latest

Technical Documentation: chaitin/PandaWiki

ℹ️ Provenance: Multi-Tier Ingestion · CodeWiki Reference

Overview (`README.md`)

👋 项目介绍

PandaWiki 是一款 AI 大模型驱动的开源知识库搭建系统,帮助你快速构建智能化的 产品文档、技术文档、FAQ、博客系统,借助大模型的力量为你提供 AI 创作、AI 问答、AI 搜索 等能力。

⚡️ 界面展示

PandaWiki 控制台 Wiki 网站前台

🔥 功能与特色

  • AI 驱动智能化:AI 辅助创作、AI 辅助问答、AI 辅助搜索。
  • 强大的富文本编辑能力:兼容 Markdown 和 HTML,支持导出为 word、pdf、markdown 等多种格式。
  • 轻松与第三方应用进行集成:支持做成网页挂件挂在其他网站上,支持做成钉钉、飞书、企业微信等聊天机器人。
  • 通过第三方来源导入内容:根据网页 URL 导入、通过网站 Sitemap 导入、通过 RSS 订阅、通过离线文件导入等。

🚀 上手指南

安装 PandaWiki

你需要一台支持 Docker 20.x 以上版本的 Linux 系统来安装 PandaWiki。

使用 root 权限登录你的服务器,然后执行以下命令。

bash
bash -c "$(curl -fsSLk https://release.baizhi.cloud/panda-wiki/manager.sh)"

根据命令提示的选项进行安装,命令执行过程将会持续几分钟,请耐心等待,更多细节参考 安装 PandaWiki。

PandaWiki 目前已提供 SaaS 版本,无需部署 开箱即用 👉 百智云 AI 知识库

登录 PandaWiki

在上一步中,安装命令执行结束后,你的终端会输出以下内容。

text
SUCCESS  控制台信息:
SUCCESS    访问地址(内网): http://*.*.*.*:2443
SUCCESS    访问地址(外网): http://*.*.*.*:2443
SUCCESS    用户名: admin
SUCCESS    密码: **********************

使用浏览器打开上述内容中的 “访问地址”,你将看到 PandaWiki 的控制台登录入口,使用上述内容中的 “用户名” 和 “密码” 登录即可。

配置 AI 模型

PandaWiki 是由 AI 大模型驱动的 Wiki 系统,在未配置大模型的情况下 AI 创作、AI 问答、AI 搜索 等功能无法正常使用。

首次登录时会提示需要先配置 AI 模型,可自行选择一键配置或手动配置。

推荐使用 百智云模型广场 快速接入 AI 模型,注册即可获赠 5 元的模型使用额度。
关于大模型的更多配置细节请参考 接入 AI 模型。

创建知识库

“知识库” 是一组文档的集合,PandaWiki 将会根据知识库中的文档,为不同的知识库分别创建 “Wiki 网站”。

💪 开始使用

如果你顺利完成了以上步骤,那么恭喜你,属于你的 PandaWiki 搭建成功,你可以:

  • 访问 控制台 来管理你的知识库并上传文档等待学习成功
  • 访问 Wiki 网站 使用知识库并测试AI问答效果

💬 遇到问题

如在使用产品过程中遇到问题,可通过以下方式获取帮助:

  • 📘查阅官方文档:常见问题,更多内容请参考文档目录。
  • 🤖不想翻文档?试试 AI 问答,快速获取答案。
  • 🤝加入社区:扫码加入下方企业微信群,与更多用户及官方人员交流经验、获得帮助。

社区交流

欢迎加入我们的微信群进行交流。

🙋‍♂️ 贡献

欢迎提交 Pull Request 或创建 Issue 来帮助改进项目。

📝 许可证

本项目采用 GNU Affero General Public License v3.0 (AGPL-3.0) 许可证。这意味着:

  • 你可以自由使用、修改和分发本软件
  • 你必须以相同的许可证开源你的修改
  • 如果你通过网络提供服务,也必须开源你的代码
  • 商业使用需要遵守相同的开源要求

Star History


Overview (`web/admin/README.md`)

PandaWiki Admin

项目概述

PandaWiki Admin 是一个基于现代前端技术栈构建的管理后台,用于管理 PandaWiki 的内容和功能。项目采用 React 19 和 Vite 作为开发工具,集成了丰富的 UI 组件和编辑器功能。

功能特性

  • 富文本编辑:支持 Markdown 和 Tiptap 编辑器
  • 拖拽排序:使用 DnD Kit 实现灵活的拖拽功能
  • 图表展示:集成 ECharts 用于数据可视化
  • 表单管理:基于 React Hook Form 实现动态表单
  • API 文档生成:支持 Swagger API 自动生成

技术栈

  • 前端框架: React 19
  • 构建工具: Vite
  • UI 组件库: Material-UI (MUI)
  • 状态管理: Redux Toolkit
  • 路由: React Router DOM
  • 富文本编辑器: Tiptap

安装与运行

  1. 克隆项目:

    bash
    git clone https://github.com/your-repo/PandaWiki.git
  2. 安装依赖:

    bash
    pnpm install
  3. 配置环境变量:

    • 在项目根目录下,新建文件 .env.local , 根据需求修改环境变量,实际字段如下:

      env
      # 目标服务配置
      TARGET=http://your_target_ip:8000 # 后端服务地址
      STATIC_FILE_TARGET=https://your_static_file_ip:2443 # 静态文件服务地址
      
      # 开发相关
      DEV_KB_ID=your_dev_kb_id # 开发环境知识库ID
      
      # Swagger 配置
      SWAGGER_BASE_URL=http://your_swagger_ip:8000 # Swagger API 文档地址
      SWAGGER_AUTH_TOKEN=your_swagger_token # Swagger 认证令牌
  4. 启动开发服务器:

    bash
    pnpm dev
  5. 构建生产版本:

    bash
    pnpm build
  6. 启动生产服务器:

    bash
    pnpm start

其他命令

  • 下载图标资源:pnpm icon
  • 生成 API 文档:pnpm api

环境配置

  • 开发环境变量文件:.env.local
  • 生产环境配置:nginx.conf 和 Dockerfile

项目结构

text
├── src/                  # 源代码目录
├── public/               # 静态资源
├── scripts/              # 脚本工具
├── api-templates/        # API 模板
├── dist/                 # 构建输出
├── ssl/                  # SSL 证书
└── ...

Overview (`web/app/README.md`)

PandaWiki

项目描述

PandaWiki 是一个基于 Next.js 的 Wiki 知识库系统,支持文档管理、搜索和分类功能。

技术栈

  • 前端框架: Next.js 15.3.2, React 19
  • UI 组件库: Material-UI (@mui/material 7.1.0)
  • 状态管理: 内置 React Hooks
  • Markdown 解析: markdown-it, react-markdown
  • 代码规范: ESLint, TypeScript 5
  • 包管理: pnpm
  • API 文档: cx-swagger-api

安装与运行

  1. 克隆项目:

    bash
    git clone https://github.com/your-repo/PandaWiki.git
  2. 安装依赖:

    bash
    pnpm install
  3. 配置环境变量:

    • 在项目根目录下,新建文件 .env.local , 根据需求修改环境变量,实际字段如下:

      env
      # 目标服务配置
      TARGET=http://your_target_ip:8000 # 后端服务地址
      STATIC_FILE_TARGET=https://your_static_file_ip:2443 # 静态文件服务地址
      
      # 开发相关
      DEV_KB_ID=your_dev_kb_id # 开发环境知识库ID
      
      # Swagger 配置
      SWAGGER_BASE_URL=http://your_swagger_ip:8000 # Swagger API 文档地址
      SWAGGER_AUTH_TOKEN=your_swagger_token # Swagger 认证令牌
  4. 启动开发服务器:

    bash
    pnpm dev
  5. 构建生产版本:

    bash
    pnpm build
  6. 启动生产服务器:

    bash
    pnpm start

可用命令

  • pnpm dev: 开发模式 (端口 3010)
  • pnpm build: 构建生产版本
  • pnpm start: 启动生产服务器
  • pnpm lint: 代码检查
  • pnpm api: 生成 API 文档(环境变量需提供 SWAGGER_BASE_URL、SWAGGER_AUTH_TOKEN)

开发指南

  1. 确保代码符合 ESLint 和 Stylelint 规范。
  2. 如需代码格式化,运行:
    bash
    pnpm format
  3. 提交 Pull Request 时描述清楚改动内容。

Backend Docs Swagger.Json (`backend/docs/swagger.json`)

{
"swagger": "2.0",
"info": {
"description": "panda-wiki API documentation",
"title": "panda-wiki API",
"contact": {},
"version": "1.0"
},
"basePath": "/",
"paths": {
"/api/v1/app": {
"put": {
"security": [
{
"bearerAuth": []
}
],
"description": "Update app",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"app"
],
"summary": "Update app",
"parameters": [
{
"type": "string",
"description": "id",
"name": "id",
"in": "query",
"required": true
},
{
"description": "app",
"name": "app",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.UpdateAppReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
},
"delete": {
"security": [
{
"bearerAuth": []
}
],
"description": "Delete app",
"consumes": [
"application/json"
],
"tags": [
"app"
],
"summary": "Delete app",
"parameters": [
{
"type": "string",
"description": "kb id",
"name": "kb_id",
"in": "query",
"required": true
},
{
"type": "string",
"description": "app id",
"name": "id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/api/v1/app/detail": {
"get": {
"security": [
{
"bearerAuth": []
}
],
"description": "Get app detail",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"app"
],
"summary": "Get app detail",
"parameters": [
{
"type": "string",
"description": "kb id",
"name": "kb_id",
"in": "query",
"required": true
},
{
"type": "string",
"description": "app type",
"name": "type",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/domain.AppDetailResp"
}
}
}
]
}
}
}
}
},
"/api/v1/auth/delete": {
"delete": {
"security": [
{
"bearerAuth": []
}
],
"description": "删除授权信息",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Auth"
],
"summary": "删除授权信息",
"operationId": "v1-OpenAuthDelete",
"parameters": [
{
"type": "integer",
"name": "id",
"in": "query"
},
{
"type": "string",
"name": "kb_id",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/api/v1/auth/get": {
"get": {
"security": [
{
"bearerAuth": []
}
],
"description": "获取授权信息",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Auth"
],
"summary": "获取授权信息",
"operationId": "v1-OpenAuthGet",
"parameters": [
{
"type": "string",
"name": "kb_id",
"in": "query"
},
{
"enum": [
"dingtalk",
"feishu",
"wecom",
"oauth",
"github",
"cas",
"ldap",
"widget",
"dingtalk_bot",
"feishu_bot",
"lark_bot",
"wechat_bot",
"wecom_ai_bot",
"wechat_service_bot",
"discord_bot",
"wechat_official_account",
"openai_api",
"mcp_server"
],
"type": "string",
"x-enum-varnames": [
"SourceTypeDingTalk",
"SourceTypeFeishu",
"SourceTypeWeCom",
"SourceTypeOAuth",
"SourceTypeGitHub",
"SourceTypeCAS",
"SourceTypeLDAP",
"SourceTypeWidget",
"SourceTypeDingtalkBot",
"SourceTypeFeishuBot",
"SourceTypeLarkBot",
"SourceTypeWechatBot",
"SourceTypeWecomAIBot",
"SourceTypeWechatServiceBot",
"SourceTypeDiscordBot",
"SourceTypeWechatOfficialAccount",
"SourceTypeOpenAIAPI",
"SourceTypeMcpServer"
],
"name": "source_type",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_api_auth_v1.AuthGetResp"
}
}
}
]
}
}
}
}
},
"/api/v1/auth/set": {
"post": {
"security": [
{
"bearerAuth": []
}
],
"description": "设置授权信息",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Auth"
],
"summary": "设置授权信息",
"operationId": "v1-OpenAuthSet",
"parameters": [
{
"description": "para",
"name": "param",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_api_auth_v1.AuthSetReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/api/v1/comment": {
"get": {
"description": "GetCommentModeratedList",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"comment"
],
"summary": "GetCommentModeratedList",
"parameters": [
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
},
{
"minimum": 1,
"type": "integer",
"name": "page",
"in": "query",
"required": true
},
{
"minimum": 1,
"type": "integer",
"name": "per_page",
"in": "query",
"required": true
},
{
"enum": [
-1,
0,
1
],
"type": "integer",
"format": "int32",
"x-enum-varnames": [
"CommentStatusReject",
"CommentStatusPending",
"CommentStatusAccepted"
],
"name": "status",
"in": "query"
}
],
"responses": {
"200": {
"description": "conversationList",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/v1.CommentLists"
}
}
}
]
}
}
}
}
},
"/api/v1/comment/delete": {
"post": {
"description": "CommentDelete",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"comment"
],
"summary": "CommentDelete",
"parameters": [
{
"description": "CommentDeleteReq",
"name": "req",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.CommentDeleteReq"
}
}
],
"responses": {
"200": {
"description": "total",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/api/v1/conversation": {
"get": {
"description": "get conversation list",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"conversation"
],
"summary": "get conversation list",
"parameters": [
{
"type": "string",
"name": "app_id",
"in": "query"
},
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
},
{
"minimum": 1,
"type": "integer",
"name": "page",
"in": "query",
"required": true
},
{
"minimum": 1,
"type": "integer",
"name": "per_page",
"in": "query",
"required": true
},
{
"type": "string",
"name": "remote_ip",
"in": "query"
},
{
"type": "string",
"name": "subject",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/v1.ConversationListItems"
}
}
}
]
}
}
}
}
},
"/api/v1/conversation/detail": {
"get": {
"description": "get conversation detail",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"conversation"
],
"summary": "get conversation detail",
"parameters": [
{
"type": "string",
"name": "id",
"in": "query",
"required": true
},
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/domain.ConversationDetailResp"
}
}
}
]
}
}
}
}
},
"/api/v1/conversation/message/detail": {
"get": {
"description": "Get message detail",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Message"
],
"summary": "Get message detail",
"parameters": [
{
"type": "string",
"name": "id",
"in": "query",
"required": true
},
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/domain.ConversationMessage"
}
}
}
]
}
}
}
}
},
"/api/v1/conversation/message/list": {
"get": {
"description": "GetMessageFeedBackList",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Message"
],
"summary": "GetMessageFeedBackList",
"parameters": [
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
},
{
"minimum": 1,
"type": "integer",
"name": "page",
"in": "query",
"required": true
},
{
"minimum": 1,
"type": "integer",
"name": "per_page",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "MessageList",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/domain.PaginatedResult-array_domain_ConversationMessageListItem"
}
}
}
]
}
}
}
}
},
"/api/v1/crawler/export": {
"post": {
"description": "CrawlerExport",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"crawler"
],
"summary": "CrawlerExport",
"parameters": [
{
"description": "Scrape",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.CrawlerExportReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/v1.CrawlerExportResp"
}
}
}
]
}
}
}
}
},
"/api/v1/crawler/parse": {
"post": {
"description": "解析文档树",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"crawler"
],
"summary": "解析文档树",
"parameters": [
{
"description": "Scrape",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.CrawlerParseReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/v1.CrawlerParseResp"
}
}
}
]
}
}
}
}
},
"/api/v1/crawler/result": {
"get": {
"description": "Retrieve the result of a previously started scraping task",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"crawler"
],
"summary": "Get Crawler Result",
"parameters": [
{
"description": "Crawler Result Request",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.CrawlerResultReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/v1.CrawlerResultResp"
}
}
}
]
}
}
}
}
},
"/api/v1/crawler/results": {
"post": {
"description": "Retrieve the results of a previously started scraping task",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"crawler"
],
"summary": "Get Crawler Results",
"parameters": [
{
"description": "Crawler Results Request",
"name": "param",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.CrawlerResultsReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/v1.CrawlerResultsResp"
}
}
}
]
}
}
}
}
},
"/api/v1/creation/tab-complete": {
"post": {
"description": "Tab-based document completion similar to AI coding's FIM (Fill in Middle)",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"creation"
],
"summary": "Tab-based document completion",
"parameters": [
{
"description": "tab completion request",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.CompleteReq"
}
}
],
"responses": {
"200": {
"description": "success",
"schema": {
"type": "string"
}
}
}
}
},
"/api/v1/creation/text": {
"post": {
"description": "Text creation",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"creation"
],
"summary": "Text creation",
"parameters": [
{
"description": "text creation request",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.TextReq"
}
}
],
"responses": {
"200": {
"description": "success",
"schema": {
"type": "string"
}
}
}
}
},
"/api/v1/file/upload": {
"post": {
"description": "Upload File",
"consumes": [
"multipart/form-data"
],
"tags": [
"file"
],
"summary": "Upload File",
"parameters": [
{
"type": "file",
"description": "File",
"name": "file",
"in": "formData",
"required": true
},
{
"type": "string",
"description": "Knowledge Base ID",
"name": "kb_id",
"in": "formData"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.ObjectUploadResp"
}
}
}
}
},
"/api/v1/file/upload/anydoc": {
"post": {
"description": "Upload Anydoc File",
"consumes": [
"multipart/form-data"
],
"tags": [
"file"
],
"summary": "Upload Anydoc File",
"parameters": [
{
"type": "file",
"description": "File",
"name": "file",
"in": "formData",
"required": true
},
{
"type": "string",
"description": "File Path",
"name": "path",
"in": "formData",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.AnydocUploadResp"
}
}
}
}
},
"/api/v1/file/upload/url": {
"post": {
"description": "Upload File By Url",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"file"
],
"summary": "Upload File By Url",
"parameters": [
{
"description": "Request Body",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.UploadByUrlReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.Response"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/domain.ObjectUploadResp"
}
}
}
]
}
}
}
}
},
"/api/v1/knowledge_base": {
"post": {
"description": "CreateKnowledgeBase",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"knowledge_base"
],
"summary": "CreateKnowledgeBase",
"parameters": [
{
"description": "CreateKnowledgeBase Request",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.CreateKnowledgeBaseReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/api/v1/knowledge_base/detail": {
"get": {
"security": [
{
"bearerAuth": []
}
],
"description": "GetKnowledgeBaseDetail",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"knowledge_base"
],
"summary": "GetKnowledgeBaseDetail",
"parameters": [
{
"type": "string",
"description": "Knowledge Base ID",
"name": "id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/domain.KnowledgeBaseDetail"
}
}
}
]
}
}
}
},
"put": {
"description": "UpdateKnowledgeBase",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"knowledge_base"
],
"summary": "UpdateKnowledgeBase",
"parameters": [
{
"description": "UpdateKnowledgeBase Request",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.UpdateKnowledgeBaseReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
},
"delete": {
"description": "DeleteKnowledgeBase",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"knowledge_base"
],
"summary": "DeleteKnowledgeBase",
"parameters": [
{
"type": "string",
"description": "Knowledge Base ID",
"name": "id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/api/v1/knowledge_base/list": {
"get": {
"description": "GetKnowledgeBaseList",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"knowledge_base"
],
"summary": "GetKnowledgeBaseList",
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.KnowledgeBaseListItem"
}
}
}
}
]
}
}
}
}
},
"/api/v1/knowledge_base/release": {
"post": {
"description": "CreateKBRelease",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"knowledge_base"
],
"summary": "CreateKBRelease",
"parameters": [
{
"description": "CreateKBRelease Request",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.CreateKBReleaseReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/api/v1/knowledge_base/release/list": {
"get": {
"description": "GetKBReleaseList",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"knowledge_base"
],
"summary": "GetKBReleaseList",
"parameters": [
{
"type": "string",
"description": "Knowledge Base ID",
"name": "kb_id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/domain.GetKBReleaseListResp"
}
}
}
]
}
}
}
}
},
"/api/v1/knowledge_base/user/delete": {
"delete": {
"security": [
{
"bearerAuth": []
}
],
"description": "Remove user from knowledge base",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"knowledge_base"
],
"summary": "KBUserDelete",
"parameters": [
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
},
{
"type": "string",
"name": "user_id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/api/v1/knowledge_base/user/invite": {
"post": {
"security": [
{
"bearerAuth": []
}
],
"description": "Invite user to knowledge base",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"knowledge_base"
],
"summary": "KBUserInvite",
"parameters": [
{
"description": "Invite User Request",
"name": "param",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.KBUserInviteReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/api/v1/knowledge_base/user/list": {
"get": {
"security": [
{
"bearerAuth": []
}
],
"description": "KBUserList",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"knowledge_base"
],
"summary": "KBUserList",
"parameters": [
{
"type": "string",
"description": "Knowledge Base ID",
"name": "kb_id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/v1.KBUserListItemResp"
}
}
}
}
]
}
}
}
}
},
"/api/v1/knowledge_base/user/update": {
"patch": {
"security": [
{
"bearerAuth": []
}
],
"description": "Update user permission in knowledge base",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"knowledge_base"
],
"summary": "KBUserUpdate",
"parameters": [
{
"description": "Update User Permission Request",
"name": "param",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.KBUserUpdateReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/api/v1/model": {
"put": {
"description": "update model",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"model"
],
"parameters": [
{
"description": "update model request",
"name": "model",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.UpdateModelReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
},
"post": {
"description": "create model",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"model"
],
"summary": "create model",
"parameters": [
{
"description": "create model request",
"name": "model",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.CreateModelReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/api/v1/model/check": {
"post": {
"description": "check model",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"model"
],
"summary": "check model",
"parameters": [
{
"description": "check model request",
"name": "model",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_domain.CheckModelReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.Response"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_domain.CheckModelResp"
}
}
}
]
}
}
}
}
},
"/api/v1/model/list": {
"get": {
"description": "get model list",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"model"
],
"summary": "get model list",
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_domain.ModelListItem"
}
}
}
]
}
}
}
}
},
"/api/v1/model/mode-setting": {
"get": {
"description": "get current model mode setting including mode, API key and chat model",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"model"
],
"summary": "get model mode setting",
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.Response"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/domain.ModelModeSetting"
}
}
}
]
}
}
}
}
},
"/api/v1/model/provider/supported": {
"post": {
"description": "get provider supported model list",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"model"
],
"summary": "get provider supported model list",
"parameters": [
{
"description": "get supported model list request",
"name": "params",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.GetProviderModelListReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/domain.GetProviderModelListResp"
}
}
}
]
}
}
}
}
},
"/api/v1/model/switch-mode": {
"post": {
"description": "switch model mode between manual and auto",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"model"
],
"summary": "switch mode",
"parameters": [
{
"description": "switch mode request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.SwitchModeReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.Response"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/domain.SwitchModeResp"
}
}
}
]
}
}
}
}
},
"/api/v1/nav/add": {
"post": {
"security": [
{
"bearerAuth": []
}
],
"description": "Add Nav",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Nav"
],
"summary": "添加分栏",
"parameters": [
{
"description": "Params",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.NavAddReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.PWResponse"
}
}
}
}
},
"/api/v1/nav/delete": {
"delete": {
"security": [
{
"bearerAuth": []
}
],
"description": "DeleteNav Nav",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Nav"
],
"summary": "删除栏目",
"parameters": [
{
"type": "string",
"name": "id",
"in": "query",
"required": true
},
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.PWResponse"
}
}
}
}
},
"/api/v1/nav/list": {
"get": {
"security": [
{
"bearerAuth": []
}
],
"description": "Get Nav List",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Nav"
],
"summary": "获取分栏列表",
"parameters": [
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/v1.NavListResp"
}
}
}
}
]
}
}
}
}
},
"/api/v1/nav/move": {
"post": {
"security": [
{
"bearerAuth": []
}
],
"description": "Move Nav",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Nav"
],
"summary": "移动栏目",
"parameters": [
{
"description": "Params",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.NavMoveReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.PWResponse"
}
}
}
}
},
"/api/v1/nav/update": {
"patch": {
"security": [
{
"bearerAuth": []
}
],
"description": "Update Nav",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Nav"
],
"summary": "更新栏目信息",
"parameters": [
{
"description": "Params",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.NavUpdateReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.PWResponse"
}
}
}
}
},
"/api/v1/node": {
"post": {
"security": [
{
"bearerAuth": []
}
],
"description": "Create Node",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"node"
],
"summary": "Create Node",
"parameters": [
{
"description": "Node",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.CreateNodeReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
}
]
}
}
}
}
},
"/api/v1/node/action": {
"post": {
"security": [
{
"bearerAuth": []
}
],
"description": "Node Action",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"node"
],
"summary": "Node Action",
"parameters": [
{
"description": "Action",
"name": "action",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.NodeActionReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
}
]
}
}
}
}
},
"/api/v1/node/batch_move": {
"post": {
"security": [
{
"bearerAuth": []
}
],
"description": "Batch Move Node",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"node"
],
"summary": "Batch Move Node",
"parameters": [
{
"description": "Batch Move Node",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.BatchMoveReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/api/v1/node/detail": {
"get": {
"security": [
{
"bearerAuth": []
}
],
"description": "Get Node Detail",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"node"
],
"summary": "Get Node Detail",
"parameters": [
{
"type": "string",
"name": "format",
"in": "query"
},
{
"type": "string",
"name": "id",
"in": "query",
"required": true
},
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/v1.NodeDetailResp"
}
}
}
]
}
}
}
},
"put": {
"security": [
{
"bearerAuth": []
}
],
"description": "Update Node Detail",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"node"
],
"summary": "Update Node Detail",
"parameters": [
{
"description": "Node",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.UpdateNodeReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/api/v1/node/list": {
"get": {
"security": [
{
"bearerAuth": []
}
],
"description": "Get Node List",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"node"
],
"summary": "Get Node List",
"parameters": [
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
},
{
"type": "string",
"name": "nav_id",
"in": "query"
},
{
"type": "string",
"name": "search",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.NodeListItemResp"
}
}
}
}
]
}
}
}
}
},
"/api/v1/node/list/group/nav": {
"get": {
"security": [
{
"bearerAuth": []
}
],
"description": "Get unpublished or unstudied document list grouped by nav",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"node"
],
"summary": "Get Node List Grouped by Nav",
"parameters": [
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
},
{
"type": "array",
"items": {
"type": "string"
},
"collectionFormat": "csv",
"name": "nav_ids",
"in": "query"
},
{
"type": "string",
"name": "search",
"in": "query"
},
{
"enum": [
"released",
"unpublished",
"unstudied"
],
"type": "string",
"name": "status",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_api_node_v1.NodeListGroupNavResp"
}
}
}
}
]
}
}
}
}
},
"/api/v1/node/move": {
"post": {
"security": [
{
"bearerAuth": []
}
],
"description": "Move Node",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"node"
],
"summary": "Move Node",
"parameters": [
{
"description": "Move Node",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.MoveNodeReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/api/v1/node/move/nav": {
"post": {
"security": [
{
"bearerAuth": []
}
],
"description": "Move node (and all its descendants if folder) to a different nav",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"node"
],
"summary": "Move Node to Nav",
"parameters": [
{
"description": "Move Node Nav",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.NodeMoveNavReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/api/v1/node/permission": {
"get": {
"security": [
{
"bearerAuth": []
}
],
"description": "文档授权信息获取",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"NodePermission"
],
"summary": "文档授权信息获取",
"operationId": "v1-NodePermission",
"parameters": [
{
"type": "string",
"name": "id",
"in": "query",
"required": true
},
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.Response"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/v1.NodePermissionResp"
}
}
}
]
}
}
}
}
},
"/api/v1/node/permission/edit": {
"patch": {
"security": [
{
"bearerAuth": []
}
],
"description": "文档授权信息更新",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"NodePermission"
],
"summary": "文档授权信息更新",
"operationId": "v1-NodePermissionEdit",
"parameters": [
{
"description": "para",
"name": "param",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.NodePermissionEditReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.Response"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/v1.NodePermissionEditResp"
}
}
}
]
}
}
}
}
},
"/api/v1/node/recommend_nodes": {
"get": {
"security": [
{
"bearerAuth": []
}
],
"description": "Recommend Nodes",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"node"
],
"summary": "Recommend Nodes",
"parameters": [
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
},
{
"type": "array",
"items": {
"type": "string"
},
"collectionFormat": "csv",
"name": "nav_ids",
"in": "query"
},
{
"type": "array",
"items": {
"type": "string"
},
"collectionFormat": "csv",
"name": "node_ids",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.RecommendNodeListResp"
}
}
}
}
]
}
}
}
}
},
"/api/v1/node/restudy": {
"post": {
"security": [
{
"bearerAuth": []
}
],
"description": "文档重新学习",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Node"
],
"summary": "文档重新学习",
"operationId": "v1-NodeRestudy",
"parameters": [
{
"description": "para",
"name": "param",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.NodeRestudyReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.Response"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/v1.NodeRestudyResp"
}
}
}
]
}
}
}
}
},
"/api/v1/node/stats": {
"get": {
"security": [
{
"bearerAuth": []
}
],
"description": "Get Node Statistics",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"node"
],
"summary": "Get Node Statistics",
"parameters": [
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/v1.NodeStatsResp"
}
}
}
]
}
}
}
}
},
"/api/v1/node/summary": {
"post": {
"security": [
{
"bearerAuth": []
}
],
"description": "Summary Node",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"node"
],
"summary": "Summary Node 异步后台生成",
"parameters": [
{
"description": "Summary Node",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.NodeSummaryReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/api/v1/node/summary/stream": {
"post": {
"security": [
{
"bearerAuth": []
}
],
"description": "Stream Summary Node for single document",
"consumes": [
"application/json"
],
"produces": [
"text/event-stream"
],
"tags": [
"node"
],
"summary": "Stream Summary Node",
"parameters": [
{
"description": "Summary Node",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.NodeSummaryReq"
}
}
],
"responses": {
"200": {
"description": "SSE stream",
"schema": {
"type": "string"
}
}
}
}
},
"/api/v1/stat/browsers": {
"get": {
"security": [
{
"bearerAuth": []
}
],
"description": "客户端统计",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"stat"
],
"summary": "客户端统计",
"parameters": [
{
"enum": [
1,
7,
30,
90
],
"type": "integer",
"x-enum-varnames": [
"StatDay1",
"StatDay7",
"StatDay30",
"StatDay90"
],
"name": "day",
"in": "query"
},
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.Response"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/domain.HotBrowser"
}
}
}
]
}
}
}
}
},
"/api/v1/stat/conversation_distribution": {
"get": {
"security": [
{
"bearerAuth": []
}
],
"description": "问答来源",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"stat"
],
"summary": "问答来源",
"parameters": [
{
"enum": [
1,
7,
30,
90
],
"type": "integer",
"x-enum-varnames": [
"StatDay1",
"StatDay7",
"StatDay30",
"StatDay90"
],
"name": "day",
"in": "query"
},
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/v1.StatConversationDistributionResp"
}
}
}
}
]
}
}
}
}
},
"/api/v1/stat/count": {
"get": {
"security": [
{
"bearerAuth": []
}
],
"description": "全局统计",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"stat"
],
"summary": "全局统计",
"parameters": [
{
"enum": [
1,
7,
30,
90
],
"type": "integer",
"x-enum-varnames": [
"StatDay1",
"StatDay7",
"StatDay30",
"StatDay90"
],
"name": "day",
"in": "query"
},
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/v1.StatCountResp"
}
}
}
]
}
}
}
}
},
"/api/v1/stat/geo_count": {
"get": {
"security": [
{
"bearerAuth": []
}
],
"description": "用户地理分布",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"stat"
],
"summary": "用户地理分布",
"parameters": [
{
"enum": [
1,
7,
30,
90
],
"type": "integer",
"x-enum-varnames": [
"StatDay1",
"StatDay7",
"StatDay30",
"StatDay90"
],
"name": "day",
"in": "query"
},
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/api/v1/stat/hot_pages": {
"get": {
"security": [
{
"bearerAuth": []
}
],
"description": "热门文档",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"stat"
],
"summary": "热门文档",
"parameters": [
{
"enum": [
1,
7,
30,
90
],
"type": "integer",
"x-enum-varnames": [
"StatDay1",
"StatDay7",
"StatDay30",
"StatDay90"
],
"name": "day",
"in": "query"
},
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.HotPage"
}
}
}
}
]
}
}
}
}
},
"/api/v1/stat/instant_count": {
"get": {
"security": [
{
"bearerAuth": []
}
],
"description": "GetInstantCount",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"stat"
],
"summary": "GetInstantCount",
"parameters": [
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.InstantCountResp"
}
}
}
}
]
}
}
}
}
},
"/api/v1/stat/instant_pages": {
"get": {
"security": [
{
"bearerAuth": []
}
],
"description": "GetInstantPages",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"stat"
],
"summary": "GetInstantPages",
"parameters": [
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.InstantPageResp"
}
}
}
}
]
}
}
}
}
},
"/api/v1/stat/referer_hosts": {
"get": {
"security": [
{
"bearerAuth": []
}
],
"description": "来源域名",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"stat"
],
"summary": "来源域名",
"parameters": [
{
"enum": [
1,
7,
30,
90
],
"type": "integer",
"x-enum-varnames": [
"StatDay1",
"StatDay7",
"StatDay30",
"StatDay90"
],
"name": "day",
"in": "query"
},
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.HotRefererHost"
}
}
}
}
]
}
}
}
}
},
"/api/v1/user": {
"get": {
"description": "GetUser",
"consumes": [
"application/json"
],
"tags": [
"user"
],
"summary": "GetUser",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/v1.UserInfoResp"
}
}
}
}
},
"/api/v1/user/create": {
"post": {
"description": "CreateUser",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "CreateUser",
"parameters": [
{
"description": "CreateUser Request",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.CreateUserReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.Response"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/v1.CreateUserResp"
}
}
}
]
}
}
}
}
},
"/api/v1/user/delete": {
"delete": {
"description": "DeleteUser",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "DeleteUser",
"parameters": [
{
"type": "string",
"name": "user_id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/api/v1/user/list": {
"get": {
"description": "ListUsers",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "ListUsers",
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/v1.UserListResp"
}
}
}
]
}
}
}
}
},
"/api/v1/user/login": {
"post": {
"description": "Login",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Login",
"parameters": [
{
"description": "Login Request",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.LoginReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/v1.LoginResp"
}
}
}
}
},
"/api/v1/user/reset_password": {
"put": {
"description": "ResetPassword",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "ResetPassword",
"parameters": [
{
"description": "ResetPassword Request",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.ResetPasswordReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/share/v1/app/web/info": {
"get": {
"description": "GetAppInfo",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"share_app"
],
"summary": "GetAppInfo",
"parameters": [
{
"type": "string",
"description": "kb id",
"name": "X-KB-ID",
"in": "header",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.Response"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/domain.AppInfoResp"
}
}
}
]
}
}
}
}
},
"/share/v1/app/wechat/info": {
"get": {
"description": "WechatAppInfo",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"share_chat"
],
"summary": "WechatAppInfo",
"parameters": [
{
"type": "string",
"description": "kb id",
"name": "X-KB-ID",
"in": "header",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.Response"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/v1.WechatAppInfoResp"
}
}
}
]
}
}
}
}
},
"/share/v1/app/wechat/service/answer": {
"get": {
"description": "GetWechatAnswer",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Wechat"
],
"summary": "GetWechatAnswer",
"parameters": [
{
"type": "string",
"description": "conversation id",
"name": "id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/share/v1/app/widget/info": {
"get": {
"description": "GetWidgetAppInfo",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"share_app"
],
"summary": "GetWidgetAppInfo",
"parameters": [
{
"type": "string",
"description": "kb id",
"name": "X-KB-ID",
"in": "header",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/share/v1/auth/get": {
"get": {
"description": "AuthGet",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"share_auth"
],
"summary": "AuthGet",
"operationId": "v1-AuthGet",
"parameters": [
{
"type": "string",
"description": "kb_id",
"name": "X-KB-ID",
"in": "header",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_api_share_v1.AuthGetResp"
}
}
}
]
}
}
}
}
},
"/share/v1/auth/github": {
"post": {
"description": "GitHub登录",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"ShareAuth"
],
"summary": "GitHub登录",
"operationId": "v1-AuthGitHub",
"parameters": [
{
"type": "string",
"description": "kb id",
"name": "X-KB-ID",
"in": "header",
"required": true
},
{
"description": "para",
"name": "param",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_api_share_v1.AuthGitHubReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_api_share_v1.AuthGitHubResp"
}
}
}
]
}
}
}
}
},
"/share/v1/auth/login/simple": {
"post": {
"description": "AuthLoginSimple",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"share_auth"
],
"summary": "AuthLoginSimple",
"operationId": "v1-AuthLoginSimple",
"parameters": [
{
"type": "string",
"description": "kb_id",
"name": "X-KB-ID",
"in": "header",
"required": true
},
{
"description": "para",
"name": "param",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.AuthLoginSimpleReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/share/v1/captcha/challenge": {
"post": {
"description": "CreateCaptcha",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"share_captcha"
],
"summary": "CreateCaptcha",
"parameters": [
{
"type": "string",
"description": "kb id",
"name": "X-KB-ID",
"in": "header",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/gocap.ChallengeData"
}
}
}
}
},
"/share/v1/captcha/redeem": {
"post": {
"description": "RedeemCaptcha",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"share_captcha"
],
"summary": "RedeemCaptcha",
"parameters": [
{
"type": "string",
"description": "kb id",
"name": "X-KB-ID",
"in": "header",
"required": true
},
{
"description": "request",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/consts.RedeemCaptchaReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/gocap.VerificationResult"
}
}
}
}
},
"/share/v1/chat/completions": {
"post": {
"description": "OpenAI API compatible chat completions endpoint",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"share_chat"
],
"summary": "ChatCompletions",
"parameters": [
{
"type": "string",
"description": "Knowledge Base ID",
"name": "X-KB-ID",
"in": "header",
"required": true
},
{
"description": "OpenAI API request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.OpenAICompletionsRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.OpenAICompletionsResponse"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/domain.OpenAIErrorResponse"
}
}
}
}
},
"/share/v1/chat/feedback": {
"post": {
"description": "Process user feedback for chat conversations",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"share_chat"
],
"summary": "Handle chat feedback",
"parameters": [
{
"description": "feedback request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.FeedbackRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/share/v1/chat/message": {
"post": {
"description": "ChatMessage",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"share_chat"
],
"summary": "ChatMessage",
"parameters": [
{
"type": "string",
"description": "app type",
"name": "app_type",
"in": "query",
"required": true
},
{
"description": "request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.ChatRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/share/v1/chat/search": {
"post": {
"description": "ChatSearch",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"share_chat_search"
],
"summary": "ChatSearch",
"parameters": [
{
"description": "request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.ChatSearchReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.Response"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/domain.ChatSearchResp"
}
}
}
]
}
}
}
}
},
"/share/v1/chat/widget": {
"post": {
"description": "ChatWidget",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Widget"
],
"summary": "ChatWidget",
"parameters": [
{
"type": "string",
"description": "app type",
"name": "app_type",
"in": "query",
"required": true
},
{
"description": "request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.ChatRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/share/v1/chat/widget/search": {
"post": {
"description": "WidgetSearch",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Widget"
],
"summary": "WidgetSearch",
"parameters": [
{
"description": "Comment",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.ChatSearchReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.Response"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/domain.ChatSearchResp"
}
}
}
]
}
}
}
}
},
"/share/v1/comment": {
"post": {
"description": "CreateComment",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"share_comment"
],
"summary": "CreateComment",
"parameters": [
{
"description": "Comment",
"name": "comment",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.CommentReq"
}
}
],
"responses": {
"200": {
"description": "CommentID",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "string"
}
}
}
]
}
}
}
}
},
"/share/v1/comment/list": {
"get": {
"description": "GetCommentList",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"share_comment"
],
"summary": "GetCommentList",
"parameters": [
{
"type": "string",
"description": "nodeID",
"name": "id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "CommentList",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/share.ShareCommentLists"
}
}
}
]
}
}
}
}
},
"/share/v1/common/file/upload": {
"post": {
"description": "前台用户上传文件,目前只支持图片文件上传",
"consumes": [
"multipart/form-data"
],
"produces": [
"application/json"
],
"tags": [
"ShareFile"
],
"summary": "文件上传",
"operationId": "share-FileUpload",
"parameters": [
{
"type": "string",
"description": "kb id",
"name": "X-KB-ID",
"in": "header",
"required": true
},
{
"type": "file",
"description": "File",
"name": "file",
"in": "formData",
"required": true
},
{
"type": "string",
"description": "captcha_token",
"name": "captcha_token",
"in": "formData",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.Response"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_api_share_v1.FileUploadResp"
}
}
}
]
}
}
}
}
},
"/share/v1/common/file/upload/url": {
"post": {
"description": "前台用户上传文件,目前只支持图片文件上传",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"ShareFile"
],
"summary": "文件上传",
"operationId": "share-FileUploadByUrl",
"parameters": [
{
"description": "body",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1.ShareFileUploadUrlReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.Response"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/v1.ShareFileUploadUrlResp"
}
}
}
]
}
}
}
}
},
"/share/v1/conversation/detail": {
"get": {
"description": "GetConversationDetail",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"share_conversation"
],
"summary": "GetConversationDetail",
"parameters": [
{
"type": "string",
"description": "kb id",
"name": "X-KB-ID",
"in": "header",
"required": true
},
{
"type": "string",
"description": "conversation id",
"name": "id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/domain.ShareConversationDetailResp"
}
}
}
]
}
}
}
}
},
"/share/v1/nav/list": {
"get": {
"description": "ShareNavList",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"share_nav"
],
"summary": "前台获取栏目列表",
"parameters": [
{
"type": "string",
"name": "kb_id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/share/v1/node/detail": {
"get": {
"description": "GetNodeDetail",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"share_node"
],
"summary": "GetNodeDetail",
"parameters": [
{
"type": "string",
"description": "kb id",
"name": "X-KB-ID",
"in": "header",
"required": true
},
{
"type": "string",
"description": "node id",
"name": "id",
"in": "query",
"required": true
},
{
"type": "string",
"description": "format",
"name": "format",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.Response"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/v1.ShareNodeDetailResp"
}
}
}
]
}
}
}
}
},
"/share/v1/node/list": {
"get": {
"description": "ShareNodeList",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"share_node"
],
"summary": "ShareNodeList",
"parameters": [
{
"type": "string",
"description": "kb id",
"name": "X-KB-ID",
"in": "header",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
},
"/share/v1/openapi/github/callback": {
"get": {
"description": "GitHub回调",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"ShareOpenapi"
],
"summary": "GitHub回调",
"operationId": "v1-GitHubCallback",
"parameters": [
{
"type": "string",
"name": "code",
"in": "query"
},
{
"type": "string",
"name": "state",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/domain.PWResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_api_share_v1.GitHubCallbackResp"
}
}
}
]
}
}
}
}
},
"/share/v1/openapi/lark/bot/{kb_id}": {
"post": {
"description": "Lark机器人请求",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"ShareOpenapi"
],
"summary": "Lark机器人请求",
"operationId": "v1-LarkBot",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "kb_id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.PWResponse"
}
}
}
}
},
"/share/v1/stat/page": {
"post": {
"description": "RecordPage",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"share_stat"
],
"summary": "RecordPage",
"parameters": [
{
"description": "request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/domain.StatPageReq"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
}
}
}
}
},
"definitions": {
"anydoc.Child": {
"type": "object",
"properties": {
"children": {
"type": "array",
"items": {
"$ref": "#/definitions/anydoc.Child"
}
},
"value": {
"$ref": "#/definitions/anydoc.Value"
}
}
},
"anydoc.DingtalkSetting": {
"type": "object",
"properties": {
"app_id": {
"type": "string"
},
"app_secret": {
"type": "string"
},
"phone": {
"type": "string"
},
"space_id": {
"type": "string"
},
"unionid": {
"type": "string"
}
}
},
"anydoc.FeishuSetting": {
"type": "object",
"properties": {
"app_id": {
"type": "string"
},
"app_secret": {
"type": "string"
},
"space_id": {
"type": "string"
},
"user_access_token": {
"type": "string"
}
}
},
"anydoc.Value": {
"type": "object",
"properties": {
"file": {
"type": "boolean"
},
"file_type": {
"type": "string"
},
"id": {
"type": "string"
},
"summary": {
"type": "string"
},
"title": {
"type": "string"
}
}
},
"consts.AuthType": {
"type": "string",
"enum": [
"",
"simple",
"enterprise"
],
"x-enum-comments": {
"AuthTypeEnterprise": "企业认证",
"AuthTypeNull": "无认证",
"AuthTypeSimple": "简单口令"
},
"x-enum-descriptions": [
"无认证",
"简单口令",
"企业认证"
],
"x-enum-varnames": [
"AuthTypeNull",
"AuthTypeSimple",
"AuthTypeEnterprise"
]
},
"consts.CopySetting": {
"type": "string",
"enum": [
"",
"append",
"disabled"
],
"x-enum-comments": {
"CopySettingAppend": "增加内容尾巴",
"CopySettingDisabled": "禁止复制内容",
"CopySettingNone": "无限制"
},
"x-enum-descriptions": [
"无限制",
"增加内容尾巴",
"禁止复制内容"
],
"x-enum-varnames": [
"CopySettingNone",
"CopySettingAppend",
"CopySettingDisabled"
]
},
"consts.CrawlerSource": {
"type": "string",
"enum": [
"url",
"rss",
"sitemap",
"notion",
"feishu",
"dingtalk",
"file",
"epub",
"yuque",
"siyuan",
"mindoc",
"wikijs",
"confluence"
],
"x-enum-varnames": [
"CrawlerSourceUrl",
"CrawlerSourceRSS",
"CrawlerSourceSitemap",
"CrawlerSourceNotion",
"CrawlerSourceFeishu",
"CrawlerSourceDingtalk",
"CrawlerSourceFile",
"CrawlerSourceEpub",
"CrawlerSourceYuque",
"CrawlerSourceSiyuan",
"CrawlerSourceMindoc",
"CrawlerSourceWikijs",
"CrawlerSourceConfluence"
]
},
"consts.CrawlerStatus": {
"type": "string",
"enum": [
"pending",
"in_process",
"completed",
"failed"
],
"x-enum-varnames": [
"CrawlerStatusPending",
"CrawlerStatusInProcess",
"CrawlerStatusCompleted",
"CrawlerStatusFailed"
]
},
"consts.HomePageSetting": {
"type": "string",
"enum": [
"doc",
"custom"
],
"x-enum-comments": {
"HomePageSettingCustom": "自定义首页",
"HomePageSettingDoc": "文档页面"
},
"x-enum-descriptions": [
"文档页面",
"自定义首页"
],
"x-enum-varnames": [
"HomePageSettingDoc",
"HomePageSettingCustom"
]
},
"consts.LicenseEdition": {
"type": "integer",
"format": "int32",
"enum": [
0,
1,
2,
3
],
"x-enum-comments": {
"LicenseEditionBusiness": "商业版",
"LicenseEditionEnterprise": "企业版",
"LicenseEditionFree": "开源版",
"LicenseEditionProfession": "专业版"
},
"x-enum-descriptions": [
"开源版",
"专业版",
"企业版",
"商业版"
],
"x-enum-varnames": [
"LicenseEditionFree",
"LicenseEditionProfession",
"LicenseEditionEnterprise",
"LicenseEditionBusiness"
]
},
"consts.ModelSettingMode": {
"type": "string",
"enum": [
"manual",
"auto"
],
"x-enum-varnames": [
"ModelSettingModeManual",
"ModelSettingModeAuto"
]
},
"consts.NodeAccessPerm": {
"type": "string",
"enum": [
"open",
"partial",
"closed"
],
"x-enum-comments": {
"NodeAccessPermClosed": "完全禁止",
"NodeAccessPermOpen": "完全开放",
"NodeAccessPermPartial": "部分开放"
},
"x-enum-descriptions": [
"完全开放",
"部分开放",
"完全禁止"
],
"x-enum-varnames": [
"NodeAccessPermOpen",
"NodeAccessPermPartial",
"NodeAccessPermClosed"
]
},
"consts.NodePermName": {
"type": "string",
"enum": [
"visible",
"visitable",
"answerable"
],
"x-enum-comments": {
"NodePermNameAnswerable": "可被问答",
"NodePermNameVisible": "导航内可见",
"NodePermNameVisitable": "可被访问"
},
"x-enum-descriptions": [
"导航内可见",
"可被访问",
"可被问答"
],
"x-enum-varnames": [
"NodePermNameVisible",
"NodePermNameVisitable",
"NodePermNameAnswerable"
]
},
"consts.NodeRagInfoStatus": {
"type": "string",
"enum": [
"PENDING",
"RUNNING",
"FAILED",
"SUCCEEDED",
"REINDEX"
],
"x-enum-comments": {
"NodeRagStatusFailed": "处理失败",
"NodeRagStatusPending": "等待处理",
"NodeRagStatusReindexing": "重新索引中",
"NodeRagStatusRunning": "正在进行处理(文本分割、向量化等)",
"NodeRagStatusSucceeded": "处理成功"
},
"x-enum-descriptions": [
"等待处理",
"正在进行处理(文本分割、向量化等)",
"处理失败",
"处理成功",
"重新索引中"
],
"x-enum-varnames": [
"NodeRagStatusPending",
"NodeRagStatusRunning",
"NodeRagStatusFailed",
"NodeRagStatusSucceeded",
"NodeRagStatusReindexing"
]
},
"consts.RedeemCaptchaReq": {
"type": "object",
"properties": {
"solutions": {
"type": "array",
"items": {
"type": "integer"
}
},
"token": {
"type": "string"
}
}
},
"consts.SourceType": {
"type": "string",
"enum": [
"dingtalk",
"feishu",
"wecom",
"oauth",
"github",
"cas",
"ldap",
"widget",
"dingtalk_bot",
"feishu_bot",
"lark_bot",
"wechat_bot",
"wecom_ai_bot",
"wechat_service_bot",
"discord_bot",
"wechat_official_account",
"openai_api",
"mcp_server"
],
"x-enum-varnames": [
"SourceTypeDingTalk",
"SourceTypeFeishu",
"SourceTypeWeCom",
"SourceTypeOAuth",
"SourceTypeGitHub",
"SourceTypeCAS",
"SourceTypeLDAP",
"SourceTypeWidget",
"SourceTypeDingtalkBot",
"SourceTypeFeishuBot",
"SourceTypeLarkBot",
"SourceTypeWechatBot",
"SourceTypeWecomAIBot",
"SourceTypeWechatServiceBot",
"SourceTypeDiscordBot",
"SourceTypeWechatOfficialAccount",
"SourceTypeOpenAIAPI",
"SourceTypeMcpServer"
]
},
"consts.StatDay": {
"type": "integer",
"enum": [
1,
7,
30,
90
],
"x-enum-varnames": [
"StatDay1",
"StatDay7",
"StatDay30",
"StatDay90"
]
},
"consts.UserKBPermission": {
"type": "string",
"enum": [
"",
"not null",
"full_control",
"doc_manage",
"data_operate"
],
"x-enum-comments": {
"UserKBPermissionDataOperate": "数据运营",
"UserKBPermissionDocManage": "文档管理",
"UserKBPermissionFullControl": "完全控制",
"UserKBPermissionNotNull": "有权限",
"UserKBPermissionNull": "无权限"
},
"x-enum-descriptions": [
"无权限",
"有权限",
"完全控制",
"文档管理",
"数据运营"
],
"x-enum-varnames": [
"UserKBPermissionNull",
"UserKBPermissionNotNull",
"UserKBPermissionFullControl",
"UserKBPermissionDocManage",
"UserKBPermissionDataOperate"
]
},
"consts.UserRole": {
"type": "string",
"enum": [
"admin",
"user"
],
"x-enum-comments": {
"UserRoleAdmin": "管理员",
"UserRoleUser": "普通用户"
},
"x-enum-descriptions": [
"管理员",
"普通用户"
],
"x-enum-varnames": [
"UserRoleAdmin",
"UserRoleUser"
]
},
"consts.WatermarkSetting": {
"type": "string",
"enum": [
"",
"hidden",
"visible"
],
"x-enum-comments": {
"WatermarkDisabled": "未开启水印",
"WatermarkHidden": "隐形水印",
"WatermarkVisible": "显性水印"
},
"x-enum-descriptions": [
"未开启水印",
"隐形水印",
"显性水印"
],
"x-enum-varnames": [
"WatermarkDisabled",
"WatermarkHidden",
"WatermarkVisible"
]
},
"domain.AIFeedbackSettings": {
"type": "object",
"properties": {
"ai_feedback_type": {
"type": "array",
"items": {
"type": "string"
}
},
"is_enabled": {
"type": "boolean"
}
}
},
"domain.AccessSettings": {
"type": "object",
"properties": {
"base_url": {
"type": "string"
},
"enterprise_auth": {
"$ref": "#/definitions/domain.EnterpriseAuth"
},
"hosts": {
"type": "array",
"items": {
"type": "string"
}
},
"is_forbidden": {
"description": "禁止访问",
"type": "boolean"
},
"ports": {
"type": "array",
"items": {
"type": "integer"
}
},
"private_key": {
"type": "string"
},
"public_key": {
"type": "string"
},
"simple_auth": {
"$ref": "#/definitions/domain.SimpleAuth"
},
"source_type": {
"description": "企业认证来源",
"allOf": [
{
"$ref": "#/definitions/consts.SourceType"
}
]
},
"ssl_ports": {
"type": "array",
"items": {
"type": "integer"
}
},
"trusted_proxies": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"domain.AnydocUploadResp": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"data": {
"type": "string"
},
"err": {
"type": "string"
}
}
},
"domain.AppDetailResp": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"kb_id": {
"type": "string"
},
"name": {
"type": "string"
},
"recommend_nodes": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.RecommendNodeListResp"
}
},
"settings": {
"$ref": "#/definitions/domain.AppSettingsResp"
},
"type": {
"$ref": "#/definitions/domain.AppType"
}
}
},
"domain.AppInfoResp": {
"type": "object",
"properties": {
"base_url": {
"type": "string"
},
"name": {
"type": "string"
},
"recommend_nodes": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.RecommendNodeListResp"
}
},
"settings": {
"$ref": "#/definitions/domain.AppSettingsResp"
}
}
},
"domain.AppSettings": {
"type": "object",
"properties": {
"ai_feedback_settings": {
"description": "AI feedback",
"allOf": [
{
"$ref": "#/definitions/domain.AIFeedbackSettings"
}
]
},
"body_code": {
"type": "string"
},
"btns": {
"type": "array",
"items": {}
},
"catalog_settings": {
"description": "catalog settings",
"allOf": [
{
"$ref": "#/definitions/domain.CatalogSettings"
}
]
},
"contribute_settings": {
"$ref": "#/definitions/domain.ContributeSettings"
},
"conversation_setting": {
"$ref": "#/definitions/domain.ConversationSetting"
},
"copy_setting": {
"enum": [
"",
"append",
"disabled"
],
"allOf": [
{
"$ref": "#/definitions/consts.CopySetting"
}
]
},
"desc": {
"description": "seo",
"type": "string"
},
"dingtalk_bot_client_id": {
"type": "string"
},
"dingtalk_bot_client_secret": {
"type": "string"
},
"dingtalk_bot_is_enabled": {
"description": "DingTalkBot",
"type": "boolean"
},
"dingtalk_bot_template_id": {
"type": "string"
},
"disclaimer_settings": {
"description": "Disclaimer Settings",
"allOf": [
{
"$ref": "#/definitions/domain.DisclaimerSettings"
}
]
},
"discord_bot_is_enabled": {
"description": "DisCordBot",
"type": "boolean"
},
"discord_bot_token": {
"type": "string"
},
"document_feedback_is_enabled": {
"description": "document feedback",
"type": "boolean"
},
"feishu_bot_app_id": {
"type": "string"
},
"feishu_bot_app_secret": {
"type": "string"
},
"feishu_bot_is_enabled": {
"description": "FeishuBot",
"type": "boolean"
},
"footer_settings": {
"description": "footer settings",
"allOf": [
{
"$ref": "#/definitions/domain.FooterSettings"
}
]
},
"head_code": {
"description": "inject code",
"type": "string"
},
"home_page_setting": {
"$ref": "#/definitions/consts.HomePageSetting"
},
"icon": {
"type": "string"
},
"keyword": {
"type": "string"
},
"lark_bot_settings": {
"description": "LarkBot",
"allOf": [
{
"$ref": "#/definitions/domain.LarkBotSettings"
}
]
},
"mcp_server_settings": {
"description": "MCP Server Settings",
"allOf": [
{
"$ref": "#/definitions/domain.MCPServerSettings"
}
]
},
"openai_api_bot_settings": {
"description": "OpenAI API Bot settings",
"allOf": [
{
"$ref": "#/definitions/domain.OpenAIAPIBotSettings"
}
]
},
"recommend_node_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"recommend_questions": {
"type": "array",
"items": {
"type": "string"
}
},
"search_placeholder": {
"type": "string"
},
"stats_setting": {
"$ref": "#/definitions/domain.StatsSetting"
},
"theme_and_style": {
"$ref": "#/definitions/domain.ThemeAndStyle"
},
"theme_mode": {
"description": "theme",
"type": "string"
},
"title": {
"description": "nav",
"type": "string"
},
"watermark_content": {
"type": "string"
},
"watermark_setting": {
"enum": [
"",
"hidden",
"visible"
],
"allOf": [
{
"$ref": "#/definitions/consts.WatermarkSetting"
}
]
},
"web_app_comment_settings": {
"description": "webapp comment settings",
"allOf": [
{
"$ref": "#/definitions/domain.WebAppCommentSettings"
}
]
},
"web_app_custom_style": {
"description": "WebAppCustomStyle",
"allOf": [
{
"$ref": "#/definitions/domain.WebAppCustomSettings"
}
]
},
"web_app_landing_configs": {
"description": "WebAppLandingConfigs",
"type": "array",
"items": {
"$ref": "#/definitions/domain.WebAppLandingConfig"
}
},
"web_app_landing_theme": {
"$ref": "#/definitions/domain.WebAppLandingTheme"
},
"wechat_app_advanced_setting": {
"$ref": "#/definitions/domain.WeChatAppAdvancedSetting"
},
"wechat_app_agent_id": {
"type": "string"
},
"wechat_app_corpid": {
"type": "string"
},
"wechat_app_encodingaeskey": {
"type": "string"
},
"wechat_app_is_enabled": {
"description": "WechatAppBot 企业微信机器人",
"type": "boolean"
},
"wechat_app_secret": {
"type": "string"
},
"wechat_app_token": {
"type": "string"
},
"wechat_official_account_app_id": {
"type": "string"
},
"wechat_official_account_app_secret": {
"type": "string"
},
"wechat_official_account_encodingaeskey": {
"type": "string"
},
"wechat_official_account_is_enabled": {
"description": "WechatOfficialAccount",
"type": "boolean"
},
"wechat_official_account_token": {
"type": "string"
},
"wechat_service_contain_keywords": {
"type": "array",
"items": {
"type": "string"
}
},
"wechat_service_corpid": {
"type": "string"
},
"wechat_service_encodingaeskey": {
"type": "string"
},
"wechat_service_equal_keywords": {
"type": "array",
"items": {
"type": "string"
}
},
"wechat_service_is_enabled": {
"description": "WechatServiceBot",
"type": "boolean"
},
"wechat_service_logo": {
"type": "string"
},
"wechat_service_secret": {
"type": "string"
},
"wechat_service_token": {
"type": "string"
},
"wecom_ai_bot_settings": {
"description": "WecomAIBotSettings 企业微信智能机器人",
"allOf": [
{
"$ref": "#/definitions/domain.WecomAIBotSettings"
}
]
},
"welcome_str": {
"description": "welcome",
"type": "string"
},
"widget_bot_settings": {
"description": "Widget bot settings",
"allOf": [
{
"$ref": "#/definitions/domain.WidgetBotSettings"
}
]
}
}
},
"domain.AppSettingsResp": {
"type": "object",
"properties": {
"ai_feedback_settings": {
"description": "AI feedback",
"allOf": [
{
"$ref": "#/definitions/domain.AIFeedbackSettings"
}
]
},
"body_code": {
"type": "string"
},
"btns": {
"type": "array",
"items": {}
},
"catalog_settings": {
"description": "catalog settings",
"allOf": [
{
"$ref": "#/definitions/domain.CatalogSettings"
}
]
},
"contribute_settings": {
"$ref": "#/definitions/domain.ContributeSettings"
},
"conversation_setting": {
"$ref": "#/definitions/domain.ConversationSetting"
},
"copy_setting": {
"$ref": "#/definitions/consts.CopySetting"
},
"desc": {
"description": "seo",
"type": "string"
},
"dingtalk_bot_client_id": {
"type": "string"
},
"dingtalk_bot_client_secret": {
"type": "string"
},
"dingtalk_bot_is_enabled": {
"description": "DingTalkBot",
"type": "boolean"
},
"dingtalk_bot_template_id": {
"type": "string"
},
"disclaimer_settings": {
"description": "Disclaimer Settings",
"allOf": [
{
"$ref": "#/definitions/domain.DisclaimerSettings"
}
]
},
"discord_bot_is_enabled": {
"description": "DisCordBot",
"type": "boolean"
},
"discord_bot_token": {
"type": "string"
},
"document_feedback_is_enabled": {
"description": "document feedback",
"type": "boolean"
},
"feishu_bot_app_id": {
"type": "string"
},
"feishu_bot_app_secret": {
"type": "string"
},
"feishu_bot_is_enabled": {
"description": "FeishuBot",
"type": "boolean"
},
"footer_settings": {
"description": "footer settings",
"allOf": [
{
"$ref": "#/definitions/domain.FooterSettings"
}
]
},
"head_code": {
"description": "inject code",
"type": "string"
},
"home_page_setting": {
"$ref": "#/definitions/consts.HomePageSetting"
},
"icon": {
"type": "string"
},
"keyword": {
"type": "string"
},
"lark_bot_settings": {
"description": "LarkBot",
"allOf": [
{
"$ref": "#/definitions/domain.LarkBotSettings"
}
]
},
"mcp_server_settings": {
"description": "MCP Server Settings",
"allOf": [
{
"$ref": "#/definitions/domain.MCPServerSettings"
}
]
},
"openai_api_bot_settings": {
"description": "OpenAI API settings",
"allOf": [
{
"$ref": "#/definitions/domain.OpenAIAPIBotSettings"
}
]
},
"recommend_node_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"recommend_questions": {
"type": "array",
"items": {
"type": "string"
}
},
"search_placeholder": {
"type": "string"
},
"stats_setting": {
"$ref": "#/definitions/domain.StatsSetting"
},
"theme_and_style": {
"$ref": "#/definitions/domain.ThemeAndStyle"
},
"theme_mode": {
"description": "theme",
"type": "string"
},
"title": {
"description": "nav",
"type": "string"
},
"watermark_content": {
"type": "string"
},
"watermark_setting": {
"$ref": "#/definitions/consts.WatermarkSetting"
},
"web_app_comment_settings": {
"description": "webapp comment settings",
"allOf": [
{
"$ref": "#/definitions/domain.WebAppCommentSettings"
}
]
},
"web_app_custom_style": {
"description": "WebAppCustomStyle",
"allOf": [
{
"$ref": "#/definitions/domain.WebAppCustomSettings"
}
]
},
"web_app_landing_configs": {
"description": "WebApp Landing Settings",
"type": "array",
"items": {
"$ref": "#/definitions/domain.WebAppLandingConfigResp"
}
},
"web_app_landing_theme": {
"$ref": "#/definitions/domain.WebAppLandingTheme"
},
"wechat_app_advanced_setting": {
"$ref": "#/definitions/domain.WeChatAppAdvancedSetting"
},
"wechat_app_agent_id": {
"type": "string"
},
"wechat_app_corpid": {
"type": "string"
},
"wechat_app_encodingaeskey": {
"type": "string"
},
"wechat_app_is_enabled": {
"description": "WechatAppBot",
"type": "boolean"
},
"wechat_app_secret": {
"type": "string"
},
"wechat_app_token": {
"type": "string"
},
"wechat_official_account_app_id": {
"type": "string"
},
"wechat_official_account_app_secret": {
"type": "string"
},
"wechat_official_account_encodingaeskey": {
"type": "string"
},
"wechat_official_account_is_enabled": {
"description": "WechatOfficialAccount",
"type": "boolean"
},
"wechat_official_account_token": {
"type": "string"
},
"wechat_service_contain_keywords": {
"type": "array",
"items": {
"type": "string"
}
},
"wechat_service_corpid": {
"type": "string"
},
"wechat_service_encodingaeskey": {
"type": "string"
},
"wechat_service_equal_keywords": {
"type": "array",
"items": {
"type": "string"
}
},
"wechat_service_is_enabled": {
"description": "WechatServiceBot",
"type": "boolean"
},
"wechat_service_logo": {
"type": "string"
},
"wechat_service_secret": {
"type": "string"
},
"wechat_service_token": {
"type": "string"
},
"wecom_ai_bot_settings": {
"$ref": "#/definitions/domain.WecomAIBotSettings"
},
"welcome_str": {
"description": "welcome",
"type": "string"
},
"widget_bot_settings": {
"description": "WidgetBot",
"allOf": [
{
"$ref": "#/definitions/domain.WidgetBotSettings"
}
]
}
}
},
"domain.AppType": {
"type": "integer",
"format": "int32",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12
],
"x-enum-varnames": [
"AppTypeWeb",
"AppTypeWidget",
"AppTypeDingTalkBot",
"AppTypeFeishuBot",
"AppTypeWechatBot",
"AppTypeWechatServiceBot",
"AppTypeDisCordBot",
"AppTypeWechatOfficialAccount",
"AppTypeOpenAIAPI",
"AppTypeWecomAIBot",
"AppTypeLarkBot",
"AppTypeMcpServer"
]
},
"domain.AuthUserInfo": {
"type": "object",
"properties": {
"avatar_url": {
"type": "string"
},
"email": {
"type": "string"
},
"username": {
"type": "string"
}
}
},
"domain.BannerConfig": {
"type": "object",
"properties": {
"bg_url": {
"type": "string"
},
"btns": {
"type": "array",
"items": {
"type": "object",
"properties": {
"href": {
"type": "string"
},
"id": {
"type": "string"
},
"text": {
"type": "string"
},
"type": {
"type": "string"
}
}
}
},
"hot_search": {
"type": "array",
"items": {
"type": "string"
}
},
"placeholder": {
"type": "string"
},
"subtitle": {
"type": "string"
},
"subtitle_color": {
"type": "string"
},
"subtitle_font_size": {
"type": "integer"
},
"title": {
"type": "string"
},
"title_color": {
"type": "string"
},
"title_font_size": {
"type": "integer"
}
}
},
"domain.BasicDocConfig": {
"type": "object",
"properties": {
"bg_color": {
"type": "string"
},
"title": {
"type": "string"
},
"title_color": {
"type": "string"
}
}
},
"domain.BatchMoveReq": {
"type": "object",
"required": [
"ids",
"kb_id"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
}
},
"kb_id": {
"type": "string"
},
"parent_id": {
"type": "string"
}
}
},
"domain.BlockGridConfig": {
"type": "object",
"properties": {
"list": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"url": {
"type": "string"
}
}
}
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"domain.BrandGroup": {
"type": "object",
"properties": {
"links": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.Link"
}
},
"name": {
"type": "string"
}
}
},
"domain.BrowserCount": {
"type": "object",
"properties": {
"count": {
"type": "integer"
},
"name": {
"type": "string"
}
}
},
"domain.CarouselConfig": {
"type": "object",
"properties": {
"bg_color": {
"type": "string"
},
"list": {
"type": "array",
"items": {
"type": "object",
"properties": {
"desc": {
"type": "string"
},
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"url": {
"type": "string"
}
}
}
},
"title": {
"type": "string"
}
}
},
"domain.CaseConfig": {
"type": "object",
"properties": {
"list": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"link": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"domain.CatalogSettings": {
"type": "object",
"properties": {
"catalog_folder": {
"description": "1: 展开, 2: 折叠, default: 1",
"type": "integer"
},
"catalog_visible": {
"description": "1: 显示, 2: 隐藏, default: 1",
"type": "integer"
},
"catalog_width": {
"description": "200 - 300, default: 260",
"type": "integer"
}
}
},
"domain.ChatRequest": {
"type": "object",
"required": [
"app_type"
],
"properties": {
"app_type": {
"enum": [
1,
2
],
"allOf": [
{
"$ref": "#/definitions/domain.AppType"
}
]
},
"captcha_token": {
"type": "string"
},
"conversation_id": {
"type": "string"
},
"image_paths": {
"type": "array",
"maxItems": 3,
"items": {
"type": "string"
}
},
"message": {
"type": "string"
},
"nonce": {
"type": "string"
}
}
},
"domain.ChatSearchReq": {
"type": "object",
"required": [
"message"
],
"properties": {
"captcha_token": {
"type": "string"
},
"message": {
"type": "string"
}
}
},
"domain.ChatSearchResp": {
"type": "object",
"properties": {
"node_result": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.NodeContentChunkSSE"
}
}
}
},
"domain.CommentConfig": {
"type": "object",
"properties": {
"list": {
"type": "array",
"items": {
"type": "object",
"properties": {
"avatar": {
"type": "string"
},
"comment": {
"type": "string"
},
"id": {
"type": "string"
},
"profession": {
"type": "string"
},
"user_name": {
"type": "string"
}
}
}
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"domain.CommentDeleteReq": {
"type": "object",
"required": [
"ids",
"kb_id"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
}
},
"kb_id": {
"type": "string"
}
}
},
"domain.CommentInfo": {
"type": "object",
"properties": {
"auth_user_id": {
"type": "integer"
},
"avatar": {
"description": "avatar",
"type": "string"
},
"email": {
"type": "string"
},
"remote_ip": {
"type": "string"
},
"user_name": {
"type": "string"
}
}
},
"domain.CommentListItem": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"created_at": {
"type": "string"
},
"id": {
"type": "string"
},
"info": {
"$ref": "#/definitions/domain.CommentInfo"
},
"ip_address": {
"description": "ip地址",
"allOf": [
{
"$ref": "#/definitions/domain.IPAddress"
}
]
},
"node_id": {
"type": "string"
},
"node_name": {
"description": "文档标题",
"type": "string"
},
"node_type": {
"type": "integer"
},
"root_id": {
"type": "string"
},
"status": {
"description": "status : -1 reject 0 pending 1 accept",
"allOf": [
{
"$ref": "#/definitions/github_com_chaitin_panda-wiki_domain.CommentStatus"
}
]
}
}
},
"domain.CommentReq": {
"type": "object",
"required": [
"content",
"node_id",
"pic_urls"
],
"properties": {
"captcha_token": {
"type": "string"
},
"content": {
"type": "string"
},
"node_id": {
"type": "string"
},
"parent_id": {
"type": "string"
},
"pic_urls": {
"type": "array",
"items": {
"type": "string"
}
},
"root_id": {
"type": "string"
},
"user_name": {
"type": "string"
}
}
},
"domain.CompleteReq": {
"type": "object",
"properties": {
"prefix": {
"description": "For FIM (Fill in Middle) style completion",
"type": "string"
},
"suffix": {
"type": "string"
}
}
},
"domain.ContributeSettings": {
"type": "object",
"properties": {
"is_enable": {
"type": "boolean"
}
}
},
"domain.ConversationDetailResp": {
"type": "object",
"properties": {
"app_id": {
"type": "string"
},
"created_at": {
"type": "string"
},
"id": {
"type": "string"
},
"ip_address": {
"$ref": "#/definitions/domain.IPAddress"
},
"messages": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.ConversationMessage"
}
},
"references": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.ConversationReference"
}
},
"remote_ip": {
"type": "string"
},
"subject": {
"type": "string"
}
}
},
"domain.ConversationInfo": {
"type": "object",
"properties": {
"user_info": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_domain.UserInfo"
}
}
},
"domain.ConversationListItem": {
"type": "object",
"properties": {
"app_name": {
"type": "string"
},
"app_type": {
"$ref": "#/definitions/domain.AppType"
},
"created_at": {
"type": "string"
},
"feedback_info": {
"description": "用户反馈信息",
"allOf": [
{
"$ref": "#/definitions/domain.FeedBackInfo"
}
]
},
"id": {
"type": "string"
},
"info": {
"description": "用户信息",
"allOf": [
{
"$ref": "#/definitions/domain.ConversationInfo"
}
]
},
"ip_address": {
"$ref": "#/definitions/domain.IPAddress"
},
"remote_ip": {
"type": "string"
},
"subject": {
"type": "string"
}
}
},
"domain.ConversationMessage": {
"type": "object",
"properties": {
"app_id": {
"type": "string"
},
"completion_tokens": {
"type": "integer"
},
"content": {
"type": "string"
},
"conversation_id": {
"type": "string"
},
"created_at": {
"type": "string"
},
"id": {
"type": "string"
},
"image_paths": {
"type": "array",
"items": {
"type": "string"
}
},
"info": {
"description": "feedbackinfo",
"allOf": [
{
"$ref": "#/definitions/domain.FeedBackInfo"
}
]
},
"kb_id": {
"type": "string"
},
"model": {
"type": "string"
},
"parent_id": {
"description": "parent_id",
"type": "string"
},
"prompt_tokens": {
"type": "integer"
},
"provider": {
"description": "model",
"allOf": [
{
"$ref": "#/definitions/github_com_chaitin_panda-wiki_domain.ModelProvider"
}
]
},
"remote_ip": {
"description": "stats",
"type": "string"
},
"role": {
"$ref": "#/definitions/schema.RoleType"
},
"total_tokens": {
"type": "integer"
}
}
},
"domain.ConversationMessageListItem": {
"type": "object",
"properties": {
"app_id": {
"type": "string"
},
"app_type": {
"$ref": "#/definitions/domain.AppType"
},
"conversation_id": {
"type": "string"
},
"conversation_info": {
"description": "userInfo",
"allOf": [
{
"$ref": "#/definitions/domain.ConversationInfo"
}
]
},
"created_at": {
"type": "string"
},
"id": {
"type": "string"
},
"info": {
"description": "feedbackInfo",
"allOf": [
{
"$ref": "#/definitions/domain.FeedBackInfo"
}
]
},
"ip_address": {
"$ref": "#/definitions/domain.IPAddress"
},
"question": {
"type": "string"
},
"remote_ip": {
"description": "stats",
"type": "string"
}
}
},
"domain.ConversationReference": {
"type": "object",
"properties": {
"app_id": {
"type": "string"
},
"conversation_id": {
"type": "string"
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"domain.ConversationSetting": {
"type": "object",
"properties": {
"copyright_hide_enabled": {
"type": "boolean"
},
"copyright_info": {
"type": "string"
}
}
},
"domain.CreateKBReleaseReq": {
"type": "object",
"required": [
"kb_id",
"message",
"tag"
],
"properties": {
"kb_id": {
"type": "string"
},
"message": {
"type": "string"
},
"node_ids": {
"description": "create release after these nodes published",
"type": "array",
"items": {
"type": "string"
}
},
"tag": {
"type": "string"
}
}
},
"domain.CreateKnowledgeBaseReq": {
"type": "object",
"required": [
"name"
],
"properties": {
"hosts": {
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"type": "string"
},
"ports": {
"type": "array",
"items": {
"type": "integer"
}
},
"private_key": {
"type": "string"
},
"public_key": {
"type": "string"
},
"ssl_ports": {
"type": "array",
"items": {
"type": "integer"
}
}
}
},
"domain.CreateModelReq": {
"type": "object",
"required": [
"base_url",
"model",
"provider",
"type"
],
"properties": {
"api_header": {
"type": "string"
},
"api_key": {
"type": "string"
},
"api_version": {
"description": "for azure openai",
"type": "string"
},
"base_url": {
"type": "string"
},
"model": {
"type": "string"
},
"parameters": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_domain.ModelParam"
},
"provider": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_domain.ModelProvider"
},
"type": {
"enum": [
"chat",
"embedding",
"rerank",
"analysis",
"analysis-vl"
],
"allOf": [
{
"$ref": "#/definitions/domain.ModelType"
}
]
}
}
},
"domain.CreateNodeReq": {
"type": "object",
"required": [
"kb_id",
"name",
"nav_id",
"type"
],
"properties": {
"content": {
"type": "string"
},
"content_type": {
"type": "string"
},
"emoji": {
"type": "string"
},
"kb_id": {
"type": "string"
},
"name": {
"type": "string"
},
"nav_id": {
"type": "string"
},
"parent_id": {
"type": "string"
},
"position": {
"type": "number"
},
"summary": {
"type": "string"
},
"type": {
"enum": [
1,
2
],
"allOf": [
{
"$ref": "#/definitions/domain.NodeType"
}
]
}
}
},
"domain.DirDocConfig": {
"type": "object",
"properties": {
"bg_color": {
"type": "string"
},
"title": {
"type": "string"
},
"title_color": {
"type": "string"
}
}
},
"domain.DisclaimerSettings": {
"type": "object",
"properties": {
"content": {
"type": "string"
}
}
},
"domain.EnterpriseAuth": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"domain.FaqConfig": {
"type": "object",
"properties": {
"bg_color": {
"type": "string"
},
"list": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"link": {
"type": "string"
},
"question": {
"type": "string"
}
}
}
},
"title": {
"type": "string"
},
"title_color": {
"type": "string"
}
}
},
"domain.FeatureConfig": {
"type": "object",
"properties": {
"list": {
"type": "array",
"items": {
"type": "object",
"properties": {
"desc": {
"type": "string"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"domain.FeedBackInfo": {
"type": "object",
"properties": {
"feedback_content": {
"type": "string"
},
"feedback_type": {
"type": "string"
},
"score": {
"$ref": "#/definitions/domain.ScoreType"
}
}
},
"domain.FeedbackRequest": {
"type": "object",
"required": [
"message_id"
],
"properties": {
"conversation_id": {
"type": "string"
},
"feedback_content": {
"description": "限制内容长度",
"type": "string",
"maxLength": 200
},
"message_id": {
"type": "string"
},
"score": {
"description": "-1 踩 ,0 1 赞成",
"allOf": [
{
"$ref": "#/definitions/domain.ScoreType"
}
]
},
"type": {
"description": "内容不准确,没有帮助,.......",
"type": "string"
}
}
},
"domain.FooterSettings": {
"type": "object",
"properties": {
"brand_desc": {
"type": "string"
},
"brand_groups": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.BrandGroup"
}
},
"brand_logo": {
"type": "string"
},
"brand_name": {
"type": "string"
},
"corp_name": {
"type": "string"
},
"footer_style": {
"type": "string"
},
"icp": {
"type": "string"
}
}
},
"domain.GetKBReleaseListResp": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.KBReleaseListItemResp"
}
},
"total": {
"type": "integer"
}
}
},
"domain.GetProviderModelListReq": {
"type": "object",
"required": [
"base_url",
"provider",
"type"
],
"properties": {
"api_header": {
"type": "string"
},
"api_key": {
"type": "string"
},
"base_url": {
"type": "string"
},
"provider": {
"type": "string"
},
"type": {
"enum": [
"chat",
"embedding",
"rerank",
"analysis",
"analysis-vl"
],
"allOf": [
{
"$ref": "#/definitions/domain.ModelType"
}
]
}
}
},
"domain.GetProviderModelListResp": {
"type": "object",
"properties": {
"models": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.ProviderModelListItem"
}
}
}
},
"domain.HotBrowser": {
"type": "object",
"properties": {
"browser": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.BrowserCount"
}
},
"os": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.BrowserCount"
}
}
}
},
"domain.HotPage": {
"type": "object",
"properties": {
"count": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"node_name": {
"type": "string"
},
"scene": {
"$ref": "#/definitions/domain.StatPageScene"
}
}
},
"domain.HotRefererHost": {
"type": "object",
"properties": {
"count": {
"type": "integer"
},
"referer_host": {
"type": "string"
}
}
},
"domain.IPAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"ip": {
"type": "string"
},
"province": {
"type": "string"
}
}
},
"domain.ImgTextConfig": {
"type": "object",
"properties": {
"item": {
"type": "object",
"properties": {
"desc": {
"type": "string"
},
"name": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"domain.InstantCountResp": {
"type": "object",
"properties": {
"count": {
"type": "integer"
},
"time": {
"type": "string"
}
}
},
"domain.InstantPageResp": {
"type": "object",
"properties": {
"created_at": {
"type": "string"
},
"info": {
"$ref": "#/definitions/domain.AuthUserInfo"
},
"ip": {
"type": "string"
},
"ip_address": {
"$ref": "#/definitions/domain.IPAddress"
},
"node_id": {
"type": "string"
},
"node_name": {
"type": "string"
},
"scene": {
"$ref": "#/definitions/domain.StatPageScene"
},
"user_id": {
"type": "integer"
}
}
},
"domain.KBReleaseListItemResp": {
"type": "object",
"properties": {
"created_at": {
"type": "string"
},
"id": {
"type": "string"
},
"kb_id": {
"type": "string"
},
"message": {
"type": "string"
},
"publisher_account": {
"type": "string"
},
"tag": {
"type": "string"
}
}
},
"domain.KnowledgeBaseDetail": {
"type": "object",
"properties": {
"access_settings": {
"$ref": "#/definitions/domain.AccessSettings"
},
"created_at": {
"type": "string"
},
"dataset_id": {
"type": "string"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"perm": {
"description": "用户对知识库的权限",
"allOf": [
{
"$ref": "#/definitions/consts.UserKBPermission"
}
]
},
"updated_at": {
"type": "string"
}
}
},
"domain.KnowledgeBaseListItem": {
"type": "object",
"properties": {
"access_settings": {
"$ref": "#/definitions/domain.AccessSettings"
},
"created_at": {
"type": "string"
},
"dataset_id": {
"type": "string"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"updated_at": {
"type": "string"
}
}
},
"domain.LarkBotSettings": {
"type": "object",
"properties": {
"app_id": {
"type": "string"
},
"app_secret": {
"type": "string"
},
"encrypt_key": {
"type": "string"
},
"is_enabled": {
"type": "boolean"
},
"verify_token": {
"type": "string"
}
}
},
"domain.Link": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"domain.MCPServerSettings": {
"type": "object",
"properties": {
"docs_tool_settings": {
"$ref": "#/definitions/domain.MCPToolSettings"
},
"is_enabled": {
"type": "boolean"
},
"sample_auth": {
"$ref": "#/definitions/domain.SimpleAuth"
}
}
},
"domain.MCPToolSettings": {
"type": "object",
"properties": {
"desc": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"domain.MessageContent": {
"type": "object"
},
"domain.MessageFrom": {
"type": "integer",
"enum": [
1,
2
],
"x-enum-varnames": [
"MessageFromGroup",
"MessageFromPrivate"
]
},
"domain.MetricsConfig": {
"type": "object",
"properties": {
"list": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"number": {
"type": "string"
}
}
}
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"domain.ModelModeSetting": {
"type": "object",
"properties": {
"auto_mode_api_key": {
"description": "百智云 API Key",
"type": "string"
},
"auto_mode_provider": {
"description": "自动模式供应商",
"allOf": [
{
"$ref": "#/definitions/github_com_chaitin_panda-wiki_domain.ModelProvider"
}
]
},
"chat_model": {
"description": "自定义对话模型名称",
"type": "string"
},
"is_manual_embedding_updated": {
"description": "手动模式下嵌入模型是否更新",
"type": "boolean"
},
"mode": {
"description": "模式: manual 或 auto",
"allOf": [
{
"$ref": "#/definitions/consts.ModelSettingMode"
}
]
}
}
},
"domain.ModelType": {
"type": "string",
"enum": [
"chat",
"embedding",
"rerank",
"analysis",
"analysis-vl"
],
"x-enum-varnames": [
"ModelTypeChat",
"ModelTypeEmbedding",
"ModelTypeRerank",
"ModelTypeAnalysis",
"ModelTypeAnalysisVL"
]
},
"domain.MoveNodeReq": {
"type": "object",
"required": [
"id",
"kb_id"
],
"properties": {
"id": {
"type": "string"
},
"kb_id": {
"type": "string"
},
"next_id": {
"type": "string"
},
"parent_id": {
"type": "string"
},
"prev_id": {
"type": "string"
}
}
},
"domain.NavDocConfig": {
"type": "object",
"properties": {
"nav_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"title": {
"type": "string"
}
}
},
"domain.NodeActionReq": {
"type": "object",
"required": [
"action",
"ids",
"kb_id"
],
"properties": {
"action": {
"type": "string",
"enum": [
"delete"
]
},
"ids": {
"type": "array",
"items": {
"type": "string"
}
},
"kb_id": {
"type": "string"
}
}
},
"domain.NodeContentChunkSSE": {
"type": "object",
"properties": {
"emoji": {
"type": "string"
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"node_path_names": {
"type": "array",
"items": {
"type": "string"
}
},
"summary": {
"type": "string"
}
}
},
"domain.NodeListItemResp": {
"type": "object",
"properties": {
"content_type": {
"type": "string"
},
"created_at": {
"type": "string"
},
"creator": {
"type": "string"
},
"creator_id": {
"type": "string"
},
"editor": {
"type": "string"
},
"editor_id": {
"type": "string"
},
"emoji": {
"type": "string"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"nav_id": {
"type": "string"
},
"parent_id": {
"type": "string"
},
"permissions": {
"$ref": "#/definitions/domain.NodePermissions"
},
"position": {
"type": "number"
},
"publisher_id": {
"type": "string"
},
"rag_info": {
"$ref": "#/definitions/domain.RagInfo"
},
"status": {
"$ref": "#/definitions/domain.NodeStatus"
},
"summary": {
"type": "string"
},
"type": {
"$ref": "#/definitions/domain.NodeType"
},
"updated_at": {
"type": "string"
}
}
},
"domain.NodeMeta": {
"type": "object",
"properties": {
"content_type": {
"type": "string"
},
"emoji": {
"type": "string"
},
"summary": {
"type": "string"
}
}
},
"domain.NodePermissions": {
"type": "object",
"properties": {
"answerable": {
"description": "可被问答",
"allOf": [
{
"$ref": "#/definitions/consts.NodeAccessPerm"
}
]
},
"visible": {
"description": "导航内可见",
"allOf": [
{
"$ref": "#/definitions/consts.NodeAccessPerm"
}
]
},
"visitable": {
"description": "可被访问",
"allOf": [
{
"$ref": "#/definitions/consts.NodeAccessPerm"
}
]
}
}
},
"domain.NodeStatus": {
"type": "integer",
"format": "int32",
"enum": [
0,
1,
2
],
"x-enum-comments": {
"NodeStatusDraft": "更新未发布",
"NodeStatusPublished": "已发布",
"NodeStatusUnreleased": "草稿"
},
"x-enum-descriptions": [
"草稿",
"更新未发布",
"已发布"
],
"x-enum-varnames": [
"NodeStatusUnreleased",
"NodeStatusDraft",
"NodeStatusPublished"
]
},
"domain.NodeSummaryReq": {
"type": "object",
"required": [
"ids",
"kb_id"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
}
},
"kb_id": {
"type": "string"
}
}
},
"domain.NodeType": {
"type": "integer",
"format": "int32",
"enum": [
1,
2
],
"x-enum-varnames": [
"NodeTypeFolder",
"NodeTypeDocument"
]
},
"domain.ObjectUploadResp": {
"type": "object",
"properties": {
"filename": {
"type": "string"
},
"key": {
"type": "string"
}
}
},
"domain.OpenAIAPIBotSettings": {
"type": "object",
"properties": {
"is_enabled": {
"type": "boolean"
},
"secret_key": {
"type": "string"
}
}
},
"domain.OpenAIChoice": {
"type": "object",
"properties": {
"delta": {
"description": "for streaming",
"allOf": [
{
"$ref": "#/definitions/domain.OpenAIMessage"
}
]
},
"finish_reason": {
"type": "string"
},
"index": {
"type": "integer"
},
"message": {
"$ref": "#/definitions/domain.OpenAIMessage"
}
}
},
"domain.OpenAICompletionsRequest": {
"type": "object",
"required": [
"messages",
"model"
],
"properties": {
"frequency_penalty": {
"type": "number"
},
"max_tokens": {
"type": "integer"
},
"messages": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.OpenAIMessage"
}
},
"model": {
"type": "string"
},
"presence_penalty": {
"type": "number"
},
"response_format": {
"$ref": "#/definitions/domain.OpenAIResponseFormat"
},
"stop": {
"type": "array",
"items": {
"type": "string"
}
},
"stream": {
"type": "boolean"
},
"stream_options": {
"$ref": "#/definitions/domain.OpenAIStreamOptions"
},
"temperature": {
"type": "number"
},
"tool_choice": {
"$ref": "#/definitions/domain.OpenAIToolChoice"
},
"tools": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.OpenAITool"
}
},
"top_p": {
"type": "number"
},
"user": {
"type": "string"
}
}
},
"domain.OpenAICompletionsResponse": {
"type": "object",
"properties": {
"choices": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.OpenAIChoice"
}
},
"created": {
"type": "integer"
},
"id": {
"type": "string"
},
"model": {
"type": "string"
},
"object": {
"type": "string"
},
"usage": {
"$ref": "#/definitions/domain.OpenAIUsage"
}
}
},
"domain.OpenAIError": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"param": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"domain.OpenAIErrorResponse": {
"type": "object",
"properties": {
"error": {
"$ref": "#/definitions/domain.OpenAIError"
}
}
},
"domain.OpenAIFunction": {
"type": "object",
"required": [
"name"
],
"properties": {
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"parameters": {
"type": "object",
"additionalProperties": true
}
}
},
"domain.OpenAIFunctionCall": {
"type": "object",
"required": [
"arguments",
"name"
],
"properties": {
"arguments": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"domain.OpenAIFunctionChoice": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
}
}
},
"domain.OpenAIMessage": {
"type": "object",
"required": [
"role"
],
"properties": {
"content": {
"$ref": "#/definitions/domain.MessageContent"
},
"name": {
"type": "string"
},
"role": {
"type": "string"
},
"tool_call_id": {
"type": "string"
},
"tool_calls": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.OpenAIToolCall"
}
}
}
},
"domain.OpenAIResponseFormat": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
}
}
},
"domain.OpenAIStreamOptions": {
"type": "object",
"properties": {
"include_usage": {
"type": "boolean"
}
}
},
"domain.OpenAITool": {
"type": "object",
"required": [
"type"
],
"properties": {
"function": {
"$ref": "#/definitions/domain.OpenAIFunction"
},
"type": {
"type": "string"
}
}
},
"domain.OpenAIToolCall": {
"type": "object",
"required": [
"function",
"id",
"type"
],
"properties": {
"function": {
"$ref": "#/definitions/domain.OpenAIFunctionCall"
},
"id": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"domain.OpenAIToolChoice": {
"type": "object",
"properties": {
"function": {
"$ref": "#/definitions/domain.OpenAIFunctionChoice"
},
"type": {
"type": "string"
}
}
},
"domain.OpenAIUsage": {
"type": "object",
"properties": {
"completion_tokens": {
"type": "integer"
},
"prompt_tokens": {
"type": "integer"
},
"total_tokens": {
"type": "integer"
}
}
},
"domain.PWResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"data": {},
"message": {
"type": "string"
},
"success": {
"type": "boolean"
}
}
},
"domain.PaginatedResult-array_domain_ConversationMessageListItem": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.ConversationMessageListItem"
}
},
"total": {
"type": "integer"
}
}
},
"domain.ProviderModelListItem": {
"type": "object",
"properties": {
"model": {
"type": "string"
}
}
},
"domain.QuestionConfig": {
"type": "object",
"properties": {
"list": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"question": {
"type": "string"
}
}
}
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"domain.RagInfo": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"status": {
"$ref": "#/definitions/consts.NodeRagInfoStatus"
},
"synced_at": {
"type": "string"
}
}
},
"domain.RecommendNodeListResp": {
"type": "object",
"properties": {
"emoji": {
"type": "string"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"nav_id": {
"type": "string"
},
"nav_name": {
"type": "string"
},
"parent_id": {
"type": "string"
},
"permissions": {
"$ref": "#/definitions/domain.NodePermissions"
},
"position": {
"type": "number"
},
"recommend_nodes": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.RecommendNodeListResp"
}
},
"summary": {
"type": "string"
},
"type": {
"$ref": "#/definitions/domain.NodeType"
}
}
},
"domain.Response": {
"type": "object",
"properties": {
"data": {},
"message": {
"type": "string"
},
"success": {
"type": "boolean"
}
}
},
"domain.ScoreType": {
"type": "integer",
"enum": [
1,
-1
],
"x-enum-varnames": [
"Like",
"DisLike"
]
},
"domain.ShareCommentListItem": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"created_at": {
"type": "string"
},
"id": {
"type": "string"
},
"info": {
"$ref": "#/definitions/domain.CommentInfo"
},
"ip_address": {
"description": "ip地址",
"allOf": [
{
"$ref": "#/definitions/domain.IPAddress"
}
]
},
"kb_id": {
"type": "string"
},
"node_id": {
"type": "string"
},
"parent_id": {
"type": "string"
},
"pic_urls": {
"type": "array",
"items": {
"type": "string"
}
},
"root_id": {
"type": "string"
}
}
},
"domain.ShareConversationDetailResp": {
"type": "object",
"properties": {
"created_at": {
"type": "string"
},
"id": {
"type": "string"
},
"messages": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.ShareConversationMessage"
}
},
"subject": {
"type": "string"
}
}
},
"domain.ShareConversationMessage": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"created_at": {
"type": "string"
},
"image_paths": {
"type": "array",
"items": {
"type": "string"
}
},
"role": {
"$ref": "#/definitions/schema.RoleType"
}
}
},
"domain.ShareNodeDetailItem": {
"type": "object",
"properties": {
"children": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.ShareNodeDetailItem"
}
},
"emoji": {
"type": "string"
},
"id": {
"type": "string"
},
"meta": {
"$ref": "#/definitions/domain.NodeMeta"
},
"name": {
"type": "string"
},
"parent_id": {
"type": "string"
},
"permissions": {
"$ref": "#/definitions/domain.NodePermissions"
},
"position": {
"type": "number"
},
"type": {
"$ref": "#/definitions/domain.NodeType"
},
"updated_at": {
"type": "string"
}
}
},
"domain.SimpleAuth": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"password": {
"type": "string"
}
}
},
"domain.SimpleDocConfig": {
"type": "object",
"properties": {
"bg_color": {
"type": "string"
},
"title": {
"type": "string"
},
"title_color": {
"type": "string"
}
}
},
"domain.SocialMediaAccount": {
"type": "object",
"properties": {
"channel": {
"type": "string"
},
"icon": {
"type": "string"
},
"link": {
"type": "string"
},
"phone": {
"type": "string"
},
"text": {
"type": "string"
}
}
},
"domain.StatPageReq": {
"type": "object",
"required": [
"scene"
],
"properties": {
"node_id": {
"type": "string"
},
"scene": {
"enum": [
1,
2,
3,
4
],
"allOf": [
{
"$ref": "#/definitions/domain.StatPageScene"
}
]
}
}
},
"domain.StatPageScene": {
"type": "integer",
"enum": [
1,
2,
3,
4
],
"x-enum-varnames": [
"StatPageSceneWelcome",
"StatPageSceneNodeDetail",
"StatPageSceneChat",
"StatPageSceneLogin"
]
},
"domain.StatsSetting": {
"type": "object",
"properties": {
"pv_enable": {
"type": "boolean"
}
}
},
"domain.SwitchModeReq": {
"type": "object",
"required": [
"mode"
],
"properties": {
"auto_mode_api_key": {
"description": "百智云 API Key",
"type": "string"
},
"auto_mode_provider": {
"description": "自动模式供应商",
"allOf": [
{
"$ref": "#/definitions/github_com_chaitin_panda-wiki_domain.ModelProvider"
}
]
},
"chat_model": {
"description": "自定义对话模型名称",
"type": "string"
},
"mode": {
"type": "string",
"enum": [
"manual",
"auto"
]
}
}
},
"domain.SwitchModeResp": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
}
},
"domain.TextConfig": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"domain.TextImgConfig": {
"type": "object",
"properties": {
"item": {
"type": "object",
"properties": {
"desc": {
"type": "string"
},
"name": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"title": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"domain.TextReq": {
"type": "object",
"required": [
"text"
],
"properties": {
"action": {
"description": "action: improve, summary, extend, shorten, etc.",
"type": "string"
},
"text": {
"type": "string"
}
}
},
"domain.ThemeAndStyle": {
"type": "object",
"properties": {
"bg_image": {
"type": "string"
},
"doc_width": {
"type": "string"
}
}
},
"domain.UpdateAppReq": {
"type": "object",
"properties": {
"kb_id": {
"type": "string"
},
"name": {
"type": "string"
},
"settings": {
"$ref": "#/definitions/domain.AppSettings"
}
}
},
"domain.UpdateKnowledgeBaseReq": {
"type": "object",
"required": [
"id"
],
"properties": {
"access_settings": {
"$ref": "#/definitions/domain.AccessSettings"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"domain.UpdateModelReq": {
"type": "object",
"required": [
"base_url",
"id",
"model",
"provider",
"type"
],
"properties": {
"api_header": {
"type": "string"
},
"api_key": {
"type": "string"
},
"api_version": {
"description": "for azure openai",
"type": "string"
},
"base_url": {
"type": "string"
},
"id": {
"type": "string"
},
"is_active": {
"type": "boolean"
},
"model": {
"type": "string"
},
"parameters": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_domain.ModelParam"
},
"provider": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_domain.ModelProvider"
},
"type": {
"enum": [
"chat",
"embedding",
"rerank",
"analysis",
"analysis-vl"
],
"allOf": [
{
"$ref": "#/definitions/domain.ModelType"
}
]
}
}
},
"domain.UpdateNodeReq": {
"type": "object",
"required": [
"id",
"kb_id"
],
"properties": {
"content": {
"type": "string"
},
"content_type": {
"type": "string"
},
"emoji": {
"type": "string"
},
"id": {
"type": "string"
},
"kb_id": {
"type": "string"
},
"name": {
"type": "string"
},
"nav_id": {
"type": "string"
},
"position": {
"type": "number"
},
"summary": {
"type": "string"
}
}
},
"domain.UploadByUrlReq": {
"type": "object",
"required": [
"url"
],
"properties": {
"kb_id": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"domain.WeChatAppAdvancedSetting": {
"type": "object",
"properties": {
"disclaimer_content": {
"type": "string"
},
"feedback_enable": {
"type": "boolean"
},
"feedback_type": {
"type": "array",
"items": {
"type": "string"
}
},
"prompt": {
"type": "string"
},
"text_response_enable": {
"type": "boolean"
}
}
},
"domain.WebAppCommentSettings": {
"type": "object",
"properties": {
"is_enable": {
"type": "boolean"
},
"moderation_enable": {
"type": "boolean"
}
}
},
"domain.WebAppCustomSettings": {
"type": "object",
"properties": {
"allow_theme_switching": {
"type": "boolean"
},
"footer_show_intro": {
"type": "boolean"
},
"header_search_placeholder": {
"type": "string"
},
"show_brand_info": {
"type": "boolean"
},
"social_media_accounts": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.SocialMediaAccount"
}
}
}
},
"domain.WebAppLandingConfig": {
"type": "object",
"properties": {
"banner_config": {
"$ref": "#/definitions/domain.BannerConfig"
},
"basic_doc_config": {
"$ref": "#/definitions/domain.BasicDocConfig"
},
"block_grid_config": {
"$ref": "#/definitions/domain.BlockGridConfig"
},
"carousel_config": {
"$ref": "#/definitions/domain.CarouselConfig"
},
"case_config": {
"$ref": "#/definitions/domain.CaseConfig"
},
"com_config_order": {
"type": "array",
"items": {
"type": "string"
}
},
"comment_config": {
"$ref": "#/definitions/domain.CommentConfig"
},
"dir_doc_config": {
"$ref": "#/definitions/domain.DirDocConfig"
},
"faq_config": {
"$ref": "#/definitions/domain.FaqConfig"
},
"feature_config": {
"$ref": "#/definitions/domain.FeatureConfig"
},
"img_text_config": {
"$ref": "#/definitions/domain.ImgTextConfig"
},
"metrics_config": {
"$ref": "#/definitions/domain.MetricsConfig"
},
"nav_doc_config": {
"$ref": "#/definitions/domain.NavDocConfig"
},
"node_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"question_config": {
"$ref": "#/definitions/domain.QuestionConfig"
},
"simple_doc_config": {
"$ref": "#/definitions/domain.SimpleDocConfig"
},
"text_config": {
"$ref": "#/definitions/domain.TextConfig"
},
"text_img_config": {
"$ref": "#/definitions/domain.TextImgConfig"
},
"type": {
"type": "string"
}
}
},
"domain.WebAppLandingConfigResp": {
"type": "object",
"properties": {
"banner_config": {
"$ref": "#/definitions/domain.BannerConfig"
},
"basic_doc_config": {
"$ref": "#/definitions/domain.BasicDocConfig"
},
"block_grid_config": {
"$ref": "#/definitions/domain.BlockGridConfig"
},
"carousel_config": {
"$ref": "#/definitions/domain.CarouselConfig"
},
"case_config": {
"$ref": "#/definitions/domain.CaseConfig"
},
"com_config_order": {
"type": "array",
"items": {
"type": "string"
}
},
"comment_config": {
"$ref": "#/definitions/domain.CommentConfig"
},
"dir_doc_config": {
"$ref": "#/definitions/domain.DirDocConfig"
},
"faq_config": {
"$ref": "#/definitions/domain.FaqConfig"
},
"feature_config": {
"$ref": "#/definitions/domain.FeatureConfig"
},
"img_text_config": {
"$ref": "#/definitions/domain.ImgTextConfig"
},
"metrics_config": {
"$ref": "#/definitions/domain.MetricsConfig"
},
"nav_doc_config": {
"$ref": "#/definitions/domain.NavDocConfig"
},
"node_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"nodes": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.RecommendNodeListResp"
}
},
"question_config": {
"$ref": "#/definitions/domain.QuestionConfig"
},
"simple_doc_config": {
"$ref": "#/definitions/domain.SimpleDocConfig"
},
"text_config": {
"$ref": "#/definitions/domain.TextConfig"
},
"text_img_config": {
"$ref": "#/definitions/domain.TextImgConfig"
},
"type": {
"type": "string"
}
}
},
"domain.WebAppLandingTheme": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
}
},
"domain.WecomAIBotSettings": {
"type": "object",
"properties": {
"encodingaeskey": {
"type": "string"
},
"is_enabled": {
"type": "boolean"
},
"token": {
"type": "string"
}
}
},
"domain.WidgetBotSettings": {
"type": "object",
"properties": {
"btn_id": {
"type": "string"
},
"btn_logo": {
"type": "string"
},
"btn_position": {
"type": "string"
},
"btn_style": {
"type": "string"
},
"btn_text": {
"type": "string"
},
"copyright_hide_enabled": {
"type": "boolean"
},
"copyright_info": {
"type": "string"
},
"disclaimer": {
"type": "string"
},
"is_open": {
"type": "boolean"
},
"modal_position": {
"type": "string"
},
"placeholder": {
"type": "string"
},
"recommend_node_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"recommend_questions": {
"type": "array",
"items": {
"type": "string"
}
},
"search_mode": {
"type": "string"
},
"theme_mode": {
"type": "string"
}
}
},
"github_com_chaitin_panda-wiki_api_auth_v1.AuthGetResp": {
"type": "object",
"properties": {
"auths": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_api_auth_v1.AuthItem"
}
},
"client_id": {
"type": "string"
},
"client_secret": {
"type": "string"
},
"proxy": {
"type": "string"
},
"source_type": {
"$ref": "#/definitions/consts.SourceType"
}
}
},
"github_com_chaitin_panda-wiki_api_auth_v1.AuthItem": {
"type": "object",
"properties": {
"avatar_url": {
"type": "string"
},
"created_at": {
"type": "string"
},
"id": {
"type": "integer"
},
"ip": {
"type": "string"
},
"last_login_time": {
"type": "string"
},
"source_type": {
"$ref": "#/definitions/consts.SourceType"
},
"username": {
"type": "string"
}
}
},
"github_com_chaitin_panda-wiki_api_auth_v1.AuthSetReq": {
"type": "object",
"required": [
"source_type"
],
"properties": {
"client_id": {
"type": "string"
},
"client_secret": {
"type": "string"
},
"kb_id": {
"type": "string"
},
"proxy": {
"type": "string"
},
"source_type": {
"enum": [
"github"
],
"allOf": [
{
"$ref": "#/definitions/consts.SourceType"
}
]
}
}
},
"github_com_chaitin_panda-wiki_api_node_v1.NodeListGroupNavResp": {
"type": "object",
"properties": {
"count": {
"type": "integer"
},
"is_released": {
"type": "boolean"
},
"list": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.NodeListItemResp"
}
},
"nav_id": {
"type": "string"
},
"nav_name": {
"type": "string"
},
"position": {
"type": "number"
}
}
},
"github_com_chaitin_panda-wiki_api_share_v1.AuthGetResp": {
"type": "object",
"properties": {
"auth_type": {
"$ref": "#/definitions/consts.AuthType"
},
"license_edition": {
"$ref": "#/definitions/consts.LicenseEdition"
},
"source_type": {
"$ref": "#/definitions/consts.SourceType"
}
}
},
"github_com_chaitin_panda-wiki_api_share_v1.AuthGitHubReq": {
"type": "object",
"properties": {
"kb_id": {
"type": "string"
},
"redirect_url": {
"type": "string"
}
}
},
"github_com_chaitin_panda-wiki_api_share_v1.AuthGitHubResp": {
"type": "object",
"properties": {
"url": {
"type": "string"
}
}
},
"github_com_chaitin_panda-wiki_api_share_v1.FileUploadResp": {
"type": "object",
"properties": {
"key": {
"type": "string"
}
}
},
"github_com_chaitin_panda-wiki_api_share_v1.GitHubCallbackResp": {
"type": "object"
},
"github_com_chaitin_panda-wiki_domain.CheckModelReq": {
"type": "object",
"required": [
"base_url",
"model",
"provider",
"type"
],
"properties": {
"api_header": {
"type": "string"
},
"api_key": {
"type": "string"
},
"api_version": {
"description": "for azure openai",
"type": "string"
},
"base_url": {
"type": "string"
},
"model": {
"type": "string"
},
"parameters": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_domain.ModelParam"
},
"provider": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_domain.ModelProvider"
},
"type": {
"enum": [
"chat",
"embedding",
"rerank",
"analysis",
"analysis-vl"
],
"allOf": [
{
"$ref": "#/definitions/domain.ModelType"
}
]
}
}
},
"github_com_chaitin_panda-wiki_domain.CheckModelResp": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"error": {
"type": "string"
}
}
},
"github_com_chaitin_panda-wiki_domain.CommentStatus": {
"type": "integer",
"format": "int32",
"enum": [
-1,
0,
1
],
"x-enum-varnames": [
"CommentStatusReject",
"CommentStatusPending",
"CommentStatusAccepted"
]
},
"github_com_chaitin_panda-wiki_domain.ModelListItem": {
"type": "object",
"properties": {
"api_header": {
"type": "string"
},
"api_key": {
"type": "string"
},
"api_version": {
"description": "for azure openai",
"type": "string"
},
"base_url": {
"type": "string"
},
"completion_tokens": {
"type": "integer"
},
"id": {
"type": "string"
},
"is_active": {
"type": "boolean"
},
"model": {
"type": "string"
},
"parameters": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_domain.ModelParam"
},
"prompt_tokens": {
"type": "integer"
},
"provider": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_domain.ModelProvider"
},
"total_tokens": {
"type": "integer"
},
"type": {
"$ref": "#/definitions/domain.ModelType"
}
}
},
"github_com_chaitin_panda-wiki_domain.ModelParam": {
"type": "object",
"properties": {
"context_window": {
"type": "integer"
},
"max_tokens": {
"type": "integer"
},
"r1_enabled": {
"type": "boolean"
},
"support_computer_use": {
"type": "boolean"
},
"support_images": {
"type": "boolean"
},
"support_prompt_cache": {
"type": "boolean"
},
"temperature": {
"type": "number"
}
}
},
"github_com_chaitin_panda-wiki_domain.ModelProvider": {
"type": "string",
"enum": [
"BaiZhiCloud",
"BaiZhiCloudModelStore"
],
"x-enum-varnames": [
"ModelProviderBrandBaiZhiCloud",
"ModelProviderBaiZhiCloudModelStore"
]
},
"github_com_chaitin_panda-wiki_domain.NodeGroupDetail": {
"type": "object",
"properties": {
"auth_group_id": {
"type": "integer"
},
"auth_ids": {
"type": "array",
"items": {
"type": "integer"
}
},
"kb_id": {
"type": "string"
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"perm": {
"$ref": "#/definitions/consts.NodePermName"
}
}
},
"github_com_chaitin_panda-wiki_domain.UserInfo": {
"type": "object",
"properties": {
"auth_user_id": {
"type": "integer"
},
"avatar": {
"description": "avatar",
"type": "string"
},
"email": {
"type": "string"
},
"from": {
"$ref": "#/definitions/domain.MessageFrom"
},
"name": {
"type": "string"
},
"real_name": {
"type": "string"
},
"user_id": {
"type": "string"
}
}
},
"gocap.ChallengeData": {
"type": "object",
"properties": {
"challenge": {
"$ref": "#/definitions/gocap.ChallengeItem"
},
"expires": {
"description": "过期时间,毫秒级时间戳",
"type": "integer"
},
"token": {
"description": "质询令牌",
"type": "string"
}
}
},
"gocap.ChallengeItem": {
"type": "object",
"properties": {
"c": {
"description": "质询数量",
"type": "integer"
},
"d": {
"description": "质询难度",
"type": "integer"
},
"s": {
"description": "质询大小",
"type": "integer"
}
}
},
"gocap.VerificationResult": {
"type": "object",
"properties": {
"expires": {
"description": "过期时间,毫秒级时间戳",
"type": "integer"
},
"message": {
"type": "string"
},
"success": {
"type": "boolean"
},
"token": {
"description": "验证令牌",
"type": "string"
}
}
},
"schema.RoleType": {
"type": "string",
"enum": [
"assistant",
"user",
"system",
"tool"
],
"x-enum-varnames": [
"Assistant",
"User",
"System",
"Tool"
]
},
"share.ShareCommentLists": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.ShareCommentListItem"
}
},
"total": {
"type": "integer"
}
}
},
"v1.AuthLoginSimpleReq": {
"type": "object",
"required": [
"password"
],
"properties": {
"password": {
"type": "string"
}
}
},
"v1.CommentLists": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.CommentListItem"
}
},
"total": {
"type": "integer"
}
}
},
"v1.ConversationListItems": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.ConversationListItem"
}
},
"total": {
"type": "integer"
}
}
},
"v1.CrawlerExportReq": {
"type": "object",
"required": [
"doc_id",
"id",
"kb_id"
],
"properties": {
"doc_id": {
"type": "string"
},
"file_type": {
"type": "string"
},
"id": {
"type": "string"
},
"kb_id": {
"type": "string"
},
"space_id": {
"type": "string"
}
}
},
"v1.CrawlerExportResp": {
"type": "object",
"properties": {
"task_id": {
"type": "string"
}
}
},
"v1.CrawlerParseReq": {
"type": "object",
"required": [
"crawler_source",
"kb_id"
],
"properties": {
"crawler_source": {
"$ref": "#/definitions/consts.CrawlerSource"
},
"dingtalk_setting": {
"$ref": "#/definitions/anydoc.DingtalkSetting"
},
"feishu_setting": {
"$ref": "#/definitions/anydoc.FeishuSetting"
},
"filename": {
"type": "string"
},
"kb_id": {
"type": "string"
},
"key": {
"type": "string"
}
}
},
"v1.CrawlerParseResp": {
"type": "object",
"properties": {
"docs": {
"$ref": "#/definitions/anydoc.Child"
},
"id": {
"type": "string"
}
}
},
"v1.CrawlerResultItem": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"status": {
"$ref": "#/definitions/consts.CrawlerStatus"
},
"task_id": {
"type": "string"
}
}
},
"v1.CrawlerResultReq": {
"type": "object",
"required": [
"task_id"
],
"properties": {
"task_id": {
"type": "string"
}
}
},
"v1.CrawlerResultResp": {
"type": "object",
"required": [
"status"
],
"properties": {
"content": {
"type": "string"
},
"status": {
"$ref": "#/definitions/consts.CrawlerStatus"
}
}
},
"v1.CrawlerResultsReq": {
"type": "object",
"required": [
"task_ids"
],
"properties": {
"task_ids": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"v1.CrawlerResultsResp": {
"type": "object",
"properties": {
"list": {
"type": "array",
"items": {
"$ref": "#/definitions/v1.CrawlerResultItem"
}
},
"status": {
"$ref": "#/definitions/consts.CrawlerStatus"
}
}
},
"v1.CreateUserReq": {
"type": "object",
"required": [
"account",
"password",
"role"
],
"properties": {
"account": {
"type": "string"
},
"password": {
"type": "string",
"minLength": 8
},
"role": {
"enum": [
"admin",
"user"
],
"allOf": [
{
"$ref": "#/definitions/consts.UserRole"
}
]
}
}
},
"v1.CreateUserResp": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
}
},
"v1.KBUserInviteReq": {
"type": "object",
"required": [
"kb_id",
"perm",
"user_id"
],
"properties": {
"kb_id": {
"type": "string"
},
"perm": {
"enum": [
"full_control",
"doc_manage",
"data_operate"
],
"allOf": [
{
"$ref": "#/definitions/consts.UserKBPermission"
}
]
},
"user_id": {
"type": "string"
}
}
},
"v1.KBUserListItemResp": {
"type": "object",
"properties": {
"account": {
"type": "string"
},
"id": {
"type": "string"
},
"perms": {
"$ref": "#/definitions/consts.UserKBPermission"
},
"role": {
"$ref": "#/definitions/consts.UserRole"
}
}
},
"v1.KBUserUpdateReq": {
"type": "object",
"required": [
"kb_id",
"perm",
"user_id"
],
"properties": {
"kb_id": {
"type": "string"
},
"perm": {
"enum": [
"full_control",
"doc_manage",
"data_operate"
],
"allOf": [
{
"$ref": "#/definitions/consts.UserKBPermission"
}
]
},
"user_id": {
"type": "string"
}
}
},
"v1.LoginReq": {
"type": "object",
"required": [
"account",
"password"
],
"properties": {
"account": {
"type": "string"
},
"password": {
"type": "string"
}
}
},
"v1.LoginResp": {
"type": "object",
"properties": {
"token": {
"type": "string"
}
}
},
"v1.NavAddReq": {
"type": "object",
"required": [
"kb_id",
"name"
],
"properties": {
"kb_id": {
"type": "string"
},
"name": {
"type": "string"
},
"position": {
"type": "number"
}
}
},
"v1.NavListResp": {
"type": "object",
"properties": {
"created_at": {
"type": "string"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"position": {
"type": "number"
},
"updated_at": {
"type": "string"
}
}
},
"v1.NavMoveReq": {
"type": "object",
"required": [
"id",
"kb_id"
],
"properties": {
"id": {
"type": "string"
},
"kb_id": {
"type": "string"
},
"next_id": {
"type": "string"
},
"prev_id": {
"type": "string"
}
}
},
"v1.NavUpdateReq": {
"type": "object",
"required": [
"id",
"kb_id",
"name"
],
"properties": {
"id": {
"type": "string"
},
"kb_id": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"v1.NodeDetailResp": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"created_at": {
"type": "string"
},
"creator_account": {
"type": "string"
},
"creator_id": {
"type": "string"
},
"editor_account": {
"type": "string"
},
"editor_id": {
"type": "string"
},
"id": {
"type": "string"
},
"kb_id": {
"type": "string"
},
"meta": {
"$ref": "#/definitions/domain.NodeMeta"
},
"name": {
"type": "string"
},
"nav_id": {
"type": "string"
},
"parent_id": {
"type": "string"
},
"permissions": {
"$ref": "#/definitions/domain.NodePermissions"
},
"publisher_account": {
"type": "string"
},
"publisher_id": {
"type": "string"
},
"pv": {
"type": "integer"
},
"status": {
"$ref": "#/definitions/domain.NodeStatus"
},
"type": {
"$ref": "#/definitions/domain.NodeType"
},
"updated_at": {
"type": "string"
}
}
},
"v1.NodeMoveNavReq": {
"type": "object",
"required": [
"ids",
"kb_id",
"nav_id"
],
"properties": {
"ids": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"kb_id": {
"type": "string"
},
"nav_id": {
"type": "string"
}
}
},
"v1.NodePermissionEditReq": {
"type": "object",
"required": [
"ids",
"kb_id"
],
"properties": {
"answerable_groups": {
"description": "可被问答",
"type": "array",
"items": {
"type": "integer"
}
},
"ids": {
"type": "array",
"items": {
"type": "string"
}
},
"kb_id": {
"type": "string"
},
"permissions": {
"$ref": "#/definitions/domain.NodePermissions"
},
"visible_groups": {
"description": "导航内可见",
"type": "array",
"items": {
"type": "integer"
}
},
"visitable_groups": {
"description": "可被访问",
"type": "array",
"items": {
"type": "integer"
}
}
}
},
"v1.NodePermissionEditResp": {
"type": "object"
},
"v1.NodePermissionResp": {
"type": "object",
"properties": {
"answerable_groups": {
"description": "可被问答",
"type": "array",
"items": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_domain.NodeGroupDetail"
}
},
"id": {
"type": "string"
},
"permissions": {
"$ref": "#/definitions/domain.NodePermissions"
},
"visible_groups": {
"description": "导航内可见",
"type": "array",
"items": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_domain.NodeGroupDetail"
}
},
"visitable_groups": {
"description": "可被访问",
"type": "array",
"items": {
"$ref": "#/definitions/github_com_chaitin_panda-wiki_domain.NodeGroupDetail"
}
}
}
},
"v1.NodeRestudyReq": {
"type": "object",
"required": [
"kb_id",
"node_ids"
],
"properties": {
"kb_id": {
"type": "string"
},
"node_ids": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
}
},
"v1.NodeRestudyResp": {
"type": "object"
},
"v1.NodeStatsResp": {
"type": "object",
"properties": {
"unpublished_count": {
"description": "未发布的文档数",
"type": "integer"
},
"unreleased_nav_count": {
"description": "未发布目录数量",
"type": "integer"
},
"unstudied_count": {
"description": "未学习的文档数",
"type": "integer"
}
}
},
"v1.ResetPasswordReq": {
"type": "object",
"required": [
"id",
"new_password"
],
"properties": {
"id": {
"type": "string"
},
"new_password": {
"type": "string",
"minLength": 8
}
}
},
"v1.ShareFileUploadUrlReq": {
"type": "object",
"required": [
"captcha_token",
"url"
],
"properties": {
"captcha_token": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"v1.ShareFileUploadUrlResp": {
"type": "object",
"properties": {
"key": {
"type": "string"
}
}
},
"v1.ShareNodeDetailResp": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"created_at": {
"type": "string"
},
"creator_account": {
"type": "string"
},
"creator_id": {
"type": "string"
},
"editor_account": {
"type": "string"
},
"editor_id": {
"type": "string"
},
"id": {
"type": "string"
},
"kb_id": {
"type": "string"
},
"list": {
"type": "array",
"items": {
"$ref": "#/definitions/domain.ShareNodeDetailItem"
}
},
"meta": {
"$ref": "#/definitions/domain.NodeMeta"
},
"name": {
"type": "string"
},
"parent_id": {
"type": "string"
},
"permissions": {
"$ref": "#/definitions/domain.NodePermissions"
},
"publisher_account": {
"type": "string"
},
"publisher_id": {
"type": "string"
},
"pv": {
"type": "integer"
},
"status": {
"$ref": "#/definitions/domain.NodeStatus"
},
"type": {
"$ref": "#/definitions/domain.NodeType"
},
"updated_at": {
"type": "string"
}
}
},
"v1.StatConversationDistributionResp": {
"type": "object",
"properties": {
"app_type": {
"$ref": "#/definitions/domain.AppType"
},
"count": {
"type": "integer"
}
}
},
"v1.StatCountResp": {
"type": "object",
"properties": {
"conversation_count": {
"type": "integer"
},
"ip_count": {
"type": "integer"
},
"page_visit_count": {
"type": "integer"
},
"session_count": {
"type": "integer"
}
}
},
"v1.UserInfoResp": {
"type": "object",
"properties": {
"account": {
"type": "string"
},
"created_at": {
"type": "string"
},
"id": {
"type": "string"
},
"is_token": {
"type": "boolean"
},
"last_access": {
"type": "string"
},
"role": {
"$ref": "#/definitions/consts.UserRole"
}
}
},
"v1.UserListItemResp": {
"type": "object",
"properties": {
"account": {
"type": "string"
},
"created_at": {
"type": "string"
},
"id": {
"type": "string"
},
"last_access": {
"type": "string"
},
"role": {
"$ref": "#/definitions/consts.UserRole"
}
}
},
"v1.UserListResp": {
"type": "object",
"properties": {
"users": {
"type": "array",
"items": {
"$ref": "#/definitions/v1.UserListItemResp"
}
}
}
},
"v1.WechatAppInfoResp": {
"type": "object",
"properties": {
"disclaimer_content": {
"type": "string"
},
"feedback_enable": {
"type": "boolean"
},
"feedback_type": {
"type": "array",
"items": {
"type": "string"
}
},
"wechat_app_is_enabled": {
"type": "boolean"
}
}
}
},
"securityDefinitions": {
"bearerAuth": {
"description": "Type "Bearer" + a space + your token to authorize",
"type": "apiKey",
"name": "Authorization",
"in": "header"
}
}
}


Backend Docs Swagger.Yaml (`backend/docs/swagger.yaml`)

basePath: /
definitions:
anydoc.Child:
properties:
children:
items:
$ref: '#/definitions/anydoc.Child'
type: array
value:
$ref: '#/definitions/anydoc.Value'
type: object
anydoc.DingtalkSetting:
properties:
app_id:
type: string
app_secret:
type: string
phone:
type: string
space_id:
type: string
unionid:
type: string
type: object
anydoc.FeishuSetting:
properties:
app_id:
type: string
app_secret:
type: string
space_id:
type: string
user_access_token:
type: string
type: object
anydoc.Value:
properties:
file:
type: boolean
file_type:
type: string
id:
type: string
summary:
type: string
title:
type: string
type: object
consts.AuthType:
enum:
- ""
- simple
- enterprise
type: string
x-enum-comments:
AuthTypeEnterprise: 企业认证
AuthTypeNull: 无认证
AuthTypeSimple: 简单口令
x-enum-descriptions:
- 无认证
- 简单口令
- 企业认证
x-enum-varnames:
- AuthTypeNull
- AuthTypeSimple
- AuthTypeEnterprise
consts.CopySetting:
enum:
- ""
- append
- disabled
type: string
x-enum-comments:
CopySettingAppend: 增加内容尾巴
CopySettingDisabled: 禁止复制内容
CopySettingNone: 无限制
x-enum-descriptions:
- 无限制
- 增加内容尾巴
- 禁止复制内容
x-enum-varnames:
- CopySettingNone
- CopySettingAppend
- CopySettingDisabled
consts.CrawlerSource:
enum:
- url
- rss
- sitemap
- notion
- feishu
- dingtalk
- file
- epub
- yuque
- siyuan
- mindoc
- wikijs
- confluence
type: string
x-enum-varnames:
- CrawlerSourceUrl
- CrawlerSourceRSS
- CrawlerSourceSitemap
- CrawlerSourceNotion
- CrawlerSourceFeishu
- CrawlerSourceDingtalk
- CrawlerSourceFile
- CrawlerSourceEpub
- CrawlerSourceYuque
- CrawlerSourceSiyuan
- CrawlerSourceMindoc
- CrawlerSourceWikijs
- CrawlerSourceConfluence
consts.CrawlerStatus:
enum:
- pending
- in_process
- completed
- failed
type: string
x-enum-varnames:
- CrawlerStatusPending
- CrawlerStatusInProcess
- CrawlerStatusCompleted
- CrawlerStatusFailed
consts.HomePageSetting:
enum:
- doc
- custom
type: string
x-enum-comments:
HomePageSettingCustom: 自定义首页
HomePageSettingDoc: 文档页面
x-enum-descriptions:
- 文档页面
- 自定义首页
x-enum-varnames:
- HomePageSettingDoc
- HomePageSettingCustom
consts.LicenseEdition:
enum:
- 0
- 1
- 2
- 3
format: int32
type: integer
x-enum-comments:
LicenseEditionBusiness: 商业版
LicenseEditionEnterprise: 企业版
LicenseEditionFree: 开源版
LicenseEditionProfession: 专业版
x-enum-descriptions:
- 开源版
- 专业版
- 企业版
- 商业版
x-enum-varnames:
- LicenseEditionFree
- LicenseEditionProfession
- LicenseEditionEnterprise
- LicenseEditionBusiness
consts.ModelSettingMode:
enum:
- manual
- auto
type: string
x-enum-varnames:
- ModelSettingModeManual
- ModelSettingModeAuto
consts.NodeAccessPerm:
enum:
- open
- partial
- closed
type: string
x-enum-comments:
NodeAccessPermClosed: 完全禁止
NodeAccessPermOpen: 完全开放
NodeAccessPermPartial: 部分开放
x-enum-descriptions:
- 完全开放
- 部分开放
- 完全禁止
x-enum-varnames:
- NodeAccessPermOpen
- NodeAccessPermPartial
- NodeAccessPermClosed
consts.NodePermName:
enum:
- visible
- visitable
- answerable
type: string
x-enum-comments:
NodePermNameAnswerable: 可被问答
NodePermNameVisible: 导航内可见
NodePermNameVisitable: 可被访问
x-enum-descriptions:
- 导航内可见
- 可被访问
- 可被问答
x-enum-varnames:
- NodePermNameVisible
- NodePermNameVisitable
- NodePermNameAnswerable
consts.NodeRagInfoStatus:
enum:
- PENDING
- RUNNING
- FAILED
- SUCCEEDED
- REINDEX
type: string
x-enum-comments:
NodeRagStatusFailed: 处理失败
NodeRagStatusPending: 等待处理
NodeRagStatusReindexing: 重新索引中
NodeRagStatusRunning: 正在进行处理(文本分割、向量化等)
NodeRagStatusSucceeded: 处理成功
x-enum-descriptions:
- 等待处理
- 正在进行处理(文本分割、向量化等)
- 处理失败
- 处理成功
- 重新索引中
x-enum-varnames:
- NodeRagStatusPending
- NodeRagStatusRunning
- NodeRagStatusFailed
- NodeRagStatusSucceeded
- NodeRagStatusReindexing
consts.RedeemCaptchaReq:
properties:
solutions:
items:
type: integer
type: array
token:
type: string
type: object
consts.SourceType:
enum:
- dingtalk
- feishu
- wecom
- oauth
- github
- cas
- ldap
- widget
- dingtalk_bot
- feishu_bot
- lark_bot
- wechat_bot
- wecom_ai_bot
- wechat_service_bot
- discord_bot
- wechat_official_account
- openai_api
- mcp_server
type: string
x-enum-varnames:
- SourceTypeDingTalk
- SourceTypeFeishu
- SourceTypeWeCom
- SourceTypeOAuth
- SourceTypeGitHub
- SourceTypeCAS
- SourceTypeLDAP
- SourceTypeWidget
- SourceTypeDingtalkBot
- SourceTypeFeishuBot
- SourceTypeLarkBot
- SourceTypeWechatBot
- SourceTypeWecomAIBot
- SourceTypeWechatServiceBot
- SourceTypeDiscordBot
- SourceTypeWechatOfficialAccount
- SourceTypeOpenAIAPI
- SourceTypeMcpServer
consts.StatDay:
enum:
- 1
- 7
- 30
- 90
type: integer
x-enum-varnames:
- StatDay1
- StatDay7
- StatDay30
- StatDay90
consts.UserKBPermission:
enum:
- ""
- not null
- full_control
- doc_manage
- data_operate
type: string
x-enum-comments:
UserKBPermissionDataOperate: 数据运营
UserKBPermissionDocManage: 文档管理
UserKBPermissionFullControl: 完全控制
UserKBPermissionNotNull: 有权限
UserKBPermissionNull: 无权限
x-enum-descriptions:
- 无权限
- 有权限
- 完全控制
- 文档管理
- 数据运营
x-enum-varnames:
- UserKBPermissionNull
- UserKBPermissionNotNull
- UserKBPermissionFullControl
- UserKBPermissionDocManage
- UserKBPermissionDataOperate
consts.UserRole:
enum:
- admin
- user
type: string
x-enum-comments:
UserRoleAdmin: 管理员
UserRoleUser: 普通用户
x-enum-descriptions:
- 管理员
- 普通用户
x-enum-varnames:
- UserRoleAdmin
- UserRoleUser
consts.WatermarkSetting:
enum:
- ""
- hidden
- visible
type: string
x-enum-comments:
WatermarkDisabled: 未开启水印
WatermarkHidden: 隐形水印
WatermarkVisible: 显性水印
x-enum-descriptions:
- 未开启水印
- 隐形水印
- 显性水印
x-enum-varnames:
- WatermarkDisabled
- WatermarkHidden
- WatermarkVisible
domain.AIFeedbackSettings:
properties:
ai_feedback_type:
items:
type: string
type: array
is_enabled:
type: boolean
type: object
domain.AccessSettings:
properties:
base_url:
type: string
enterprise_auth:
$ref: '#/definitions/domain.EnterpriseAuth'
hosts:
items:
type: string
type: array
is_forbidden:
type: boolean
ports:
items:
type: integer
type: array
private_key:
type: string
public_key:
type: string
simple_auth:
$ref: '#/definitions/domain.SimpleAuth'
source_type:
allOf:
- $ref: '#/definitions/consts.SourceType'
ssl_ports:
items:
type: integer
type: array
trusted_proxies:
items:
type: string
type: array
type: object
domain.AnydocUploadResp:
properties:
code:
type: integer
data:
type: string
err:
type: string
type: object
domain.AppDetailResp:
properties:
id:
type: string
kb_id:
type: string
name:
type: string
recommend_nodes:
items:
$ref: '#/definitions/domain.RecommendNodeListResp'
type: array
settings:
$ref: '#/definitions/domain.AppSettingsResp'
type:
$ref: '#/definitions/domain.AppType'
type: object
domain.AppInfoResp:
properties:
base_url:
type: string
name:
type: string
recommend_nodes:
items:
$ref: '#/definitions/domain.RecommendNodeListResp'
type: array
settings:
$ref: '#/definitions/domain.AppSettingsResp'
type: object
domain.AppSettings:
properties:
ai_feedback_settings:
allOf:
- $ref: '#/definitions/domain.AIFeedbackSettings'
body_code:
type: string
btns:
items: {}
type: array
catalog_settings:
allOf:
- $ref: '#/definitions/domain.CatalogSettings'
contribute_settings:
$ref: '#/definitions/domain.ContributeSettings'
conversation_setting:
$ref: '#/definitions/domain.ConversationSetting'
copy_setting:
allOf:
- $ref: '#/definitions/consts.CopySetting'
enum:
- ""
- append
- disabled
desc:
type: string
dingtalk_bot_client_id:
type: string
dingtalk_bot_client_secret:
type: string
dingtalk_bot_is_enabled:
type: boolean
dingtalk_bot_template_id:
type: string
disclaimer_settings:
allOf:
- $ref: '#/definitions/domain.DisclaimerSettings'
discord_bot_is_enabled:
type: boolean
discord_bot_token:
type: string
document_feedback_is_enabled:
type: boolean
feishu_bot_app_id:
type: string
feishu_bot_app_secret:
type: string
feishu_bot_is_enabled:
type: boolean
footer_settings:
allOf:
- $ref: '#/definitions/domain.FooterSettings'
head_code:
type: string
home_page_setting:
$ref: '#/definitions/consts.HomePageSetting'
icon:
type: string
keyword:
type: string
lark_bot_settings:
allOf:
- $ref: '#/definitions/domain.LarkBotSettings'
mcp_server_settings:
allOf:
- $ref: '#/definitions/domain.MCPServerSettings'
openai_api_bot_settings:
allOf:
- $ref: '#/definitions/domain.OpenAIAPIBotSettings'
recommend_node_ids:
items:
type: string
type: array
recommend_questions:
items:
type: string
type: array
search_placeholder:
type: string
stats_setting:
$ref: '#/definitions/domain.StatsSetting'
theme_and_style:
$ref: '#/definitions/domain.ThemeAndStyle'
theme_mode:
type: string
title:
type: string
watermark_content:
type: string
watermark_setting:
allOf:
- $ref: '#/definitions/consts.WatermarkSetting'
enum:
- ""
- hidden
- visible
web_app_comment_settings:
allOf:
- $ref: '#/definitions/domain.WebAppCommentSettings'
web_app_custom_style:
allOf:
- $ref: '#/definitions/domain.WebAppCustomSettings'
web_app_landing_configs:
items:
$ref: '#/definitions/domain.WebAppLandingConfig'
type: array
web_app_landing_theme:
$ref: '#/definitions/domain.WebAppLandingTheme'
wechat_app_advanced_setting:
$ref: '#/definitions/domain.WeChatAppAdvancedSetting'
wechat_app_agent_id:
type: string
wechat_app_corpid:
type: string
wechat_app_encodingaeskey:
type: string
wechat_app_is_enabled:
type: boolean
wechat_app_secret:
type: string
wechat_app_token:
type: string
wechat_official_account_app_id:
type: string
wechat_official_account_app_secret:
type: string
wechat_official_account_encodingaeskey:
type: string
wechat_official_account_is_enabled:
type: boolean
wechat_official_account_token:
type: string
wechat_service_contain_keywords:
items:
type: string
type: array
wechat_service_corpid:
type: string
wechat_service_encodingaeskey:
type: string
wechat_service_equal_keywords:
items:
type: string
type: array
wechat_service_is_enabled:
type: boolean
wechat_service_logo:
type: string
wechat_service_secret:
type: string
wechat_service_token:
type: string
wecom_ai_bot_settings:
allOf:
- $ref: '#/definitions/domain.WecomAIBotSettings'
welcome_str:
type: string
widget_bot_settings:
allOf:
- $ref: '#/definitions/domain.WidgetBotSettings'
type: object
domain.AppSettingsResp:
properties:
ai_feedback_settings:
allOf:
- $ref: '#/definitions/domain.AIFeedbackSettings'
body_code:
type: string
btns:
items: {}
type: array
catalog_settings:
allOf:
- $ref: '#/definitions/domain.CatalogSettings'
contribute_settings:
$ref: '#/definitions/domain.ContributeSettings'
conversation_setting:
$ref: '#/definitions/domain.ConversationSetting'
copy_setting:
$ref: '#/definitions/consts.CopySetting'
desc:
type: string
dingtalk_bot_client_id:
type: string
dingtalk_bot_client_secret:
type: string
dingtalk_bot_is_enabled:
type: boolean
dingtalk_bot_template_id:
type: string
disclaimer_settings:
allOf:
- $ref: '#/definitions/domain.DisclaimerSettings'
discord_bot_is_enabled:
type: boolean
discord_bot_token:
type: string
document_feedback_is_enabled:
type: boolean
feishu_bot_app_id:
type: string
feishu_bot_app_secret:
type: string
feishu_bot_is_enabled:
type: boolean
footer_settings:
allOf:
- $ref: '#/definitions/domain.FooterSettings'
head_code:
type: string
home_page_setting:
$ref: '#/definitions/consts.HomePageSetting'
icon:
type: string
keyword:
type: string
lark_bot_settings:
allOf:
- $ref: '#/definitions/domain.LarkBotSettings'
mcp_server_settings:
allOf:
- $ref: '#/definitions/domain.MCPServerSettings'
openai_api_bot_settings:
allOf:
- $ref: '#/definitions/domain.OpenAIAPIBotSettings'
recommend_node_ids:
items:
type: string
type: array
recommend_questions:
items:
type: string
type: array
search_placeholder:
type: string
stats_setting:
$ref: '#/definitions/domain.StatsSetting'
theme_and_style:
$ref: '#/definitions/domain.ThemeAndStyle'
theme_mode:
type: string
title:
type: string
watermark_content:
type: string
watermark_setting:
$ref: '#/definitions/consts.WatermarkSetting'
web_app_comment_settings:
allOf:
- $ref: '#/definitions/domain.WebAppCommentSettings'
web_app_custom_style:
allOf:
- $ref: '#/definitions/domain.WebAppCustomSettings'
web_app_landing_configs:
items:
$ref: '#/definitions/domain.WebAppLandingConfigResp'
type: array
web_app_landing_theme:
$ref: '#/definitions/domain.WebAppLandingTheme'
wechat_app_advanced_setting:
$ref: '#/definitions/domain.WeChatAppAdvancedSetting'
wechat_app_agent_id:
type: string
wechat_app_corpid:
type: string
wechat_app_encodingaeskey:
type: string
wechat_app_is_enabled:
type: boolean
wechat_app_secret:
type: string
wechat_app_token:
type: string
wechat_official_account_app_id:
type: string
wechat_official_account_app_secret:
type: string
wechat_official_account_encodingaeskey:
type: string
wechat_official_account_is_enabled:
type: boolean
wechat_official_account_token:
type: string
wechat_service_contain_keywords:
items:
type: string
type: array
wechat_service_corpid:
type: string
wechat_service_encodingaeskey:
type: string
wechat_service_equal_keywords:
items:
type: string
type: array
wechat_service_is_enabled:
type: boolean
wechat_service_logo:
type: string
wechat_service_secret:
type: string
wechat_service_token:
type: string
wecom_ai_bot_settings:
$ref: '#/definitions/domain.WecomAIBotSettings'
welcome_str:
type: string
widget_bot_settings:
allOf:
- $ref: '#/definitions/domain.WidgetBotSettings'
type: object
domain.AppType:
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
format: int32
type: integer
x-enum-varnames:
- AppTypeWeb
- AppTypeWidget
- AppTypeDingTalkBot
- AppTypeFeishuBot
- AppTypeWechatBot
- AppTypeWechatServiceBot
- AppTypeDisCordBot
- AppTypeWechatOfficialAccount
- AppTypeOpenAIAPI
- AppTypeWecomAIBot
- AppTypeLarkBot
- AppTypeMcpServer
domain.AuthUserInfo:
properties:
avatar_url:
type: string
email:
type: string
username:
type: string
type: object
domain.BannerConfig:
properties:
bg_url:
type: string
btns:
items:
properties:
href:
type: string
id:
type: string
text:
type: string
type:
type: string
type: object
type: array
hot_search:
items:
type: string
type: array
placeholder:
type: string
subtitle:
type: string
subtitle_color:
type: string
subtitle_font_size:
type: integer
title:
type: string
title_color:
type: string
title_font_size:
type: integer
type: object
domain.BasicDocConfig:
properties:
bg_color:
type: string
title:
type: string
title_color:
type: string
type: object
domain.BatchMoveReq:
properties:
ids:
items:
type: string
type: array
kb_id:
type: string
parent_id:
type: string
required:
- ids
- kb_id
type: object
domain.BlockGridConfig:
properties:
list:
items:
properties:
id:
type: string
name:
type: string
url:
type: string
type: object
type: array
title:
type: string
type:
type: string
type: object
domain.BrandGroup:
properties:
links:
items:
$ref: '#/definitions/domain.Link'
type: array
name:
type: string
type: object
domain.BrowserCount:
properties:
count:
type: integer
name:
type: string
type: object
domain.CarouselConfig:
properties:
bg_color:
type: string
list:
items:
properties:
desc:
type: string
id:
type: string
title:
type: string
url:
type: string
type: object
type: array
title:
type: string
type: object
domain.CaseConfig:
properties:
list:
items:
properties:
id:
type: string
link:
type: string
name:
type: string
type: object
type: array
title:
type: string
type:
type: string
type: object
domain.CatalogSettings:
properties:
catalog_folder:
type: integer
catalog_visible:
type: integer
catalog_width:
type: integer
type: object
domain.ChatRequest:
properties:
app_type:
allOf:
- $ref: '#/definitions/domain.AppType'
enum:
- 1
- 2
captcha_token:
type: string
conversation_id:
type: string
image_paths:
items:
type: string
maxItems: 3
type: array
message:
type: string
nonce:
type: string
required:
- app_type
type: object
domain.ChatSearchReq:
properties:
captcha_token:
type: string
message:
type: string
required:
- message
type: object
domain.ChatSearchResp:
properties:
node_result:
items:
$ref: '#/definitions/domain.NodeContentChunkSSE'
type: array
type: object
domain.CommentConfig:
properties:
list:
items:
properties:
avatar:
type: string
comment:
type: string
id:
type: string
profession:
type: string
user_name:
type: string
type: object
type: array
title:
type: string
type:
type: string
type: object
domain.CommentDeleteReq:
properties:
ids:
items:
type: string
type: array
kb_id:
type: string
required:
- ids
- kb_id
type: object
domain.CommentInfo:
properties:
auth_user_id:
type: integer
avatar:
type: string
email:
type: string
remote_ip:
type: string
user_name:
type: string
type: object
domain.CommentListItem:
properties:
content:
type: string
created_at:
type: string
id:
type: string
info:
$ref: '#/definitions/domain.CommentInfo'
ip_address:
allOf:
- $ref: '#/definitions/domain.IPAddress'
node_id:
type: string
node_name:
type: string
node_type:
type: integer
root_id:
type: string
status:
allOf:
- $ref: '#/definitions/github_com_chaitin_panda-wiki_domain.CommentStatus'
type: object
domain.CommentReq:
properties:
captcha_token:
type: string
content:
type: string
node_id:
type: string
parent_id:
type: string
pic_urls:
items:
type: string
type: array
root_id:
type: string
user_name:
type: string
required:
- content
- node_id
- pic_urls
type: object
domain.CompleteReq:
properties:
prefix:
type: string
suffix:
type: string
type: object
domain.ContributeSettings:
properties:
is_enable:
type: boolean
type: object
domain.ConversationDetailResp:
properties:
app_id:
type: string
created_at:
type: string
id:
type: string
ip_address:
$ref: '#/definitions/domain.IPAddress'
messages:
items:
$ref: '#/definitions/domain.ConversationMessage'
type: array
references:
items:
$ref: '#/definitions/domain.ConversationReference'
type: array
remote_ip:
type: string
subject:
type: string
type: object
domain.ConversationInfo:
properties:
user_info:
$ref: '#/definitions/github_com_chaitin_panda-wiki_domain.UserInfo'
type: object
domain.ConversationListItem:
properties:
app_name:
type: string
app_type:
$ref: '#/definitions/domain.AppType'
created_at:
type: string
feedback_info:
allOf:
- $ref: '#/definitions/domain.FeedBackInfo'
id:
type: string
info:
allOf:
- $ref: '#/definitions/domain.ConversationInfo'
ip_address:
$ref: '#/definitions/domain.IPAddress'
remote_ip:
type: string
subject:
type: string
type: object
domain.ConversationMessage:
properties:
app_id:
type: string
completion_tokens:
type: integer
content:
type: string
conversation_id:
type: string
created_at:
type: string
id:
type: string
image_paths:
items:
type: string
type: array
info:
allOf:
- $ref: '#/definitions/domain.FeedBackInfo'
kb_id:
type: string
model:
type: string
parent_id:
type: string
prompt_tokens:
type: integer
provider:
allOf:
- $ref: '#/definitions/github_com_chaitin_panda-wiki_domain.ModelProvider'
remote_ip:
type: string
role:
$ref: '#/definitions/schema.RoleType'
total_tokens:
type: integer
type: object
domain.ConversationMessageListItem:
properties:
app_id:
type: string
app_type:
$ref: '#/definitions/domain.AppType'
conversation_id:
type: string
conversation_info:
allOf:
- $ref: '#/definitions/domain.ConversationInfo'
created_at:
type: string
id:
type: string
info:
allOf:
- $ref: '#/definitions/domain.FeedBackInfo'
ip_address:
$ref: '#/definitions/domain.IPAddress'
question:
type: string
remote_ip:
type: string
type: object
domain.ConversationReference:
properties:
app_id:
type: string
conversation_id:
type: string
name:
type: string
node_id:
type: string
url:
type: string
type: object
domain.ConversationSetting:
properties:
copyright_hide_enabled:
type: boolean
copyright_info:
type: string
type: object
domain.CreateKBReleaseReq:
properties:
kb_id:
type: string
message:
type: string
node_ids:
items:
type: string
type: array
tag:
type: string
required:
- kb_id
- message
- tag
type: object
domain.CreateKnowledgeBaseReq:
properties:
hosts:
items:
type: string
type: array
name:
type: string
ports:
items:
type: integer
type: array
private_key:
type: string
public_key:
type: string
ssl_ports:
items:
type: integer
type: array
required:
- name
type: object
domain.CreateModelReq:
properties:
api_header:
type: string
api_key:
type: string
api_version:
type: string
base_url:
type: string
model:
type: string
parameters:
$ref: '#/definitions/github_com_chaitin_panda-wiki_domain.ModelParam'
provider:
$ref: '#/definitions/github_com_chaitin_panda-wiki_domain.ModelProvider'
type:
allOf:
- $ref: '#/definitions/domain.ModelType'
enum:
- chat
- embedding
- rerank
- analysis
- analysis-vl
required:
- base_url
- model
- provider
- type
type: object
domain.CreateNodeReq:
properties:
content:
type: string
content_type:
type: string
emoji:
type: string
kb_id:
type: string
name:
type: string
nav_id:
type: string
parent_id:
type: string
position:
type: number
summary:
type: string
type:
allOf:
- $ref: '#/definitions/domain.NodeType'
enum:
- 1
- 2
required:
- kb_id
- name
- nav_id
- type
type: object
domain.DirDocConfig:
properties:
bg_color:
type: string
title:
type: string
title_color:
type: string
type: object
domain.DisclaimerSettings:
properties:
content:
type: string
type: object
domain.EnterpriseAuth:
properties:
enabled:
type: boolean
type: object
domain.FaqConfig:
properties:
bg_color:
type: string
list:
items:
properties:
id:
type: string
link:
type: string
question:
type: string
type: object
type: array
title:
type: string
title_color:
type: string
type: object
domain.FeatureConfig:
properties:
list:
items:
properties:
desc:
type: string
id:
type: string
name:
type: string
type: object
type: array
title:
type: string
type:
type: string
type: object
domain.FeedBackInfo:
properties:
feedback_content:
type: string
feedback_type:
type: string
score:
$ref: '#/definitions/domain.ScoreType'
type: object
domain.FeedbackRequest:
properties:
conversation_id:
type: string
feedback_content:
maxLength: 200
type: string
message_id:
type: string
score:
allOf:
- $ref: '#/definitions/domain.ScoreType'
type:
type: string
required:
- message_id
type: object
domain.FooterSettings:
properties:
brand_desc:
type: string
brand_groups:
items:
$ref: '#/definitions/domain.BrandGroup'
type: array
brand_logo:
type: string
brand_name:
type: string
corp_name:
type: string
footer_style:
type: string
icp:
type: string
type: object
domain.GetKBReleaseListResp:
properties:
data:
items:
$ref: '#/definitions/domain.KBReleaseListItemResp'
type: array
total:
type: integer
type: object
domain.GetProviderModelListReq:
properties:
api_header:
type: string
api_key:
type: string
base_url:
type: string
provider:
type: string
type:
allOf:
- $ref: '#/definitions/domain.ModelType'
enum:
- chat
- embedding
- rerank
- analysis
- analysis-vl
required:
- base_url
- provider
- type
type: object
domain.GetProviderModelListResp:
properties:
models:
items:
$ref: '#/definitions/domain.ProviderModelListItem'
type: array
type: object
domain.HotBrowser:
properties:
browser:
items:
$ref: '#/definitions/domain.BrowserCount'
type: array
os:
items:
$ref: '#/definitions/domain.BrowserCount'
type: array
type: object
domain.HotPage:
properties:
count:
type: integer
node_id:
type: string
node_name:
type: string
scene:
$ref: '#/definitions/domain.StatPageScene'
type: object
domain.HotRefererHost:
properties:
count:
type: integer
referer_host:
type: string
type: object
domain.IPAddress:
properties:
city:
type: string
country:
type: string
ip:
type: string
province:
type: string
type: object
domain.ImgTextConfig:
properties:
item:
properties:
desc:
type: string
name:
type: string
url:
type: string
type: object
title:
type: string
type:
type: string
type: object
domain.InstantCountResp:
properties:
count:
type: integer
time:
type: string
type: object
domain.InstantPageResp:
properties:
created_at:
type: string
info:
$ref: '#/definitions/domain.AuthUserInfo'
ip:
type: string
ip_address:
$ref: '#/definitions/domain.IPAddress'
node_id:
type: string
node_name:
type: string
scene:
$ref: '#/definitions/domain.StatPageScene'
user_id:
type: integer
type: object
domain.KBReleaseListItemResp:
properties:
created_at:
type: string
id:
type: string
kb_id:
type: string
message:
type: string
publisher_account:
type: string
tag:
type: string
type: object
domain.KnowledgeBaseDetail:
properties:
access_settings:
$ref: '#/definitions/domain.AccessSettings'
created_at:
type: string
dataset_id:
type: string
id:
type: string
name:
type: string
perm:
allOf:
- $ref: '#/definitions/consts.UserKBPermission'
updated_at:
type: string
type: object
domain.KnowledgeBaseListItem:
properties:
access_settings:
$ref: '#/definitions/domain.AccessSettings'
created_at:
type: string
dataset_id:
type: string
id:
type: string
name:
type: string
updated_at:
type: string
type: object
domain.LarkBotSettings:
properties:
app_id:
type: string
app_secret:
type: string
encrypt_key:
type: string
is_enabled:
type: boolean
verify_token:
type: string
type: object
domain.Link:
properties:
name:
type: string
url:
type: string
type: object
domain.MCPServerSettings:
properties:
docs_tool_settings:
$ref: '#/definitions/domain.MCPToolSettings'
is_enabled:
type: boolean
sample_auth:
$ref: '#/definitions/domain.SimpleAuth'
type: object
domain.MCPToolSettings:
properties:
desc:
type: string
name:
type: string
type: object
domain.MessageContent:
type: object
domain.MessageFrom:
enum:
- 1
- 2
type: integer
x-enum-varnames:
- MessageFromGroup
- MessageFromPrivate
domain.MetricsConfig:
properties:
list:
items:
properties:
id:
type: string
name:
type: string
number:
type: string
type: object
type: array
title:
type: string
type:
type: string
type: object
domain.ModelModeSetting:
properties:
auto_mode_api_key:
type: string
auto_mode_provider:
allOf:
- $ref: '#/definitions/github_com_chaitin_panda-wiki_domain.ModelProvider'
chat_model:
type: string
is_manual_embedding_updated:
type: boolean
mode:
allOf:
- $ref: '#/definitions/consts.ModelSettingMode'
type: object
domain.ModelType:
enum:
- chat
- embedding
- rerank
- analysis
- analysis-vl
type: string
x-enum-varnames:
- ModelTypeChat
- ModelTypeEmbedding
- ModelTypeRerank
- ModelTypeAnalysis
- ModelTypeAnalysisVL
domain.MoveNodeReq:
properties:
id:
type: string
kb_id:
type: string
next_id:
type: string
parent_id:
type: string
prev_id:
type: string
required:
- id
- kb_id
type: object
domain.NavDocConfig:
properties:
nav_ids:
items:
type: string
type: array
title:
type: string
type: object
domain.NodeActionReq:
properties:
action:
enum:
- delete
type: string
ids:
items:
type: string
type: array
kb_id:
type: string
required:
- action
- ids
- kb_id
type: object
domain.NodeContentChunkSSE:
properties:
emoji:
type: string
name:
type: string
node_id:
type: string
node_path_names:
items:
type: string
type: array
summary:
type: string
type: object
domain.NodeListItemResp:
properties:
content_type:
type: string
created_at:
type: string
creator:
type: string
creator_id:
type: string
editor:
type: string
editor_id:
type: string
emoji:
type: string
id:
type: string
name:
type: string
nav_id:
type: string
parent_id:
type: string
permissions:
$ref: '#/definitions/domain.NodePermissions'
position:
type: number
publisher_id:
type: string
rag_info:
$ref: '#/definitions/domain.RagInfo'
status:
$ref: '#/definitions/domain.NodeStatus'
summary:
type: string
type:
$ref: '#/definitions/domain.NodeType'
updated_at:
type: string
type: object
domain.NodeMeta:
properties:
content_type:
type: string
emoji:
type: string
summary:
type: string
type: object
domain.NodePermissions:
properties:
answerable:
allOf:
- $ref: '#/definitions/consts.NodeAccessPerm'
visible:
allOf:
- $ref: '#/definitions/consts.NodeAccessPerm'
visitable:
allOf:
- $ref: '#/definitions/consts.NodeAccessPerm'
type: object
domain.NodeStatus:
enum:
- 0
- 1
- 2
format: int32
type: integer
x-enum-comments:
NodeStatusDraft: 更新未发布
NodeStatusPublished: 已发布
NodeStatusUnreleased: 草稿
x-enum-descriptions:
- 草稿
- 更新未发布
- 已发布
x-enum-varnames:
- NodeStatusUnreleased
- NodeStatusDraft
- NodeStatusPublished
domain.NodeSummaryReq:
properties:
ids:
items:
type: string
type: array
kb_id:
type: string
required:
- ids
- kb_id
type: object
domain.NodeType:
enum:
- 1
- 2
format: int32
type: integer
x-enum-varnames:
- NodeTypeFolder
- NodeTypeDocument
domain.ObjectUploadResp:
properties:
filename:
type: string
key:
type: string
type: object
domain.OpenAIAPIBotSettings:
properties:
is_enabled:
type: boolean
secret_key:
type: string
type: object
domain.OpenAIChoice:
properties:
delta:
allOf:
- $ref: '#/definitions/domain.OpenAIMessage'
finish_reason:
type: string
index:
type: integer
message:
$ref: '#/definitions/domain.OpenAIMessage'
type: object
domain.OpenAICompletionsRequest:
properties:
frequency_penalty:
type: number
max_tokens:
type: integer
messages:
items:
$ref: '#/definitions/domain.OpenAIMessage'
type: array
model:
type: string
presence_penalty:
type: number
response_format:
$ref: '#/definitions/domain.OpenAIResponseFormat'
stop:
items:
type: string
type: array
stream:
type: boolean
stream_options:
$ref: '#/definitions/domain.OpenAIStreamOptions'
temperature:
type: number
tool_choice:
$ref: '#/definitions/domain.OpenAIToolChoice'
tools:
items:
$ref: '#/definitions/domain.OpenAITool'
type: array
top_p:
type: number
user:
type: string
required:
- messages
- model
type: object
domain.OpenAICompletionsResponse:
properties:
choices:
items:
$ref: '#/definitions/domain.OpenAIChoice'
type: array
created:
type: integer
id:
type: string
model:
type: string
object:
type: string
usage:
$ref: '#/definitions/domain.OpenAIUsage'
type: object
domain.OpenAIError:
properties:
code:
type: string
message:
type: string
param:
type: string
type:
type: string
type: object
domain.OpenAIErrorResponse:
properties:
error:
$ref: '#/definitions/domain.OpenAIError'
type: object
domain.OpenAIFunction:
properties:
type: string
name:
type: string
parameters:
additionalProperties: true
type: object
required:
- name
type: object
domain.OpenAIFunctionCall:
properties:
arguments:
type: string
name:
type: string
required:
- arguments
- name
type: object
domain.OpenAIFunctionChoice:
properties:
name:
type: string
required:
- name
type: object
domain.OpenAIMessage:
properties:
content:
$ref: '#/definitions/domain.MessageContent'
name:
type: string
role:
type: string
tool_call_id:
type: string
tool_calls:
items:
$ref: '#/definitions/domain.OpenAIToolCall'
type: array
required:
- role
type: object
domain.OpenAIResponseFormat:
properties:
type:
type: string
required:
- type
type: object
domain.OpenAIStreamOptions:
properties:
include_usage:
type: boolean
type: object
domain.OpenAITool:
properties:
function:
$ref: '#/definitions/domain.OpenAIFunction'
type:
type: string
required:
- type
type: object
domain.OpenAIToolCall:
properties:
function:
$ref: '#/definitions/domain.OpenAIFunctionCall'
id:
type: string
type:
type: string
required:
- function
- id
- type
type: object
domain.OpenAIToolChoice:
properties:
function:
$ref: '#/definitions/domain.OpenAIFunctionChoice'
type:
type: string
type: object
domain.OpenAIUsage:
properties:
completion_tokens:
type: integer
prompt_tokens:
type: integer
total_tokens:
type: integer
type: object
domain.PWResponse:
properties:
code:
type: integer
data: {}
message:
type: string
success:
type: boolean
type: object
domain.PaginatedResult-array_domain_ConversationMessageListItem:
properties:
data:
items:
$ref: '#/definitions/domain.ConversationMessageListItem'
type: array
total:
type: integer
type: object
domain.ProviderModelListItem:
properties:
model:
type: string
type: object
domain.QuestionConfig:
properties:
list:
items:
properties:
id:
type: string
question:
type: string
type: object
type: array
title:
type: string
type:
type: string
type: object
domain.RagInfo:
properties:
message:
type: string
status:
$ref: '#/definitions/consts.NodeRagInfoStatus'
synced_at:
type: string
type: object
domain.RecommendNodeListResp:
properties:
emoji:
type: string
id:
type: string
name:
type: string
nav_id:
type: string
nav_name:
type: string
parent_id:
type: string
permissions:
$ref: '#/definitions/domain.NodePermissions'
position:
type: number
recommend_nodes:
items:
$ref: '#/definitions/domain.RecommendNodeListResp'
type: array
summary:
type: string
type:
$ref: '#/definitions/domain.NodeType'
type: object
domain.Response:
properties:
data: {}
message:
type: string
success:
type: boolean
type: object
domain.ScoreType:
enum:
- 1
- -1
type: integer
x-enum-varnames:
- Like
- DisLike
domain.ShareCommentListItem:
properties:
content:
type: string
created_at:
type: string
id:
type: string
info:
$ref: '#/definitions/domain.CommentInfo'
ip_address:
allOf:
- $ref: '#/definitions/domain.IPAddress'
kb_id:
type: string
node_id:
type: string
parent_id:
type: string
pic_urls:
items:
type: string
type: array
root_id:
type: string
type: object
domain.ShareConversationDetailResp:
properties:
created_at:
type: string
id:
type: string
messages:
items:
$ref: '#/definitions/domain.ShareConversationMessage'
type: array
subject:
type: string
type: object
domain.ShareConversationMessage:
properties:
content:
type: string
created_at:
type: string
image_paths:
items:
type: string
type: array
role:
$ref: '#/definitions/schema.RoleType'
type: object
domain.ShareNodeDetailItem:
properties:
children:
items:
$ref: '#/definitions/domain.ShareNodeDetailItem'
type: array
emoji:
type: string
id:
type: string
meta:
$ref: '#/definitions/domain.NodeMeta'
name:
type: string
parent_id:
type: string
permissions:
$ref: '#/definitions/domain.NodePermissions'
position:
type: number
type:
$ref: '#/definitions/domain.NodeType'
updated_at:
type: string
type: object
domain.SimpleAuth:
properties:
enabled:
type: boolean
password:
type: string
type: object
domain.SimpleDocConfig:
properties:
bg_color:
type: string
title:
type: string
title_color:
type: string
type: object
domain.SocialMediaAccount:
properties:
channel:
type: string
icon:
type: string
link:
type: string
phone:
type: string
text:
type: string
type: object
domain.StatPageReq:
properties:
node_id:
type: string
scene:
allOf:
- $ref: '#/definitions/domain.StatPageScene'
enum:
- 1
- 2
- 3
- 4
required:
- scene
type: object
domain.StatPageScene:
enum:
- 1
- 2
- 3
- 4
type: integer
x-enum-varnames:
- StatPageSceneWelcome
- StatPageSceneNodeDetail
- StatPageSceneChat
- StatPageSceneLogin
domain.StatsSetting:
properties:
pv_enable:
type: boolean
type: object
domain.SwitchModeReq:
properties:
auto_mode_api_key:
type: string
auto_mode_provider:
allOf:
- $ref: '#/definitions/github_com_chaitin_panda-wiki_domain.ModelProvider'
chat_model:
type: string
mode:
enum:
- manual
- auto
type: string
required:
- mode
type: object
domain.SwitchModeResp:
properties:
message:
type: string
type: object
domain.TextConfig:
properties:
title:
type: string
type:
type: string
type: object
domain.TextImgConfig:
properties:
item:
properties:
desc:
type: string
name:
type: string
url:
type: string
type: object
title:
type: string
type:
type: string
type: object
domain.TextReq:
properties:
action:
type: string
text:
type: string
required:
- text
type: object
domain.ThemeAndStyle:
properties:
bg_image:
type: string
doc_width:
type: string
type: object
domain.UpdateAppReq:
properties:
kb_id:
type: string
name:
type: string
settings:
$ref: '#/definitions/domain.AppSettings'
type: object
domain.UpdateKnowledgeBaseReq:
properties:
access_settings:
$ref: '#/definitions/domain.AccessSettings'
id:
type: string
name:
type: string
required:
- id
type: object
domain.UpdateModelReq:
properties:
api_header:
type: string
api_key:
type: string
api_version:
type: string
base_url:
type: string
id:
type: string
is_active:
type: boolean
model:
type: string
parameters:
$ref: '#/definitions/github_com_chaitin_panda-wiki_domain.ModelParam'
provider:
$ref: '#/definitions/github_com_chaitin_panda-wiki_domain.ModelProvider'
type:
allOf:
- $ref: '#/definitions/domain.ModelType'
enum:
- chat
- embedding
- rerank
- analysis
- analysis-vl
required:
- base_url
- id
- model
- provider
- type
type: object
domain.UpdateNodeReq:
properties:
content:
type: string
content_type:
type: string
emoji:
type: string
id:
type: string
kb_id:
type: string
name:
type: string
nav_id:
type: string
position:
type: number
summary:
type: string
required:
- id
- kb_id
type: object
domain.UploadByUrlReq:
properties:
kb_id:
type: string
url:
type: string
required:
- url
type: object
domain.WeChatAppAdvancedSetting:
properties:
disclaimer_content:
type: string
feedback_enable:
type: boolean
feedback_type:
items:
type: string
type: array
prompt:
type: string
text_response_enable:
type: boolean
type: object
domain.WebAppCommentSettings:
properties:
is_enable:
type: boolean
moderation_enable:
type: boolean
type: object
domain.WebAppCustomSettings:
properties:
allow_theme_switching:
type: boolean
footer_show_intro:
type: boolean
header_search_placeholder:
type: string
show_brand_info:
type: boolean
social_media_accounts:
items:
$ref: '#/definitions/domain.SocialMediaAccount'
type: array
type: object
domain.WebAppLandingConfig:
properties:
banner_config:
$ref: '#/definitions/domain.BannerConfig'
basic_doc_config:
$ref: '#/definitions/domain.BasicDocConfig'
block_grid_config:
$ref: '#/definitions/domain.BlockGridConfig'
carousel_config:
$ref: '#/definitions/domain.CarouselConfig'
case_config:
$ref: '#/definitions/domain.CaseConfig'
com_config_order:
items:
type: string
type: array
comment_config:
$ref: '#/definitions/domain.CommentConfig'
dir_doc_config:
$ref: '#/definitions/domain.DirDocConfig'
faq_config:
$ref: '#/definitions/domain.FaqConfig'
feature_config:
$ref: '#/definitions/domain.FeatureConfig'
img_text_config:
$ref: '#/definitions/domain.ImgTextConfig'
metrics_config:
$ref: '#/definitions/domain.MetricsConfig'
nav_doc_config:
$ref: '#/definitions/domain.NavDocConfig'
node_ids:
items:
type: string
type: array
question_config:
$ref: '#/definitions/domain.QuestionConfig'
simple_doc_config:
$ref: '#/definitions/domain.SimpleDocConfig'
text_config:
$ref: '#/definitions/domain.TextConfig'
text_img_config:
$ref: '#/definitions/domain.TextImgConfig'
type:
type: string
type: object
domain.WebAppLandingConfigResp:
properties:
banner_config:
$ref: '#/definitions/domain.BannerConfig'
basic_doc_config:
$ref: '#/definitions/domain.BasicDocConfig'
block_grid_config:
$ref: '#/definitions/domain.BlockGridConfig'
carousel_config:
$ref: '#/definitions/domain.CarouselConfig'
case_config:
$ref: '#/definitions/domain.CaseConfig'
com_config_order:
items:
type: string
type: array
comment_config:
$ref: '#/definitions/domain.CommentConfig'
dir_doc_config:
$ref: '#/definitions/domain.DirDocConfig'
faq_config:
$ref: '#/definitions/domain.FaqConfig'
feature_config:
$ref: '#/definitions/domain.FeatureConfig'
img_text_config:
$ref: '#/definitions/domain.ImgTextConfig'
metrics_config:
$ref: '#/definitions/domain.MetricsConfig'
nav_doc_config:
$ref: '#/definitions/domain.NavDocConfig'
node_ids:
items:
type: string
type: array
nodes:
items:
$ref: '#/definitions/domain.RecommendNodeListResp'
type: array
question_config:
$ref: '#/definitions/domain.QuestionConfig'
simple_doc_config:
$ref: '#/definitions/domain.SimpleDocConfig'
text_config:
$ref: '#/definitions/domain.TextConfig'
text_img_config:
$ref: '#/definitions/domain.TextImgConfig'
type:
type: string
type: object
domain.WebAppLandingTheme:
properties:
name:
type: string
type: object
domain.WecomAIBotSettings:
properties:
encodingaeskey:
type: string
is_enabled:
type: boolean
token:
type: string
type: object
domain.WidgetBotSettings:
properties:
btn_id:
type: string
btn_logo:
type: string
btn_position:
type: string
btn_style:
type: string
btn_text:
type: string
copyright_hide_enabled:
type: boolean
copyright_info:
type: string
disclaimer:
type: string
is_open:
type: boolean
modal_position:
type: string
placeholder:
type: string
recommend_node_ids:
items:
type: string
type: array
recommend_questions:
items:
type: string
type: array
search_mode:
type: string
theme_mode:
type: string
type: object
github_com_chaitin_panda-wiki_api_auth_v1.AuthGetResp:
properties:
auths:
items:
$ref: '#/definitions/github_com_chaitin_panda-wiki_api_auth_v1.AuthItem'
type: array
client_id:
type: string
client_secret:
type: string
proxy:
type: string
source_type:
$ref: '#/definitions/consts.SourceType'
type: object
github_com_chaitin_panda-wiki_api_auth_v1.AuthItem:
properties:
avatar_url:
type: string
created_at:
type: string
id:
type: integer
ip:
type: string
last_login_time:
type: string
source_type:
$ref: '#/definitions/consts.SourceType'
username:
type: string
type: object
github_com_chaitin_panda-wiki_api_auth_v1.AuthSetReq:
properties:
client_id:
type: string
client_secret:
type: string
kb_id:
type: string
proxy:
type: string
source_type:
allOf:
- $ref: '#/definitions/consts.SourceType'
enum:
- github
required:
- source_type
type: object
github_com_chaitin_panda-wiki_api_node_v1.NodeListGroupNavResp:
properties:
count:
type: integer
is_released:
type: boolean
list:
items:
$ref: '#/definitions/domain.NodeListItemResp'
type: array
nav_id:
type: string
nav_name:
type: string
position:
type: number
type: object
github_com_chaitin_panda-wiki_api_share_v1.AuthGetResp:
properties:
auth_type:
$ref: '#/definitions/consts.AuthType'
license_edition:
$ref: '#/definitions/consts.LicenseEdition'
source_type:
$ref: '#/definitions/consts.SourceType'
type: object
github_com_chaitin_panda-wiki_api_share_v1.AuthGitHubReq:
properties:
kb_id:
type: string
redirect_url:
type: string
type: object
github_com_chaitin_panda-wiki_api_share_v1.AuthGitHubResp:
properties:
url:
type: string
type: object
github_com_chaitin_panda-wiki_api_share_v1.FileUploadResp:
properties:
key:
type: string
type: object
github_com_chaitin_panda-wiki_api_share_v1.GitHubCallbackResp:
type: object
github_com_chaitin_panda-wiki_domain.CheckModelReq:
properties:
api_header:
type: string
api_key:
type: string
api_version:
type: string
base_url:
type: string
model:
type: string
parameters:
$ref: '#/definitions/github_com_chaitin_panda-wiki_domain.ModelParam'
provider:
$ref: '#/definitions/github_com_chaitin_panda-wiki_domain.ModelProvider'
type:
allOf:
- $ref: '#/definitions/domain.ModelType'
enum:
- chat
- embedding
- rerank
- analysis
- analysis-vl
required:
- base_url
- model
- provider
- type
type: object
github_com_chaitin_panda-wiki_domain.CheckModelResp:
properties:
content:
type: string
error:
type: string
type: object
github_com_chaitin_panda-wiki_domain.CommentStatus:
enum:
- -1
- 0
- 1
format: int32
type: integer
x-enum-varnames:
- CommentStatusReject
- CommentStatusPending
- CommentStatusAccepted
github_com_chaitin_panda-wiki_domain.ModelListItem:
properties:
api_header:
type: string
api_key:
type: string
api_version:
type: string
base_url:
type: string
completion_tokens:
type: integer
id:
type: string
is_active:
type: boolean
model:
type: string
parameters:
$ref: '#/definitions/github_com_chaitin_panda-wiki_domain.ModelParam'
prompt_tokens:
type: integer
provider:
$ref: '#/definitions/github_com_chaitin_panda-wiki_domain.ModelProvider'
total_tokens:
type: integer
type:
$ref: '#/definitions/domain.ModelType'
type: object
github_com_chaitin_panda-wiki_domain.ModelParam:
properties:
context_window:
type: integer
max_tokens:
type: integer
r1_enabled:
type: boolean
support_computer_use:
type: boolean
support_images:
type: boolean
support_prompt_cache:
type: boolean
temperature:
type: number
type: object
github_com_chaitin_panda-wiki_domain.ModelProvider:
enum:
- BaiZhiCloud
- BaiZhiCloudModelStore
type: string
x-enum-varnames:
- ModelProviderBrandBaiZhiCloud
- ModelProviderBaiZhiCloudModelStore
github_com_chaitin_panda-wiki_domain.NodeGroupDetail:
properties:
auth_group_id:
type: integer
auth_ids:
items:
type: integer
type: array
kb_id:
type: string
name:
type: string
node_id:
type: string
perm:
$ref: '#/definitions/consts.NodePermName'
type: object
github_com_chaitin_panda-wiki_domain.UserInfo:
properties:
auth_user_id:
type: integer
avatar:
type: string
email:
type: string
from:
$ref: '#/definitions/domain.MessageFrom'
name:
type: string
real_name:
type: string
user_id:
type: string
type: object
gocap.ChallengeData:
properties:
challenge:
$ref: '#/definitions/gocap.ChallengeItem'
expires:
type: integer
token:
type: string
type: object
gocap.ChallengeItem:
properties:
c:
type: integer
d:
type: integer
s:
type: integer
type: object
gocap.VerificationResult:
properties:
expires:
type: integer
message:
type: string
success:
type: boolean
token:
type: string
type: object
schema.RoleType:
enum:
- assistant
- user
- system
- tool
type: string
x-enum-varnames:
- Assistant
- User
- System
- Tool
share.ShareCommentLists:
properties:
data:
items:
$ref: '#/definitions/domain.ShareCommentListItem'
type: array
total:
type: integer
type: object
v1.AuthLoginSimpleReq:
properties:
password:
type: string
required:
- password
type: object
v1.CommentLists:
properties:
data:
items:
$ref: '#/definitions/domain.CommentListItem'
type: array
total:
type: integer
type: object
v1.ConversationListItems:
properties:
data:
items:
$ref: '#/definitions/domain.ConversationListItem'
type: array
total:
type: integer
type: object
v1.CrawlerExportReq:
properties:
doc_id:
type: string
file_type:
type: string
id:
type: string
kb_id:
type: string
space_id:
type: string
required:
- doc_id
- id
- kb_id
type: object
v1.CrawlerExportResp:
properties:
task_id:
type: string
type: object
v1.CrawlerParseReq:
properties:
crawler_source:
$ref: '#/definitions/consts.CrawlerSource'
dingtalk_setting:
$ref: '#/definitions/anydoc.DingtalkSetting'
feishu_setting:
$ref: '#/definitions/anydoc.FeishuSetting'
filename:
type: string
kb_id:
type: string
key:
type: string
required:
- crawler_source
- kb_id
type: object
v1.CrawlerParseResp:
properties:
docs:
$ref: '#/definitions/anydoc.Child'
id:
type: string
type: object
v1.CrawlerResultItem:
properties:
content:
type: string
status:
$ref: '#/definitions/consts.CrawlerStatus'
task_id:
type: string
type: object
v1.CrawlerResultReq:
properties:
task_id:
type: string
required:
- task_id
type: object
v1.CrawlerResultResp:
properties:
content:
type: string
status:
$ref: '#/definitions/consts.CrawlerStatus'
required:
- status
type: object
v1.CrawlerResultsReq:
properties:
task_ids:
items:
type: string
type: array
required:
- task_ids
type: object
v1.CrawlerResultsResp:
properties:
list:
items:
$ref: '#/definitions/v1.CrawlerResultItem'
type: array
status:
$ref: '#/definitions/consts.CrawlerStatus'
type: object
v1.CreateUserReq:
properties:
account:
type: string
password:
minLength: 8
type: string
role:
allOf:
- $ref: '#/definitions/consts.UserRole'
enum:
- admin
- user
required:
- account
- password
- role
type: object
v1.CreateUserResp:
properties:
id:
type: string
type: object
v1.KBUserInviteReq:
properties:
kb_id:
type: string
perm:
allOf:
- $ref: '#/definitions/consts.UserKBPermission'
enum:
- full_control
- doc_manage
- data_operate
user_id:
type: string
required:
- kb_id
- perm
- user_id
type: object
v1.KBUserListItemResp:
properties:
account:
type: string
id:
type: string
perms:
$ref: '#/definitions/consts.UserKBPermission'
role:
$ref: '#/definitions/consts.UserRole'
type: object
v1.KBUserUpdateReq:
properties:
kb_id:
type: string
perm:
allOf:
- $ref: '#/definitions/consts.UserKBPermission'
enum:
- full_control
- doc_manage
- data_operate
user_id:
type: string
required:
- kb_id
- perm
- user_id
type: object
v1.LoginReq:
properties:
account:
type: string
password:
type: string
required:
- account
- password
type: object
v1.LoginResp:
properties:
token:
type: string
type: object
v1.NavAddReq:
properties:
kb_id:
type: string
name:
type: string
position:
type: number
required:
- kb_id
- name
type: object
v1.NavListResp:
properties:
created_at:
type: string
id:
type: string
name:
type: string
position:
type: number
updated_at:
type: string
type: object
v1.NavMoveReq:
properties:
id:
type: string
kb_id:
type: string
next_id:
type: string
prev_id:
type: string
required:
- id
- kb_id
type: object
v1.NavUpdateReq:
properties:
id:
type: string
kb_id:
type: string
name:
type: string
required:
- id
- kb_id
- name
type: object
v1.NodeDetailResp:
properties:
content:
type: string
created_at:
type: string
creator_account:
type: string
creator_id:
type: string
editor_account:
type: string
editor_id:
type: string
id:
type: string
kb_id:
type: string
meta:
$ref: '#/definitions/domain.NodeMeta'
name:
type: string
nav_id:
type: string
parent_id:
type: string
permissions:
$ref: '#/definitions/domain.NodePermissions'
publisher_account:
type: string
publisher_id:
type: string
pv:
type: integer
status:
$ref: '#/definitions/domain.NodeStatus'
type:
$ref: '#/definitions/domain.NodeType'
updated_at:
type: string
type: object
v1.NodeMoveNavReq:
properties:
ids:
items:
type: string
minItems: 1
type: array
kb_id:
type: string
nav_id:
type: string
required:
- ids
- kb_id
- nav_id
type: object
v1.NodePermissionEditReq:
properties:
answerable_groups:
items:
type: integer
type: array
ids:
items:
type: string
type: array
kb_id:
type: string
permissions:
$ref: '#/definitions/domain.NodePermissions'
visible_groups:
items:
type: integer
type: array
visitable_groups:
items:
type: integer
type: array
required:
- ids
- kb_id
type: object
v1.NodePermissionEditResp:
type: object
v1.NodePermissionResp:
properties:
answerable_groups:
items:
$ref: '#/definitions/github_com_chaitin_panda-wiki_domain.NodeGroupDetail'
type: array
id:
type: string
permissions:
$ref: '#/definitions/domain.NodePermissions'
visible_groups:
items:
$ref: '#/definitions/github_com_chaitin_panda-wiki_domain.NodeGroupDetail'
type: array
visitable_groups:
items:
$ref: '#/definitions/github_com_chaitin_panda-wiki_domain.NodeGroupDetail'
type: array
type: object
v1.NodeRestudyReq:
properties:
kb_id:
type: string
node_ids:
items:
type: string
minItems: 1
type: array
required:
- kb_id
- node_ids
type: object
v1.NodeRestudyResp:
type: object
v1.NodeStatsResp:
properties:
unpublished_count:
type: integer
unreleased_nav_count:
type: integer
unstudied_count:
type: integer
type: object
v1.ResetPasswordReq:
properties:
id:
type: string
new_password:
minLength: 8
type: string
required:
- id
- new_password
type: object
v1.ShareFileUploadUrlReq:
properties:
captcha_token:
type: string
url:
type: string
required:
- captcha_token
- url
type: object
v1.ShareFileUploadUrlResp:
properties:
key:
type: string
type: object
v1.ShareNodeDetailResp:
properties:
content:
type: string
created_at:
type: string
creator_account:
type: string
creator_id:
type: string
editor_account:
type: string
editor_id:
type: string
id:
type: string
kb_id:
type: string
list:
items:
$ref: '#/definitions/domain.ShareNodeDetailItem'
type: array
meta:
$ref: '#/definitions/domain.NodeMeta'
name:
type: string
parent_id:
type: string
permissions:
$ref: '#/definitions/domain.NodePermissions'
publisher_account:
type: string
publisher_id:
type: string
pv:
type: integer
status:
$ref: '#/definitions/domain.NodeStatus'
type:
$ref: '#/definitions/domain.NodeType'
updated_at:
type: string
type: object
v1.StatConversationDistributionResp:
properties:
app_type:
$ref: '#/definitions/domain.AppType'
count:
type: integer
type: object
v1.StatCountResp:
properties:
conversation_count:
type: integer
ip_count:
type: integer
page_visit_count:
type: integer
session_count:
type: integer
type: object
v1.UserInfoResp:
properties:
account:
type: string
created_at:
type: string
id:
type: string
is_token:
type: boolean
last_access:
type: string
role:
$ref: '#/definitions/consts.UserRole'
type: object
v1.UserListItemResp:
properties:
account:
type: string
created_at:
type: string
id:
type: string
last_access:
type: string
role:
$ref: '#/definitions/consts.UserRole'
type: object
v1.UserListResp:
properties:
users:
items:
$ref: '#/definitions/v1.UserListItemResp'
type: array
type: object
v1.WechatAppInfoResp:
properties:
disclaimer_content:
type: string
feedback_enable:
type: boolean
feedback_type:
items:
type: string
type: array
wechat_app_is_enabled:
type: boolean
type: object
info:
contact: {}
title: panda-wiki API
version: "1.0"
paths:
/api/v1/app:
delete:
consumes:
- application/json
parameters:
- description: kb id
in: query
name: kb_id
required: true
type: string
- description: app id
in: query
name: id
required: true
type: string
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
security:
- bearerAuth: []
summary: Delete app
tags:
- app
put:
consumes:
- application/json
parameters:
- description: id
in: query
name: id
required: true
type: string
- description: app
in: body
name: app
required: true
schema:
$ref: '#/definitions/domain.UpdateAppReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
security:
- bearerAuth: []
summary: Update app
tags:
- app
/api/v1/app/detail:
get:
consumes:
- application/json
parameters:
- description: kb id
in: query
name: kb_id
required: true
type: string
- description: app type
in: query
name: type
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/domain.AppDetailResp'
type: object
security:
- bearerAuth: []
summary: Get app detail
tags:
- app
/api/v1/auth/delete:
delete:
consumes:
- application/json
operationId: v1-OpenAuthDelete
parameters:
- in: query
name: id
type: integer
- in: query
name: kb_id
type: string
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
security:
- bearerAuth: []
summary: 删除授权信息
tags:
- Auth
/api/v1/auth/get:
get:
consumes:
- application/json
operationId: v1-OpenAuthGet
parameters:
- in: query
name: kb_id
type: string
- enum:
- dingtalk
- feishu
- wecom
- oauth
- github
- cas
- ldap
- widget
- dingtalk_bot
- feishu_bot
- lark_bot
- wechat_bot
- wecom_ai_bot
- wechat_service_bot
- discord_bot
- wechat_official_account
- openai_api
- mcp_server
in: query
name: source_type
required: true
type: string
x-enum-varnames:
- SourceTypeDingTalk
- SourceTypeFeishu
- SourceTypeWeCom
- SourceTypeOAuth
- SourceTypeGitHub
- SourceTypeCAS
- SourceTypeLDAP
- SourceTypeWidget
- SourceTypeDingtalkBot
- SourceTypeFeishuBot
- SourceTypeLarkBot
- SourceTypeWechatBot
- SourceTypeWecomAIBot
- SourceTypeWechatServiceBot
- SourceTypeDiscordBot
- SourceTypeWechatOfficialAccount
- SourceTypeOpenAIAPI
- SourceTypeMcpServer
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/github_com_chaitin_panda-wiki_api_auth_v1.AuthGetResp'
type: object
security:
- bearerAuth: []
summary: 获取授权信息
tags:
- Auth
/api/v1/auth/set:
post:
consumes:
- application/json
operationId: v1-OpenAuthSet
parameters:
- description: para
in: body
name: param
required: true
schema:
$ref: '#/definitions/github_com_chaitin_panda-wiki_api_auth_v1.AuthSetReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
security:
- bearerAuth: []
summary: 设置授权信息
tags:
- Auth
/api/v1/comment:
get:
consumes:
- application/json
parameters:
- in: query
name: kb_id
required: true
type: string
- in: query
minimum: 1
name: page
required: true
type: integer
- in: query
minimum: 1
name: per_page
required: true
type: integer
- enum:
- -1
- 0
- 1
format: int32
in: query
name: status
type: integer
x-enum-varnames:
- CommentStatusReject
- CommentStatusPending
- CommentStatusAccepted
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/v1.CommentLists'
type: object
summary: GetCommentModeratedList
tags:
- comment
/api/v1/comment/delete:
post:
consumes:
- application/json
parameters:
- description: CommentDeleteReq
in: body
name: req
required: true
schema:
$ref: '#/definitions/domain.CommentDeleteReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
summary: CommentDelete
tags:
- comment
/api/v1/conversation:
get:
consumes:
- application/json
parameters:
- in: query
name: app_id
type: string
- in: query
name: kb_id
required: true
type: string
- in: query
minimum: 1
name: page
required: true
type: integer
- in: query
minimum: 1
name: per_page
required: true
type: integer
- in: query
name: remote_ip
type: string
- in: query
name: subject
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/v1.ConversationListItems'
type: object
summary: get conversation list
tags:
- conversation
/api/v1/conversation/detail:
get:
consumes:
- application/json
parameters:
- in: query
name: id
required: true
type: string
- in: query
name: kb_id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/domain.ConversationDetailResp'
type: object
summary: get conversation detail
tags:
- conversation
/api/v1/conversation/message/detail:
get:
consumes:
- application/json
parameters:
- in: query
name: id
required: true
type: string
- in: query
name: kb_id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/domain.ConversationMessage'
type: object
summary: Get message detail
tags:
- Message
/api/v1/conversation/message/list:
get:
consumes:
- application/json
parameters:
- in: query
name: kb_id
required: true
type: string
- in: query
minimum: 1
name: page
required: true
type: integer
- in: query
minimum: 1
name: per_page
required: true
type: integer
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/domain.PaginatedResult-array_domain_ConversationMessageListItem'
type: object
summary: GetMessageFeedBackList
tags:
- Message
/api/v1/crawler/export:
post:
consumes:
- application/json
parameters:
- description: Scrape
in: body
name: body
required: true
schema:
$ref: '#/definitions/v1.CrawlerExportReq'
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/v1.CrawlerExportResp'
type: object
summary: CrawlerExport
tags:
- crawler
/api/v1/crawler/parse:
post:
consumes:
- application/json
parameters:
- description: Scrape
in: body
name: body
required: true
schema:
$ref: '#/definitions/v1.CrawlerParseReq'
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/v1.CrawlerParseResp'
type: object
summary: 解析文档树
tags:
- crawler
/api/v1/crawler/result:
get:
consumes:
- application/json
parameters:
- description: Crawler Result Request
in: body
name: body
required: true
schema:
$ref: '#/definitions/v1.CrawlerResultReq'
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/v1.CrawlerResultResp'
type: object
summary: Get Crawler Result
tags:
- crawler
/api/v1/crawler/results:
post:
consumes:
- application/json
parameters:
- description: Crawler Results Request
in: body
name: param
required: true
schema:
$ref: '#/definitions/v1.CrawlerResultsReq'
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/v1.CrawlerResultsResp'
type: object
summary: Get Crawler Results
tags:
- crawler
/api/v1/creation/tab-complete:
post:
consumes:
- application/json
in Middle)
parameters:
- description: tab completion request
in: body
name: body
required: true
schema:
$ref: '#/definitions/domain.CompleteReq'
produces:
- application/json
responses:
"200":
schema:
type: string
summary: Tab-based document completion
tags:
- creation
/api/v1/creation/text:
post:
consumes:
- application/json
parameters:
- description: text creation request
in: body
name: body
required: true
schema:
$ref: '#/definitions/domain.TextReq'
produces:
- application/json
responses:
"200":
schema:
type: string
summary: Text creation
tags:
- creation
/api/v1/file/upload:
post:
consumes:
- multipart/form-data
parameters:
- description: File
in: formData
name: file
required: true
type: file
- description: Knowledge Base ID
in: formData
name: kb_id
type: string
responses:
"200":
schema:
$ref: '#/definitions/domain.ObjectUploadResp'
summary: Upload File
tags:
- file
/api/v1/file/upload/anydoc:
post:
consumes:
- multipart/form-data
parameters:
- description: File
in: formData
name: file
required: true
type: file
- description: File Path
in: formData
name: path
required: true
type: string
responses:
"200":
schema:
$ref: '#/definitions/domain.AnydocUploadResp'
summary: Upload Anydoc File
tags:
- file
/api/v1/file/upload/url:
post:
consumes:
- application/json
parameters:
- description: Request Body
in: body
name: body
required: true
schema:
$ref: '#/definitions/domain.UploadByUrlReq'
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.Response'
- properties:
data:
$ref: '#/definitions/domain.ObjectUploadResp'
type: object
summary: Upload File By Url
tags:
- file
/api/v1/knowledge_base:
post:
consumes:
- application/json
parameters:
- description: CreateKnowledgeBase Request
in: body
name: body
required: true
schema:
$ref: '#/definitions/domain.CreateKnowledgeBaseReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
summary: CreateKnowledgeBase
tags:
- knowledge_base
/api/v1/knowledge_base/detail:
delete:
consumes:
- application/json
parameters:
- description: Knowledge Base ID
in: query
name: id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
summary: DeleteKnowledgeBase
tags:
- knowledge_base
get:
consumes:
- application/json
parameters:
- description: Knowledge Base ID
in: query
name: id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/domain.KnowledgeBaseDetail'
type: object
security:
- bearerAuth: []
summary: GetKnowledgeBaseDetail
tags:
- knowledge_base
put:
consumes:
- application/json
parameters:
- description: UpdateKnowledgeBase Request
in: body
name: body
required: true
schema:
$ref: '#/definitions/domain.UpdateKnowledgeBaseReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
summary: UpdateKnowledgeBase
tags:
- knowledge_base
/api/v1/knowledge_base/list:
get:
consumes:
- application/json
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
items:
$ref: '#/definitions/domain.KnowledgeBaseListItem'
type: array
type: object
summary: GetKnowledgeBaseList
tags:
- knowledge_base
/api/v1/knowledge_base/release:
post:
consumes:
- application/json
parameters:
- description: CreateKBRelease Request
in: body
name: body
required: true
schema:
$ref: '#/definitions/domain.CreateKBReleaseReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
summary: CreateKBRelease
tags:
- knowledge_base
/api/v1/knowledge_base/release/list:
get:
consumes:
- application/json
parameters:
- description: Knowledge Base ID
in: query
name: kb_id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/domain.GetKBReleaseListResp'
type: object
summary: GetKBReleaseList
tags:
- knowledge_base
/api/v1/knowledge_base/user/delete:
delete:
consumes:
- application/json
parameters:
- in: query
name: kb_id
required: true
type: string
- in: query
name: user_id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
security:
- bearerAuth: []
summary: KBUserDelete
tags:
- knowledge_base
/api/v1/knowledge_base/user/invite:
post:
consumes:
- application/json
parameters:
- description: Invite User Request
in: body
name: param
required: true
schema:
$ref: '#/definitions/v1.KBUserInviteReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
security:
- bearerAuth: []
summary: KBUserInvite
tags:
- knowledge_base
/api/v1/knowledge_base/user/list:
get:
consumes:
- application/json
parameters:
- description: Knowledge Base ID
in: query
name: kb_id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
items:
$ref: '#/definitions/v1.KBUserListItemResp'
type: array
type: object
security:
- bearerAuth: []
summary: KBUserList
tags:
- knowledge_base
/api/v1/knowledge_base/user/update:
patch:
consumes:
- application/json
parameters:
- description: Update User Permission Request
in: body
name: param
required: true
schema:
$ref: '#/definitions/v1.KBUserUpdateReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
security:
- bearerAuth: []
summary: KBUserUpdate
tags:
- knowledge_base
/api/v1/model:
post:
consumes:
- application/json
parameters:
- description: create model request
in: body
name: model
required: true
schema:
$ref: '#/definitions/domain.CreateModelReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
summary: create model
tags:
- model
put:
consumes:
- application/json
parameters:
- description: update model request
in: body
name: model
required: true
schema:
$ref: '#/definitions/domain.UpdateModelReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
tags:
- model
/api/v1/model/check:
post:
consumes:
- application/json
parameters:
- description: check model request
in: body
name: model
required: true
schema:
$ref: '#/definitions/github_com_chaitin_panda-wiki_domain.CheckModelReq'
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.Response'
- properties:
data:
$ref: '#/definitions/github_com_chaitin_panda-wiki_domain.CheckModelResp'
type: object
summary: check model
tags:
- model
/api/v1/model/list:
get:
consumes:
- application/json
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/github_com_chaitin_panda-wiki_domain.ModelListItem'
type: object
summary: get model list
tags:
- model
/api/v1/model/mode-setting:
get:
consumes:
- application/json
model
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.Response'
- properties:
data:
$ref: '#/definitions/domain.ModelModeSetting'
type: object
summary: get model mode setting
tags:
- model
/api/v1/model/provider/supported:
post:
consumes:
- application/json
parameters:
- description: get supported model list request
in: body
name: params
required: true
schema:
$ref: '#/definitions/domain.GetProviderModelListReq'
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/domain.GetProviderModelListResp'
type: object
summary: get provider supported model list
tags:
- model
/api/v1/model/switch-mode:
post:
consumes:
- application/json
parameters:
- description: switch mode request
in: body
name: request
required: true
schema:
$ref: '#/definitions/domain.SwitchModeReq'
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.Response'
- properties:
data:
$ref: '#/definitions/domain.SwitchModeResp'
type: object
summary: switch mode
tags:
- model
/api/v1/nav/add:
post:
consumes:
- application/json
parameters:
- description: Params
in: body
name: body
required: true
schema:
$ref: '#/definitions/v1.NavAddReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.PWResponse'
security:
- bearerAuth: []
summary: 添加分栏
tags:
- Nav
/api/v1/nav/delete:
delete:
consumes:
- application/json
parameters:
- in: query
name: id
required: true
type: string
- in: query
name: kb_id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.PWResponse'
security:
- bearerAuth: []
summary: 删除栏目
tags:
- Nav
/api/v1/nav/list:
get:
consumes:
- application/json
parameters:
- in: query
name: kb_id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
items:
$ref: '#/definitions/v1.NavListResp'
type: array
type: object
security:
- bearerAuth: []
summary: 获取分栏列表
tags:
- Nav
/api/v1/nav/move:
post:
consumes:
- application/json
parameters:
- description: Params
in: body
name: body
required: true
schema:
$ref: '#/definitions/v1.NavMoveReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.PWResponse'
security:
- bearerAuth: []
summary: 移动栏目
tags:
- Nav
/api/v1/nav/update:
patch:
consumes:
- application/json
parameters:
- description: Params
in: body
name: body
required: true
schema:
$ref: '#/definitions/v1.NavUpdateReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.PWResponse'
security:
- bearerAuth: []
summary: 更新栏目信息
tags:
- Nav
/api/v1/node:
post:
consumes:
- application/json
parameters:
- description: Node
in: body
name: body
required: true
schema:
$ref: '#/definitions/domain.CreateNodeReq'
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
additionalProperties:
type: string
type: object
type: object
security:
- bearerAuth: []
summary: Create Node
tags:
- node
/api/v1/node/action:
post:
consumes:
- application/json
parameters:
- description: Action
in: body
name: action
required: true
schema:
$ref: '#/definitions/domain.NodeActionReq'
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
additionalProperties:
type: string
type: object
type: object
security:
- bearerAuth: []
summary: Node Action
tags:
- node
/api/v1/node/batch_move:
post:
consumes:
- application/json
parameters:
- description: Batch Move Node
in: body
name: body
required: true
schema:
$ref: '#/definitions/domain.BatchMoveReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
security:
- bearerAuth: []
summary: Batch Move Node
tags:
- node
/api/v1/node/detail:
get:
consumes:
- application/json
parameters:
- in: query
name: format
type: string
- in: query
name: id
required: true
type: string
- in: query
name: kb_id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/v1.NodeDetailResp'
type: object
security:
- bearerAuth: []
summary: Get Node Detail
tags:
- node
put:
consumes:
- application/json
parameters:
- description: Node
in: body
name: body
required: true
schema:
$ref: '#/definitions/domain.UpdateNodeReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
security:
- bearerAuth: []
summary: Update Node Detail
tags:
- node
/api/v1/node/list:
get:
consumes:
- application/json
parameters:
- in: query
name: kb_id
required: true
type: string
- in: query
name: nav_id
type: string
- in: query
name: search
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
items:
$ref: '#/definitions/domain.NodeListItemResp'
type: array
type: object
security:
- bearerAuth: []
summary: Get Node List
tags:
- node
/api/v1/node/list/group/nav:
get:
consumes:
- application/json
parameters:
- in: query
name: kb_id
required: true
type: string
- collectionFormat: csv
in: query
items:
type: string
name: nav_ids
type: array
- in: query
name: search
type: string
- enum:
- released
- unpublished
- unstudied
in: query
name: status
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
items:
$ref: '#/definitions/github_com_chaitin_panda-wiki_api_node_v1.NodeListGroupNavResp'
type: array
type: object
security:
- bearerAuth: []
summary: Get Node List Grouped by Nav
tags:
- node
/api/v1/node/move:
post:
consumes:
- application/json
parameters:
- description: Move Node
in: body
name: body
required: true
schema:
$ref: '#/definitions/domain.MoveNodeReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
security:
- bearerAuth: []
summary: Move Node
tags:
- node
/api/v1/node/move/nav:
post:
consumes:
- application/json
parameters:
- description: Move Node Nav
in: body
name: body
required: true
schema:
$ref: '#/definitions/v1.NodeMoveNavReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
security:
- bearerAuth: []
summary: Move Node to Nav
tags:
- node
/api/v1/node/permission:
get:
consumes:
- application/json
operationId: v1-NodePermission
parameters:
- in: query
name: id
required: true
type: string
- in: query
name: kb_id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.Response'
- properties:
data:
$ref: '#/definitions/v1.NodePermissionResp'
type: object
security:
- bearerAuth: []
summary: 文档授权信息获取
tags:
- NodePermission
/api/v1/node/permission/edit:
patch:
consumes:
- application/json
operationId: v1-NodePermissionEdit
parameters:
- description: para
in: body
name: param
required: true
schema:
$ref: '#/definitions/v1.NodePermissionEditReq'
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.Response'
- properties:
data:
$ref: '#/definitions/v1.NodePermissionEditResp'
type: object
security:
- bearerAuth: []
summary: 文档授权信息更新
tags:
- NodePermission
/api/v1/node/recommend_nodes:
get:
consumes:
- application/json
parameters:
- in: query
name: kb_id
required: true
type: string
- collectionFormat: csv
in: query
items:
type: string
name: nav_ids
type: array
- collectionFormat: csv
in: query
items:
type: string
name: node_ids
type: array
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
items:
$ref: '#/definitions/domain.RecommendNodeListResp'
type: array
type: object
security:
- bearerAuth: []
summary: Recommend Nodes
tags:
- node
/api/v1/node/restudy:
post:
consumes:
- application/json
operationId: v1-NodeRestudy
parameters:
- description: para
in: body
name: param
required: true
schema:
$ref: '#/definitions/v1.NodeRestudyReq'
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.Response'
- properties:
data:
$ref: '#/definitions/v1.NodeRestudyResp'
type: object
security:
- bearerAuth: []
summary: 文档重新学习
tags:
- Node
/api/v1/node/stats:
get:
consumes:
- application/json
parameters:
- in: query
name: kb_id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/v1.NodeStatsResp'
type: object
security:
- bearerAuth: []
summary: Get Node Statistics
tags:
- node
/api/v1/node/summary:
post:
consumes:
- application/json
parameters:
- description: Summary Node
in: body
name: body
required: true
schema:
$ref: '#/definitions/domain.NodeSummaryReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
security:
- bearerAuth: []
summary: Summary Node 异步后台生成
tags:
- node
/api/v1/node/summary/stream:
post:
consumes:
- application/json
parameters:
- description: Summary Node
in: body
name: body
required: true
schema:
$ref: '#/definitions/domain.NodeSummaryReq'
produces:
- text/event-stream
responses:
"200":
schema:
type: string
security:
- bearerAuth: []
summary: Stream Summary Node
tags:
- node
/api/v1/stat/browsers:
get:
consumes:
- application/json
parameters:
- enum:
- 1
- 7
- 30
- 90
in: query
name: day
type: integer
x-enum-varnames:
- StatDay1
- StatDay7
- StatDay30
- StatDay90
- in: query
name: kb_id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.Response'
- properties:
data:
$ref: '#/definitions/domain.HotBrowser'
type: object
security:
- bearerAuth: []
summary: 客户端统计
tags:
- stat
/api/v1/stat/conversation_distribution:
get:
consumes:
- application/json
parameters:
- enum:
- 1
- 7
- 30
- 90
in: query
name: day
type: integer
x-enum-varnames:
- StatDay1
- StatDay7
- StatDay30
- StatDay90
- in: query
name: kb_id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.Response'
- properties:
data:
items:
$ref: '#/definitions/v1.StatConversationDistributionResp'
type: array
type: object
security:
- bearerAuth: []
summary: 问答来源
tags:
- stat
/api/v1/stat/count:
get:
consumes:
- application/json
parameters:
- enum:
- 1
- 7
- 30
- 90
in: query
name: day
type: integer
x-enum-varnames:
- StatDay1
- StatDay7
- StatDay30
- StatDay90
- in: query
name: kb_id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/v1.StatCountResp'
type: object
security:
- bearerAuth: []
summary: 全局统计
tags:
- stat
/api/v1/stat/geo_count:
get:
consumes:
- application/json
parameters:
- enum:
- 1
- 7
- 30
- 90
in: query
name: day
type: integer
x-enum-varnames:
- StatDay1
- StatDay7
- StatDay30
- StatDay90
- in: query
name: kb_id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
security:
- bearerAuth: []
summary: 用户地理分布
tags:
- stat
/api/v1/stat/hot_pages:
get:
consumes:
- application/json
parameters:
- enum:
- 1
- 7
- 30
- 90
in: query
name: day
type: integer
x-enum-varnames:
- StatDay1
- StatDay7
- StatDay30
- StatDay90
- in: query
name: kb_id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.Response'
- properties:
data:
items:
$ref: '#/definitions/domain.HotPage'
type: array
type: object
security:
- bearerAuth: []
summary: 热门文档
tags:
- stat
/api/v1/stat/instant_count:
get:
consumes:
- application/json
parameters:
- in: query
name: kb_id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.Response'
- properties:
data:
items:
$ref: '#/definitions/domain.InstantCountResp'
type: array
type: object
security:
- bearerAuth: []
summary: GetInstantCount
tags:
- stat
/api/v1/stat/instant_pages:
get:
consumes:
- application/json
parameters:
- in: query
name: kb_id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.Response'
- properties:
data:
items:
$ref: '#/definitions/domain.InstantPageResp'
type: array
type: object
security:
- bearerAuth: []
summary: GetInstantPages
tags:
- stat
/api/v1/stat/referer_hosts:
get:
consumes:
- application/json
parameters:
- enum:
- 1
- 7
- 30
- 90
in: query
name: day
type: integer
x-enum-varnames:
- StatDay1
- StatDay7
- StatDay30
- StatDay90
- in: query
name: kb_id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.Response'
- properties:
data:
items:
$ref: '#/definitions/domain.HotRefererHost'
type: array
type: object
security:
- bearerAuth: []
summary: 来源域名
tags:
- stat
/api/v1/user:
get:
consumes:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/v1.UserInfoResp'
summary: GetUser
tags:
- user
/api/v1/user/create:
post:
consumes:
- application/json
parameters:
- description: CreateUser Request
in: body
name: body
required: true
schema:
$ref: '#/definitions/v1.CreateUserReq'
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.Response'
- properties:
data:
$ref: '#/definitions/v1.CreateUserResp'
type: object
summary: CreateUser
tags:
- user
/api/v1/user/delete:
delete:
consumes:
- application/json
parameters:
- in: query
name: user_id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
summary: DeleteUser
tags:
- user
/api/v1/user/list:
get:
consumes:
- application/json
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/v1.UserListResp'
type: object
summary: ListUsers
tags:
- user
/api/v1/user/login:
post:
consumes:
- application/json
parameters:
- description: Login Request
in: body
name: body
required: true
schema:
$ref: '#/definitions/v1.LoginReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/v1.LoginResp'
summary: Login
tags:
- user
/api/v1/user/reset_password:
put:
consumes:
- application/json
parameters:
- description: ResetPassword Request
in: body
name: body
required: true
schema:
$ref: '#/definitions/v1.ResetPasswordReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
summary: ResetPassword
tags:
- user
/share/v1/app/web/info:
get:
consumes:
- application/json
parameters:
- description: kb id
in: header
name: X-KB-ID
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.Response'
- properties:
data:
$ref: '#/definitions/domain.AppInfoResp'
type: object
summary: GetAppInfo
tags:
- share_app
/share/v1/app/wechat/info:
get:
consumes:
- application/json
parameters:
- description: kb id
in: header
name: X-KB-ID
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.Response'
- properties:
data:
$ref: '#/definitions/v1.WechatAppInfoResp'
type: object
summary: WechatAppInfo
tags:
- share_chat
/share/v1/app/wechat/service/answer:
get:
consumes:
- application/json
parameters:
- description: conversation id
in: query
name: id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
summary: GetWechatAnswer
tags:
- Wechat
/share/v1/app/widget/info:
get:
consumes:
- application/json
parameters:
- description: kb id
in: header
name: X-KB-ID
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
summary: GetWidgetAppInfo
tags:
- share_app
/share/v1/auth/get:
get:
consumes:
- application/json
operationId: v1-AuthGet
parameters:
- description: kb_id
in: header
name: X-KB-ID
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/github_com_chaitin_panda-wiki_api_share_v1.AuthGetResp'
type: object
summary: AuthGet
tags:
- share_auth
/share/v1/auth/github:
post:
consumes:
- application/json
operationId: v1-AuthGitHub
parameters:
- description: kb id
in: header
name: X-KB-ID
required: true
type: string
- description: para
in: body
name: param
required: true
schema:
$ref: '#/definitions/github_com_chaitin_panda-wiki_api_share_v1.AuthGitHubReq'
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/github_com_chaitin_panda-wiki_api_share_v1.AuthGitHubResp'
type: object
summary: GitHub登录
tags:
- ShareAuth
/share/v1/auth/login/simple:
post:
consumes:
- application/json
operationId: v1-AuthLoginSimple
parameters:
- description: kb_id
in: header
name: X-KB-ID
required: true
type: string
- description: para
in: body
name: param
required: true
schema:
$ref: '#/definitions/v1.AuthLoginSimpleReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
summary: AuthLoginSimple
tags:
- share_auth
/share/v1/captcha/challenge:
post:
consumes:
- application/json
parameters:
- description: kb id
in: header
name: X-KB-ID
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/gocap.ChallengeData'
summary: CreateCaptcha
tags:
- share_captcha
/share/v1/captcha/redeem:
post:
consumes:
- application/json
parameters:
- description: kb id
in: header
name: X-KB-ID
required: true
type: string
- description: request
in: body
name: body
required: true
schema:
$ref: '#/definitions/consts.RedeemCaptchaReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/gocap.VerificationResult'
summary: RedeemCaptcha
tags:
- share_captcha
/share/v1/chat/completions:
post:
consumes:
- application/json
parameters:
- description: Knowledge Base ID
in: header
name: X-KB-ID
required: true
type: string
- description: OpenAI API request
in: body
name: request
required: true
schema:
$ref: '#/definitions/domain.OpenAICompletionsRequest'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.OpenAICompletionsResponse'
"400":
schema:
$ref: '#/definitions/domain.OpenAIErrorResponse'
summary: ChatCompletions
tags:
- share_chat
/share/v1/chat/feedback:
post:
consumes:
- application/json
parameters:
- description: feedback request
in: body
name: request
required: true
schema:
$ref: '#/definitions/domain.FeedbackRequest'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
summary: Handle chat feedback
tags:
- share_chat
/share/v1/chat/message:
post:
consumes:
- application/json
parameters:
- description: app type
in: query
name: app_type
required: true
type: string
- description: request
in: body
name: request
required: true
schema:
$ref: '#/definitions/domain.ChatRequest'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
summary: ChatMessage
tags:
- share_chat
/share/v1/chat/search:
post:
consumes:
- application/json
parameters:
- description: request
in: body
name: request
required: true
schema:
$ref: '#/definitions/domain.ChatSearchReq'
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.Response'
- properties:
data:
$ref: '#/definitions/domain.ChatSearchResp'
type: object
summary: ChatSearch
tags:
- share_chat_search
/share/v1/chat/widget:
post:
consumes:
- application/json
parameters:
- description: app type
in: query
name: app_type
required: true
type: string
- description: request
in: body
name: request
required: true
schema:
$ref: '#/definitions/domain.ChatRequest'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
summary: ChatWidget
tags:
- Widget
/share/v1/chat/widget/search:
post:
consumes:
- application/json
parameters:
- description: Comment
in: body
name: request
required: true
schema:
$ref: '#/definitions/domain.ChatSearchReq'
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.Response'
- properties:
data:
$ref: '#/definitions/domain.ChatSearchResp'
type: object
summary: WidgetSearch
tags:
- Widget
/share/v1/comment:
post:
consumes:
- application/json
parameters:
- description: Comment
in: body
name: comment
required: true
schema:
$ref: '#/definitions/domain.CommentReq'
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
type: string
type: object
summary: CreateComment
tags:
- share_comment
/share/v1/comment/list:
get:
consumes:
- application/json
parameters:
- description: nodeID
in: query
name: id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/share.ShareCommentLists'
type: object
summary: GetCommentList
tags:
- share_comment
/share/v1/common/file/upload:
post:
consumes:
- multipart/form-data
operationId: share-FileUpload
parameters:
- description: kb id
in: header
name: X-KB-ID
required: true
type: string
- description: File
in: formData
name: file
required: true
type: file
- description: captcha_token
in: formData
name: captcha_token
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.Response'
- properties:
data:
$ref: '#/definitions/github_com_chaitin_panda-wiki_api_share_v1.FileUploadResp'
type: object
summary: 文件上传
tags:
- ShareFile
/share/v1/common/file/upload/url:
post:
consumes:
- application/json
operationId: share-FileUploadByUrl
parameters:
- description: body
in: body
name: body
required: true
schema:
$ref: '#/definitions/v1.ShareFileUploadUrlReq'
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.Response'
- properties:
data:
$ref: '#/definitions/v1.ShareFileUploadUrlResp'
type: object
summary: 文件上传
tags:
- ShareFile
/share/v1/conversation/detail:
get:
consumes:
- application/json
parameters:
- description: kb id
in: header
name: X-KB-ID
required: true
type: string
- description: conversation id
in: query
name: id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/domain.ShareConversationDetailResp'
type: object
summary: GetConversationDetail
tags:
- share_conversation
/share/v1/nav/list:
get:
consumes:
- application/json
parameters:
- in: query
name: kb_id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
summary: 前台获取栏目列表
tags:
- share_nav
/share/v1/node/detail:
get:
consumes:
- application/json
parameters:
- description: kb id
in: header
name: X-KB-ID
required: true
type: string
- description: node id
in: query
name: id
required: true
type: string
- description: format
in: query
name: format
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.Response'
- properties:
data:
$ref: '#/definitions/v1.ShareNodeDetailResp'
type: object
summary: GetNodeDetail
tags:
- share_node
/share/v1/node/list:
get:
consumes:
- application/json
parameters:
- description: kb id
in: header
name: X-KB-ID
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
summary: ShareNodeList
tags:
- share_node
/share/v1/openapi/github/callback:
get:
consumes:
- application/json
operationId: v1-GitHubCallback
parameters:
- in: query
name: code
type: string
- in: query
name: state
type: string
produces:
- application/json
responses:
"200":
schema:
allOf:
- $ref: '#/definitions/domain.PWResponse'
- properties:
data:
$ref: '#/definitions/github_com_chaitin_panda-wiki_api_share_v1.GitHubCallbackResp'
type: object
summary: GitHub回调
tags:
- ShareOpenapi
/share/v1/openapi/lark/bot/{kb_id}:
post:
consumes:
- application/json
operationId: v1-LarkBot
parameters:
- description: 知识库ID
in: path
name: kb_id
required: true
type: string
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.PWResponse'
summary: Lark机器人请求
tags:
- ShareOpenapi
/share/v1/stat/page:
post:
consumes:
- application/json
parameters:
- description: request
in: body
name: request
required: true
schema:
$ref: '#/definitions/domain.StatPageReq'
produces:
- application/json
responses:
"200":
schema:
$ref: '#/definitions/domain.Response'
summary: RecordPage
tags:
- share_stat
securityDefinitions:
bearerAuth:
in: header
name: Authorization
type: apiKey
swagger: "2.0"


--- METRICS ---