适配 PowerX 插件生态 的 Note 任务管理插件
这是一个完整的 Note 任务管理插件,专为 PowerX 平台设计,提供了任务管理、团队协作等核心功能。
- 🎯 任务管理: 创建、编辑、分配、跟踪任务
- 👥 多租户支持: 完整的租户隔离和 RLS 安全策略
- 🔐 权限控制: 基于 RBAC 的细粒度权限管理
- 🤖 Agent 集成: 支持 PowerX Agent Hub 智能助手
- 📊 数据分析: 任务统计、可视化报告
- 🔌 插件架构: 完全符合 PowerX 插件规范
powerx-plugin-note/
├── README.md # 项目说明
├── plugin.yaml # 插件配置文件
├── Makefile # 构建脚本
├── Dockerfile # Docker 构建文件
├── .gitignore # Git 忽略规则
├── docs/ # 文档目录
│ └── readme.md # 详细技术文档
├── backend/ # 后端服务
│ ├── go.mod
│ ├── go.sum
│ ├── cmd/
│ │ ├── plugin/
│ │ │ └── main.go
│ │ └── database/
│ │ ├── migrate/
│ │ │ └── migrate.go
│ │ └── seed/
│ │ └── seed.go
│ └── internal/
│ ├── config/
│ │ └── config.go
│ ├── logger/
│ │ └── logger.go
│ ├── db/
│ │ ├── db.go
│ │ └── model.go
│ ├── middleware/
│ │ ├── tenant.go
│ │ ├── rbac.go
│ │ └── common.go
│ ├── contracts/
│ │ ├── manifest.go
│ │ └── api.go
│ ├── domain/
│ │ ├── note.go # 任务模型
│ │ ├── repository.go
│ │ └── note_repository.go
│ ├── handlers/
│ │ ├── admin_handler.go
│ │ ├── note_handler.go
│ │ └── health_handler.go
│ └── router/
│ └── router.go
└── web-admin/
├── README.md
└── .placeholder
go version # Go 1.21+
psql --version # PostgreSQLcp etc/config.example.yaml etc/config.yaml
cd backend
go mod downloadmake migrate
go run ./cmd/database/migrate
go run ./cmd/database/seed # 可选make dev
make runcurl http://localhost:8091/healthz
curl http://localhost:8091/v1/admin/manifest
curl http://localhost:8091/v1/notesmake build
make test
make lint
make fmt
make clean
make allmake docker-build
make docker-run- 🚫 绕过认证: 自动注入模拟租户上下文
- 📝 详细日志: 输出调试信息
- 🔄 热重载: 支持快速重启
- 将项目目录放入 PowerX 的
plugins/目录 - PowerX 自动扫描
plugin.yaml并注册插件 - 插件 API 通过
/_p/com.powerx.plugins.note/api/v1/*访问
- HMAC 模式: 内网环境使用共享密钥
- JWT 模式: 推荐生产环境,使用 RS256/ES256
note.note.create: 创建任务note.note.query: 查询任务
GET /v1/admin/manifest- 获取插件清单GET /v1/admin/rbac- 获取权限信息
POST /v1/notes- 创建任务GET /v1/notes- 获取任务列表GET /v1/notes/:id- 获取任务详情PUT /v1/notes/:id- 更新任务DELETE /v1/notes/:id- 删除任务PATCH /v1/notes/:id/status- 更新任务状态
| 操作 | 所需权限 |
|---|---|
| 查看任务 | note:note:read |
| 创建任务 | note:note:create |
| 更新任务 | note:note:update |
| 删除任务 | note:note:delete |
- 基础信息: 标题、描述、状态、优先级
- 分配信息: 分配人、标签
- 时间信息: 创建时间、更新时间、截止时间
- 扩展信息: 估算点数、元数据
- 多租户隔离
- 权限控制
- 安全头部防护
- 速率限制
- 输入验证
- 结构化日志
- 请求追踪
- 性能监控
- 健康检查
-
数据库连接失败
echo $PX_DB_DSN psql $PX_DB_DSN -c "SELECT 1"
-
权限错误
export PX_DEV_MODE=1 -
RLS 策略问题
make migrate
欢迎提交 Issue 和 Pull Request 来改进这个项目!
MIT License
注意: 本项目是一个初始化的代码骨架,提供了完整的项目结构和核心功能实现。web-admin 前端部分将在后续单独实现。
要不要我帮你也把 backend/domain 和 agent 那些和 sprint 有关的文件路径一并裁掉,给你一个干净的目录结构?