把你写的各种轻量小工具(积分仪表盘、购书工作台、脚本服务…)以 "放目录 + 写 manifest.json" 的方式统一挂载到一个入口,统一托管进程,常驻在你的 NAS 上。
当前状态:v0.13.1——统一运行时 + 可插拔能力模块 + 声明式工具插件 + 内置存储管理 + 首页拖拽排序。详见
CHANGELOG.md与docs/ARCHITECTURE.md。
- 统一入口:一个地址进首页,
/tool/<id>直达各工具(HTTP 反代 + WebSocket 升级) - 声明式接入:工具只写
manifest.json声明需求(运行时/能力/入口),平台负责装配环境 - 能力模块(可插拔):
browser(浏览器桥,Edge/headless 双后端)/storage(数据目录+备份)/network,懒加载按需启动、空闲 600s 回收 - 进程托管:崩溃自动拉起(退避 1s→30s)/ 健康检查 / 日志聚合(滚动+内存缓冲)
- 生命周期控制:卡片上一键 ⏸ 暂停(不再自动拉起)/ ▶ 恢复 / ↻ 重启;点击卡片直接打开工具
- 内置存储管理:顶栏「存储」— 磁盘残留(幽灵目录/无效配置/解除托管)分类可视,勾选批量清理,一键恢复托管
- 三种添加方式:网页表单 / zip 上传(自动解压+炸弹防护) / Git 仓库导入;添加防重复提交
- 数据安全:内置本地备份 + WebDAV 云同步;管理员密码可选(空 = 无密码,敏感操作仍需确认)
- 首页拖拽排序:分组/卡片随意拖(组间排序、组内排序、跨组拖=改分组),FLIP 平滑动画 + 卡片跟手,顺序自动保存到
data/ui-order.json,刷新保持 - 轻量到底:Node 零依赖内核、单容器、低资源占用;本机/Docker/NAS 三模式
# 开发环境
node server.mjs # http://127.0.0.1:8080
# Docker
docker compose up -d # http://localhost:2626添加工具(3 种方式):
- 网页:首页「+ 添加」→ 三种模式(托管进程 + zip / 外部跳转 / Git 导入)
- 手动:
tools/<id>/放目录 + 写manifest.json(或 V1tool.json) → 刷新 - Git:粘贴仓库地址,自动识别 manifest 并托管
| 文档 | 给谁看 | 内容 |
|---|---|---|
docs/ARCHITECTURE.md |
开发者 | 当前架构主线:主逻辑四条链路 + 支线辅助面 + 模块职责表 + 数据流 + API |
docs/架构梳理.md |
开发者 | 主干框架 vs 附加模块:简单清晰的模块划分、生命周期数据流、已识别简化点 |
docs/security.md |
部署者/开发者 | 安全边界:信任模型、扫描范围、root 取舍、隔离方向 |
docs/使用指南.md |
用户 | 接入你的小工具(app/link、在线添加、字段速查) |
docs/deploy-nas.md |
部署者 | 部署指南(群晖/iStoreOS/Windows/Docker) + 故障排查 |
docker-compose.nas.example.yml |
部署者 | NAS 完整部署配置模板(隐私路径 /path/to/xxxx 占位,复制替换即用) |
docs/sdk.md |
工具作者 | 工具 SDK(capBrowser/capStorageDir/懒加载机制) |
docs/ROADMAP.md |
所有人 | 未来规划:AI 能力接入(DeepSeek)、工具隔离、测试补强等已确认方向 |
docs/drag-drop.md |
前端/未来的你 | 拖拽排序方案:SortableJS 接入全记录 + 跟手调试踩坑(可复用) |
templates/tool-template/ |
工具作者 | 最小可运行模板(manifest + server.mjs + README) |
AGENTS.md |
AI / 未来的你 | 技术栈、关键坑、约定、常用命令 |
DEVELOPMENT.md |
开发者 | 项目概览、历史架构说明 |
CHANGELOG.md |
所有人 | 版本变更记录 |
PLAN-V2.md |
所有人 | V2 重构规划(已完成) |
独立性原则:各工具保持独立仓库、独立部署,tools-center 只做统一入口(挂载代码 / link 跳转)。
| 工具 | 接入方式 | 说明 |
|---|---|---|
| 积分仪表盘 | app | workbuddy-credits-tool 独立仓库挂载,平台托管进程 |
| 微信读书购书工作台 | app | weread-budget 服务化(本地开发中) |
| NAS 现有服务(Jellyfin 等) | link | 一张卡片接入 |
📌 与本平台的关联(双向标注):积分仪表盘(workbuddy-credits-tool)是本平台的完整接入示例(app 型,
tool.json声明,端口 8123,/api/status健康检查):
- 工具侧文档已标注平台:
docs/tools-center部署.md(接入规范/目录结构/tool.json 字段对照/数据目录/升级)与docs/发布规范.md(发包 = 平台版 zip + exe 版)- 工具维护三个形态,数据经 WebDAV 互通:平台版(本平台托管)/ exe 版(Windows 单文件,采集 cookie)/ 源码版(Edge 采集);cookie 凭证由桌面端采集后「云同步上传」,平台版「下载」即用
- 接入步骤示例见
docs/使用指南.md目录结构节与文末"已接入示例"
npm test # 单元测试(node:test,零依赖,104 用例)
npm run check # 全模块语法检查(41 文件)Node.js 22+ 零依赖 · 单文件门户 UI · Docker Compose · GitHub Actions(自动构建+lint)