MangoFanFanw e29f27e2eb feat: 从 FastAPI 导出 openapi.json 并渲染为 API 文档
通过 vitepress-openapi 插件,在 VitePress 文档中实现基于 openapi.json 的 API 文档。
这样实现的 API 文档可以从最新版本的代码库中提取路由信息,继而实现自动集成。
---
同时,通过 Kimi 和 Deepseek 实现并审查了一个对 Google 风格 docstring 的解析函数。
该函数可以从 Google 风格的 docstring 中提取参数文档并按 openapi 规范重新整理它们。
---
增加了 nyahome openapi 命令用来导出 openapi.json。
增加了 task openapi-docs 命令用来准备未来的持续集成。
2026-05-25 14:56:36 +08:00
2026-05-24 14:02:02 +08:00
2026-05-24 13:58:51 +08:00
2026-05-01 14:35:07 +08:00
2026-05-24 13:58:51 +08:00

NyaHome - 在线 AI 聊天室 基础设施

NyaHome 是由 FastAPI 后端、Vue WebUI 实现的在线 AI 文学创作平台的基础设施。

特色功能

  • AI 创作聊天室
    • 接入 OpenAI 兼容模型提供商,自携带 API 凭据
  • 用户系统
    • 由用户自行管理自己的聊天室
    • 安全的密码管理与 JWT 令牌签发和验证
    • 邮箱绑定、邮件验证码发送和验证
    • 用户安全事件记录、修改密码时自动登出所有设备
  • NyaHome 系统功能
    • 在线后台管理面板
    • 邮件 SMTP 发件
    • 基于 mjml -> Jinja2 -> HTML 邮件的全链路渲染和发件流程
    • 异步邮件发送队列

未来功能计划

功能 阶段 优先级
剧本市场 - 剧本分享、聊天室导出为剧本 规划中
用户功能 - 绑定手机号、接收收集验证码 规划中
用户功能 - 第三方账户 Oauth 登录 规划中

代码规范

NyaHome 的项目代码可以分为 Python 后端部分和 TypeScript 前端部分。

Python 部分

NyaHome 使用 uv 作为项目管理工具,使用 ruff 和 mypy 进行代码检查。在新的代码提交之前,应使用以下命令进行代码检查:

uv run ruff check --fix
uv run ruff format
uv run mypy

以上检查也被写入了 git 的 pre-push 钩子中,会在推送前自动进行检查。

TypeScript 部分

NyaHome 的 Vue 前端使用 TS。同时,使用 Oxc 的 linter 和 formatter。你可以在 webui 目录下使用以下命令进行代码检查:

pnpm run lint
pnpm run format

更新日志 CHANGELOD.md

NyaHome 尝试编写遵循 Keep a changelog 规范的更新日志。这意味着:

变动类型 变动含义
Added 新添加的功能。
Changed 对现有功能的变更。
Deprecated 已经不建议使用,即将移除的功能。
Removed 已经移除的功能。
Fixed 对 bug 的修复。
Security 对安全性的改进。

虽然 NyaHome 同时尝试维护规范的 git 日志,但是 git 日志毕竟是给开发者看的,而 CHANGELOG 是给所有人看的,包括你。

S
Description
在线 AI 聊天室 基础设施
Readme 6.6 MiB
Languages
Python 45.4%
Vue 40.5%
Jinja 7.3%
TypeScript 5.2%
SCSS 1.2%
Other 0.4%