Skip to content

D-studyLab/myhub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyHub

A local-first, plugin-based hub that organizes any files & folders by tags and relations — not by folder hierarchy — and visualizes them through plugins.

Your Explorer can stay messy. MyHub keeps the data tidy (a small relational store of items / tags / relations) and lets you see it any way you like through view-plugins you — or the community — can build and share. Think Obsidian, but for organizing anything with tags instead of physical folders.

  • 🗂️ Tag, don't sort. Add files/folders/notes; tag and relate them later (by hand or with AI). One item, many tags — no rigid hierarchy.
  • 🔌 Everything is a plugin. Views (board, graph, calendar, tree…) are plugins. Make your own, share them, install others'. Built-ins are just the first plugins.
  • 🔒 100% local. Runs on 127.0.0.1. Your data never leaves your machine.
  • 📦 No lock-in. Tags/relations export to plain JSON sidecars you can read, edit, and version with git.
  • 🤖 AI is optional & headless. Hand docs/AI_GUIDE.md to any file-aware AI agent (Cowork, Claude Code, …) and it can propose tags/status/relations for you — locally. Not an "AI app"; AI is just a helper.

Status: early (v0). Plugin API is small and stabilizing.

Screenshots

Status Board Relation Graph
Status Board Relation Graph
Sideways Tree Calendar
Sideways Tree Calendar

Quick start

pip install -r requirements.txt
python server.py        # Windows: double-click run.cmd
# open http://127.0.0.1:8766

On first run a setup wizard walks you through: pick folders to track → (optional) AI integration → choose which view-plugins to enable → done.

What's included

Built-in view-plugins (all optional, toggle in Settings):

plugin what it shows
📊 Status Board items grouped by status (進行中 / そのうち / 仮死 / 完了 / ゴミ + Inbox)
📥 Inbox untriaged items (no status) — click to organize
🏷️ Tag Cloud all tags; click to filter
🌿 Sideways Tree left→right tree from tags / relations / status
🕸️ Relation Graph force-directed graph; color = status

Organize anything from any view: click (or right-click) an item → a radial menu sets status / tags / relations / open folder. Add a pathless idea with +ノート. Pull in folders with 📁 取り込み.

Make a plugin

A view-plugin is a folder in plugins/ with a manifest.json and a main.js:

export default {
  views: [{
    key: "my-view", label: "My View", icon: "✨",
    async render(el, ctx) {
      const items = await ctx.data.query({ status: "進行中" });
      el.innerHTML = "<h2>My View</h2>" + items.map(i => i.title).join("<br>");
    }
  }]
};

ctx (stable API): data.query/getTags/getRelations/addTag/untag/setStatus/addRelation, ui.toast/refresh/radial, actions.itemMenu(e,item)/openItem(item), libs.d3/marked. See plugins/board, plugins/tree, plugins/graph for working examples. Full spec: docs/PLUGIN_API.md. AI integration: docs/AI_GUIDE.md.

License

MIT — see LICENSE. Plugins you build are yours.

About

Local-first, plugin-based hub that organizes any files/folders by tags & relations (not folders) and visualizes them via plugins. 100% local.

Topics

Resources

License

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors