Files
Alfred/docs/user/config.md
lanyuanxiaoyao d5a0ba9e9e feat: 增加项目管理功能
引入 SQLite 数据库(Drizzle ORM + bun:sqlite),实现项目 CRUD 与归档/恢复/删除
生命周期管理,新增项目管理前端页面,migration 嵌入单文件构建产物保持部署体验。

- src/server/db: schema、connection、migration 执行器、项目数据访问层
- src/server/routes/projects: 7 个 API 端点(列表/创建/详情/更新/归档/恢复/删除)
- src/web: 项目管理页面(TDesign Table/Tabs/Dialog/Form),TanStack Query hooks
- scripts: 构建时嵌入 migration SQL,开发期独立 generate-migrations-data 脚本
- tests: 60 个后端测试 + 27 个前端测试,覆盖 DB/migration/API/路由/页面
- docs: 更新架构、后端、发布、配置、部署、使用文档
2026-05-27 18:54:44 +08:00

107 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 配置文件
项目使用 YAML 配置文件,配置文件为启动时的必传参数,支持通过 JSON Schema 编辑器提示和显式变量引用。配置中的相对路径均基于配置文件所在目录解析,绝对路径保持不变。
## 配置文件
复制 config.example.yaml 为 config.yaml或任意名称根据需要修改
```yaml
# yaml-language-server: $schema=./config.schema.json
server:
listen:
host: "127.0.0.1"
port: 3000
storage:
dataDir: ./data
logging:
level: info
console:
level: info
file:
level: info
path: "./logs/alfred.log"
rotation:
size: 50MB
frequency: daily
maxFiles: 14
```
## server.listen
| 字段 | 类型 | 说明 |
| ---- | ------ | ------------------------ |
| host | string | 监听地址,默认 127.0.0.1 |
| port | number | 监听端口,默认 3000 |
## server.storage
| 字段 | 类型 | 说明 |
| ------- | ------ | ------------------------------------------------------------------------------------------------------------------- |
| dataDir | string | 数据目录,默认 ./data相对路径基于配置文件目录解析。目录下存储 alfred.dbSQLite 数据库)和 backups/(数据库备份) |
## server.logging
| 字段 | 类型 | 说明 |
| ----- | ------ | ------------------------------------------------------------ |
| level | string | 全局日志级别trace/debug/info/warn/error/fatal默认 info |
### server.logging.console
| 字段 | 类型 | 说明 |
| ----- | ------ | ------------------------------------------------- |
| level | string | 控制台日志级别,未设置时继承 server.logging.level |
### server.logging.file
| 字段 | 类型 | 说明 |
| ----- | ------ | ----------------------------------------------- |
| level | string | 文件日志级别,未设置时继承 server.logging.level |
| path | string | 日志文件路径,默认 <dataDir>/logs/alfred.log |
### server.logging.file.rotation
| 字段 | 类型 | 说明 |
| --------- | ------ | --------------------------------------------- |
| size | string | 按大小轮转,支持 B/KB/MB/GB 单位,默认 50MB |
| frequency | string | 按时间轮转hourly/daily/weekly默认 daily |
| maxFiles | number | 最大归档文件数,默认 14 |
## JSON Schema
根目录 config.schema.json 为配置文件的 JSON Schema支持 IDE 自动补全和校验。
```bash
bun run schema # 重新生成 config.schema.json
bun run schema:check # 校验 config.schema.json 是否同步
```
## 变量语法
YAML 配置中支持显式变量引用:
```text
${KEY} 引用变量,未定义时报错
${KEY|value} 引用变量,未定义时使用默认值
${KEY|} 引用变量,未定义时使用空字符串
$${KEY} 转义,输出 ${KEY} 原文字面量
```
变量解析优先级variables 字段 > process.env > 默认值 > unresolved 报错
完整变量引用(整个值只有 ${...})保留原始类型:${PORT|3000} 解析为 number 3000。部分拼接统一转为 string。
## 配置优先级
```
variables 字段 > 环境变量 > 默认值 > unresolved 报错
```
环境变量不会隐式覆盖配置,只有通过 ${KEY} 显式引用时才生效。
## 使用自定义配置
```bash
bun run dev custom-config.yaml
```