toska
Health Uyari
- License — License: GPL-3.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 9 GitHub stars
Code Basarisiz
- rm -rf — Recursive force deletion command in agent/fetch-sparkle.sh
- rm -rf — Recursive force deletion command in agent/install-app.sh
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Toska: an Agentic Painting tool built on top of a Krita Fork.
Toska - Toska (тоска) is a Russian word expressing a deep, often indescribable longing. I chose it out of my appreciation for Russian literature and the emotion the word captures. I'm not a native Russian speaker, and the name reflects a literary and artistic interest. I believe there's a particular kind of Toska in creativity, the longing to bring something you can vividly imagine into existence, but not quite having the means to express it.
Agentic painting inside Krita. Toska is a fork of Krita (master, Qt 6) with an AI painter built in.
You chat with it in a panel. It makes one substantial move at a time on layers you can undo, and you decide whether each move
stays or type a correction. A separate reviewer checks the result against your reference. Underneath, Toska adds the engine
features a script needs to paint well, among them pen pressure and tilt, background stroke jobs, one step agent moves and named
regions of the canvas.

Pyat' minut (Five Minutes). Dostoevsky on Semyonovsky Square in 1849, waiting to be shot, not knowing the Tsar had already pardoned him. Painted in Toska.
Status: pre-alpha, built and run on macOS (Apple silicon). Toska is based on Krita, the free digital painting program by
the Krita developers (krita.org), and is distributed under the GNU GPL, as Krita is. Krita is a
trademark of the Krita Foundation. Toska is an independent fork, not affiliated with or endorsed by the Krita project.
What it can do
- Ask, Plan, Agent and Autopilot. Ask and Plan only talk. Agent makes one substantial move per message (a whole sky of
strokes, say), and you keep it or take it back. Autopilot paints an agreed plan through to the end, or until you press Stop. - Every move can be undone. Strokes go on native Krita layers through Krita's own brush engine, and Undo takes back the
whole move. - References with a job. Each reference image says what it is for: overall direction, a character's likeness, composition,
palette or material. When the goal picture is much smaller than the canvas, Toska sharpens it on your Mac before painting. - It checks its own work. A vision model looks at each pass as it lands and undoes one that made the painting worse. At the
end of a step, a reviewer in a fresh session judges the canvas against the plan and gives its evidence. - Paint only here. Type a part ("the sky", "the left buildings") and Toska outlines it. Krita then blocks every stroke
outside that outline. - AI images, only when you allow them. A move can use a generated image as an asset to repaint, or a canvas edit reference
that shows a change before anything is painted. Both stay off until you give the chat an allowance. - Effects that need a method, such as falling and settled snow: thousands of soft flakes in depth, with faces kept clear.
How it works
flowchart TD
artist(["Artist"])
panel["Agent panel<br/>chat, plan, approval cards"]
planner["Planner<br/>reads your references,<br/>breaks the job into steps"]
prep["Preparation workers<br/>draft the next moves"]
painter["Painter<br/>makes one move at a time"]
kit["Painter's kit<br/>brushwork, references,<br/>AI images, effects"]
bridge["Bridge plugin<br/>checks each operation"]
canvas["Canvas<br/>native layers, full undo"]
checks["Checks<br/>keep, slow down or done"]
reviewer["Reviewer<br/>judges the step<br/>against the plan"]
artist <--> panel
panel --> planner
planner --> painter
prep -.->|drafts| painter
painter --> kit
kit --> bridge
bridge --> canvas
canvas --> checks
checks -.->|next move| painter
checks -->|step done| reviewer
classDef person fill:#FFFFFF,stroke:#1F1A16,color:#1F1A16
classDef toska fill:#F3E6D8,stroke:#8A5A3B,color:#1F1A16
classDef companion fill:#E4ECF4,stroke:#3F6B8C,color:#1F1A16
class artist person
class panel,bridge,canvas toska
class planner,prep,painter,kit,checks,reviewer companion
Warm boxes run inside Toska; blue boxes run in the companion app.
Toska is Krita with an agent built in. A small plugin inside it is the only part that changes the painting. It checks every
operation before running it and puts each pass on a layer you can undo.
The agents run beside it in a companion app built on Agent Pi, an open-source agent framework. Each chat has a studio that hands out the work. The planner reads
your references and breaks the job into steps. Then the painter makes one move at a time, while preparation workers draft the
next ones in parallel. When a step is done, a reviewer comes in with fresh eyes and judges the result against the plan. Between those, a
fast vision model looks at each pass as it lands and decides whether to keep it, slow down or call the step done.
Anything that needs your say shows up as a card in the panel, so you decide what stays.
For development and testing, an MCP server (creative-agent/krita-mcp/server.py) lets a coding agent such as Claude Code drive
Toska the same way. You don't need it to paint.
More detail: architecture,
safety,
decision models and
tracing.
What is in this repository
| Path | What it is |
|---|---|
everything outside creative-agent/ and agent/ |
Krita itself, with our changes (listed file by file in AGENT-FORK.md) |
creative-agent/krita-mcp |
the agent's Python plugin for Krita, and an MCP server for other clients |
creative-agent/krita-creative-agent |
the companion (Node/TypeScript): models, the painter and reviewer, tools, tests |
creative-agent/krita-native |
a native helper for stock Krita 5.3.3 (frozen: the fork has these abilities built in) |
creative-agent/openspec |
the specs, design and task list for the fork |
agent/ |
build, test, CI and publishing scripts |
docs/krita/ |
Krita's own README and developer notes, unchanged |
The earlier plugin-only repository is the branch plugin-only of this repository.
Requirements
- A Mac with Apple silicon, macOS 14 or later.
- An API key for the painter model you choose, such as one from OpenRouter. A decision model for the vision checks
is optional. Without one, Toska paints without those checks. - Download the app from Releases. It is signed and notarized by Apple. Or
build it yourself as below, which takes a few hours.
Build and test (macOS)
agent/fetch-deps.sh # once: the dependency tree and tools
agent/build-macos.sh --tests # configure, build and install into _install (a full build takes hours)
agent/run-tests.sh TestDocument TestStrokeJobs # C++ tests, safely (see the header of the script)
agent/ci.sh # every suite we own: plugin Python, companion JS and typecheck, C++ programs
agent/run.sh # start Toska (its own settings folder and bridge port, never stock Krita's)
Licence
Krita is GPL-3.0-or-later (see COPYING), and the combined work is distributed under GPL-3.0-or-later. New files in Krita's
libraries keep that library's licence (LGPL-2.0-or-later in libs/libkis, GPL-2.0-or-later in libs/image and libs/ui),
copyright Yakub Rabiutheen, so that they can be offered upstream. Toska's own code (creative-agent/, agent/) is
GPL-3.0-or-later.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi