这个项目能做什么
Charon 是一款自托管的网页应用,用于与 AI 角色进行角色扮演,其作者将其定位为结合了 Chub、SillyTavern 等工具的功能。它旨在将用户数据保存在本地,而非云端服务。
README 中描述的核心功能:
- 分支对话:每次滑动 AI 回复都会创建新分支,用户可在不同选项间导航、内联编辑消息,并避免丢失先前回复。
- 角色卡 V2 和 V3:无需转换即可从 SillyTavern、Chub 或其他来源导入 `.png` 角色卡。
- 自带 API 密钥:支持 OpenAI 兼容提供商,如 OpenAI、通过代理的 Anthropic、OpenRouter、Ollama 和 vLLM。密钥在静态存储时加密。
- 背景设定书:可将背景设定附加到聊天中,应用会自动为 AI 选择相关条目。
- 人设:可定义多个人设,并在每次聊天中切换。
- Markdown 渲染:支持粗体、斜体、代码块、图片、`<style>` 作用域和对话高亮,并具有流式安全淡入效果。
- 自托管:数据存储在本地 SQLite 文件中,无云端依赖、遥测或外部账户(除用户自己的账户外)。
部署选项包括通过 `docker compose up -d` 使用 Docker(数据持久化在 `charon-data` 卷中)或基于 pnpm 的开发设置。所需环境变量包括 `BETTER_AUTH_SECRET` 和 `ENCRYPTION_KEY`,示例生成命令使用 `openssl rand`。首次启动时自动运行迁移。旧数据库的升级路径会迁移到单个管理员账户,并记录了使用 `pnpm migrate:single-user` 的备份和恢复流程。
首次设置涉及创建账户、通过引导向导连接 AI 提供商并获取角色,然后开始聊天。不捆绑角色;用户需前往 Chub 或 SillyTavern 的 `public/characters/` 文件夹获取。聊天控制包括发送、换行、滑动、重新生成、编辑、模拟、继续、删除分支以及 Ctrl+K 命令菜单。SillyTavern 导入路径已记录,通过将数据复制到 `public/data/` 并运行 `pnpm run migrate` 实现。生产构建使用 `pnpm run build` 和 `pnpm run start`,端口为 3000,并设置 `APP_URL` 用于认证 cookie。开发者文档参见 CONTRIBUTING.md。
评论
0 评分人数达到10人后显示
登录后参与讨论。