7. The Web UI — Resource Editor

The central panel is where you view and edit the knowledge of your resources. It has two clearly differentiated parts: the path bar at the top, and the content viewer/editor below. Depending on what you open, the same area can show a KaKeKiKoKu context, a quick Markdown/text editor, a read-only source-code viewer, or extracted text from a document.

Path bar (breadcrumb)

The path bar shows the location of the selected resource as a series of clickable segments. If the path is very long, it's trimmed from the beginning (not the end) — you always see the most relevant part. Each segment has a tooltip with the full path up to that point.

What the path bar contains

It is laid out as two fixed rows, so the path never has to compete with the buttons. The first row is pure navigation — Back, Up one level, and the path itself. The second row is the resource's state and actions:

  • Path segments (first row): each folder in the path is a clickable link that takes you to that folder. You can double-click the project name to rename it directly from the bar — that changes the display name only, never the folder on disk.
  • Type badge: indicates whether the resource is a file, a folder, or an entity.
  • Character counter: shows the prose size of the sidecar — what you have written, not counting relation lines — against the same fixed maximum for every folder sidecar, file sidecar, and entity: 52,000 characters. It turns yellow at the round 50,000-character warning threshold and red at the cap. The first time a resource crosses the warning, a notice suggests partitioning it into smaller resources connected with relations (you can dismiss it permanently). If you have a legacy resource above the cap, KaKeKiKoKu still opens it and only blocks edits that do not reduce its prose — so it can shrink gradually.
  • Relation counters: two compact chips next to the character counter track the resource's relations. The outgoing chip reads N/12: the number is how many outgoing relations the resource holds (12 is the ceiling), and the thin bar underneath is their shared character budget — lavish descriptions fill the bar faster, so you trade richness for quantity, like a spending meter. The incoming chip simply counts how many other resources point at this one; being referenced has no cap, so it has no bar. Hover either chip for the details.
  • Action buttons:
    • 🤖 Talk to AI: sends the complete resource as context to your AI.
    • Important flag (flag icon): marks or unmarks the resource as important.
    • Pending flag (clock icon): marks or unmarks the resource as pending.
    • Draft flag (draft icon): marks or unmarks the resource as a draft.
    • Reload: reloads the resource content from disk.
    • Open in new window: opens the resource in a separate browser tab.
    • Open: opens the actual project file — the quick editor for Markdown and text, the read-only viewer for source code and documents. While a viewer is open the same button reads Context and takes you back to the sidecar, so you can flip between the file and its knowledge without leaving the panel. It appears for any openable file type, even one with no sidecar: being able to read a file shouldn't depend on having documented it. For everything else — and for large or non-editable files — Open in system hands it to your operating system's default application.
    • Back (first row): returns to the resource you were viewing before. KaKeKiKoKu keeps a navigation history of the central panel only (independent from the browser's own history); it clears when you open, close, or switch projects. The tooltip names the destination.
    • Up one level (first row): navigates to the parent resource (containing folder).

When you open a real Markdown or text file, the character counter steps aside and the bar shows that file's size instead (in bytes, against its own 128 KB limit). Sidecar and file have different limits and different units; showing one while you edit the other would only mislead you.

Content viewer/editor

Below the path bar, the content of the selected resource is displayed. This is where you view and edit the sidecar sections.

Central views

  • Context view: the normal KaKeKiKoKu view. You edit the resource description, sections, subsections, relationships, flags, and knowledge structure.
  • Markdown/text file editor: for real project files such as .md, .markdown, and .txt, KaKeKiKoKu can open a quick editor. Saving here edits the actual project file, not its sidecar.
  • Source-code viewer: source files can be opened read-only with syntax highlighting. KaKeKiKoKu helps you inspect code, but it does not become a code editor.
  • Document text viewer: Word .docx, OpenDocument .odt, and PDF .pdf files can be opened as extracted plain text. This is read-only and intended for inspection, not for preserving the original layout.

Description

The description (_description) appears at the top as editable text. It is a required field — no KaKeKiKoKu resource can be created without it. It has a maximum of 280 characters because it's the summary your AI sees in the project index before deciding whether it needs to load the full resource. That's why it must be concise and descriptive. Click on it to edit it directly — it's inline editing.

Image resources

When the open resource is an image file with a sidecar (PNG, JPG/JPEG, WebP, GIF), the viewer shows the image as a preview at the very top of the panel, above the description. Below the preview, the rest of the sidecar (description, sections, relations, backlinks) is displayed as in any other resource. This way you see what the image is and read its context together.

An image without a sidecar does not display the preview here — it shows the standard "no sidecar" card so you can create one if you want to promote the image to a KaKeKiKoKu resource. Images embedded in another sidecar's content with the ![alt](path) syntax are rendered there, not as standalone resources (see chapter 4 — Images and Markdown).

Sections

Each sidecar section appears as a collapsible block with its name as the header. Sections can be:

  • Expanded/collapsed: click on the header to open or close the section.
  • Edited inline: click on a section's content (or double-click) to open the block editor. KaKeKiKoKu features a dual-mode assisted editor ribbon (see below). When you save or stop editing, changes are persisted. The section collapses after a brief moment (400ms) if you left it open just to look.
  • Reordered or moved: drag sections to change their order, demote them into another section, or move them to another resource through the navigation panel. During dragging, content compacts visually to make reorganization easier.
  • Real-time counter: while editing, you see a character counter (X/4,000) showing how much space remains.

Section content is rendered as Markdown, so headings, lists, tables, code blocks, links, and images all display formatted. Markdown images written as ![alt](path) appear inline next to the surrounding text — see chapter 4 (Images and Markdown) for how KaKeKiKoKu resolves and serves them safely.

Assisted block editor

When you edit a section or subsection, KaKeKiKoKu opens the block editor drawer. The top of the drawer displays a unified editing ribbon with the following tools:

  • Text / Markdown modes: Toggle between Text mode (a standard text area that preserves your browser's native spellchecker and autocorrect) and Markdown mode (an assisted editor with quick format buttons). You can change modes on the fly without losing your changes. You can also configure your preferred default double-click mode in the Application Settings.
  • Formatting buttons: Apply bold, italic, headers, lists, code blocks, quotes, links, and images quickly. If you are not familiar with the Markdown formatting syntax, you can consult the external Markdown Guide Basic Syntax.
  • Preview (eye icon): Renders a live preview of the Markdown content using KaKeKiKoKu's native renderer before saving.
  • Fullscreen (expand icon): Maximizes the block editor to fill the entire browser viewport (shortcut Ctrl+Shift+F) for distraction-free writing.
  • OK / Escape: Save changes (Ctrl+Enter) or discard edits (Esc).

Markdown image button

In Markdown editing mode, the image button inserts a basic image template:

![alt](image.png)

alt means alternative text: a short description of what the image shows. It is not the image height and it does not have to match the file name.

Replace image.png with the image source you want:

  • Project image: use a relative path such as local_test_image.png or images/diagram.webp. KaKeKiKoKu resolves it inside the current project and the image does not need its own sidecar.
  • Internet image: use a full URL such as https://example.com/image.png. KaKeKiKoKu leaves remote URLs unchanged and the browser loads them directly.

If an image deserves its own explanation, relations, or AI-readable context, create a sidecar for the image file. That makes it a KaKeKiKoKu image resource. A Markdown image is only an inline visual embedded in the text.

Subsections

Inside each section there can be subsections, which work the same way: collapsible, inline-editable, draggable. You can move subsections between parent sections, promote them to top-level sections, or move them to another resource.

KaKeKiKoKu keeps one subsection level. If a move would create a subsection inside a subsection, KaKeKiKoKu places it as a sibling under the appropriate parent instead. If a destination already has a block with the same name, KaKeKiKoKu adjusts the incoming name automatically.

Context menu

Right-clicking on the description, a section header, or a section's content shows a context menu. The first option is always:

  • 🤖 Talk to AI: sends your AI the resource and the specific section you right-clicked. The AI receives all the context it needs without you having to explain anything.

It also includes options to copy, cut, paste, and delete sections.

Relationships

If the resource has relationships with other resources, they appear under the blocks that own them:

  • Outgoing relationships: links this resource has to others. They appear as clickable rows/chips in the central panel. When the target is a KaKeKiKoKu image (an image file with sidecar), the row can display a thumbnail of the image instead of the generic link icon, so you recognize what it points to without opening it.
  • Incoming relationships (backlinks): other resources that point to this one. They are shown in the central panel too, but their meaning belongs to the resource where they originate.

Relationship text lives in the central panel. The navigation tree shows relationships visually with arrows, but it does not duplicate their descriptions.

Creating relationships

Each description, section, and subsection has a circular relationship port on its left side.

  • Click the port to open the precise relationship form. This is the slower path when you want to choose the target carefully. The form includes a 🤖 Suggest relationships with AI button that asks your AI to analyze the resource and suggest links with other project resources.
  • Drag from the port to the navigation tree to create a quick outgoing relationship from the open resource to another resource, section, or subsection.
  • Drag from another resource in the tree to a central block to create a relationship whose origin is that other resource and whose destination is the block you are viewing.

Quick arrow creation creates the relationship immediately, then opens a small description popup. You can write the description right away or leave it empty and fill it later. If the target does not have context yet, KaKeKiKoKu asks for a minimal description first so the relationship can be stored as a normal KaKeKiKoKu relationship.

These relationship ports also appear in the navigation tree, including on the branch of the resource you have selected. That lets you create relationships directly between two items in the tree, without opening either one in the central panel — the selection then follows to the relationship's origin so the new arrow appears in its normal place. See chapter 6 for details.

Editing and deleting relationships

Click a relationship row or a concrete arrow to select it. The same relationship editor opens either way.

  • Move an endpoint: when a concrete arrow is active, small diamond handles appear at its ends. Drag a handle to change that endpoint.
  • The central endpoint stays in the open resource: if you move the central end, it can only move between the description, sections, and subsections of the resource you are viewing.
  • The far endpoint moves in the tree: drag the other end to another resource, section, or subsection in the navigation panel.
  • Delete by gesture: dragging an endpoint into empty space asks for confirmation before deleting the relationship.

Incoming relationships are owned by the resource where they were created. If you need to edit their description or meaning, KaKeKiKoKu takes you to that origin resource. This keeps it clear where the knowledge is actually written.

KaKeKiKoKu blocks relationships inside the same resource and duplicate relationships between the same pair of blocks. It also blocks relationships that target the project's base folder (its root context): every resource already belongs to the root, so such a link adds no knowledge — the same reasoning as forbidding a relationship from a resource to itself. To surface a resource at project level, mark it as important instead. Relationships from the base folder to its resources are allowed, so you can still use the root context as a hand-written index. Empty descriptions are allowed, but they are visibly marked so you can complete them later.

Relationships are budgeted: descriptions hold up to 200 characters — enough for two full sentences, which is what a good link label needs — and each resource holds up to 12 outgoing relationships within a shared character budget (the chip in the path bar shows both at a glance). When the budget is full, KaKeKiKoKu refuses the new relationship and tells you exactly why, so you can shorten a description, remove a link, or — usually the better move — split the resource into smaller connected ones.

Opening project files

The central panel can also open real project files when that helps you inspect the work behind the context:

  • Markdown and text files: can open in a quick editor with save, cancel, preview, and fullscreen controls. Remember: this edits the project file itself, not its KaKeKiKoKu context.
  • Source code: opens as a read-only viewer with syntax highlighting. Use it to verify code while keeping KaKeKiKoKu as a knowledge editor, not a source-code IDE.
  • Documents: Word .docx, OpenDocument .odt, and PDF .pdf files open as extracted plain text. Use this when you need to read or copy the content quickly; use the system application when layout, tables, or exact formatting matter.

If you need the full power of a specialized editor or application, use Open in system from the navigation panel.

Special states

The central panel also shows informational states when the selected resource has no sidecar:

  • No sidecar: indicates the file exists but has no context. Offers to create one.
  • Excluded: the resource is on the exclusion list. It will not be processed.
  • Discarded (untracked): the resource is visible but doesn't require documentation.
  • Ghost: the sidecar exists but the original file doesn't. Shows a banner with options to convert to entity or delete.

Important resources

When you open the project's root context — its cover page, in practice — everything you marked as important is listed at the bottom, below the sections, with a link to each one and a button to unmark it. It is the same list your AI receives on opening the project, so the cover shows you exactly what your AI is being handed before it does anything else.