工作空间文件管理器的根目录是 dataDir(s.m.dir),而 jwt.key 原来就存在 dataDir/jwt.key —— 会被列出/下载(签名密钥泄露→可伪造 token)/删除(重启重生 成→全体登出)。 - loadOrCreateJWTKey(keyDir, dataDir):密钥改存 keyDir/jwt.key;若旧 data/jwt.key 仍在,启动时迁移(保留密钥不登出、删旧文件从工作区消失) - New() 增加 keyDir 参数;生产传 config.BaseDir()(项目根),在 dataDir 之外, wsResolve 的路径限定使其不可列/读/下载/删 - 测试传临时目录,隔离且不触发迁移;.gitignore 忽略根目录 /jwt.key 注:项目根在 Docker 里不持久化,容器重建会重新生成密钥、需重新登录(单人系统可接受)。
46 lines
577 B
Plaintext
46 lines
577 B
Plaintext
# backend
|
|
/data/
|
|
*.db
|
|
*.db-wal
|
|
*.db-shm
|
|
config.json
|
|
scheduler_state.json
|
|
__pycache__/
|
|
*.pyc
|
|
*.pyo
|
|
|
|
# frontend
|
|
web/node_modules/
|
|
web/.next/
|
|
web/tsconfig.tsbuildinfo
|
|
web/next-env.d.ts
|
|
*.local
|
|
|
|
# development tools
|
|
.playwright-mcp/
|
|
.playwright-cli/
|
|
.idea/
|
|
.vscode/
|
|
*.swp
|
|
*.swo
|
|
|
|
# docs
|
|
/docs/
|
|
|
|
# os
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# claude code local state
|
|
.claude/
|
|
|
|
# 内嵌前端的单二进制产物
|
|
/artex
|
|
/server/webui/dist/
|
|
/dist/
|
|
|
|
# JWT 签名密钥(运行时生成,存项目根,绝不提交)
|
|
/jwt.key
|
|
|
|
# Docker 部署生成的本地环境(含密码/密钥,不提交)
|
|
.env |