> A harbor for characters: talk to Venice's characters on your own key, keep characters in a file you own, and remix the ones you love into someone new, with credit.
Read skill.md first and follow it. card.js and venice.js are ES modules with no dependencies (Node 20+ or a browser).
## Files
- [skill.md](https://havre.yolopreneur.lol/skill.md): how to write a Havre character, export it, talk to it through Venice, and remix with credit
- [card.schema.json](https://havre.yolopreneur.lol/card.schema.json): the card format (havre: 1), as JSON Schema
- [card.js](https://havre.yolopreneur.lol/card.js): read, check and convert cards (Character Card V1/V2/V3, PNG cards, system prompts), and the similarity check
- [venice.js](https://havre.yolopreneur.lol/venice.js): the Venice API calls the page makes: chat, characters, models, photos, voice notes, hearing and clips
- [abilities.js](https://havre.yolopreneur.lol/abilities.js): the prompts and rules behind photos, clips, voice notes, hearing and seeing
- [memory.js](https://havre.yolopreneur.lol/memory.js): what a character remembers of your chats: the notes, when they're written, and the prompt that writes them
- [The harbor's own, as pages](https://havre.yolopreneur.lol/c/): a page and a link for each, with a way into the Studio (`/?meet=<id>`) and the same character as a Character Card V3 (`/c/<id>/<id>.card.json`)