How bra1ndump/show-me-chatgpt-plugin works
Show Me is a ChatGPT plugin for creating, rendering, editing, and sharing diagrams. The principal workflow sends a diagram request to the render endpoint, selects language-specific formatting, obtains SVG from Kroki, and returns render and editor links; valid results can be stored behind short links. The service also exposes plugin metadata and privacy pages, collects collaboration emails, and tracks usage. The README documents broad diagram-language support through Kroki; sampled implementation shows Mermaid and PlantUML-specific editor handling. Connections reflect shown calls or README statements; unsampled behavior is not inferred.
Main entry points: src/index.ts Worker Router · Diagram.ts Render Endpoint · diagrams/index.ts Diagram Dispatcher · Shorten.ts Short Link Routes
Components 20
Plugin API
- Worker Router
src/index.ts - Render Endpoint
src/routes/Diagram.ts - Plugin Manifest
src/index.ts
Diagram Rendering
- Diagram Dispatcher
src/routes/diagrams/index.ts - Mermaid Formatting
src/routes/diagrams/mermaid.ts - PlantUML Editor Link
src/routes/diagrams/plantuml.ts - Encoding and Fetch
src/routes/diagrams/utils.ts
Sharing and Editing
- Short Link Routes
src/routes/Shorten.ts - Cloudflare KV
- Editor Email Form
src/routes/CollectEmail.ts
Plugin Support
- Privacy Page
src/privacy-page.ts - Plugin Logo
src/logo.ts - Join Email Route
src/routes/CollectEmail.ts - Usage Tracking
src/mixpanel.ts
Other components
- ChatGPT
- Kroki Renderer
- Mermaid Live
- PlantUML Editor
- Mailchimp
- Mixpanel
Connections 21
- ChatGPT → Worker Router: calls plugin
README.md - Worker Router → Render Endpoint: routes render
src/index.ts - Render Endpoint → Diagram Dispatcher: dispatches diagram
src/routes/Diagram.ts - Diagram Dispatcher → Mermaid Formatting: formats Mermaid
src/routes/diagrams/index.ts - Diagram Dispatcher → PlantUML Editor Link: builds editor link
src/routes/diagrams/index.ts - Diagram Dispatcher → Encoding and Fetch: encodes and fetches
src/routes/diagrams/index.ts - Encoding and Fetch → Kroki Renderer: requests SVG
src/routes/diagrams/utils.ts - Mermaid Formatting → Encoding and Fetch: encodes editor data
src/routes/diagrams/mermaid.ts - Mermaid Formatting → Mermaid Live: creates edit link
src/routes/diagrams/mermaid.ts - PlantUML Editor Link → PlantUML Editor: creates edit link
src/routes/diagrams/plantuml.ts - Render Endpoint → Short Link Routes: saves render links
src/routes/Diagram.ts - Short Link Routes → Cloudflare KV: writes and reads
src/routes/Shorten.ts - Worker Router → Short Link Routes: routes short links
src/index.ts - Short Link Routes → Editor Email Form: renders editor
src/routes/Shorten.ts - Worker Router → Join Email Route: routes email signup
src/index.ts - Join Email Route → Mailchimp: subscribes email
src/routes/CollectEmail.ts - Worker Router → Plugin Manifest: serves manifest
src/index.ts - Worker Router → Privacy Page: serves policy
src/index.ts - Worker Router → Plugin Logo: serves logo
src/index.ts - Render Endpoint → Usage Tracking: tracks renders
src/routes/Diagram.ts - Usage Tracking → Mixpanel: sends events
src/mixpanel.ts