[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81287":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":15,"stars30d":16,"stars90d":14,"forks30d":14,"starsTrendScore":17,"compositeScore":18,"rankGlobal":9,"rankLanguage":9,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":9,"pushedAt":9,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":14,"starSnapshotCount":14,"syncStatus":13,"lastSyncTime":27,"discoverSource":28},81287,"slides-from-anything","sanqiufong\u002Fslides-from-anything","sanqiufong","Turn anything into slides",null,"TypeScript",117,10,2,0,9,69,1,54.52,"Apache License 2.0",false,"main",true,[],"2026-06-12 04:01:32","# Slides from Anything\n\n**English** | [简体中文](README.zh-CN.md)\n\n![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache--2.0-blue)\n![Node](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fnode-~24-339933)\n![pnpm](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpnpm-10.33.2-F69220)\n![Runtime](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fruntime-local--first-111827)\n\nSlides from Anything is a local-first presentation agent workflow for turning\nsource material into delivery-ready decks. It connects the OpenPPT authoring\nruntime, Design Vault, local agents, quality gates, direct refinement, and\nmulti-format export into one workspace.\n\nIt is not just another AI slide generator. SFA focuses on the hard part after a\nmodel has produced a decent 70-80 point draft: getting the deck aligned,\ninspectable, editable, and safe to send to a boss, customer, collaborator, or\nmeeting room.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fassets\u002Freadme\u002Fsfa-ai-ppt-delivery.gif\" alt=\"Slides from Anything turns generated slide drafts into delivery-ready decks.\" width=\"100%\">\n\u003C\u002Fp>\n\n## Why SFA\n\nMost AI presentation tools are judged by whether they can generate slides. Real\ndelivery needs more than that:\n\n- A clear audience, message, and decision goal before pages are generated.\n- A reusable design system instead of one-off prompt adjectives.\n- Page-level quality checks for hierarchy, density, readability, and style fit.\n- Refinement that can land on a specific block, paragraph, image, or layout.\n- Export surfaces that match the job: preview, HTML, PDF, and PPTX.\n\nSFA is deliberately scoped to that presentation delivery environment. It turns\ndesign taste, narrative intent, local tooling, and export requirements into a\nrepeatable workflow.\n\n## Delivery Workflow\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fassets\u002Freadme\u002Fsfa-delivery-loop.en.svg\" alt=\"SFA delivery loop: input, goal alignment, Design Vault, page generation, quality checks, refinement, and export.\" width=\"100%\">\n\u003C\u002Fp>\n\n| Stage | What happens |\n| --- | --- |\n| Material input | Bring in documents, web pages, images, notes, or raw ideas. |\n| Goal alignment | Clarify audience, context, memory points, and expected action. |\n| Design Vault | Convert references into callable design systems and quality rules. |\n| Page generation | Produce a deck with narrative structure and style constraints. |\n| Quality check | Inspect readability, hierarchy, density, reproducibility, and delivery risk. |\n| Refinement feedback | Apply human and agent feedback to concrete page blocks. |\n| Multi-format delivery | Preview locally, package HTML\u002FPDF assets, export PDF, or hand off PPTX. |\n\n## Core Capabilities\n\n### Design references become contracts\n\nDesign Vault is not a screenshot folder. It extracts evidence from references\nand turns it into agent-readable assets such as `DESIGN.md`,\n`open-slide-theme.md`, `profile.json`, `manifest.json`, `capabilities.json`, and\n`skill\u002FSKILL.md`.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fassets\u002Freadme\u002Fdesign-vault-callable-system.en.png\" alt=\"Design Vault converts design assets into callable systems for slide agents.\" width=\"100%\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fassets\u002Freadme\u002Fdesign-vault-abstraction-demo.gif\" alt=\"Design Vault abstraction demo in the local product UI.\" width=\"100%\">\n\u003C\u002Fp>\n\n### Refinement is part of the system\n\nThe workflow treats typography, paragraph density, alignment, image crop, and\nblock position as first-class delivery concerns. Small visual adjustments can be\nmade directly; larger narrative and style decisions can be routed back through\nagents and quality gates.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fassets\u002Freadme\u002Fsfa-refinement-before-after.en.png\" alt=\"SFA refinement turns a rough generated page into a delivery-ready layout.\" width=\"100%\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fassets\u002Freadme\u002Fsfa-refinement-demo.gif\" alt=\"SFA visual refinement demo in the editor.\" width=\"100%\">\n\u003C\u002Fp>\n\n### The integrated product is real\n\nThis repository runs the actual SFA\u002FOpenPPT web UI and the embedded Design Vault\napplication. It is not a mock dashboard and not a service-only bridge.\n\n## What Is Included\n\n- SFA\u002FOpenPPT web UI for creating slide decks from source material.\n- Embedded Design Vault UI for importing, managing, and installing design\n  systems\u002Ftemplates.\n- Shared local runtime so templates installed in Design Vault can be selected\n  inside the SFA slide workflow.\n- Local daemon APIs for projects, vault templates, previews, assets, update\n  checks, and export surfaces.\n- Desktop and packaged-runtime scaffolding for local application distribution.\n- Version\u002Fupdate metadata starting at `v1.0.0`.\n\nThis is a software-only open-source integration. It does not ship personal local\ntemplate libraries, private Design Vault downloads, generated projects, API\nkeys, logs, databases, or machine-local runtime data.\n\n## Support The Project\n\nIf SFA is useful or interesting to you, please consider leaving a GitHub Star.\nIt helps more people working on presentations, AI agents, and design systems\nfind the project.\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsanqiufong\u002Fslides-from-anything\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fsanqiufong\u002Fslides-from-anything?style=social\" alt=\"Star Slides from Anything on GitHub\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n## Requirements\n\nIf you are using the portable release package, you do not need to install\nNode.js, Corepack, or pnpm. Unzip it and double-click `start.command`; the\npackage uses its bundled `runtime\u002Fnode` and bundled `node_modules`.\n\nFor a source checkout:\n\n- Node.js `24.x`\n- Corepack\n- pnpm `10.33.2` through Corepack\n- macOS, Linux, or Windows with a shell capable of running the workspace scripts\n\n```bash\ncorepack enable\npnpm install\n```\n\n## Build A Portable Package\n\nMaintainers can build a self-contained package for non-developer users:\n\n```bash\npnpm tools-pack integrated build\n```\n\nArtifacts are written to:\n\n```text\nreleases\u002Fintegrated\u002FSlides-from-Anything-portable\nreleases\u002Fintegrated\u002FSlides-from-Anything-portable.zip\n```\n\nThe package carries Node 24, the current workspace dependencies, and the\ndouble-click launcher. Launch skips `pnpm install` and does not depend on the\nuser's global Node\u002Fpnpm setup.\n\n## Quick Start\n\nOn macOS, the easiest path is the integrated launcher:\n\n```bash\n.\u002Fstart.command\n```\n\nFor a terminal-only launch:\n\n```bash\nOPEN_IN_BROWSER=0 .\u002Fscripts\u002Fstart-integrated.sh\n```\n\nThe launcher starts both applications and cleans up stale local listeners before\nbinding ports:\n\n- SFA \u002F OpenPPT UI: `http:\u002F\u002F127.0.0.1:5173`\n- Design Vault UI: `http:\u002F\u002F127.0.0.1:3217`\n\nPress `Ctrl+C` in the launcher terminal to stop both services.\n\n## Working With Design Vault\n\n1. Start the integrated launcher.\n2. Open `http:\u002F\u002F127.0.0.1:3217`.\n3. Import a design from a URL, install a community template, or create a new\n   local design system.\n4. Return to the SFA UI and open the Design Vault tab.\n5. Sync\u002Fselect the template and create a deck.\n\nWhen launched through `scripts\u002Fstart-integrated.sh`, Design Vault writes runtime\ntemplate data to:\n\n```text\n.tmp\u002Fintegrated\u002Fdesign-vault-data\n```\n\nThat directory is intentionally ignored by git. Downloaded community templates\nand imported local templates are user\u002Fruntime data, not source-code fixtures.\n\nCommunity access is configured with:\n\n```bash\nDESIGN_VAULT_COMMUNITY_BASE_URL=https:\u002F\u002Fvault.aassistant.xyz\n```\n\nModel-backed imports can be configured with variables documented in\n`apps\u002Fdesign-vault\u002F.env.example`, including `DESIGN_VAULT_MODEL_BASE_URL`,\n`DESIGN_VAULT_MODEL_API_KEY`, and `DESIGN_VAULT_MODEL_NAME`. Do not commit real\ncredentials.\n\n## Development\n\nThe root workspace intentionally keeps lifecycle commands narrow. Use\n`pnpm tools-dev` for SFA\u002FOpenPPT development and the integrated launcher when\nyou need Design Vault connected at the same time.\n\n```bash\npnpm tools-dev run web --daemon-port 17456 --web-port 5173\npnpm tools-dev status --json\npnpm tools-dev logs --json\npnpm tools-dev stop\n```\n\nRun validation before publishing changes:\n\n```bash\npnpm guard\npnpm typecheck\npnpm --filter @open-design\u002Fweb test\npnpm --filter @open-design\u002Fdaemon test\npnpm --filter design-vault build\n```\n\n## Data and Privacy Boundaries\n\nThe repository is prepared for public release with a strict split between\nsoftware assets and local\u002Fprivate data.\n\nIgnored local\u002Fruntime data includes:\n\n- `.tmp\u002F`\n- `.od\u002F`\n- `apps\u002Fdesign-vault\u002Fdata\u002F*` except `.gitkeep`\n- `skills\u002Fdv-*`\n- `design-systems\u002Fdv-*`\n- local `.env` files\n- generated logs, databases, project artifacts, and downloaded template bundles\n\nBy default, SFA does not import templates from a neighboring `..\u002Fdesign-vault`\ncheckout. That legacy behavior only turns on if you explicitly set:\n\n```bash\nOPENPPT_VAULT_IMPORT_AUTODISCOVER=1\n```\n\nFramework images and UI assets required for the software itself should stay in\nthe source tree. Personal content, private template payloads, and credentials\nshould stay in ignored runtime directories.\n\n## Architecture At A Glance\n\n```mermaid\nflowchart LR\n  source[\"Source material\"] --> web[\"apps\u002Fweb\u003Cbr\u002F>SFA workbench\"]\n  web --> daemon[\"apps\u002Fdaemon\u003Cbr\u002F>projects, assets, previews, exports\"]\n  daemon --> vault[\"apps\u002Fdesign-vault\u003Cbr\u002F>design import and library\"]\n  daemon --> systems[\"design-systems\u002F\u003Cbr\u002F>skills\u002F\u003Cbr\u002F>prompt-templates\u002F\"]\n  systems --> web\n  web --> delivery[\"Preview\u003Cbr\u002F>HTML\u003Cbr\u002F>PDF\u003Cbr\u002F>PPTX\"]\n```\n\n## Repository Layout\n\n```text\napps\u002Fweb            SFA\u002FOpenPPT Next.js web runtime\napps\u002Fdaemon         local daemon APIs, vault bridge, project\u002Fruntime services\napps\u002Fdesign-vault   embedded Design Vault application\napps\u002Fdesktop        Electron desktop shell\napps\u002Fpackaged       packaged runtime entry\npackages\u002Fcontracts  shared TypeScript contracts\npackages\u002Fsidecar*   sidecar protocol\u002Fruntime packages\ntools\u002Fdev           local development lifecycle control plane\ntools\u002Fpack          packaged build\u002Fstart\u002Fstop tooling\nskills\u002F             source-controlled slide\u002Fdesign skills\ndesign-systems\u002F     source-controlled design-system descriptors\nprompt-templates\u002F   prompt and generation templates\nreleases\u002F           update-channel metadata\ndocs\u002F               architecture and operational documentation\n```\n\n## Documentation\n\n- `QUICKSTART.md`\n- `CONTRIBUTING.md`\n- `docs\u002Farchitecture.md`\n- `docs\u002Fopenppt-architecture-notes.md`\n- `docs\u002Fdesign-vault-style-output-requirements.md`\n- `docs\u002Fupdate-service.md`\n\nRead `AGENTS.md` before changing repository structure or lifecycle commands.\nPackage-level details live in nested `AGENTS.md` files under `apps\u002F`,\n`packages\u002F`, and `tools\u002F`.\n\n## License\n\nApache-2.0. See `LICENSE`.\n","Slides from Anything 是一个将任意源材料转化为演示文稿的本地优先工作流工具。它集成了OpenPPT创作运行时、设计库、本地代理、质量检查、直接优化及多格式导出等功能于一体，旨在帮助用户将初步生成的幻灯片草稿进一步加工为符合专业标准的成品。与一般的AI幻灯片生成器不同，该工具更注重后期处理，确保最终成果在结构、可读性、风格一致性等方面达到高质量要求，并且支持多种格式输出。适用于需要制作专业级演示文稿但又希望快速高效地完成从内容整理到最终交付全过程的场景。项目使用TypeScript编写，遵循Apache License 2.0开源许可协议。","2026-06-11 04:04:30","CREATED_QUERY"]