Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

Zzz11042/assets-upload

Productivity & Utilities

Local web dashboard and REST API that indexes scattered game, art, and writing projects and exports plans for AI agents.

162
0
JavaScript
7 days old

What it is

asset-dashboard is a locally run Node.js service with a single-page web UI that organizes scattered creative materials — game projects, art assets, serialized novels, and short-drama projects — into one inventory. It presents asset counts, book progress, and project status, and provides model-readable tags alongside file contents. A rule-based planner turns a one-line idea into candidate plans, falling back to an online LLM when configured. A local scanner walks chosen root directories, flags analyzable items, and exports selected material for AI agents such as Codex or DSH. It is aimed at creators who keep projects spread across a machine and want a single place to inventory, deduplicate, and hand off material for further analysis.

The service uses only the Node standard library, with no npm dependencies.

Quick start

Requires Node.js with ES module support; no package installation is needed.

cd asset-dashboard
node server.mjs            # → http://127.0.0.1:7800
PORT=8080 node server.mjs  # custom port

Open http://127.0.0.1:7800. The overview page reports missing data sources by design when the companion game-forge and tomato directories are absent — this repository keeps only the dashboard and has removed the local material, so related endpoints return empty results until those sources exist.

Optional online plan generation: enter API Base, Key, and model in the web "Settings" view, which writes settings.json (gitignored), or set AGNES_API_BASE / AGNES_API_KEY / AGNES_MODEL. settings.json takes precedence.

Local scanning:

GET /api/local-scan?depth=3
GET /api/local-scan?roots=/abs/path,/abs/path2&depth=2

It returns roots, totals, analyzable items, type breakdown, and per-item metadata. Use GET /api/dedup?depth=6 for a report-only image deduplication analysis, which combines byte-level SHA-1 exact duplicates with same-name cross-format candidates, or run the standalone CLI:

node asset-dashboard/dedup.mjs --roots "a,b" --depth 6 --out dedup-report.json --md dedup-report.md

Using with agents

The service exposes an agent layer: GET /api/agent/manifest for capability discovery, POST /api/agent/plan to turn a requirement into a machine-readable plan, GET /api/agent/plan?plan_id= to retrieve one, and POST /api/record to submit results. Plans include matched knowledge-base assets, local game directories, ordered execution tasks, and local tool paths; entries marked assumed:true mean the agent should verify the path first. Full endpoint and schema details live in AGENTS.md at the repository root.

Constraints

  • Default listening address is 127.0.0.1, so the service is local-only unless HOST=0.0.0.0 is set. The service itself does not authenticate visitors; public deployment requires gateway or reverse-proxy authentication.
  • /api/local-scan, /api/asset-text, /api/dedup, and /api/scan-roots read files on the host. On public deployments, set SCAN_ROOTS_ALLOWED to a comma-separated absolute-path allowlist so scans and saved roots stay within it.
  • MAX_BODY_BYTES defaults to 1 MB and rejects larger request bodies. NODE_ENV=production enables one-hour caching for static assets.
  • Scan depth is capped at 4 levels, and directories such as node_modules, .git, __pycache__, profiles, and vault are skipped.
  • Deduplication is report-only and never moves or deletes files; same-name groups need visual confirmation.
  • Agent endpoints accept x-agent-token when AGENT_TOKEN is set; otherwise they are open and intended for local deployment only.
  • No license is declared in the repository.

HotRepo's take

The project entered HotRepo's new-project list on 2026-11-07 for the JavaScript language, with 48 stars gained over roughly a day of observation. The more useful signal is the hourly star curve: it held at 114 stars through most of November 6–7 UTC and then rose to 137 and 162 in the final two samples, so the recorded growth is concentrated at the end of the window rather than steady accumulation. No ranking exists on the all-language daily list. What stands out technically is the combination of file-system scanning, report-only deduplication, and an agent-facing plan schema in one zero-dependency service — but because the cataloged code repository lacks its companion data, the tool is most meaningful when deployed alongside the original local workspace it was built for.

Project source and documentation

Written by AI from the project's README, updated . The project's own docs are the source of truth.