Jun is a v1 release candidate. Everything on these pages is built and tested end to end, but expect rough edges. Issues are welcome.
Three ideas
Support that sees the bug
The widget captures recent errors, failed requests and pages visited, masks them in the browser and again on the server, and shows them to your team and the AI.
Your desk, your Cloudflare
The whole desk is one Cloudflare Worker with D1, R2, Durable Objects, a Queue and Workers AI. Your conversations never leave your account.
Support agent as code
The AI’s rules, tasks, actions and tests are plain files. Edit them on the desk or keep them in git, and test changes with
jun eval before you push.What you get
- A chat widget with live replies, typing indicators, read receipts, file uploads, screenshots, your colour and logo, and business hours. You pick a mode: a chat window that opens from a button or greeting card in the corner, or the island at the bottom centre. When nobody’s around it asks for an email, and when a conversation is resolved it asks for a quick rating.
- An AI agent that answers from your docs with citations and hands off to a person when it can’t help or when the customer asks. It runs on Workers AI out of the box, so you need no API key. It can use OpenAI instead.
- Debug context. JavaScript errors, failed requests (method, URL and status, never bodies), pages visited, rage clicks and errors your app reports with
JunDesk.reportError(). When something breaks, the widget can offer help on its own. - Actions, tasks and widgets. The AI can call your API (
actions/*.yaml), follow step-by-step tasks, run actions your page registers in the visitor’s browser, and show results as interactive cards. - A real-time inbox with assignment, takeover from the AI, internal notes with @mentions, saved replies, tags, a contact sidebar and keyboard shortcuts (Ctrl+K or ⌘K opens the command palette).
- Visitors: a live list and globe of who’s on your site right now. You can start a chat with any of them.
- Issues from a conversation. “Create issue” drafts a GitHub or Linear issue from the chat and the masked browser details. A teammate edits and files it. The AI never files issues on its own.
- A dashboard for the last 7, 30 or 90 days: conversations, how many the AI resolved on its own, handoff rate and reasons, first-response times, CSAT, replies per teammate and the top topics.
- Notifications in the browser and as Web Push on desktop and phone, with nothing to configure.
Where to start
Quickstart
From the Deploy button to your first chat in a few minutes.
How it works
The Worker, Durable Objects and storage behind one desk.
Install the widget
Put the chat on your site with one script tag.
Set up the AI
Choose Workers AI, OpenAI or ChatGPT sign-in, and add your knowledge.
Work the inbox
Take over chats, write notes, assign and file issues.
Keep the agent in git
Pull, test and push the AI’s files with the
jun CLI.Open source
Jun is open source. The source is at github.com/samarsheikh001/jun.
The loader and the config format are MIT, so putting Jun on your site never triggers a licence review. Outside contributions will need a contributor licence agreement (CLA), which isn’t set up yet. Until it is, open an issue before starting a large change. See CONTRIBUTING.md.