本地运行的 AI 聊��应用,支持切换 AI 人格风格。基于 Django + Ollama,数据全部存本地。
- 10 种内置人格:温柔、情侣、傲娇、严厉、哲学家、毒舌、元气、霸总、好友、治愈
- 流式输出:逐字显示,可随时停止
- Markdown 渲染 + 代码高亮:代码块一键复制
- 对话历史:左侧边栏,支持置顶、搜索、删除
- 256k 上下文:自动裁剪旧消息,system prompt 永不丢失
- 深色 / 浅色主题:随时切换
- 导出对话:导出为
.md文件 - 自定义风格:写自己的 system prompt 创建新人格
- Python 3.11+
- Ollama 已在本地运行
- 模型
gpt-oss:120b已拉取
# 1. 安装依赖
cd aichat
pip install -r requirements.txt
# 2. 初始化数据库(自动写入 10 个内置风格)
python manage.py migrate
# 3. 启动
python manage.py runserver 6324打开 http://127.0.0.1:6324
aichat/
├── chat/
│ ├── ai_config.py # 模型配置(换模型改这里)
│ ├── system_prompts.py # 10 个风格的 system prompt
│ ├── models.py # 数据库模型
│ ├── api.py # API 接口
│ ├── context_manager.py # 上下文裁剪
│ └── ollama_client.py # Ollama 通信
├── templates/chat/
│ └── index.html # 前端主页面
└── static/
├── css/main.css
└── js/chat.js
编辑 aichat/chat/ai_config.py:
OLLAMA_MODEL = "gpt-oss:120b" # 改成你想用的模型
CONTEXT_WINDOW = 256_000 # 根据模型支持的上下文调整- 后端:Django 6 + Django Ninja
- 数据库:SQLite
- AI:Ollama(OpenAI 兼容接口)
- 前端:原生 HTML/CSS/JS,marked.js,highlight.js
- Token 计数:tiktoken cl100k_base