cat-shark
|
3d94b45ef2
|
feat(admin):日志面板增加 prompt 详情 + 模型调用参数
展开日志详情后新增:
- Prompt 区域:System Prompt(蓝色背景)和 User Message(灰色背景)完整显示
- 调用参数:temperature、max_tokens 等
- 耗时:独立显示
修改:
- LogEntry 新增 messages? 和 params? 字段
- ai.ts 两个 handler 在日志中记录构造后的 messages 和调用参数
- 面板 toggleDetail 渲染 messages/params 区域
|
2026-07-04 12:37:35 +08:00 |
|
cat-shark
|
5290fa4423
|
feat(lpt-ai):管理员面板 —— 请求日志记录与查看
新增文件:
- src/admin/store.ts:环形缓冲区(200条),文件持久化为 data/logs.json
- src/admin/routes.ts:admin API(列表/详情/清除)+ 自包含 HTML 面板
- src/admin/index.ts:统一导出
面板功能:
- GET /admin:绿白配色自包含面板,零外部依赖
- 统计栏:总请求/成功/失败/平均耗时
- 日志表格:时间、端点、状态、错误、耗时、模型
- 点击行展开查看完整请求体/响应体
- 端点筛选下拉、一键清除
- 响应式布局
修改文件:
- src/routes/ai.ts:两个 AI handler 均注入日志记录
(记录时间戳、端点、模型、耗时、状态码、请求体、响应体、错误)
- src/index.ts:注册 adminRoutes
验证:
- npm run typecheck 通过
- npm test 4 个测试通过
|
2026-07-04 12:32:07 +08:00 |
|
cat-shark
|
29c8b0be4d
|
fix(lpt-ai):启动时未加载 .env 文件导致 LLM_API_KEY 始终为空
根因:项目未依赖 dotenv,启动脚本也未使用 --env-file,
process.env 中没有 LLM_API_KEY,isAvailable() 始终返回 false,
/health 端点返回 llmAvailable: false。
修复:
- index.ts 启动时手动读取 .env 并注入 process.env
(零依赖,兼容 tsx watch dev 和 node dist 两种启动方式)
- start 脚本保留 node --env-file=.env 双保险
- .gitignore 加入 .idea/
|
2026-07-04 11:22:08 +08:00 |
|
cat-shark
|
44c07d28bd
|
feat(AI服务):lpt-ai 独立服务初始版本
- Fastify + TypeScript,OpenAI 兼容接口对接 SiliconFlow
- POST /ai/aggregate-report:残片聚合为学习报告(支持预期对比)
- POST /ai/generate-mind-map:生成思维导图缩进大纲(与后端解析格式一致)
- Key 从环境变量读取且日志脱敏,未配置时返回 503 由调用方降级
- prompt 模板集中管理,vitest 单元测试
|
2026-07-03 23:48:51 +08:00 |
|