• zink released this 2026-11-12 12:23:16 +01:00 | 0 commits to main since this release

    Fixed

    • Models did not find built-in tools via mcp_search (e.g. generate_3d in a chat that
      had just been switched from plan to build): the search only looked at MCP servers. It now also
      lists matching built-in tools and says whether the current mode has them ("available – call it
      directly", or "not in the read-only mode plan – ask the user to switch to build").

    Image: git.familie-zink.org/zink/codecraft:v202611-00025 (linux/amd64 linux/arm64).

    Downloads
  • zink released this 2026-11-12 11:44:54 +01:00 | 2 commits to main since this release

    Added

    • 3D models with fal.ai (generate_3d): from an image (a project file or one pasted into the
      chat, optional back/left/right views), from a text prompt, or from an image steered by a prompt
      (the image is refined with the prompt first – the 3D models take no text with an image).
      Styles textured, geometry (untextured, for 3D printing) and low-poly, optional PBR. Uses fal.ai's
      queue (takes minutes, with progress), saves a GLB plus a preview image, books the cost.
      Defaults: Hunyuan3D v3 image-to-3D / text-to-3D ([images] model_3d, model_3d_text); Tripo
      and Trellis endpoints work too.
    • The chat card offers "Open in the 3D view"; the media overview lists 3D models (also STL/3MF
      written by the agent) with their previews.

    Image: git.familie-zink.org/zink/codecraft:v202611-00024 (linux/amd64 linux/arm64).

    Downloads
  • zink released this 2026-11-12 08:07:34 +01:00 | 4 commits to main since this release

    Added

    • Tokens and cost under every answer: a small line under each answer of the model shows the
      tokens sent/received and the cost of all requests of that turn.

    Fixed

    • Total cost of chats stopped growing (opencode Go): opencode now reports plan requests as
      "nothing charged" (cost 0, usage in allowance), and CodeCraft took the 0. Plan requests are
      valued at the model's list prices again; earlier ones are corrected once on start.
    • Saving opencode Go models failed after fetching prices ("data did not match any variant of
      untagged enum ModelEntry"): opencode lists cache prices per duration for some models
      ({"30m": …, "12h": …}); the shortest duration is used now.
    • The chat title in the top bar no longer shrinks to a single letter when there are many chips.

    Image: git.familie-zink.org/zink/codecraft:v202611-00023 (linux/amd64 linux/arm64).

    Downloads
  • zink released this 2026-11-11 11:10:32 +01:00 | 6 commits to main since this release

    Added

    • Theme "Tintenblau" (dark: ink blue with cream text; light: paper with dark ink), from the
      Tintenblau desktop theme; also in the terminal client.

    Image: git.familie-zink.org/zink/codecraft:v202611-00022 (linux/amd64 linux/arm64).

    Downloads
  • zink released this 2026-11-11 10:07:27 +01:00 | 8 commits to main since this release

    Added

    • Commits of agents name the model: every git commit an agent makes gets the trailer
      Co-Authored-By: <model> (<provider>) via CodeCraft (a git wrapper in the agent shell, also in
      the sandbox; your own commits stay unchanged). The text is set under Settings → General
      (server.commit_trailer, {model}, {provider}, {model_id}; empty = off).

    Image: git.familie-zink.org/zink/codecraft:v202611-00021 (linux/amd64 linux/arm64).

    Downloads
  • zink released this 2026-11-11 07:52:27 +01:00 | 10 commits to main since this release

    Added

    • Reverse engineering outside craft: Settings → Agents & commands can give any mode the
      binary_info and decompile (Ghidra) tools; the clean-room rule stays a craft rule.
    • Raw firmware in decompile: optional processor (Ghidra language id, e.g.
      ARM:LE:32:Cortex) and base_address for images without a file format (.bin, converted .hex).
    • Skill "reverse-engineering": how to identify, decompile and explore programs and firmware
      (processor table for common chips, HEX conversion, notes in analysis/).

    Image: git.familie-zink.org/zink/codecraft:v202611-00020 (linux/amd64 linux/arm64).

    Downloads
  • zink released this 2026-11-11 07:38:20 +01:00 | 12 commits to main since this release

    Added

    • Search in a chat: the magnifier in the chat's top bar searches all of it (messages, tool
      output) on the server; a hit loads its part of the chat and marks the message.
    • Media of a chat: ⋯ → Media shows every image, video and audio file of the chat and its
      subagents – generated images, screenshots, files the agent wrote, media in answers, your
      attachments – filterable, large view, "show in chat" jumps to the message.

    Changed

    • Long chats stay fast: a chat opens with its messages since the last summary (at most 200);
      older ones load when scrolling up, the history before a summary on request. Finished turns
      fold into one line ("42 steps · 3 files", the answer stays visible). Typing, streaming and
      status changes no longer re-render the whole history, and tool output is only built when a
      card is opened. Measured with a chat of 5,900 messages: opening 9 s → 0.7 s (phone-like
      CPU: 22 s → 1 s), typing 440 ms → 25 ms per key.

    Image: git.familie-zink.org/zink/codecraft:v202611-00019 (linux/amd64 linux/arm64).

    Downloads
  • zink released this 2026-11-10 23:18:41 +01:00 | 14 commits to main since this release

    Added

    • Enforced reviews: when a review is configured for a mode, every todo the agent marks
      completed is reviewed; with findings the todo is reopened and the agent has to fix them and
      complete it again (up to the configured rounds per todo). Ending the turn with open todos sends
      the agent back to work as long as it makes progress – for unattended runs, e.g. overnight
      (such modes may take up to 2,000 steps per turn). The chat shows passed reviews and these
      reminders; Settings → Modes can switch it off per mode (then only one review at the end of a
      turn, as before).
    • Max input per model: providers that limit the input below the context window (e.g. 272k of
      400k) are taken into account; fetched from the model catalogue, editable in the provider settings.

    Fixed

    • Context overflow instead of compaction (e.g. DeepSeek V4.1 Flash with 384k max output):
      requests asked for the model's full max output, and providers count input + output against the
      window, so long chats failed before automatic compaction kicked in. The output budget is now what
      the window leaves, the chat is compacted when no reasonable room for an answer is left, and a
      "context too long" error compacts and retries once instead of stopping. A turn that hits the
      step limit now says so.

    Image: git.familie-zink.org/zink/codecraft:v202611-00018 (linux/amd64 linux/arm64).

    Downloads
  • zink released this 2026-11-10 14:07:31 +01:00 | 16 commits to main since this release

    Added

    • Markdown in your messages: your messages are shown formatted like the model's answers
      (headings, lists, tables, code blocks, quotes, bold/italic); single line breaks stay as typed.
      The eye button next to the text field shows a preview of the formatted message before sending.

    Image: git.familie-zink.org/zink/codecraft:v202611-00017 (linux/amd64 linux/arm64).

    Downloads
  • zink released this 2026-11-10 13:55:43 +01:00 | 18 commits to main since this release

    Fixed

    • Phone: page stayed shifted after the keyboard closed – the top bar (menu) was out of
      reach. On Android the keyboard now shrinks the page instead of shifting it
      (interactive-widget=resizes-content; the chat stays at its latest message); browsers that
      still shift the page (iOS Safari) get it scrolled back once the keyboard closes.

    Image: git.familie-zink.org/zink/codecraft:v202611-00016 (linux/amd64 linux/arm64).

    Downloads