Skip to content

Esifam/chat2note-v3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

chat2note

chat2note icon

笔记应用伴侣 — 一键将文本、图片和音频发送给 AI,自动整理为笔记并保存到指定文件夹。

功能特性 · 截图预览 · 安装与使用 · 配置说明 · 技术栈 · 许可证

English · 简体中文


功能特性

  • 📝 一键发送 — 通过系统分享菜单或应用内聊天界面,快速将文本、图片和音频发送给 AI
  • 🤖 AI 自动整理 — AI 根据系统 Prompt 自动分析内容,整理为结构化的 Markdown 笔记
  • 📁 保存到指定文件夹 — 每个联系人绑定一个文件夹,生成的笔记自动保存到对应位置,供 Obsidian 等应用直接读取
  • 🔔 后台发送 — 支持从通知栏快捷回复直接触发 AI 处理
  • 🖼️ 图片支持 — 发送图片,AI 会识别图片内容并在笔记中嵌入引用
  • 🎙️ 音频录制 — 应用内直接录音,插入到笔记内;由于ASR通常由独立模型完成,暂不支持转写音频内容
  • 💬 聊天式 UI — 类似聊天软件的交互方式,每个文件夹是一个"联系人",长按头像编辑,长按主体排序
  • 🔗 多 API 格式 — 支持 OpenAI 和 Anthropic 两种 API 格式,兼容各类第三方服务;对minimax-m3,mimo-v2.5等多模态模型的图片请求格式内置优化支持。
  • 🎨 自定义输出 — 可自定义系统 Prompt、输出文件扩展名、温度、最大 Token 数等参数
  • 📋 配置导入导出 — 支持以 JSON 格式导入导出全部设置
  • 🌗 主题与字体 — 支持跟随系统 / 浅色 / 深色主题,可调色相和字体大小
  • 🌍 多语言界面 — 支持简体中文、英语、法语、俄语、西班牙语、日语截图预览
  • 应用截图

  • Obsidian内效果

Logo

安装与使用

系统要求

  • Android 8.0 (API 26) 及以上
  • 需要授予"所有文件访问权限"以保存笔记到指定文件夹

安装

  1. Releases 页面下载最新 APK
  2. 安装后打开应用,进入设置页面配置 API Key、Base URL 和模型名称
  3. 授予"所有文件访问权限"
  4. 在联系人页面创建联系人并绑定目标文件夹
  5. 开始发送内容,AI 会自动整理并保存笔记

使用方式

操作 说明
系统分享 在任意应用中选择"分享到 chat2note",内容会自动发送给当前联系人
应用内聊天 打开应用,选择联系人,在聊天框中输入文本、选择图片或录制音频
长按头像 编辑联系人(名称、emoji、颜色、绑定文件夹)
长按主体 拖动排序联系人
通知快捷回复 从通知栏快捷回复直接触发 AI 处理(后台发送)

默认系统 Prompt

默认系统 Prompt 会将内容整理为带有 YAML frontmatter 的 Markdown 笔记,包含 titledatetimetags 字段。你可以完全自定义此 Prompt 来改变输出格式。注意,app会自动替换ai返回的YAML frontmatter内datetime字段为系统真实日期和时间,若自定义Prompt不使用YAML frontmatter或相应字段则无效。

配置说明

在设置页面可以配置以下参数:

参数 默认值 说明
API Key 你的 AI 服务 API Key
Base URL https://api.openai.com/v1 API 基础地址,可替换为第三方服务
模型名称 gpt-4o-mini 使用的模型名称
API 格式 openai openaianthropic
额外参数 附加的 JSON 请求参数,如streamthinking.type
输出扩展名 .md 生成文件的扩展名
Max Tokens 2048 最大输出 Token 数
系统 Prompt 内置默认 自定义 AI 整理笔记的规则和格式
Temperature 0.2 生成温度

技术栈

  • 框架: Flutter (Dart 3.12+)
  • 状态管理: Riverpod
  • 数据库: SQLite (sqlite3)

项目结构

lib/
├── main.dart                  # 应用入口
├── background_send.dart       # 后台发送处理
├── core/
│   └── theme.dart             # 主题配置
├── data/
│   └── database.dart          # SQLite 数据库服务
├── domain/
│   ├── default_settings.dart  # 默认设置与常量
│   ├── filename.dart          # 文件名生成
│   ├── models.dart            # 数据模型
│   └── search_hit.dart        # 搜索结果模型
├── l10n/                      # 国际化文件
├── services/
│   ├── audio_recorder_service.dart  # 音频录制
│   ├── image_picker_service.dart   # 图片选择
│   ├── note_writer.dart            # 笔记写入
│   ├── openai_client.dart          # AI API 客户端
│   └── share_intent.dart          # 分享意图处理
├── state/
│   ├── app_state.dart         # 应用状态管理
│   └── providers.dart         # Riverpod providers
└── ui/
    ├── shell.dart             # 主框架
    ├── splash.dart            # 启动页
    ├── address/               # 联系人列表
    ├── chat/                  # 聊天界面
    └── settings/              # 设置界面

许可证

LICENSE

About

笔记Ai伴侣 Ai driven companion app for note-taking

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages