
gradetwo/yanshi
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
- Every edit is an atom appended to a log, and the picture is the fold of that log. - The same Rust kernel runs natively on the server and as WebAssembly in the browser, so local rendering and server...
개요
- Every edit is an atom appended to a log, and the picture is the fold of that log. - The same Rust kernel runs natively on the server and as WebAssembly in the browser, so local rendering and server rendering are one implementation, not two approximations. - A .yanshi package carries the atom log and every blob it references, and importing it elsewhere reproduces the picture. An MCP server and a web viewer sit on top of that engine, so an agent and a person work on the same document. - — the stable toolchain pinned by rust-toolchain.toml, including the rustfmt and clippy components. - and a POSIX shell — every entry point below is a Make target that calls scripts/. - Optional, to get (the browser kernel): rustup target add wasm32-unknown-unknown and wasm-bindgen-cli (cargo install wasm-bindgen-cli --version 0.2.129 --locked). Its version must match the wasm-bindgen crate, or the generated glue will not load the .wasm. and the viewer renders on the server side.
README
원문 README의 일부입니다. 원문 보기.
Yanshi 偃师
中文 | English
Yanshi is an AI native headless painting engine — a canvas where people and AI create together.
- Operations are atoms. Every edit is an atom appended to a log, and the picture is the fold of that log.
- One kernel, two hosts. The same Rust kernel runs natively on the server and as WebAssembly in the browser, so local rendering and server rendering are one implementation, not two approximations.
- A package is self-contained. A
.yanshipackage carries the atom log and every blob it references, and importing it elsewhere reproduces the picture.
An MCP server and a web viewer sit on top of that engine, so an agent and a person work on the same document.
Install
Prebuilt binaries, no Rust toolchain needed — Linux x86_64 (static), Intel macOS, Apple Silicon.
curl -fsSL https://raw.githubusercontent.com/gradetwo/yanshi/main/scripts/install.sh | sh
That resolves the release asset for your platform, verifies its SHA256 against the published
SHA256SUMS, unpacks it to ~/.local/share/yanshi/, and puts yanshi-serve and yanshi-mcp
into ~/.local/bin as thin wrappers.
Trust boundary: the checksum file ships in the same release as the tarball, so this check catches
truncated downloads and mirror mix-ups — it does not protect against a compromised upstream release.
Downloads are HTTPS-only (curl --proto/--proto-redir, wget --https-only).
The tarball is self-contained: brushes, brush previews, mediums, palettes, material assets, brand assets and
the WASM kernel all ship inside it, and the binaries locate them through the package layout
(bin/… next to share/yanshi/…), so nothing depends on where you unpack it.
yanshi-serve --root ~/paint --doc mydoc --bind 127.0.0.1:8080 # then open http://127.0.0.1:8080/
yanshi-mcp --root ~/paint --doc mydoc # stdio MCP server, for MCP clients
yanshi-mcp --list-tools --profiles core # just show the tool surface
Knobs: YANSHI_VERSION=v0.2.1 (default latest), YANSHI_PREFIX, YANSHI_BIN_DIR, and
YANSHI_DRY_RUN=1 to print the plan without touching the disk.
Not covered by a prebuilt package: Linux arm64, and Windows. On those, build from source
(cargo build --release -p yanshi-http -p yanshi-mcp, or make release) — or unpack the
…-x86_64-pc-windows-msvc.tar.gz asset from the releases page by hand.
Quick start
Requirements
- Rust — the stable toolchain pinned by
rust-toolchain.toml, including therustfmtandclippycomponents.
추천 도구
다른 키워드를 입력하거나 필터를 제거해 보세요.
설치
npx skillfish add gradetwo/yanshi