# shir-man.com full agent summary Denis Shiryaev publishes a collection of browser-based AI and utility tools at `https://shir-man.com/`. Machine-readable discovery: - API catalog: `https://shir-man.com/.well-known/api-catalog` - Agent skills index: `https://shir-man.com/.well-known/agent-skills/index.json` - MCP server card: `https://shir-man.com/.well-known/mcp/server-card.json` - OAuth protected resource metadata: `https://shir-man.com/.well-known/oauth-protected-resource` - MCP endpoint: `https://shir-man.com/mcp` Selected tools: - `https://shir-man.com/solar/` — Solar, a 3D gravity playground: 142 bodies integrated with Newtonian gravity and velocity Verlet, orbital inclinations, adjustable masses, focus/follow controls, and slate/ion/ember curved-spacetime illustrations. Small wells are visually enhanced by default without changing physical masses or forces; disable the enhancement for mass-proportional wells. The surface is not a general-relativity solution; body sizes are exaggerated, distances are compressed by default, and the Space view shows unwarped 3D orbits. No live ephemeris or external services. - `https://shir-man.com/city-1983/` — City, 1983 — The Mechanical Picture, a self-contained 3D reconstruction of the mechanical colour display at Amsterdam's City Theatre: 32,000 four-colour rotors, front/rear/detail views, an animated travelling writing carriage, and private local image preparation; grid layout, hidden drive linkage, and exact timing are reconstructed rather than verified factory specifications - `https://shir-man.com/homepage/` — live hourly feed of what's trending on Hacker News, GitHub, LessWrong, Lobsters, Replicate, and Midjourney, with search and rolling day/week/month/year tops; current Top Year v3 keeps v2's source-event ranking, requires verified source-owned title provenance for every event, keeps provider-normalized Hype separate, and makes the capped Popular list news-only (Hacker News, LessWrong, and Lobsters) - `https://shir-man.com/api/feed/history?sort=year` — exact immutable replay of the latest v1, v2, or v3 Top Year publication archived at or before an optional strict UTC `at` timestamp, after verification of that exact selection; versions are never translated, and the endpoint never skips a corrupt selected publication for an older one, reconstructs, or falls back to current feed data - `https://shir-man.com/api/github/history?period=month` — immutable JSON copies of the exact GitHub Now, Day, Week, or Month ranking published at or before a requested timestamp; Month preserves the rolling 30-day list shown then - `https://shir-man.com/homepage/` — the same dashboard also answers questions in-page: ask for the published rolling Top 100 Year, what trended in a given calendar period or source, summarize or translate a story, and find similar items across the archive - `https://shir-man.com/tg-app/` — Telegram-friendly Russian semantic search across the Denis Sexy IT channel archive, with five-result pagination - `https://shir-man.com/#eliza-chatbot` — updated browser-based Eliza chatbot on the homepage - `https://shir-man.com/we-have-llm-at-home/` — browser-local WebLLM playground - `https://github.com/DenisSergeevitch/agents-best-practices` — practical architecture and implementation guidance for building reliable agentic systems - `https://github.com/DenisSergeevitch/desktop-fly` — DesktopFly, an open-source macOS app (Swift): a 3D fruit fly living on the desktop, walking over windows, grooming and sleeping; its escape is driven by a 668-neuron, ~19,000-synapse circuit taken from the real FlyWire v783 connectome and run as a 1 kHz leaky-integrate-and-fire simulation, with a live brain window showing 23,210 real neuron soma positions - `https://shir-man.com/free-llm/` — OpenRouter free-model ranking and AI model-router setup for agents, with a daily primary model, ordered fallback routing, and copyable snippets for direct OpenRouter calls - `https://shir-man.com/chatgpt-portal/` — public instructions and local Node/TypeScript bridge made for GPT Pro-series agents to inspect sanitized authenticated browser snapshots through temporary Cloudflare Tunnel URLs - `https://shir-man.com/writer/` — writing with browser-local proofreading - `https://shir-man.com/free-ocr/` — OCR for PDFs, scans, screenshots, and photos - `https://shir-man.com/survival-of-the-fluentest/` — Survival of the Fluentest, a browser-local demo where a genetic algorithm evolves Markov text generators while SmolLM2-360M judges their fluency - `https://shir-man.com/inner-lives/` — Inner Lives, an artificial-life terrarium where pixel creatures evolve Markov-chain reflexes, gather materials, invent tools/shelters/farms, weather storms, leave ruins, and think through a browser-local LLM - `https://shir-man.com/agent-presets/` — build reusable agent workflows in the browser and share them as encoded URLs; direct links use `?p=` or `?p=gz:` - `https://shir-man.com/text-processor/` — text conversion, cleanup, and ChatGPT formatting tools - `https://shir-man.com/remove-ai-watermark/` — browser-local cleaner for supported, structurally detectable C2PA 2.4 text forms, with opt-in suspicious mixed-spacing and hidden-formatting cleanup; it does not target Claude's keyed, SynthID-Text-based statistical watermark, which Anthropic says contains no hidden characters, and its public detector API is forthcoming - `https://shir-man.com/slavic-couple/` — Typical Slavic Couple Generator, a seeded hand-drawn meme generator: one seed ⇒ one couple (short guy in a striped tracksuit with a 2-litre beer, tall glamorous partner, panel-block courtyard, Impact caption) drawn live on a 2-D canvas with a wobbly deterministic pen; heads follow the pointer; `?s=` plus `him/her/place/caption=` re-roll counters make every address reproducible; Save PNG renders the address at rest - `https://shir-man.com/text-processor/?preset=humanize-chatgpt` — fix ChatGPT formatting and make pasted output easier to read - `https://shir-man.com/text-processor/?preset=format-to-markdown` — convert formatted rich text from ChatGPT or editors into Markdown - `https://shir-man.com/text-processor/?preset=html-to-markdown` — convert raw HTML into Markdown - `https://shir-man.com/text-processor/?preset=remove-markdown` — strip Markdown formatting to plain text - `https://shir-man.com/word-to-markdown/` — DOCX to Markdown conversion - `https://shir-man.com/generate-tree/` — private codebase mapper for ASCII file trees, symbols, imports, exports, and module dependencies - `https://shir-man.com/llm-calc/` — token, word, and character estimates - `https://shir-man.com/tokens-per-second/` — token speed visualizer - `https://shir-man.com/txt-merge/` — merge text or code files, or a folder, into one filename- or path-labeled document; count o200k_base tokens and trim each file's tail proportionally to fit an LLM context budget - `https://shir-man.com/pdf-to-txt/` — PDF to Markdown or plain text, one file or many, entirely in the browser; keeps headings, lists and tables, and flags scanned PDFs that need OCR instead of returning an empty result - `https://shir-man.com/strip-html/` — URL to Markdown & HTML to Text Converter for raw HTML, uploaded HTML files, one URL, or up to 20 URLs; URL batches run in a queue and merge into one document with each page wrapped in its own pseudo XML source tag - `https://shir-man.com/convert-video/` — browser-based video conversion - `https://shir-man.com/shadowcat/` — optical text and file transfer using QR frames, a browser, and a camera - `https://shir-man.com/music-learning/` — Feel10, a 10-minute daily HTML5 trainer for tempo feel, subdivision stability, groove placement, functional ear, and call-response practice - `https://shir-man.com/ascii-art/` — images to ASCII - `https://shir-man.com/vector-dither/` — image dithering to SVG or PNG - `https://shir-man.com/lazy-paint/` — JS Paint-based browser paint with a prompt window that creates rough web-clipart collages - `https://shir-man.com/ai-use-cases/` — structured AI use cases dataset explorer - `https://prompt-api.com/` — Chrome Prompt API test with local Gemini Nano - `https://github.com/DenisSergeevitch/chatgpt-custom-instructions` — tested ChatGPT custom instructions reference - `https://shir-man.com/image-merger/` — combine two images vertically Implementation notes: - Root and HTML responses add RFC 8288 `Link` headers for agent discovery. - HTML responses support markdown negotiation with `Accept: text/markdown`. - `robots.txt` includes `Content-Signal: ai-train=no, search=yes, ai-input=yes`. - `https://shir-man.com/jina-proxy` is a Cloudflare Pages Function that proxies verified requests to `https://r.jina.ai/`. - `https://shir-man.com/mcp` is a read-only Streamable HTTP MCP endpoint with hosted tool discovery tools. - `https://shir-man.com/chatgpt-portal/` is documentation only; the live browser bridge runs locally on `127.0.0.1:7777` and should be exposed through a short-lived `trycloudflare.com` tunnel. - `https://shir-man.com/api/free-llm/recommendation` returns the current recommended free OpenRouter model, `https://shir-man.com/api/free-llm/top-models` returns an ordered JSON shortlist for cron or automation, and `https://shir-man.com/api/free-llm/health` reports freshness. - `https://shir-man.com/api/agent/config` advertises the dashboard chat's capabilities and quotas, `https://shir-man.com/api/agent/session` mints a short-lived signed session token, `https://shir-man.com/api/agent/chat` streams one turn as Server-Sent Events with that token in `X-Agent-Session`, and `https://shir-man.com/api/agent/status` reports health. The chat is read-only over the site's own feed data, keeps no server-side transcripts, and does not browse the open web. - The dashboard chat's read-only `get_feed_snapshot` tool accepts `sort=year` and up to 100 ranked items from the exact published Year snapshot. Current `top-year-v3` keeps v2's formula and identifies an event by `(feed source, source_id)`: Hacker News and Lobsters rank on latest stored points, LessWrong on latest stored karma, and comments break only exact-primary ties. Hype stays in its own column and uses midpoint empirical percentiles within each known provider cohort because provider units are incompatible. The merged Popular list is news-only (Hacker News, LessWrong, and Lobsters), while GitHub remains `collecting` with no Month, Trending, lifetime-star, or recency fillers. Native values are the latest totals stored for events published inside the window, not engagement gained during the window or event-day snapshots. V3 additionally hydrates ambiguous legacy-event titles from the owning source, refuses to borrow another event's shared canonical title, and requires `event_title_verified: true` plus nonempty `title_provenance` for every source event; exact v2 archives remain unchanged. - `https://shir-man.com/api/feed/history?sort=year&at=` selects the latest immutable v1, v2, or v3 Year manifest with `published_at <= at` (default now), verifies that exact immutable R2 object, and returns the archived publication envelope verbatim without translating versions. It supports strong `ETag` revalidation and fails closed on absence, corruption, or unavailable storage instead of skipping a corrupt selected publication for an older one, reconstructing, or returning another feed. - `https://shir-man.com/api/github/history?period=now|day|week|month&at=` returns the latest digest-verified same-period publication at or before `at`; `https://shir-man.com/api/status/github-history` reports publication backfill, daily star-evidence ranges, and sampled WatchEvent ranges. - The GitHub event batches are actorless discovery provenance from the capped public Events API, not a complete global stream and not the source of direct net-star rankings. - `https://shir-man.com/text-processor/` supports many direct preset deep links via `?preset=`. Current limitations: - The site does not currently operate a real OAuth 2.0 or OpenID Connect authorization server. - As a result, there is no truthful `/.well-known/openid-configuration` or `/.well-known/oauth-authorization-server` yet. - The PDF converter is PDF-to-text today, not a dedicated PDF-to-Markdown tool.