experimental Typst chatbot —— 以 Typst 为默认文本格式的本地聊天桌面应用。
- 框架:Wails v3(Go 后端)+ Vue3/Vite(前端)
- 渲染:Typst(wasm,浏览器内编译)+ Mermaid
- LLM:可插拔多 provider(OpenAI-compatible 系),支持 MCP(Streamable HTTP)工具
- 会话:SQLite 本地存储
开源协议:MIT(见 LICENSE)。字体资源版权归其各自作者,来源与许可见 frontend/public/fonts/README.md。
架构决策与模块划分见 docs/ARCHITECTURE.md。
| 依赖 | 说明 |
|---|---|
| Go 1.25+ | 后端 |
| Node + npm | 前端(Vite) |
| wails3 CLI | go install github.com/wailsapp/wails/v3/cmd/wails3@v3.0.0-beta.16 |
git 的 usr/bin |
Windows 下提供 sh/uname 等(Taskfile 依赖) |
| WebView2 runtime | Windows 10/11 一般自带 |
注意:wails3 装在 $(go env GOPATH)\bin,Windows 下需保证它在 PATH 中;
Taskfile 内部的 sh: 步骤需要 Git 的 usr\bin(如 C:\Users\tz\scoop\apps\git\current\usr\bin 或
C:\Program Files\Git\usr\bin)也在 PATH——缺它时 wails3 dev/build 会打印
"uname"/"tail" executable file not found 噪音(不影响构建,但建议加上)。
# 开发(自动起 vite dev server + wails3 dev;退出时清理)
powershell -ExecutionPolicy Bypass -File scripts\dev.ps1
# 或手动双进程:
# 终端 1: cd frontend; npm run dev -- --port 9245 --strictPort
# 终端 2: wails3 dev
# 构建生产版(输出 bin/chatty.exe)
wails3 build说明:Wails v3 的 dev 模式需要前端 vite(端口 9245)先就绪; 若直接
wails3 dev报unable to connect to frontend server,请改用上面的脚本/双进程方式。
架构与实现受 wailschat(MIT, Copyright 2026 RedJACK)启发。