@qq33357486/oh-my-task 1.4.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +121 -236
- package/dist/__tests__/auth-admin.test.d.ts +2 -0
- package/dist/__tests__/auth-admin.test.d.ts.map +1 -0
- package/dist/__tests__/auth-admin.test.js +440 -0
- package/dist/__tests__/auth-admin.test.js.map +1 -0
- package/dist/__tests__/auth-login-logout.test.d.ts +2 -0
- package/dist/__tests__/auth-login-logout.test.d.ts.map +1 -0
- package/dist/__tests__/auth-login-logout.test.js +400 -0
- package/dist/__tests__/auth-login-logout.test.js.map +1 -0
- package/dist/__tests__/auth-password.test.d.ts +2 -0
- package/dist/__tests__/auth-password.test.d.ts.map +1 -0
- package/dist/__tests__/auth-password.test.js +419 -0
- package/dist/__tests__/auth-password.test.js.map +1 -0
- package/dist/__tests__/auth-register.test.d.ts +2 -0
- package/dist/__tests__/auth-register.test.d.ts.map +1 -0
- package/dist/__tests__/auth-register.test.js +379 -0
- package/dist/__tests__/auth-register.test.js.map +1 -0
- package/dist/__tests__/auth-tokens.test.d.ts +2 -0
- package/dist/__tests__/auth-tokens.test.d.ts.map +1 -0
- package/dist/__tests__/auth-tokens.test.js +392 -0
- package/dist/__tests__/auth-tokens.test.js.map +1 -0
- package/dist/__tests__/db-schema.test.d.ts +2 -0
- package/dist/__tests__/db-schema.test.d.ts.map +1 -0
- package/dist/__tests__/db-schema.test.js +245 -0
- package/dist/__tests__/db-schema.test.js.map +1 -0
- package/dist/__tests__/express-server.test.d.ts +2 -0
- package/dist/__tests__/express-server.test.d.ts.map +1 -0
- package/dist/__tests__/express-server.test.js +119 -0
- package/dist/__tests__/express-server.test.js.map +1 -0
- package/dist/__tests__/fix-hcaptcha-dev-bypass.test.d.ts +2 -0
- package/dist/__tests__/fix-hcaptcha-dev-bypass.test.d.ts.map +1 -0
- package/dist/__tests__/fix-hcaptcha-dev-bypass.test.js +270 -0
- package/dist/__tests__/fix-hcaptcha-dev-bypass.test.js.map +1 -0
- package/dist/__tests__/mcp/mcp-tools.test.d.ts +2 -0
- package/dist/__tests__/mcp/mcp-tools.test.d.ts.map +1 -0
- package/dist/__tests__/mcp/mcp-tools.test.js +547 -0
- package/dist/__tests__/mcp/mcp-tools.test.js.map +1 -0
- package/dist/__tests__/projects.test.d.ts +2 -0
- package/dist/__tests__/projects.test.d.ts.map +1 -0
- package/dist/__tests__/projects.test.js +406 -0
- package/dist/__tests__/projects.test.js.map +1 -0
- package/dist/__tests__/schedule.test.d.ts +2 -0
- package/dist/__tests__/schedule.test.d.ts.map +1 -0
- package/dist/__tests__/schedule.test.js +587 -0
- package/dist/__tests__/schedule.test.js.map +1 -0
- package/dist/__tests__/tasks-crud.test.d.ts +2 -0
- package/dist/__tests__/tasks-crud.test.d.ts.map +1 -0
- package/dist/__tests__/tasks-crud.test.js +606 -0
- package/dist/__tests__/tasks-crud.test.js.map +1 -0
- package/dist/__tests__/tasks-lifecycle.test.d.ts +2 -0
- package/dist/__tests__/tasks-lifecycle.test.d.ts.map +1 -0
- package/dist/__tests__/tasks-lifecycle.test.js +712 -0
- package/dist/__tests__/tasks-lifecycle.test.js.map +1 -0
- package/dist/__tests__/versions.test.d.ts +2 -0
- package/dist/__tests__/versions.test.d.ts.map +1 -0
- package/dist/__tests__/versions.test.js +613 -0
- package/dist/__tests__/versions.test.js.map +1 -0
- package/dist/api/middleware/auth.d.ts +1 -2
- package/dist/api/middleware/auth.d.ts.map +1 -1
- package/dist/api/middleware/auth.js +5 -12
- package/dist/api/middleware/auth.js.map +1 -1
- package/dist/api/middleware/captcha.d.ts +8 -0
- package/dist/api/middleware/captcha.d.ts.map +1 -1
- package/dist/api/middleware/captcha.js +29 -4
- package/dist/api/middleware/captcha.js.map +1 -1
- package/dist/api/middleware/ownerCheck.d.ts +0 -5
- package/dist/api/middleware/ownerCheck.d.ts.map +1 -1
- package/dist/api/middleware/ownerCheck.js +15 -49
- package/dist/api/middleware/ownerCheck.js.map +1 -1
- package/dist/api/routes/{sops.d.ts → admin.d.ts} +1 -1
- package/dist/api/routes/admin.d.ts.map +1 -0
- package/dist/api/routes/admin.js +20 -0
- package/dist/api/routes/admin.js.map +1 -0
- package/dist/api/routes/auth.d.ts.map +1 -1
- package/dist/api/routes/auth.js +65 -14
- package/dist/api/routes/auth.js.map +1 -1
- package/dist/api/routes/config.d.ts.map +1 -1
- package/dist/api/routes/config.js +6 -1
- package/dist/api/routes/config.js.map +1 -1
- package/dist/api/routes/projects.d.ts.map +1 -1
- package/dist/api/routes/projects.js +29 -18
- package/dist/api/routes/projects.js.map +1 -1
- package/dist/api/routes/tasks.d.ts.map +1 -1
- package/dist/api/routes/tasks.js +79 -104
- package/dist/api/routes/tasks.js.map +1 -1
- package/dist/api/routes/tokens.d.ts.map +1 -1
- package/dist/api/routes/tokens.js +11 -8
- package/dist/api/routes/tokens.js.map +1 -1
- package/dist/api/routes/users.d.ts.map +1 -1
- package/dist/api/routes/users.js +7 -59
- package/dist/api/routes/users.js.map +1 -1
- package/dist/api/routes/versions.d.ts.map +1 -1
- package/dist/api/routes/versions.js +63 -34
- package/dist/api/routes/versions.js.map +1 -1
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +23 -14
- package/dist/api/server.js.map +1 -1
- package/dist/db/connection.d.ts.map +1 -1
- package/dist/db/connection.js +40 -118
- package/dist/db/connection.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +15 -64
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/activate-task.d.ts.map +1 -1
- package/dist/mcp/tools/activate-task.js +3 -17
- package/dist/mcp/tools/activate-task.js.map +1 -1
- package/dist/mcp/tools/{get-next-task.d.ts → auto-schedule.d.ts} +3 -3
- package/dist/mcp/tools/auto-schedule.d.ts.map +1 -0
- package/dist/mcp/tools/auto-schedule.js +59 -0
- package/dist/mcp/tools/auto-schedule.js.map +1 -0
- package/dist/mcp/tools/complete-task.d.ts.map +1 -1
- package/dist/mcp/tools/complete-task.js +2 -12
- package/dist/mcp/tools/complete-task.js.map +1 -1
- package/dist/mcp/tools/create-task.d.ts.map +1 -1
- package/dist/mcp/tools/create-task.js +33 -38
- package/dist/mcp/tools/create-task.js.map +1 -1
- package/dist/mcp/tools/create-version.d.ts.map +1 -1
- package/dist/mcp/tools/create-version.js +2 -17
- package/dist/mcp/tools/create-version.js.map +1 -1
- package/dist/mcp/tools/{get-task-context.d.ts → get-current-task.d.ts} +3 -3
- package/dist/mcp/tools/get-current-task.d.ts.map +1 -0
- package/dist/mcp/tools/get-current-task.js +85 -0
- package/dist/mcp/tools/get-current-task.js.map +1 -0
- package/dist/mcp/tools/get-task.d.ts.map +1 -1
- package/dist/mcp/tools/get-task.js +7 -12
- package/dist/mcp/tools/get-task.js.map +1 -1
- package/dist/mcp/tools/init-project.d.ts +0 -2
- package/dist/mcp/tools/init-project.d.ts.map +1 -1
- package/dist/mcp/tools/init-project.js +39 -75
- package/dist/mcp/tools/init-project.js.map +1 -1
- package/dist/mcp/tools/list-tasks.d.ts.map +1 -1
- package/dist/mcp/tools/list-tasks.js +8 -33
- package/dist/mcp/tools/list-tasks.js.map +1 -1
- package/dist/mcp/tools/list-versions.d.ts.map +1 -1
- package/dist/mcp/tools/list-versions.js +16 -25
- package/dist/mcp/tools/list-versions.js.map +1 -1
- package/dist/mcp/tools/utils/config.js +1 -1
- package/dist/mcp/tools/utils/config.js.map +1 -1
- package/dist/services/admin.service.d.ts +27 -0
- package/dist/services/admin.service.d.ts.map +1 -0
- package/dist/services/admin.service.js +88 -0
- package/dist/services/admin.service.js.map +1 -0
- package/dist/services/config.service.d.ts +1 -0
- package/dist/services/config.service.d.ts.map +1 -1
- package/dist/services/config.service.js +7 -0
- package/dist/services/config.service.js.map +1 -1
- package/dist/services/project.service.d.ts +7 -7
- package/dist/services/project.service.d.ts.map +1 -1
- package/dist/services/project.service.js +47 -40
- package/dist/services/project.service.js.map +1 -1
- package/dist/services/schedule.service.d.ts +6 -0
- package/dist/services/schedule.service.d.ts.map +1 -1
- package/dist/services/schedule.service.js +36 -12
- package/dist/services/schedule.service.js.map +1 -1
- package/dist/services/task.service.d.ts +6 -18
- package/dist/services/task.service.d.ts.map +1 -1
- package/dist/services/task.service.js +161 -194
- package/dist/services/task.service.js.map +1 -1
- package/dist/services/token.service.d.ts +1 -0
- package/dist/services/token.service.d.ts.map +1 -1
- package/dist/services/token.service.js +5 -2
- package/dist/services/token.service.js.map +1 -1
- package/dist/services/user.service.d.ts +0 -32
- package/dist/services/user.service.d.ts.map +1 -1
- package/dist/services/user.service.js +13 -110
- package/dist/services/user.service.js.map +1 -1
- package/dist/services/version.service.d.ts +26 -8
- package/dist/services/version.service.d.ts.map +1 -1
- package/dist/services/version.service.js +149 -41
- package/dist/services/version.service.js.map +1 -1
- package/dist/types/index.d.ts +17 -60
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +4 -13
- package/src/db/schema.sql +113 -70
- package/dist/api/routes/sops.d.ts.map +0 -1
- package/dist/api/routes/sops.js +0 -155
- package/dist/api/routes/sops.js.map +0 -1
- package/dist/mcp/tools/add-task-note.d.ts +0 -10
- package/dist/mcp/tools/add-task-note.d.ts.map +0 -1
- package/dist/mcp/tools/add-task-note.js +0 -46
- package/dist/mcp/tools/add-task-note.js.map +0 -1
- package/dist/mcp/tools/approve-task.d.ts +0 -10
- package/dist/mcp/tools/approve-task.d.ts.map +0 -1
- package/dist/mcp/tools/approve-task.js +0 -59
- package/dist/mcp/tools/approve-task.js.map +0 -1
- package/dist/mcp/tools/archive-version.d.ts +0 -10
- package/dist/mcp/tools/archive-version.d.ts.map +0 -1
- package/dist/mcp/tools/archive-version.js +0 -57
- package/dist/mcp/tools/archive-version.js.map +0 -1
- package/dist/mcp/tools/assign-task.d.ts +0 -10
- package/dist/mcp/tools/assign-task.d.ts.map +0 -1
- package/dist/mcp/tools/assign-task.js +0 -53
- package/dist/mcp/tools/assign-task.js.map +0 -1
- package/dist/mcp/tools/create-sop.d.ts +0 -10
- package/dist/mcp/tools/create-sop.d.ts.map +0 -1
- package/dist/mcp/tools/create-sop.js +0 -90
- package/dist/mcp/tools/create-sop.js.map +0 -1
- package/dist/mcp/tools/get-my-tasks.d.ts +0 -10
- package/dist/mcp/tools/get-my-tasks.d.ts.map +0 -1
- package/dist/mcp/tools/get-my-tasks.js +0 -88
- package/dist/mcp/tools/get-my-tasks.js.map +0 -1
- package/dist/mcp/tools/get-next-task.d.ts.map +0 -1
- package/dist/mcp/tools/get-next-task.js +0 -84
- package/dist/mcp/tools/get-next-task.js.map +0 -1
- package/dist/mcp/tools/get-sop.d.ts +0 -10
- package/dist/mcp/tools/get-sop.d.ts.map +0 -1
- package/dist/mcp/tools/get-sop.js +0 -67
- package/dist/mcp/tools/get-sop.js.map +0 -1
- package/dist/mcp/tools/get-task-context.d.ts.map +0 -1
- package/dist/mcp/tools/get-task-context.js +0 -114
- package/dist/mcp/tools/get-task-context.js.map +0 -1
- package/dist/mcp/tools/helpers.d.ts +0 -10
- package/dist/mcp/tools/helpers.d.ts.map +0 -1
- package/dist/mcp/tools/helpers.js +0 -17
- package/dist/mcp/tools/helpers.js.map +0 -1
- package/dist/mcp/tools/list-sops.d.ts +0 -10
- package/dist/mcp/tools/list-sops.d.ts.map +0 -1
- package/dist/mcp/tools/list-sops.js +0 -57
- package/dist/mcp/tools/list-sops.js.map +0 -1
- package/dist/mcp/tools/reject-task.d.ts +0 -10
- package/dist/mcp/tools/reject-task.d.ts.map +0 -1
- package/dist/mcp/tools/reject-task.js +0 -63
- package/dist/mcp/tools/reject-task.js.map +0 -1
- package/dist/mcp/tools/reschedule.d.ts +0 -17
- package/dist/mcp/tools/reschedule.d.ts.map +0 -1
- package/dist/mcp/tools/reschedule.js +0 -107
- package/dist/mcp/tools/reschedule.js.map +0 -1
- package/dist/mcp/tools/start-task.d.ts +0 -10
- package/dist/mcp/tools/start-task.d.ts.map +0 -1
- package/dist/mcp/tools/start-task.js +0 -42
- package/dist/mcp/tools/start-task.js.map +0 -1
- package/dist/mcp/tools/submit-for-review.d.ts +0 -10
- package/dist/mcp/tools/submit-for-review.d.ts.map +0 -1
- package/dist/mcp/tools/submit-for-review.js +0 -64
- package/dist/mcp/tools/submit-for-review.js.map +0 -1
- package/dist/mcp/tools/update-sop.d.ts +0 -10
- package/dist/mcp/tools/update-sop.d.ts.map +0 -1
- package/dist/mcp/tools/update-sop.js +0 -113
- package/dist/mcp/tools/update-sop.js.map +0 -1
- package/dist/mcp/tools/update-task-doc.d.ts +0 -10
- package/dist/mcp/tools/update-task-doc.d.ts.map +0 -1
- package/dist/mcp/tools/update-task-doc.js +0 -70
- package/dist/mcp/tools/update-task-doc.js.map +0 -1
- package/dist/mcp/tools/update-task.d.ts +0 -10
- package/dist/mcp/tools/update-task.d.ts.map +0 -1
- package/dist/mcp/tools/update-task.js +0 -106
- package/dist/mcp/tools/update-task.js.map +0 -1
- package/dist/services/sop.service.d.ts +0 -53
- package/dist/services/sop.service.d.ts.map +0 -1
- package/dist/services/sop.service.js +0 -275
- package/dist/services/sop.service.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,315 +1,200 @@
|
|
|
1
1
|
# oh-my-task
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
AI 驱动的任务管理,支持版本生命周期、智能排期、MCP 集成。
|
|
4
4
|
|
|
5
5
|
## 功能特性
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
- **可视化**:Web 界面提供列表、看板、甘特图三种视图
|
|
7
|
+
- **版本管理** — 创建 → 启动/锁定 → 完成 → 归档,清晰的生命周期
|
|
8
|
+
- **智能排期** — 自动跳过周末和中国法定节假日
|
|
9
|
+
- **MCP 集成** — 11 个工具,AI 助手直接管理任务
|
|
10
|
+
- **管理后台** — 统计面板、用户管理、系统配置
|
|
11
|
+
- **权限体系** — 首位用户自动成为管理员,Session + Bearer Token 双认证
|
|
12
|
+
- **Docker 部署** — 零配置一键启动
|
|
14
13
|
|
|
15
14
|
## 快速开始
|
|
16
15
|
|
|
17
|
-
###
|
|
16
|
+
### Docker(推荐)
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
# 首次安装
|
|
21
|
-
npm install
|
|
22
|
-
cd web && npm install && cd ..
|
|
23
|
-
npm run db:init
|
|
18
|
+
**一键启动**:
|
|
24
19
|
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
```bash
|
|
21
|
+
docker run -d --name oh-my-task \
|
|
22
|
+
-p 3000:3000 \
|
|
23
|
+
-v oh-my-task-data:/app/data \
|
|
24
|
+
ghcr.io/qq33357486/oh-my-task:latest
|
|
27
25
|
```
|
|
28
26
|
|
|
29
|
-
-
|
|
30
|
-
- 前端界面: http://localhost:5173
|
|
27
|
+
**使用 docker-compose**:
|
|
31
28
|
|
|
32
|
-
|
|
29
|
+
```yaml
|
|
30
|
+
services:
|
|
31
|
+
oh-my-task:
|
|
32
|
+
image: ghcr.io/qq33357486/oh-my-task:latest
|
|
33
|
+
container_name: oh-my-task
|
|
34
|
+
ports:
|
|
35
|
+
- "3000:3000"
|
|
36
|
+
volumes:
|
|
37
|
+
- ./data:/app/data
|
|
38
|
+
environment:
|
|
39
|
+
- NODE_ENV=production
|
|
40
|
+
- DB_PATH=/app/data/data.db
|
|
41
|
+
restart: unless-stopped
|
|
42
|
+
```
|
|
33
43
|
|
|
34
44
|
```bash
|
|
35
|
-
|
|
36
|
-
npm run db:clean # 清理乱码数据
|
|
37
|
-
npm run db:init # 初始化/重置数据库
|
|
45
|
+
docker compose up -d
|
|
38
46
|
```
|
|
39
47
|
|
|
40
|
-
|
|
48
|
+
访问 http://localhost:3000,首位注册用户自动成为管理员。
|
|
49
|
+
|
|
50
|
+
### 本地开发
|
|
41
51
|
|
|
42
52
|
```bash
|
|
43
|
-
|
|
53
|
+
# 安装依赖
|
|
54
|
+
npm install
|
|
55
|
+
cd web && npm install && cd ..
|
|
56
|
+
|
|
57
|
+
# 启动后端 + 前端
|
|
58
|
+
npm run dev:all
|
|
44
59
|
```
|
|
45
60
|
|
|
46
|
-
|
|
61
|
+
| 服务 | 地址 |
|
|
62
|
+
|------|------|
|
|
63
|
+
| 后端 API | http://localhost:3000 |
|
|
64
|
+
| 前端界面 | http://localhost:5173 |
|
|
65
|
+
|
|
66
|
+
## 配置 MCP
|
|
67
|
+
|
|
68
|
+
**获取 Token**:Web 界面 → 右上角 → 设置 → 创建 Token
|
|
47
69
|
|
|
48
|
-
|
|
70
|
+
oh-my-task 通过**项目名称**来区分不同项目,建议将 MCP 配置在**项目级**(如 `.cursor/mcp.json`、`.claude/mcp.json`),而非全局配置。这样每个项目使用各自的项目名,AI 工具自动定位到正确的任务空间。
|
|
49
71
|
|
|
50
|
-
|
|
72
|
+
**项目级配置(推荐)**:
|
|
73
|
+
|
|
74
|
+
在项目根目录创建 `.cursor/mcp.json` 或 `.claude/mcp.json`:
|
|
51
75
|
|
|
52
76
|
```json
|
|
53
77
|
{
|
|
54
78
|
"mcpServers": {
|
|
55
79
|
"oh-my-task": {
|
|
56
80
|
"command": "npx",
|
|
57
|
-
"args": ["
|
|
81
|
+
"args": ["@qq33357486/oh-my-task"],
|
|
58
82
|
"env": {
|
|
59
83
|
"OMT_SERVER_URL": "http://localhost:3000",
|
|
60
|
-
"
|
|
84
|
+
"OMT_TOKEN": "你的Token",
|
|
85
|
+
"OMT_PROJECT_NAME": "当前项目名称"
|
|
61
86
|
}
|
|
62
87
|
}
|
|
63
88
|
}
|
|
64
89
|
}
|
|
65
90
|
```
|
|
66
91
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
### SOP(技能/智能体)
|
|
70
|
-
|
|
71
|
-
SOP(Standard Operating Procedure)是执行同类任务时的标准化流程定义。
|
|
72
|
-
|
|
73
|
-
**存储位置**:`.omt/sops/{sop-id}.md`(Markdown 格式,支持 Git 管理)
|
|
92
|
+
**全局配置**(所有项目共用同一任务空间,不推荐):
|
|
74
93
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
94
|
+
```json
|
|
95
|
+
{
|
|
96
|
+
"mcpServers": {
|
|
97
|
+
"oh-my-task": {
|
|
98
|
+
"command": "npx",
|
|
99
|
+
"args": ["@qq33357486/oh-my-task"],
|
|
100
|
+
"env": {
|
|
101
|
+
"OMT_SERVER_URL": "http://localhost:3000",
|
|
102
|
+
"OMT_TOKEN": "你的Token",
|
|
103
|
+
"OMT_PROJECT_NAME": "项目名称"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
85
108
|
```
|
|
86
109
|
|
|
87
|
-
|
|
110
|
+
### MCP 工具列表
|
|
88
111
|
|
|
89
|
-
|
|
|
112
|
+
| 工具 | 说明 |
|
|
90
113
|
|------|------|
|
|
91
|
-
|
|
|
92
|
-
|
|
|
93
|
-
|
|
|
94
|
-
|
|
|
95
|
-
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
|
102
|
-
|------|------|----------|
|
|
103
|
-
| `planned` | 计划中 | 初始状态 |
|
|
104
|
-
| `in_progress` | 进行中 | `activate_task` |
|
|
105
|
-
| `done` | 完成 | `complete_task` |
|
|
114
|
+
| `init_project` | 初始化项目 |
|
|
115
|
+
| `create_task` | 创建任务 |
|
|
116
|
+
| `list_tasks` | 列出任务 |
|
|
117
|
+
| `get_task` | 获取任务详情 |
|
|
118
|
+
| `activate_task` | 开始任务(状态 → 进行中) |
|
|
119
|
+
| `complete_task` | 完成任务(状态 → 已完成) |
|
|
120
|
+
| `delete_task` | 删除任务 |
|
|
121
|
+
| `create_version` | 创建版本 |
|
|
122
|
+
| `list_versions` | 列出版本 |
|
|
123
|
+
| `get_current_task` | 获取当前进行中的主任务及子任务 |
|
|
124
|
+
| `auto_schedule` | 自动排期(跳过节假日) |
|
|
106
125
|
|
|
107
|
-
|
|
126
|
+
## 使用场景
|
|
108
127
|
|
|
109
|
-
###
|
|
128
|
+
### 1. 创建版本
|
|
110
129
|
|
|
111
130
|
```
|
|
112
|
-
创建版本
|
|
113
|
-
↓
|
|
114
|
-
执行任务(自动读取 SOP)
|
|
115
|
-
↓
|
|
116
|
-
完成任务(AI 分析并更新 SOP 经验)
|
|
131
|
+
创建版本 v1.0:用户系统
|
|
117
132
|
```
|
|
118
133
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
### SOP 管理
|
|
122
|
-
|
|
123
|
-
| 工具 | 说明 |
|
|
124
|
-
|------|------|
|
|
125
|
-
| `create_sop` | 创建 SOP(技能/智能体),存储到 `.omt/sops/` 目录 |
|
|
126
|
-
| `list_sops` | 列出项目中的所有 SOP |
|
|
127
|
-
| `get_sop` | 获取 SOP 详情,包含所有规则、流程、强制、禁止和经验内容 |
|
|
128
|
-
| `update_sop` | 更新 SOP 内容(支持追加经验) |
|
|
129
|
-
|
|
130
|
-
### 版本管理
|
|
131
|
-
|
|
132
|
-
| 工具 | 说明 |
|
|
133
|
-
|------|------|
|
|
134
|
-
| `create_version` | 创建版本(任务的顶层容器) |
|
|
135
|
-
| `list_versions` | 查询项目的所有版本 |
|
|
136
|
-
| `archive_version` | 归档版本(标记删除并页面不再显示) |
|
|
137
|
-
|
|
138
|
-
### 任务管理
|
|
139
|
-
|
|
140
|
-
| 工具 | 说明 |
|
|
141
|
-
|------|------|
|
|
142
|
-
| `create_task` | 创建任务或子任务 |
|
|
143
|
-
| `list_tasks` | 查询任务列表,支持多种筛选 |
|
|
144
|
-
| `get_task` | 获取任务详情(含完整子任务树) |
|
|
145
|
-
| `get_task_context` | 获取任务完整上下文(需求、设计、当前情况、历史、子任务) |
|
|
146
|
-
| `get_my_tasks` | 获取当前用户负责的任务 |
|
|
147
|
-
| `get_next_task` | 获取下一个要做的任务 |
|
|
148
|
-
| `update_task` | 更新任务信息 |
|
|
149
|
-
| `update_task_doc` | 更新任务阶段文档(需求/设计/当前情况) |
|
|
150
|
-
| `activate_task` | 激活任务(状态→进行中,**必须指定 SOP**) |
|
|
151
|
-
| `complete_task` | 完成任务(状态→完成,**AI 分析并更新 SOP 经验**) |
|
|
152
|
-
| `assign_task` | 分配/变更任务负责人 |
|
|
153
|
-
| `delete_task` | 删除任务(软删除) |
|
|
154
|
-
| `add_task_note` | 添加任务备注 |
|
|
155
|
-
|
|
156
|
-
### 项目管理
|
|
157
|
-
|
|
158
|
-
| 工具 | 说明 |
|
|
159
|
-
|------|------|
|
|
160
|
-
| `init_project` | 初始化项目,创建 .omt.json 配置文件 |
|
|
161
|
-
|
|
162
|
-
## 使用示例
|
|
163
|
-
|
|
164
|
-
### 1. 初始化项目
|
|
134
|
+
### 2. 创建任务
|
|
165
135
|
|
|
166
136
|
```
|
|
167
|
-
|
|
168
|
-
AI: [调用 init_project] 项目初始化成功!
|
|
169
|
-
已创建:.omt.json、.omt/rules.md、.omt/sops/
|
|
137
|
+
在 v1.0 下创建任务:用户登录功能
|
|
170
138
|
```
|
|
171
139
|
|
|
172
|
-
###
|
|
140
|
+
### 3. 批量创建
|
|
173
141
|
|
|
174
142
|
```
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
143
|
+
在 v1.0 下批量创建任务:
|
|
144
|
+
- 用户登录
|
|
145
|
+
- 登录表单
|
|
146
|
+
- 登录 API
|
|
147
|
+
- 商品列表
|
|
148
|
+
- 列表页面
|
|
178
149
|
```
|
|
179
150
|
|
|
180
|
-
###
|
|
151
|
+
### 4. 开始任务
|
|
181
152
|
|
|
182
153
|
```
|
|
183
|
-
|
|
184
|
-
AI: [调用 activate_task,不传 sop_id]
|
|
185
|
-
|
|
186
|
-
⚠️ 激活任务需要指定 SOP。
|
|
187
|
-
|
|
188
|
-
现有 SOP:
|
|
189
|
-
- 前端组件开发 (ID: xxx)
|
|
190
|
-
- 后端 API 开发 (ID: yyy)
|
|
191
|
-
|
|
192
|
-
请选择:
|
|
193
|
-
1. 使用某个已有 SOP
|
|
194
|
-
2. 创建新 SOP
|
|
195
|
-
3. 不需要 SOP
|
|
196
|
-
|
|
197
|
-
用户: 用前端组件开发
|
|
198
|
-
AI: [调用 activate_task,sop_id=xxx]
|
|
199
|
-
|
|
200
|
-
任务已激活!
|
|
201
|
-
|
|
202
|
-
📚 已关联 SOP: 前端组件开发
|
|
203
|
-
|
|
204
|
-
## 规则
|
|
205
|
-
1. 遵循项目代码规范
|
|
206
|
-
...
|
|
154
|
+
开始做「用户登录功能」
|
|
207
155
|
```
|
|
208
156
|
|
|
209
|
-
|
|
157
|
+
任务状态变为进行中。
|
|
158
|
+
|
|
159
|
+
### 5. 完成任务
|
|
210
160
|
|
|
211
161
|
```
|
|
212
|
-
|
|
213
|
-
AI: [调用 complete_task]
|
|
214
|
-
|
|
215
|
-
任务已完成!✅
|
|
216
|
-
|
|
217
|
-
📚 此任务关联了 SOP「前端组件开发」
|
|
218
|
-
|
|
219
|
-
请分析本次任务执行过程,是否要将经验追加到 SOP?
|
|
220
|
-
|
|
221
|
-
用户: 好的,经验是:组件命名要有意义,props 要有默认值
|
|
222
|
-
AI: [调用 update_sop,append_experience="..."]
|
|
223
|
-
经验已追加到 SOP,文件已更新:.omt/sops/xxx.md
|
|
162
|
+
「用户登录功能」做完了
|
|
224
163
|
```
|
|
225
164
|
|
|
226
|
-
###
|
|
165
|
+
### 6. 版本生命周期
|
|
227
166
|
|
|
228
167
|
```
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
已归档任务数: 5
|
|
168
|
+
启动版本 v1.0 → 锁定版本,不能再添加任务
|
|
169
|
+
完成版本 v1.0 → 所有任务完成
|
|
170
|
+
归档版本 v1.0 → 移入归档
|
|
233
171
|
```
|
|
234
172
|
|
|
235
|
-
|
|
173
|
+
### 7. 查看当前任务
|
|
236
174
|
|
|
237
|
-
所有 API 需要认证头:
|
|
238
175
|
```
|
|
239
|
-
|
|
176
|
+
当前在做什么?
|
|
240
177
|
```
|
|
241
178
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
###
|
|
245
|
-
- `GET /api/users` - 用户列表(管理员)
|
|
246
|
-
- `GET /api/users/me` - 当前用户
|
|
247
|
-
- `POST /api/users` - 创建用户(管理员)
|
|
248
|
-
|
|
249
|
-
### 项目 API
|
|
250
|
-
- `GET /api/projects` - 项目列表
|
|
251
|
-
- `POST /api/projects` - 创建项目
|
|
252
|
-
- `GET /api/projects/:id` - 项目详情
|
|
253
|
-
|
|
254
|
-
### SOP API
|
|
255
|
-
- `GET /api/sops` - SOP 列表(需要 `project_id` 和 `project_path`)
|
|
256
|
-
- `POST /api/sops` - 创建 SOP
|
|
257
|
-
- `GET /api/sops/:id` - SOP 详情
|
|
258
|
-
- `PUT /api/sops/:id` - 更新 SOP
|
|
259
|
-
- `DELETE /api/sops/:id` - 删除 SOP
|
|
260
|
-
|
|
261
|
-
### 版本 API
|
|
262
|
-
- `GET /api/versions` - 版本列表
|
|
263
|
-
- `POST /api/versions` - 创建版本
|
|
264
|
-
- `GET /api/versions/:id` - 版本详情
|
|
265
|
-
- `PUT /api/versions/:id` - 更新版本
|
|
266
|
-
- `POST /api/versions/:id/archive` - 归档版本
|
|
267
|
-
- `DELETE /api/versions/:id` - 删除版本
|
|
268
|
-
|
|
269
|
-
### 任务 API
|
|
270
|
-
- `GET /api/tasks` - 任务列表(支持筛选)
|
|
271
|
-
- `POST /api/tasks` - 创建任务
|
|
272
|
-
- `GET /api/tasks/:id` - 任务详情(含子任务树)
|
|
273
|
-
- `PUT /api/tasks/:id` - 更新任务
|
|
274
|
-
- `DELETE /api/tasks/:id` - 删除任务(软删除)
|
|
275
|
-
- `GET /api/tasks/:id/history` - 任务历史
|
|
276
|
-
- `POST /api/tasks/:id/history` - 添加备注
|
|
277
|
-
- `GET /api/tasks/:id/context` - 获取任务完整上下文(断点续传)
|
|
278
|
-
- `PUT /api/tasks/:id/doc` - 更新任务阶段文档
|
|
279
|
-
- `POST /api/tasks/:id/activate` - 激活任务
|
|
280
|
-
- `POST /api/tasks/:id/complete` - 完成任务
|
|
281
|
-
|
|
282
|
-
## 项目结构
|
|
179
|
+
返回当前项目正在进行的主任务及其子任务列表。
|
|
180
|
+
|
|
181
|
+
### 8. 自动排期
|
|
283
182
|
|
|
284
183
|
```
|
|
285
|
-
|
|
286
|
-
├── src/ # 后端源码
|
|
287
|
-
│ ├── api/ # REST API
|
|
288
|
-
│ │ ├── routes/ # 路由(tasks, sops, versions, users, projects)
|
|
289
|
-
│ │ └── middleware/ # 认证中间件
|
|
290
|
-
│ ├── mcp/ # MCP Server
|
|
291
|
-
│ │ ├── server.ts # MCP 服务器入口
|
|
292
|
-
│ │ └── tools/ # MCP 工具实现
|
|
293
|
-
│ ├── services/ # 业务逻辑层
|
|
294
|
-
│ ├── db/ # 数据库(SQLite)
|
|
295
|
-
│ └── types/ # TypeScript 类型定义
|
|
296
|
-
├── web/ # 前端源码 (React + Vite)
|
|
297
|
-
│ └── src/
|
|
298
|
-
│ ├── pages/ # 页面组件
|
|
299
|
-
│ ├── api.ts # API 客户端
|
|
300
|
-
│ └── App.tsx # 根组件
|
|
301
|
-
├── data/ # SQLite 数据库文件
|
|
302
|
-
└── 文档区/ # 项目文档
|
|
184
|
+
给 v1.0 的任务自动排期,从下周一开始
|
|
303
185
|
```
|
|
304
186
|
|
|
305
|
-
|
|
187
|
+
自动跳过周末和中国法定节假日。
|
|
188
|
+
|
|
189
|
+
## 环境变量
|
|
306
190
|
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
191
|
+
| 变量 | 说明 | 默认值 |
|
|
192
|
+
|------|------|--------|
|
|
193
|
+
| `DB_PATH` | SQLite 数据库路径 | `./data/data.db` |
|
|
194
|
+
| `OMT_SERVER_URL` | API 地址(MCP 用) | `http://localhost:3000` |
|
|
195
|
+
| `OMT_API_KEY` | API 认证密钥 | `omt-admin-key` |
|
|
312
196
|
|
|
313
|
-
##
|
|
197
|
+
## 更多
|
|
314
198
|
|
|
315
|
-
|
|
199
|
+
- [英文版](README_EN.md)
|
|
200
|
+
- [GitHub](https://github.com/qq33357486/oh-my-task)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-admin.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/auth-admin.test.ts"],"names":[],"mappings":""}
|