GY

gradetwo/yanshi

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

1 stars Качество 60 Тренд 22MIT

- 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 .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.

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 the rustfmt and clippy components.
Открыть полный README на GitHub

Рекомендуемые инструменты

Попробуйте другой запрос или уберите фильтр.

Установка

npx skillfish add gradetwo/yanshi
Новичок в MCP? Начните с руководства на mcpskill.org →