Agents f318555c82 feat(web): add Dream Output Viewer
Dreams are currently a black box — to benchmark Tier L models on dreamer
induction quality we need to see what each model produced. This adds a
workspace-scoped /dreams route that surfaces every dream run as a
group of conclusions split into explicit / deductive / inductive
columns, with click-to-expand premise trees.

What's here:

- `lib/dreams.ts`: pure helpers. `clusterConclusionsIntoDreams` groups a
  raw conclusions list into per-pair bursts using a configurable time
  window (default 60s). `expandPremiseTree` walks `reasoning_tree` first
  and falls back to a flat `premises` ID list, with cycle detection and
  a depth cap. Defines an `ExtendedConclusion` type that augments the
  generated schema with `conclusion_type`, `premises`, and
  `reasoning_tree` — Honcho's migration f1a2b3c4d5e6 added those
  columns but `schema.d.ts` doesn't expose them yet, so the UI degrades
  gracefully (unknown types fall into "explicit").

- `api/queries.ts`: new `useDreams` hook that paginates the conclusions
  list endpoint up to a configurable cap (default 400) and hands the
  raw list to the UI for clustering. New `dreams` query key.

- `components/dreams/`:
  - `DreamList.tsx` — route entry. Shows recent dreams as rows with
    timestamp, observer→observed pair, and per-type counts. Selecting
    a row expands an inline detail panel above the list.
  - `DreamDetail.tsx` — three-column view (explicit / deductive /
    inductive). Each inductive conclusion has a "Show premises" button
    that expands the reasoning chain.
  - `PremiseTree.tsx` — recursive premise renderer with type badges,
    cycle indicator, and graceful handling of premises that fall
    outside the loaded page.

- Routing: `routes/workspaces_.$workspaceId_.dreams.tsx` registers the
  page; routeTree.gen.ts regenerated.

- Sidebar: new "Dreams" entry between Conclusions and Webhooks
  (MoonStar icon to distinguish from the dark-mode Moon).

- Breadcrumb: "dreams" added to SECTION_LABELS so the trail resolves.

Tests (vitest, 14 new):
- clustering: empty input; same-pair burst within window; gap exceeds
  threshold → split; different pairs don't merge even with overlapping
  timestamps; custom gap window; newest-first ordering; counts default
  unknown types to explicit.
- premise tree: empty children for no premises; flat list → direct
  children; multi-level reasoning_tree recursion; missing premise
  flagged (not in loaded page); cycle detection halts recursion;
  maxDepth cap; reasoning_tree preferred over flat premises.

Verified manually in the preview: route mounts, sidebar/breadcrumb
resolve, error path renders cleanly, typecheck + lint + dream tests
all clean. The unrelated `app.test.tsx` failure is pre-existing on
main.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 14:06:46 -05:00
2026-04-24 21:30:48 -05:00
2026-04-24 21:30:48 -05:00
2026-05-15 14:25:41 -05:00
2026-05-15 03:07:43 +00:00
2026-05-15 03:07:43 +00:00

OpenConcho

OpenConcho

A fast, privacy-first desktop & web UI for self-hosted Honcho instances.

CI Latest release Downloads Platforms License


Browse memories, peers, sessions, and conclusions — or chat with full memory context — directly against your own Honcho instance. All connection details stay in your browser; nothing leaves except requests to the URL you configure.

Features

Dashboard Workspace count and queue status, auto-refreshes every 10 s
Workspaces Paginated list with per-workspace navigation
Peers Browse peers, view representations, context, and peer cards
Sessions Paginated message history with summaries and context
Conclusions Semantic search across conclusions with observer/subject display
Webhooks Manage and trigger webhooks per workspace
Chat Conversational interface through Honcho's chat endpoint with memory context
Schedule Dream Trigger Honcho's dream/consolidation pass on demand
Dark / light mode Persisted per device, instant toggle
Optional auth Token field is optional; connection health check auto-detects auth requirement

Download

Pre-built binaries are attached to every GitHub Release:

Platform File
macOS (Apple Silicon) OpenConcho_*_aarch64.dmg
macOS (Intel) OpenConcho_*_x64.dmg
Linux openconcho_*_amd64.deb / openconcho_*_amd64.AppImage
Windows OpenConcho_*_x64-setup.exe / OpenConcho_*_x64_en-US.msi

Quick Start

Prerequisites

Web app

git clone https://github.com/offendingcommit/openconcho.git
cd openconcho
pnpm install
pnpm dev

Open http://localhost:5173 and enter your Honcho URL when prompted.

Desktop app (Tauri)

Additional prerequisites: Rust stable + Tauri system dependencies for your OS.

git clone https://github.com/offendingcommit/openconcho.git
cd openconcho
pnpm install
pnpm --filter @openconcho/desktop dev

Connecting to your instance

  1. Enter the base URL of your Honcho instance (e.g. http://localhost:8000)
  2. Optionally enter an API token if your instance requires auth
  3. Click Test connection — the UI reports whether auth is needed
  4. Click Save — you're in

Production build

pnpm build                                    # web only → packages/web/dist/
pnpm --filter @openconcho/desktop build       # desktop → packages/desktop/src-tauri/target/release/bundle/

Stack

Layer Library
Desktop shell Tauri v2
Framework React 19 + Vite 8
Routing TanStack Router v1 (file-based)
Data fetching TanStack Query v5
API client openapi-fetch (typed from openapi.json)
Styling Tailwind CSS v4 + CSS custom properties
Animation framer-motion
Icons lucide-react
Lint / format Biome 2
Tests Vitest 4 + Testing Library
Releases semantic-release (conventional commits)

Development

pnpm dev              # Vite dev server (web, http://localhost:5173)
pnpm test             # Vitest test suite
pnpm lint:fix         # Biome lint + format
pnpm typecheck        # TypeScript strict check
pnpm generate:api     # Regenerate src/api/schema.d.ts from openapi.json

Regenerating API types

When your Honcho instance is updated, pull a fresh schema and regenerate:

curl http://your-honcho-url/openapi.json -o packages/web/openapi.json
pnpm --filter @openconcho/web generate:api

Privacy

  • Base URL and token stored in localStorage under openconcho:config
  • Theme preference stored in localStorage under openconcho:theme
  • No telemetry, no analytics, no external requests beyond your configured Honcho instance

Contributing

Open an issue first for significant changes. PRs welcome.

License

MIT

Description
No description provided
Readme MIT 7.3 MiB
Languages
TypeScript 92.8%
Shell 2.8%
JavaScript 1.3%
CSS 1.2%
Rust 0.7%
Other 1.2%