neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기React component library to render interactive MarkdownFlow documents with typewriter effects and real-time streaming
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
React component library for rendering interactive MarkdownFlow documents with typewriter effects, real-time streaming, and advanced Mermaid diagram support.
MarkdownFlow (also known as MDFlow or markdown-flow) extends standard Markdown with AI to create personalized, interactive pages. Its tagline is "Write Once, Deliver Personally".README 전문 보기 ↗React component library for rendering interactive MarkdownFlow documents with typewriter effects, real-time streaming, and advanced Mermaid diagram support.
MarkdownFlow (also known as MDFlow or markdown-flow) extends standard Markdown with AI to create personalized, interactive pages. Its tagline is "Write Once, Deliver Personally".
English | Simplified Chinese
npm install markdown-flow-ui
# or
yarn add markdown-flow-ui
# or
pnpm add markdown-flow-ui
import { MarkdownFlow } from "markdown-flow-ui";
function App() {
return (
<MarkdownFlow
initialContentList={[
{
content:
"# Hello World\n\nThis is **MarkdownFlow** with typewriter effect!",
},
]}
enableTypewriter={true}
typingSpeed={30}
/>
);
}
With the typewriter enabled, prose follows the configured typing pace. Received
HTML waits until the preceding prose has finished typing, then renders each
received snapshot immediately, including unfinished fragments. HTML does not consume
the typing budget. Tag-like text such as <div
remains ordinary Markdown until a tag-name boundary (whitespace, /, or >) is
received.
Streaming detection recognizes the backend MarkdownFlow block roots, including
figure, table, canvas, video, header, nav, and details. HTML-looking
text inside Markdown code, math, comments, image alt text, link destinations/titles,
reference definitions, or another tag's attributes stays inert. Unfinished link metadata
also stays literal while streaming; invalid links do not hide subsequent HTML.
Quoted and nested list code fences remain code even directly after closed HTML.
Detection and presentation are separate: pre, details, summary,
aside, blockquote, ul, ol, dl, and table keep their native Markdown
styles and language/direction attributes while bypassing typing. Widget roots
retain the sandbox; native presentation blocks with embedded script, style, or
other document resources also use the sandbox (native video frames are exempt).
In content mode, sandbox blocks reserve their measured content height instead
of a minimum 16:9 slide. The iframe retains a separate layout viewport of at
least 16:9 so authored vh and vmin sizes stay stable; unused viewport space
is clipped by the top-aligned content container. Content growth, collapse,
image loads and width changes trigger remeasurement. When shown, the fullscreen
control reserves its actual height so it remains accessible on very short blocks.
Full-screen minimum heights (min-height:100vh, 100dvh, 100svh, or 100lvh)
on inline-styled content shells and their single-child wrapper chains are relaxed
so compact cards do not reserve a blank screen. Authored margins, padding, pixel
minimums, explicit heights (including height:100vh) and viewport-relative fonts
remain intact. Nested layout branches are not rewritten.
Blackboard sizing and sandbox permissions are unchanged.
Detection scans absolute source offsets without reparsing every remaining
suffix. Native videos use the complete received Markdown structure; typing only
changes text visibility, preserving video frames across earlier headings, lists,
quotes, reference links, and subsequent HTML updates. Stable runs apply the
same HTML indentation and newline normalization as the ordinary renderer, with
positions mapped back to the original source for typing and callbacks.
Each received snapshot determines the Markdown structure. Later source that
changes its grammar, such as adding a previously missing reference definition,
can change that structure; typing an already received snapshot preserves it.
Variable names are opaque Unicode text. Both ends are trimmed using the same
Unicode whitespace set as Python; internal spaces, punctuation, emoji, and single
braces are preserved. The trimmed name must be non-empty and contain no control
characters, line separators, or literal }}. The first literal }} closes the
marker. Quotes and backslashes remain part of the name.
Use padded markers such as {{ Which [path] | level//hint...? }} or
{{ name} }}. A leading {{name}} inside ?[...] binds the answer; outside
interactions it remains a variable reference. Binding markers stay atomic, so
?[{{ Which [path] | level//hint...? }} Yes | No] stores the answer under that
exact name. Write the question text separately when it should be displayed.
Existing names and compact markers such as {{user_name}} continue to work.
import { MarkdownFlow } from "markdown-flow-ui";
function InteractiveExample() {
const content = `
Choose your language: ?[{{lang}} English | French | Spanish]
Your name: ?[{{name}}...Enter your name]
?[Continue | Cancel]
`;
return (
<MarkdownFlow
initialContentList={[{ content }]}
onSend={(params) => {
console.log("User interaction:", params);
// Handle button clicks and input submissions
}}
/>
);
}
Existing percent-prefixed bindings remain accepted during the transition.
Use the standard ?[{{name}} ...] form for new content.
For detailed API documentation, examples, and advanced usage, see:
📋 API Reference - Complete API documentation with examples
const CustomBar: CustomRenderBarProps = ({ displayContent, onSend }) => {
return (
<div className="flex gap-2 mt-4">
<button
onClick={() => onSend({ buttonText: "Regenerate" })}
className="px-4 py-2 bg-blue-500 text-white rounded"
>
Regenerate
</button>
<button
onClick={() => navigator.clipboard.writeText(displayContent)}
className="px-4 py-2 bg-gray-500 text-white rounded"
>
Copy
</button>
</div>
);
};
<MarkdownFlow customRenderBar={CustomBar} initialContentList={messages} />;
Run npm test for unit tests and npm run test:package for distribution checks.
The package check rebuilds the library before testing both exported stylesheets,
scroll-control visibility and accessibility rules, and bundled math fonts.
CI runs both commands alongside the Storybook browser tests.
markdown-flow-ui is part of the MarkdownFlow ecosystem for creating personalized, AI-driven interactive documents:
MIT License - see LICENSE file for details.