iArt.ai
AI 모션 그래픽 소프트웨어, 누구나 사용할 수 있는 After Effects 대안, 텍스트 프롬프트로 몇 분 안에 애니메이션·설명 영상 제작
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Any AI you choose marks your story's structure, in your own words. It never writes your story. One HTML file, no account.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Any AI you choose marks your story's structure, in your own words. It never writes your story.
One HTML file in your browser. No account, no server of ours, no telemetry.
It opens on The whistle, a ten-beat demo story, with a short tour. Move a beat's fortune, name the word that joins two beats, tag a principle, and the chart and the checks follow. New walks you through the Story Spine one question at a time; Import takes one you have written. An agent drives the same page:README 전문 보기 ↗| Where | How |
|---|---|
| Any desktop browser | Open sandhi.naklitechie.com |
| From source | git clone https://github.com/NakliTechie/sandhi && cd sandhi && python3 -m http.server -b 127.0.0.1 8000, then open 127.0.0.1:8000 |
It opens on The whistle, a ten-beat demo story, with a short tour. Move a beat's fortune, name the word that joins two beats, tag a principle, and the chart and the checks follow. New walks you through the Story Spine one question at a time; Import takes one you have written. An agent drives the same page:
await window.sandhi.status() // title, counts, checks by class, closest arc, undo depth
Nothing to install, no account, and no AI needed: with no key at all you lay a story on the spine, label its beats and read the chart and the checks by hand. Your story autosaves in this browser, and Save writes a .sandhi.json file.
You can feel the middle of your story sag, but not where. The advice says every scene should turn, what you plant should pay off, the hero should earn the ending. Your draft is too close to see whether it does.
sandhi lays the story on its spine and shows its joints. Each beat has a fortune, a phase in three traditions (Story Spine, the Nāṭyaśāstra's five stages, kishōtenketsu), the word that joins it to the last (therefore, but, or a slack and then), and what it plants or pays off. The thirteen principles come from How stories work, which also shows where the masters disagree; More → How stories work lists them with their sources and the beats of your story that serve each. Sandhi is the Nāṭyaśāstra's word for those joints.
Paste a story, a chapter or a whole manuscript: a long one with chapter headings is read a chapter at a time, one beat per chapter, and picks up where it stopped. Split it by paragraph, or let a model mark its beats, turn, low point, joints and threads. It returns labels and exact quotes only; sandhi cuts your own text where each quote lands and drops any quote that does not match. You see the result before it replaces anything, and Undo brings your story back.
You choose who reads it. Your own provider and key is the recommended way: OpenRouter, OpenAI, Anthropic, Google Gemini, Groq, Mistral, DeepSeek, Together, or any OpenAI-compatible URL. Keys stay in this browser and show only as a fingerprint. A model server on your machine (Ollama or LM Studio) or Gemini Nano in Chrome also read; in our tests they missed the turn. The dialog shows each reader's measured result.
Every beat carries labels you set: its spine stage, fortune, joint, a turn or low-point mark, whether luck or the hero's choice moves it, and the principles it serves. The checks compare those labels and name the next step: an empty beat or one with no principle, a slack joint, a plant that never pays off, a payoff with nothing planted, luck after the turn. They never guess from your prose.
Long stories group into chapters: Start a chapter here in a beat's ⋯ menu, and the beats fold under a header, the threads filter by chapter, and the model sees the other chapters in one line each when the whole will not fit.
Stuck on a beat? Ask about this beat gets two to four questions from the reader you chose, then, if you ask, what could happen there: the obvious option set aside, and a few one-line situations with their joint, fortune and principle. Ask the model about your joints says which therefore or but reads as and then. Keep tidbits, things you notice in life, beside the story and place them in beats when they fit; mark a plant left open on purpose and the checks stop asking for its payoff. Interview me asks one question at a time about the weakest place in the story, and your answer goes where you send it. Type a plot element above the beats and the model proposes how the structure changes around it, new empty beats and relabels, as a diff you apply or close. Sketch the shape you want on the fortune chart: sandhi rings the beats that miss it, and the model can suggest a line for each. None of it enters the story and nothing writes an option into a beat; you write. Measured with DeepSeek in the page: questions specific to the beat, options that set the obvious aside, joint verdicts that caught 2 of 3 wrongly labelled joints (SPEC.md §3).
cd test && npm install # Playwright and axe-core, for the gates
npm test # core · ladder · parity · face · a11y
node cli-read.mjs prompt <dir> --story gift-of-the-magi # a reader-eval prompt (opt-in)
node cli-read.mjs score <reply> <name> --story gift-of-the-magi # score a model's reply
node page-read.mjs --model qwen3.5:4b --story to-build-a-fire # the real page reads with a local model
Agents: window.sandhi exposes 51 tools over one command bus, and navigator.modelContext gets the same where the browser has it. Accepting a reading or a plot proposal, entering a key, and sending the story to a paid provider stay with the writer. Contract: SPEC.md §0.
cd test && npm install && npm test
The gates refuse a demo story that does not match the explainer's data, a check with no test that fires it, a control with no tool behind it, a cold load over five seconds, an agent door that offers the accept or key tools or sends the story off the device on its own, and any serious accessibility violation. Reading quality is measured, not gated: on The whistle and three public-domain stories, two frontier models run from the command line marked the turn in all four with every quote matching the text, and DeepSeek in the page with a real key found it in 5 of 5, while a 4B local model found it in 5 of 12 reads, and Gemini Nano missed it in 8 of 8 and could not finish a 7,082-word story (table in SPEC.md §5). The read dialog shows each reader's measured result.
MIT. · SPEC.md · llms.txt · How stories work