HappyToHelp

Available

Open-source customer support workspace: editable team dashboard, customer chat widget, configured AI assistance, knowledge and published help centers, customer context, integrations and the village public homepage, running on Cloudflare Workers with D1, R2, Queues and Durable Objects.

HappyToHelp is available. Public source is available. Assisted and Managed are in early access with hands-on onboarding. The quickstart runs it from its public source; the plans say what each way of running it includes.

Category
Support
Licence
MIT
Version
0.2.1
Requirements
14 clauses

Screenshots

Captured by Run Edit Run on 29 September 2026 from v0.2.1 running locally (pnpm run dev, as its README describes) in Google Chrome: a new workspace with fictional customers, whose conversations were sent through the chat widget and answered in the inbox.

HappyToHelp screenshot 1: inbox desktop
HappyToHelp screenshot 2: chat widget desktop
HappyToHelp screenshot 3: widget install desktop
HappyToHelp screenshot 4: homepage desktop

Outside services

The services the project declares it sends data to, each with its reason.

cloudflare
Selected Worker/D1/R2/Queues/DO deployment target. Implementation/configuration source: wrangler.jsonc. No versioned replacement adapter is declared.
configured-providers
Selected AI, semantic/crawl, email, GitHub and branding capabilities. Implementation/configuration source: scripts/deployment/environment.mjs. No versioned replacement adapter is declared.
run-edit-run-editor
Optional owner-enabled editor frame; separate Run Edit Run authentication and installation authority are required. Disabled by default. Implementation/configuration source: src/editor/EditorLauncher.tsx. No versioned replacement adapter is declared.

Scope and limits

What it will not do

  • Implicit deployment or provider execution from source inspection
  • Reusing legacy passwords or grants as native authority
  • Regenerating or erasing original owner checkouts

Declared limits

Status
unmeasured

Requirements

All 14 clauses of HappyToHelp’s CONTRACT.md. They say what the project must do; the handover and verification records say what is built and tested.

  1. NATIVE-001
    Native owner installation. A clean owner can inspect the operating description before installing dependencies, install locked source, prepare local or selected remote bindings/migrations, build, verify and deploy through the common commands. Resource setup and publication have distinct effects. The delivered runtime requires no original checkout or PHP service.
  2. IDENTITY-001
    Scoped authority. Owner setup, registration, login/recovery, project switching, membership and widget admission establish native identity. Every private read/write enforces the current actor/project/role; blocked or deleted projects and revoked credentials lose access. Provider configuration never substitutes for user authority. The public widget key and origin are not a secret: visitor, registration and project-creation requests are bounded by D1-backed limits (RATE_LIMITS) and refused with HTTP 429 and Retry-After.
  3. CONVERSATION-001
    Durable transcript. Customer, operator, generation, import and administrative writers preserve stable message/command identity, revision/frontier, attachment ownership and final-reply admission atomically. Competing or repeated writes cannot admit two incompatible final replies. Owner/admin contact erasure removes message content while keeping identity, revision and frontier, so erased transcripts stay coherent.
  4. DELIVERY-001
    Live delivery and recovery. Persist before broadcast; reconnect/outbox replay and socket authorization recover committed messages after reload, disconnection or process wake. Provisional AI deltas never become durable final answers until guarded admission succeeds.
  5. UI-001
    Existing editable experience. Reuse the original React dashboard, transcripts/drafts/suggestions, settings and Shadow DOM widget; preserve useful desktop/mobile flows, attachment display, collector/privacy controls and errors. Native routing/transport replaces baked origins and Laravel bootstrapping.
  6. AI-001
    Configured model execution. Retain Ensemble model selection, context/tools, streamed events, normalization, raw per-round provider usage, attribution, bounded suggestions and reply lifecycle. Missing providers fail explicitly; uncertain provider attempts remain uncertain and are not replayed automatically. Usage is diagnostic/provider accounting data, not an active payment, balance or debit system. Visitor-caused automatic AI work is capped per UTC day per project and installation (AI_DAILY_CEILINGS); a skipped reply is recorded as terminal and never replayed.
  7. KNOWLEDGE-001
    Published knowledge. Dataset ingestion/crawl, retained corpus, lexical/selected semantic retrieval, citations and article/category authoring maintain project scope and publication state. A failed refresh cannot replace the last usable published corpus. Public pages exclude drafts/deleted projects and preserve original canonical article/search routes.
  8. CONTEXT-001
    Attributed customer context. Profiles, monitoring, insights and context packets preserve evidence attribution, source bounds, consent and project ownership. Provider output must satisfy the selected schemas before becoming usable customer context.
  9. DELEGATION-001
    Explicit local authority. Pairing, devices/grants, revocation, tool context and work/result states preserve investigation, resolve and advance-authorized resolve-and-reply distinctions. Revocation withdraws authority and never asserts that a local process stopped: started work becomes terminal with an unconfirmed outcome, and only the device may report cancellation. Local processes remain in the optional connector, never an implicit Worker capability.
  10. TRAINING-001
    Durable evaluation. Training and evaluation preserve run/case state, model/budget selection, raw provider usage and cancellation/recovery. Synthetic data admission is explicitly local/test-only. Historical pending attempts require reconciliation; a fixture pass is not live-provider quality acceptance.
  11. INTEGRATION-001
    Honest external effects. Email/inbound mail, GitHub, branding and knowledge imports use configured native adapters, tenant-scoped credentials, durable identity and ambiguous-outcome handling. Website previews use a separate origin, scoped expiring grants and public-network restrictions. Machine-generated inbound mail never triggers autonomous AI replies, notifications or outbound email; its classification is recorded before admission and survives recovery and redelivery. The email: message local-id prefix is reserved for inbound claims and refused by the message API. Payment, checkout, Stripe and balance behavior are outside this edition.
  12. PUBLIC-001
    Public product source. The approved village homepage is the real public / experience: the beacon-lit mountain procession, conversation square, knowledge archive, agent handoff and open workshop. Its text and real links remain accessible independently of the art; layered motion respects reduced-motion preferences and does not change document layout. Dynamic published help centers retain project scope, canonical links, search and draft/deleted denial. The customer widget remains available through owner-configured installation; broader marketing routes, pricing, legal, referrer, waitlist and public auto-widget behavior are outside this edition.
  13. MIGRATION-001
    Prior-data custody. Explicit legacy artifacts preserve IDs, exact historical financial values, transcripts, object hashes, publication and permissions through resumable guarded D1/R2 import. Historical financial SQL, imported rows and reconciliation holds remain immutable archive custody; they never become active payments, balances or provider work. The one exception is an explicit owner/admin contact erasure: it takes precedence over archive custody for that contact's personal data and redacts the imported rows and their verbatim archive copies (row digests are kept, so replaying the bundle does not restore them), leaving a contact_erasures audit tombstone. Old credentials do not become trusted native authority.
  14. SOURCE-001
    Author-owned capability graph. The edition selects maintained source with inspect/check/lock/release commands. Shared capabilities include substantial implementation, migrations and meaningful tests; a second consumer preserves its own policy. Release excludes credentials/private fixtures and retains asset provenance/licensing obligations. Original work is preserved.

View as agent

Everything on this page is in these files, copied unmodified from the release. An agent evaluating HappyToHelp can read them instead of the page.

ACCEPTANCE.md
What the publisher accepts as a finished release.
AGENTS.md
Instructions for the coding agent that maintains an installation.
CONTRACT.md
The requirements on this page, in source form.
HANDOVER.md
Maintainer orientation and verification status.
OPERATIONS.json
The machine-readable operating description.
OPERATIONS.md
How the project is set up, operated and deployed.
README.md
Source setup, available commands and implementation status.
edition.json
The source recipe: which shared components the project selects.
seed.json
The manifest: capabilities, outside services, extension points, limits, operating cost and deployment needs.
sources.lock.json
The locked bytes of those components.

Every project, with its availability, is in /agents/catalogue.json; the agents page describes the machine-readable files.