kuaifan a3d5bdf93c feat(ai-assistant): 重构页面操作为统一执行器(Web DOM floor + Electron CDP 双后端)
页面操作(doo page → /ws → 浮窗 operation-module → action-executor)原用手写
iView-only 选择器 + 朴素 value= 赋值,在 React+Radix 同源 iframe 业务表单上几乎
填不进。重构为「复用 Playwright 注入脚本的描述层 + 按环境选后端的执行层」:

描述层(共用):
- 新增 aria/aria-bundle.js,vendoring Playwright ariaSnapshot/roleUtils/domUtils
  子集预构建为 ESM(Apache-2.0 NOTICE + 固定上游 commit),产出 YAML 快照与活的
  ref→Element Map。
- page-context-collector 改用 buildSnapshot 采集,operation-module 经 setRefMap
  以 Map 直接持有元素取代 selector 反查。

执行层(按环境选后端,失败回退):
- web-backend:原生 prototype value setter + beforeinput/input/change/blur 序列
  + 回读校验(不符报 value_not_applied,绝不假报成功);自定义下拉/日期 open→click。
- electron-backend + electron/lib/page-input.js:经 webContents.debugger 走 CDP
  Input 域产生 isTrusted=true 可信输入(insertText/dispatchMouseEvent/KeyEvent),
  任一步失败回退 Web 后端。
- 复杂控件(动态明细表/成员选择器/文件上传)如实返回 unsupported_widget。

协议与链路(doo page、active-context 失效守卫、导航类 action)保持不变。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 02:03:59 +00:00
2021-05-29 16:52:48 +08:00
2021-05-29 16:52:48 +08:00
2025-03-21 11:34:09 +08:00
2021-05-29 16:52:48 +08:00
2023-03-24 09:08:53 +08:00
2021-05-29 16:52:48 +08:00
2026-06-04 23:06:30 +00:00
2021-11-18 02:31:17 +00:00
2026-05-25 15:04:16 +03:00
2021-08-29 15:49:54 +08:00
2026-05-25 15:04:16 +03:00
2021-05-29 16:52:48 +08:00
2025-10-16 23:56:48 +00:00

DooTask - Open Source Task Management System

English | 中文文档

QQ Group

  • Group Number: 546574618

📍 Migration from 0.x to 1.x

  • Please ensure to back up your data before upgrading!
  • If the upgrade fails, try running ./cmd update multiple times.
  • If you encounter "Container xxx not found" during upgrade, run ./cmd reup and then execute ./cmd update.
  • If you see a 502 error after upgrading, run ./cmd reup to restart the services.
  • If you encounter "Application 'xxx' not installed" after upgrading, log in with the admin account and install the relevant applications from the App Store.

Installation Requirements

  • Required: Docker v20.10+ and Docker Compose v2.0+
  • Supported Systems: CentOS/Debian/Ubuntu/macOS and other Linux/Unix systems
  • Hardware Recommendation: 2+ cores, 4GB+ memory
  • Database: MariaDB (provided by the default Docker Compose mariadb service)
  • Special Note: Windows users can install Linux environment using WSL2 before installing DooTask.

Deploy Project

# 1、Clone the project to your local machine or server

# Clone project from GitHub
git clone --depth=1 https://github.com/kuaifan/dootask.git
# Or you can use Gitee
git clone --depth=1 https://gitee.com/aipaw/dootask.git

# 2、Enter directory
cd dootask

# 3、One-click installation (Custom port installation: ./cmd install --port 80)
./cmd install

Reset Password

# Reset default administrator password
./cmd repassword

Change Port

# This method only changes HTTP port. For HTTPS port, please read SSL configuration below
./cmd port 80

Stop Service

./cmd down

Start Service

./cmd up

Development & Build

Please ensure you have installed NodeJs 20+

# Development mode
./cmd dev
   
# Build project (This is for web client. For desktop apps, refer to ".github/workflows/publish.yml")
./cmd prod  

SSL Configuration

Method 1: Automatic Configuration

# Run command and follow the prompts
./cmd https

Method 2: Nginx Proxy Configuration

# 1、Add Nginx proxy configuration
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

# 2、Run command (To cancel Nginx proxy configuration: ./cmd https close)
./cmd https agent

Upgrade & Update

Note: Please backup your data before upgrading!

./cmd update
  • Please retry if upgrade fails across major versions.
  • If you encounter 502 errors after upgrade, run ./cmd reup to restart services.

Project Migration

After installing the new project, follow these steps to complete migration:

1、Backup the MariaDB database

# Run command in the old project
./cmd mysql backup

./cmd mysql is the CLI subcommand name; backups run against the MariaDB container.

2、Copy the following files and directories from old project to the same paths in new project

  • Database backup file
  • docker/appstore
  • public/uploads

3、Restore database to new project

# Run command in the new project
./cmd mysql recovery

Uninstall Project

./cmd uninstall

More Commands

./cmd help
Description
DooTask是一款开源在线项目任务管理工具,提供各类文档协作工具、在线思维导图、在线流程图、项目管理、任务分发、即时IM,文件管理等工具;同时消息功能使用非对称加密技术让你的沟通更安全。
Readme AGPL-3.0 401 MiB
Languages
PHP 58.6%
Vue 36.3%
HTML 3.1%
Shell 1%
Less 0.5%
Other 0.5%