核心用法
project-router 是一款面向终端的项目管理与上下文切换工具,采用「本地 SQLite 为权威数据源、Trello 为可视化后端」的双层架构。核心工作流包括:
1. 项目注册与检测:通过 project detect 自动识别当前目录项目,或手动 project pm project add 注册到 canonical PM 数据库
2. 上下文管理:project pm switch <slug> 一键加载项目文档、目标配置与活跃任务;project pm focus <taskId> 聚焦单任务上下文
3. 标准化目标执行:在 .project/targets.json 定义构建/测试/部署命令,通过 project target run <name> 或 MCP 工具调用
4. Trello 双向同步:project pm trello sync 将 SQLite 中的任务状态同步至看板,支持优先级标签与状态列表映射
项目数据存储于 ~/.project/ 或指定目录下的结构化 bundle(project.json、PROJECT.md、targets.json、index/artifacts.json 等),配合 SQLite 实现离线可用、查询高效。
显著优点
- 零依赖轻量实现:仅使用 Node.js 内置模块(fs/path/child_process),无 npm 供应链攻击面
- 双接口设计:CLI 适合脚本化与快速操作,MCP server (
mcp-project-router) 无缝集成 AI 助手工作流 - 上下文即代码:项目配置以 JSON/Markdown 形式版本控制,便于团队共享与审计
- 幂等安全设计:
project init、artifact add等操作采用 plan/apply 模式,支持 dry-run 预览 - Trello 作为可选 UI:不改变现有看板习惯,仅作为可视化层,可随时脱离
潜在局限与风险
- 命令注入风险:
project_target_run通过spawnSync(cmd, { shell: true })执行用户配置命令,若.project/targets.json被篡改可导致任意代码执行 - T3 来源可信度:作者 safatinaztepe 为 ClawHub 平台个人开发者,非知名开源基金会或企业背书,缺乏长期维护验证
- MCP 二进制信任链:MCP server 调用固定路径
/home/safa/clawd/bin/project,若该二进制被替换存在劫持风险 - 权限边界模糊:
shell: true继承完整进程环境,未实施命令白名单或沙箱隔离 - 许可证缺失:skill-card 未声明开源许可证,存在法律使用不确定性
适合人群
- 习惯终端操作的开发者,需要频繁在多个项目间切换上下文
- 团队已使用 Trello 进行任务跟踪,希望增加本地离线能力与 AI 集成
- 对 npm 供应链安全敏感,偏好零依赖工具链的技术用户
常规风险
| 风险项 | 级别 | 说明 |
|--------|------|------|
| 命令注入 | 中 | 用户配置的目标命令直接 shell 执行,需确保 `.project/targets.json` 来源可信 |
| MCP 工具委托 | 低 | MCP server 调用本地 CLI 二进制,建议验证文件完整性 |
| 路径遍历 | 低 | 搜索功能已做正则转义,文件操作限制在项目目录 |
| 供应链攻击 | 极低 | 零第三方依赖,攻击面极小 |
建议:在受控环境(如 devcontainer、Docker)中运行,审查所有 .project/targets.json 内容,避免在高敏感生产环境直接执行目标命令。