跳转至

文档开发指南

本指南说明如何开发和维护 openwebui-chat-client 的文档站点。

前提条件

安装文档依赖项:

pip install mkdocs mkdocs-material mkdocstrings[python] mkdocs-static-i18n

本地开发

本地构建和预览

在本地预览文档:

mkdocs serve

这将在 http://127.0.0.1:8000/ 启动一个带有热重载功能的本地服务器。

生产环境构建

构建静态站点:

mkdocs build

站点将生成在 site/ 目录中。

使用严格模式构建

使用严格模式构建(部署前推荐):

mkdocs build --strict

这将在任何警告时失败,帮助及早发现问题。

文档结构

docs/
├── index.md              # 英文首页
├── index.zh.md           # 中文首页
├── installation.md       # 英文安装指南
├── installation.zh.md    # 中文安装指南
├── usage.md              # 英文用户指南
├── usage.zh.md           # 中文用户指南
├── api.md                # 英文 API 参考(自动生成)
├── api.zh.md             # 中文 API 参考(自动生成)
├── github-pages-setup.md # 英文 GitHub Pages 设置指南
├── github-pages-setup.zh.md # 中文 GitHub Pages 设置指南
├── DEVELOPMENT.md        # 英文开发指南
└── DEVELOPMENT.zh.md     # 中文开发指南

mkdocs.yml                # MkDocs 配置

GitHub Pages 部署

自动部署

当更改推送到 main 分支时,文档会自动部署到 GitHub Pages。GitHub Actions 工作流(.github/workflows/deploy.yml)处理此过程。

必需的 GitHub 仓库设置

要启用 GitHub Pages 部署,请在仓库中配置以下设置:

  1. 启用 GitHub Pages
  2. 转到 SettingsPages
  3. Build and deployment 下,将 Source 设置为 GitHub Actions
  4. 这允许部署工作流直接发布

  5. Actions 权限

  6. 转到 SettingsActionsGeneral
  7. Workflow permissions 下,选择 Read and write permissions
  8. 勾选 Allow GitHub Actions to create and approve pull requests(可选)

  9. 分支保护(可选)

  10. 如果您在 main 上有分支保护规则,请确保允许 github-actions[bot] 推送到受保护的分支

手动部署(可选)

如果需要手动部署:

mkdocs gh-deploy --force

这将构建站点并推送到 gh-pages 分支。

添加新页面

  1. docs/ 目录中创建新的 .md 文件(英文和中文版本)
  2. 将页面添加到 mkdocs.ymlnav 部分:
nav:
  - Home: index.md
  - Installation: installation.md
  - User Guide: usage.md
  - API Reference: api.md
  - New Page: new-page.md  # 在此添加

API 文档

API 参考(docs/api.mddocs/api.zh.md)使用 mkdocstrings 从 Python 文档字符串自动生成文档。

记录新方法

向客户端添加新的公共方法时:

  1. 使用 Google 风格添加适当的文档字符串:
def new_method(self, param1: str, param2: Optional[int] = None) -> Dict[str, Any]:
    """
    方法的简短描述。

    如需要可添加更长的描述。

    Args:
        param1: param1 的描述。
        param2: param2 的描述。默认为 None。

    Returns:
        返回值的描述。

    Raises:
        ValueError: 当提供无效参数时。

    Example:
        ```python
        result = client.new_method("test")
        print(result)
        ```
    """
    pass
  1. 将方法添加到 docs/api.mddocs/api.zh.md 的成员列表中:
::: openwebui_chat_client.OpenWebUIClient
    options:
      members:
        - existing_method
        - new_method  # 在此添加

Markdown 扩展

文档支持许多 Markdown 扩展。完整列表请参见 mkdocs.yml

带语法高亮的代码块

client = OpenWebUIClient(
    base_url="http://localhost:3000",
    token="your-token",
    default_model_id="gpt-4.1"
)

提示框

!!! note "注意"
    这是一个注意事项。

!!! warning "警告"
    这是一个警告。

!!! tip "提示"
    这是一个提示。

标签式内容

=== "Python"

    ```python
    print("Hello")
    ```

=== "JavaScript"

    ```javascript
    console.log("Hello");
    ```

多语言支持

本项目使用 mkdocs-static-i18n 插件实现中英文双语支持。

文件命名约定

  • 英文版本:filename.md(默认)
  • 中文版本:filename.zh.md

添加翻译

  1. 为每个英文文档创建对应的 .zh.md 文件
  2. 翻译内容,保持相同的结构和格式
  3. 更新内部链接指向正确的语言版本

语言切换

站点会自动在导航栏显示语言切换器,用户可以在英文和中文版本之间切换。

故障排除

常见问题

使用 "strict" 模式构建失败

检查: - 损坏的链接 - nav 中引用的缺失文件 - Markdown 语法错误

API 文档未显示

确保: - 已安装软件包:pip install -e . - ::: 指令中的模块路径正确 - 方法已在 members 选项中列出

页面未更新

  • 清除浏览器缓存
  • 检查 GitHub Actions 工作流日志
  • 验证部署是否成功完成

资源