Kotti Next 调试记录
项目背景
此前使用 WorkBuddy AI 自动编程完成了 Kotti Next 项目的初步开发。当前进行代码测试,结论如下:后端已调通,前端未调通,计划重新生成一个更加轻型的前端。
后端安装与初始化
安装服务器环境
# 创建虚拟环境
python -m venv .venv
source .venv/bin/activate # Linux/Mac
.venv\Scripts\activate # Windows
# 安装依赖
pip install -e ".[dev]"
数据库初始化
文档建议的命令为 kotti-next init,但实际可用命令为 kotti-next db init。
执行后报错:
KeyError: 'Webhook'
...
sqlalchemy.exc.InvalidRequestError: When initializing mapper Mapper[Principal(principals)], expression 'Webhook' failed to locate a name ('Webhook').
经 AI 助手分析,这是 SQLAlchemy 类注册顺序问题。修复后执行成功:
kotti-next db init
→ Creating database tables…
Admin user already exists, skipping ✓ Initialisation complete
前端测试报错
在前端目录执行 Vitest 测试:
node node_modules/vitest/vitest.mjs run --reporter=verbose
出现多个测试文件失败,主要错误包括:
TypeError: Cannot read properties of undefined (reading 'config')Error: Cannot find module './use-config'(naive-ui 相关)[vitest-pool]: Failed to start forks worker(超时)
尝试解决 naive-ui 模块问题
尝试升级和降级 naive-ui 版本:
npm install naive-ui@latest
npm install [email protected]
版本虽显示更新,但报错依旧,判断非单纯版本兼容性问题。
并行执行冲突分析
AI 助手分析认为根本原因是 Vitest 4.x 在并行运行多个测试文件时,不同文件中的 vi.mock() 相互干扰。建议在 vitest.config.ts 中添加配置禁用并行执行:
export default ({
: {
: ,
},
})


