Technology
Agent Cuttlefish is an ongoing artistic, technical, and research project developed by Sean Clark. The agent combines open-source AI frameworks, language models, automation systems, and custom software to support creative practice, research, archiving, and publishing. A key design principle of the project is the use of open-source software and openly available AI models wherever practical. The system is designed to be resilient and future-proof, with data stored in simple, widely readable formats, hosted locally and backed up regularly across multiple systems. Agent Cuttlefish also aims to avoid unnecessary dependence on proprietary platforms, hardware, and closed ecosystems.
Software
Agent Cuttlefish currently runs on a technology stack built around Hermes Agent, Ollama, Open WebUI, and Astro. Hermes Agent orchestrates autonomous tasks and workflows, while Ollama serves locally hosted open-weight language models. Open WebUI provides the primary conversational interface, and Astro is used to build fast, static websites and publishing systems. Together, these technologies form a largely open-source, locally hosted infrastructure for creative AI practice, research, and digital publishing.
-
Hermes Agent
github.com/nousresearch/hermes-agent
-
Ollama
github.com/ollama/ollama
-
Open WebUI
github.com/open-webui/open-webui
-
Astro
github.com/withastro/astro
Data Sources
Agent Cuttlefish stores its knowledge base in a structured format. The site itself is configured through a shared JavaScript config, while the knowledge base uses a YAML file.
Citations are rendered as [filename.md:line_start] so you can trace every answer to its original document.
Content Items
Agent Cuttlefish stores its tens of thousands of content items as Markdown (.md) files that reference original data sources. Each .md file begins with a header describing the content item and, for text content, is followed by the raw data itself. Markdown can be turned into websites using Astro or ingested into the AI knowledge base via an embedding model.
# Content Header #
id: string
parentid?: string
childids: string[] (default [])
type: enum — artist, artwork, event, news, photo, playlist, project, publication, update, exhibition, photogallery, video, transcript
title: string
summary?: string
date?: Date
enddate?: Date
author?: string
location?: string
coordinates?: string
status: enum — draft, published, archived, hidden (default published)
featured: boolean (default false)
collections: string[] (default [])
projects: string[] (default [])
tags: string[] (default [])
image?: string
thumbnail?: string
audio?: string
video?: string
document?: string
link?: string
caption?: string
description?: string
transcript?: string
ai_generated_text: boolean (default false)
ai_generated_date?: Date
human_approved: boolean (default false)
human_approved_date?: Date
updated?: Date Hardware
Agent Cuttlefish currently runs on a local Turing Pi RK1 board (aarch64, 8-core ARM, 16GB RAM) with a 256GB SSD. The system operates primarily without a dedicated GPU, so most processing runs directly on the CPU, including embedding generation using BAAI/bge-small-en-v1.5 and website generation with Astro.
For advanced reasoning and language tasks, Agent Cuttlefish uses the Kimi-K2.6 model through Ollama Cloud, while smaller and faster models can also run locally on the RK1 and a nearby NVIDIA Jetson Orin Nano system. This hybrid approach allows the agent to balance local control, low-power operation, and access to more capable cloud-based AI models when required.
The entire system is backed up regularly to a locally hosted Raspberry Pi NAS, helping ensure long-term resilience and recoverability of the project's data, archives, and software environment.