在浏览器中使用 pm CLI 工作区
pm-web 在隔离的项目目录中调用真实的 pm CLI 执行项目操作。公开站点从最新 CLI 重新生成命令、架构、指南和文档数据,使公开参考与当前版本保持一致。
┌─────────────────────────────────────────────────────────────────┐
│ pm-web · My Project ▾ [share] [settings] [log out] │
├──────────────┬──────────────────────────────────────────────────┤
│ │ │
│ Items │ Open Items (12) │
│ Plans │ │
│ ────────── │ T-001 Implement auth middleware [claimed] │
│ Search │ T-002 Add project sharing API [open] │
│ Stats │ T-003 Write migration scripts [in-progress]│
│ Calendar │ T-004 Set up Docker compose [open] │
│ Activity │ P-001 Migrate auth [plan · 3 steps] │
│ Graph │ │
│ GitHub │ › Create · Filter · Sort · ⌘K Search │
│ ────────── │ │
│ Health │ │
│ Admin │ │
└──────────────┴──────────────────────────────────────────────────┘
pm-cli 全功能,无需终端
pm-web 将 CLI 契约转化为快速的 PWA 风格界面:项目增删改查、协作、GitHub 关联/导入、导入/导出、图谱检视、搜索、健康检查、验证和生成的命令覆盖。
用户认证
使用邮箱和密码注册并登录。会话按用户隔离。每个账户管理自己的一组项目,拥有独立的访问控制。
多项目管理
按需创建任意数量的项目。每个项目拥有独立的 pm 工作区根目录,与其他项目完全隔离,并以服务端访问控制存储。
项目共享
将任意项目共享给其他注册用户或整个群组。为每位协作者分配只读或编辑权限。随时撤销访问。
群组管理
创建群组并添加成员,一步即可将多个项目共享给团队。群组成员变更自动同步到所有共享项目。
完整事项增删改查
创建、更新、关闭和删除当前的 pm 事项类型:Chore, Decision, Epic, Event, Feature, Issue, Meeting, Milestone, Plan, Reminder, Task。所有变更通过真实 pm CLI 执行并记录到历史中。
依赖与关系
在事项之间添加依赖元数据,从真实的 blocked_by CLI 字段中显示阻塞项,并检视关系图谱。图谱视图包含依赖图模式,可筛选阻塞边并高亮完整关键路径。
交互式知识图谱
力导向 Canvas 2D 图谱,带物理模拟、缩放/平移、可拖拽节点、有向箭头、阻塞计数和关键路径环。标签聚类可视化按共享标签分组节点,深度可调。用键盘快捷键 G 切换图谱预设(依赖、标签、类型、状态)。点击任意节点高亮其邻居;双击打开事项。按类型、状态或标签着色。安装 Neo4j 时使用 pm-graph export,否则回退到实时 pm 数据。
任务生命周期
UI 支持完整的 pm 任务生命周期:认领、释放、开始和暂停任务。状态转换遵循与 CLI 相同的规则。
评论、笔记与经验
在任意事项上添加和浏览嵌套评论、笔记和经验。所有条目均带时间戳并内联可见 —— 内置于每个项目的持久知识库。
关联测试
直接在浏览器中为任意事项附加测试命令。查看已有的关联测试并添加新的 —— 将验收标准和测试覆盖率集中一处。
截止日期、冲刺与发布
为每个事项设置截止日期(绝对或相对:+1d、+2w)、冲刺标识、发布标签、负责人和时间估算。按任一字段筛选看板。
活动与日历
在活动信息流中追踪所有变更。在日历上查看已安排的事项,发现逾期任务,并按日期浏览历史。
搜索与筛选
跨事项的关键词、语义和混合搜索。新的 pm-web 项目默认配置本地 Ollama qwen3-embedding:0.6b 用于语义搜索,取决于 Ollama 服务和模型的可用性。
GitHub 同步
连接 GitHub 仓库,查看关联的仓库上下文,并将 GitHub issues 导入 pm 项目,无需离开应用。
导入与导出
将项目数据下载为 JSON、CSV 或 YAML 用于备份或交接,然后上传/导入 JSON 事项快照以迁移工作区或恢复状态。
实时项目事件
服务器推送的项目事件在项目数据变化时让协作者保持同步,UI 刷新专为多用户编辑流程设计。
离线 PWA 与移动端
pm-web 是一个渐进式 Web 应用 —— 可从浏览器安装到桌面或移动设备。Service Worker 缓存应用外壳,使 UI 可离线加载和导航,恢复连接后同步变更。
管理界面
站点管理员拥有专属管理面板来管理用户、检视项目、撤销访问和监控系统健康 —— 与各项目的所有者控制分开。
项目健康度
专属健康视图显示 0–100 的健康分数,带颜色编码和完整的问题列表:过期事项、缺失上下文、阻塞工作等。
批量操作
跨筛选后的事项集合批量更新字段 —— 状态、负责人、优先级、冲刺。专用批量关闭模态框可关闭或取消整批事项,需填写原因,并在应用前提供试运行预览。
模板与事项克隆
从预置模板创建,或将任意现有事项用作模板 —— 字段预填并可自定义,让重复工作无需离开 UI 即可快速完成。
统计与聚合
项目统计显示已关闭与未关闭事项数、速度趋势和优先级分布。聚合视图提供按类型和状态划分的治理就绪分析。
键盘快捷键
无需抬手即可导航:N 创建事项,/ 搜索,Ctrl+K 打开全局搜索模态框,Esc 关闭任意模态框。图谱视图中:Space 暂停/恢复物理模拟,F 适配所有节点,R 重置布局,I 切换事项信息,G 循环切换图谱预设。
上下文与聚合
直接在浏览器中生成 pm 上下文和聚合视图。非常适合准备站会笔记或为 AI 代理提供上下文。
代理计划
直接在浏览器中创建、审阅和物化 Plan 事项。每个计划包含有序步骤及每步状态(pending、in-progress、blocked、completed)。在代理执行前审批计划,然后一键将步骤物化为真实 pm 事项。完整步骤生命周期:添加、完成、阻塞、移除和删除计划。
更新日志与发布说明
直接在浏览器中浏览项目 CHANGELOG。pm-web 将 pm changelog 的输出显示为格式化的发布说明,让团队无需离开应用即可查看版本间的变更。
交互式力导向图谱 —— pm-graph + Neo4j
pm-web 渲染 Canvas 2D 力导向图谱,带物理模拟(排斥力、弹簧力、居中)以 60fps 运行。通过滚轮或双指缩放、拖拽背景平移、拖拽单个节点重排,点击高亮节点的直接邻居。依赖图模式筛选 BLOCKED_BY、DEPENDS_ON 和 BLOCKS 边,然后高亮最长阻塞链作为关键路径。pm-web 首先将图谱导出委托给 pm-graph/Neo4j;若不可用,则从实时 pm 事项、blocked_by、依赖、标签、状态、类型、负责人、冲刺和发布元数据构建图谱。
| 界面 | 生成事实 |
|---|---|
| 命令 | pm-graph ping, pm-graph export, pm-graph cypher, pm-graph sync, pm-graph status, pm-graph query, pm-graph neighbors |
| 来源 | parent, deps, dependencies, type, status, assignee, sprint, release, tags |
| Neo4j | 同步使用 NEO4J_URI、NEO4J_USER 或 NEO4J_USERNAME、NEO4J_PASSWORD 以及可选的 NEO4J_DATABASE。 |
从当前 CLI 契约生成
此命令列表从站点其余部分使用的相同生成数据渲染:pm contracts --json、pm help --json 以及 pm CLI 2026.8.10 的本地指南输出,生成于 2026-08-10T17:05:56.446Z。
细粒度共享与群组
将项目共享给单个用户或整个群组。两个权限级别让你控制谁可以读、谁可以写。
查看权限
- ✓ 浏览所有事项及其详情
- ✓ 阅读评论、笔记和经验
- ✓ 运行搜索、统计、健康和上下文
- ✓ 查看活动信息流和日历
- — 无法创建或修改事项
- — 无法添加评论或笔记
编辑权限
- ✓ 包含查看权限的全部功能
- ✓ 创建、更新、关闭和删除事项
- ✓ 认领、释放、开始和暂停任务
- ✓ 添加评论、笔记和经验
- ✓ 管理依赖和关系
- — 无法管理项目共享设置
群组让你一步将项目共享给整个团队。添加或移除群组成员,所有共享项目即时更新。只有项目所有者可以更改共享设置。
pm-web 的构建方式
一个干净、专用的技术栈,没有重型框架 —— 只有坚实的基础组件,让 pm CLI 始终掌控全局。
| 层级 | 技术 |
|---|---|
| 后端 | Express.js + TypeScript —— 轻量级 API 服务器,处理认证、项目管理并将 CLI 命令代理到容器。 |
| 数据库 | PostgreSQL —— 存储用户账户、项目、共享关系和群组成员。pm CLI 本身读写文件,不使用数据库。 |
| PM 运行时 | 真实的 @unbrained/pm-cli 在隔离的项目目录中运行。UI 操作转化为 pm CLI 调用,并保留 CLI 审计追踪。 |
| 前端 | 原生 TypeScript 编译为浏览器 JavaScript —— 无 React 或 Vue 运行时。快速、轻依赖、PWA 就绪的 UI,贴近 CLI 模型。 |
| 搜索 | 本地 Ollama 嵌入,配置 qwen3-embedding:0.6b 用于 pm-web 语义搜索,加上 pm CLI 关键词和混合搜索模式。 |
| 图谱 | pm-web 从实时 pm 数据提供关系图谱,并可将导出/同步委托给 pm-graph 扩展。Neo4j 同步使用 NEO4J_URI、NEO4J_USER 和 NEO4J_PASSWORD。 |
| 认证 | 基于会话的认证,使用 bcrypt 密码哈希。每次请求均在服务端检查权限。 |
| 部署 | Docker + Docker Compose。每个 pm 项目目录是一个卷挂载;pm CLI 容器按项目创建并复用。 |