✨ 本地运行 🧠 Ollama 驱动 🎭 角色扮演 🔒 隐私安全

密语 · Hakimi Roleplay AI

密语,是一位怎样的 AI?

温柔的外表下,藏着懂你的灵魂

本地陪伴

所有对话在本机完成,搭配本地 Ollama 模型,你的心事绝不上传云端。

角色扮演

支持多角色卡设定,每个角色拥有独立人设与世界观,陪你演戏,陪你恋爱。

可视化管理

会话列表、角色列表、聊天记录一目了然,随时切换不同世界线。

开发者友好

Electron + Express + SQLite 架构,前后端分离,方便二次开发与自定义。

从「双击图标」到「聊到深夜」

只需简单三步,开启你的专属陪伴

1. 启动密语

一键启动内置 Node.js 与本地服务器,无需繁琐配置,只看见温柔的粉色面板。

2. 创建角色

新建一个属于你的 AI 角色,设定头像、性格与世界观,打造专属形象。

3. 开始对话

进入聊天界面,看着文字如打字机般逐行浮现,感受真实的交流温度。

小小「密语宇宙」

四个精心设计的页面,承载所有的温柔

密语 · 会话
傲娇的猫娘
愚蠢的人类,还不快去给我买罐头...
赛博仿生人 007
系统自检完成,随时准备执行任务。
青梅竹马 · 小雅
今天工作好累啊,想吃好吃的。
辛苦啦!摸摸头~ 既然这么累,要不今晚我给你做在这个世界上最好吃的咖喱饭?
真的吗?太好了!
当然是真的呀,快点回来,我在家等你哦。(文字正在逐字生成...)
角色管理
小雅
温柔的邻家女孩
+ 新建角色
系统设置
模型与连接
Ollama 地址
http://localhost:11434
记忆设置
上下文长度 (Context)
太长的上下文会更黏人,但也会稍微慢一点哦。

表面是可爱 UI,内里是清晰架构

跨平台 Electron + 离线隐私保护

🖥️ 启动器层 (Electron)

main.js / renderer.js 管理窗口 & 启动 Node

⚙️ 服务器层 (Express + SQLite)

server.js / db.js API 路由 & 数据持久化

🎨 前端层 (Static)

HTML / CSS / JS 可爱 UI 交互

🧠 AI 引擎 (Ollama)

LLM Model 流式推理生成

📂 她的记忆本 (Database)

我们使用 SQLite 的 WAL 模式来管理数据,就像一本写不完的日记:

  • Settings: 唯一一行的全局配置。
  • Roles: 每个人设的性格、头像与配色。
  • Conversations: 不同的世界线列表。
  • Messages: 每一句对话,级联删除,不留残片。

🧠 心智结构 (Prompting)

为了让她说话像「她」,我们构建了分层 Prompt:

1. System: 角色 Persona + 全局世界观
2. History: 最近 N 条历史对话 (上下文)
3. User: 你刚刚发送的那句话

如果你也是开发者

前后端分离,API 开放,欢迎二开

密语不仅是一个应用,更是一个可扩展的框架。你可以随意替换 public 下的前端文件,或者调用本地 API。

// 示例:调用本地聊天接口
const response = await fetch('/api/chat/1', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
        message: "你好,今天心情怎么样?"
    })
});

// 接口返回流式 NDJSON,实现打字机效果
const reader = response.body.getReader();
while (true) {
    const { done, value } = await reader.read();
    if (done) break;
    console.log(new TextDecoder().decode(value));
}