The support chat that closes the loop.
Wicket answers from your docs, hands the rest to your team with everything they need, and logs every bug and idea. When one ships, everyone who asked hears about it.
MIT licensed. One script tag, one small server, AI optional.
Four steps. Then it comes back around.
Most support tools stop at the reply. Wicket keeps going until the person who asked knows how it ended.
Ask
People ask in your app, in their own words. Wicket notes the page, app version and recent errors.
Answer
The assistant answers from your docs and links the exact section it used.
Hand off
Anything it can't settle goes to your team, and their reply lands back in the same chat.
Hear back
Bugs and ideas become tickets. When one ships, everyone who asked is told.
And the next question starts with someone who trusts you'll get back to them.
Nobody's report disappears.
The assistant files bugs, ideas and docs gaps itself. The same problem reported twice lands on one ticket, and every person who reported it gets the news.
- Repeat reports stack up. A new report on a known problem joins the ticket that already exists, so you see how many people it hits.
- Reporters get told. When it's fixed, or when an idea is planned or turned down, each reporter gets a message in their chat, and by email if they're away.
- Say why in one line. Comment
Reply:on the ticket and Wicket passes your reason along.
Logged from a chat
With the page, app version and console error.
3 more people hit it
Each one joined this ticket instead of opening a new one.
Fixed in 2.4
All 4 reporters were told in their chat.
Small to add. Hard to outgrow.
One script tag
Drop it in and a chat button appears. Pass who's signed in and whatever context helps.
<script src="https://support.yourapp.com/widget.js"></script> <script> Wicket.init({ user: { id: user.id, name: user.name }, context: { appVersion: "2.3.1" }, }); </script>
Answers with sources
Reads your docs repo or site and links the section it used.
Exporting projects › PDF
A person when it matters
Hands off when someone asks, is frustrated, or the docs don't cover it.
Reports arrive with context
No more "which version are you on?"
/calendar?view=week2.3.1TypeError: tz is undefinedBudgets per person
Cap AI spend per user or account each month, with a warning before it runs out.
Make it yours
Your color, light or dark, your corners, your font. Or open it from your own button.
AI is optional
Leave it off and every chat goes straight to your team, with no AI bill.
Free to use. Cheap to run.
Wicket is MIT licensed, so you can use it, change it and ship it. You run it yourself: one Node process with SQLite handles the chat, the assistant and the inbox.
Good to know.
Is Wicket free?
Yes. It's open source under the MIT license and you host it yourself. There's no hosted version or paid support right now; it's provided as is. Issues and pull requests are welcome on GitHub.
Do I have to pay for AI?
No. Without an AI key, Wicket is a plain support chat: every conversation goes straight to your team. When you turn the assistant on, you can give each person or account a monthly budget and a total cap, and anonymous visitors can skip the assistant entirely.
Where does my team answer?
In the built-in dashboard at /admin, or in Discord, where each conversation becomes its own private post. Replies show up in the person's chat right away, and by email if they've left.
Which docs can it read?
Any GitHub repo of Markdown (GitBook Git Sync, Docusaurus, Mintlify and similar), or any hosted docs site through its sitemap. It re-indexes on a schedule and links the exact section in each answer.
How does it know which issues to update?
When the assistant files a report, it checks your tracker for the same problem first and adds the person to that ticket if it exists. Wicket then checks the tracker every 15 minutes and messages reporters when a ticket is fixed, planned or turned down. Linear and GitHub Issues work today.
Can it see my users' data?
Only if you let it. App tools are endpoints on your own backend, called with the person's signed token, so your code decides what they can see on every call.
Close every loop.
Clone it, point it at your docs, and add one script tag to your app.