AI驱动的轻量级笔记应用Blinko
什么是 Blinko ?
Blinko
是一个创新的开源项目,专为想要快速捕捉和整理瞬间想法的个人而设计。Blinko
允许用户在灵感迸发的瞬间无缝记录想法,确保不会错过任何创意火花。
Blinko
的设计初衷是让笔记记录变得更简单,让用户专注于内容本身,而不会被繁琐的管理任务所困扰。Blinko
帮助用户轻松捕捉和管理他们的想法,设计上分为两个核心部分:“闪念” 和 “笔记” 。
“闪念” 专为记录灵光一闪而打造,用户无需担心格式或复杂操作,即可即刻记下即兴想法。这些记录可设置为每隔一段时间自动清除,确保内容不会过度堆积,从而保持该部分的整洁和高效。
“笔记” 部分提供了更有条理的管理系统,用户可以使用标签对笔记进行分类,并利用批量操作轻松地组织和分类大量笔记。
🚀主要功能:
-
AI 增强的笔记检索 🤖:借助
Blinko
的先进AI
驱动的RAG
(检索增强生成)技术,您可以使用自然语言查询快速搜索和访问您的笔记,轻松找到所需内容。 -
数据拥有权 🔒:您的隐私至关重要。所有笔记和数据都安全存储在您自托管的环境中,确保您对信息的完全控制。
-
高效快速 🚀:即时捕捉想法,并以纯文本形式存储,方便访问,完全支持
Markdown
格式,便于快速格式化和无缝共享。 -
轻量架构,强大性能 💡:基于
Next.js
构建,Blinko
提供流畅、轻量的架构,具备强大的性能,同时不牺牲速度或效率。 -
开放协作 🔓:作为一个开源项目,
Blinko
欢迎社区的贡献。所有代码透明且可在GitHub
上获取,促进合作精神和持续改进。 -
完全免费 🎉:
Blinko
是且将始终是免费的,没有隐藏费用或锁定在付费墙后的高级功能。
如果不想安装,可以去看看官方的 Live Demo
- 地址:https://blinko-demo.vercel.app
- 账号:
blinko
- 密码:
blinko
安装
在群晖上以 Docker 方式安装。
本文写作时,
latest
版本对应为0.0.26
;
采用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: '3'services:blinko-website:image: blinkospace/blinko:latestcontainer_name: blinko-website# restart: unless-stoppedenvironment:NODE_ENV: production# NEXTAUTH_URL: http://localhost:1111# NEXT_PUBLIC_BASE_URL: http://localhost:1111NEXTAUTH_SECRET: my_ultra_secure_nextauth_secretDATABASE_URL: postgresql://postgres:mysecretpassword@postgres:5432/postgresdepends_on:postgres:condition: service_healthy# Make sure you have enough permissions.volumes:- ./data:/app/.blinko restart: alwayslogging:options:max-size: "10m"max-file: "3"ports:- 1111:1111healthcheck:test: ["CMD", "curl", "-f", "http://localhost:1111/"]interval: 30s timeout: 10s retries: 5 start_period: 30s postgres:image: postgres:14container_name: blinko-postgresrestart: always# ports:# - 5435:5432volumes: - ./db:/var/lib/postgresql/dataenvironment:POSTGRES_DB: postgresPOSTGRES_USER: postgresPOSTGRES_PASSWORD: mysecretpasswordTZ: Asia/Shanghaihealthcheck:test:["CMD", "pg_isready", "-U", "postgres", "-d", "postgres"]interval: 5stimeout: 10sretries: 5
- 容器
blinko-postgres
的环境变量
可变 | 值 |
---|---|
POSTGRES_DB | 指定要创建的数据库名称 |
POSTGRES_USER | 定义 PostgreSQL 数据库的用户名 |
POSTGRES_PASSWORD | 设置用于连接 PostgreSQL 数据库的密码 |
TZ | 设置时区 |
- 容器
blinko-website
的环境变量
可变 | 值 |
---|---|
NODE_ENV | 设置 Node.js 的运行环境。通常设为 production 用于生产环境 |
NEXTAUTH_URL | 指定 NextAuth.js 的回调 URL ,用于处理身份验证。在生产环境中应更改为实际域名 |
NEXT_PUBLIC_BASE_URL | 公开的基础 URL ,客户端可以访问,用于构建 API 请求的基础路径。在生产环境中也应设置为实际域名 |
NEXTAUTH_SECRET | 设置用于加密会话和生成 JWT 的秘密字符串 |
DATABASE_URL | 定义数据库连接字符串,用于连接 PostgreSQL 数据库。格式为 postgresql://用户名:密码@主机:端口/数据库名 |
然后执行下面的命令
# 新建文件夹 blinko 和 子目录
mkdir -p /volume1/docker/blinko/{data,db}# 进入 blinko 目录
cd /volume1/docker/blinko# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d
运行
在浏览器中输入 http://群晖IP:1111
就能看到登录界面
第一次需要点 Sign Up
注册账号
登录成功后的主界面
设置中文
Settings
--> Language
中找到 简体中文
不需要刷新
现在回到 闪念
,可以开始记录你的新想法
链接能够直接提取 title
等信息
支持右键菜单
手机上的效果相当哇塞
AI 驱动(失败)
默认情况下,AI
并没有启用
虽然 AI服务商
只能是 OpenAI
,但因为可以输入 接口地址
,所以老苏打算用其他的 AI
来模拟 OpenAI
文章传送门:
- 长文本大模型API服务kimi-free-api
- 大模型接口管理和分发系统One API
- 使用
Blinko ai
:启用; AI
服务商:只能选OpenAI
;人工智能模型
:选择gpt-3.5-turbo
,因为One API
中模型只设置了kimi
和gpt-3.5-turbo
;API Key
:用One API
的令牌;- 接口地址:用
One API
的地址;但是要注意,要求必须用https
开头,格式为https://域名/v1
;
设置完成后
回到首界面,右下角会多出一个图标
但是聊天时,返回了错误
Error: Error: Error: 503 当前分组 default 下对于模型 text-embedding-ada-002 无可用渠道 (request id: 2024111016093058572008963658571)
说明还需要用到 Embedding
模型。继续用 M3E
来模拟 text-embedding-ada-002
文章传送门:开源文本嵌入模型M3E
这次返回了另一个错误
Error: Error: 422 bad response status code 422 (request id: 2024111017481662117653978385149)
M3E
容器中的日志更明确
172.17.0.1:33778 - "POST /v1/embeddings HTTP/1.1" 422 Unprocessable Entity
说明请求的格式正确,但是由于含有语义错误,无法响应。看来虽然都是嵌入式模型,但两者存在差异。
暂时没想到怎么解决这个问题,或者等待作者支持其他的 AI
模型吧。
即便暂时用不上 AI
搜索,Blinko
从设计理念上,也不失为一款很好的轻量级笔记软件。
参考文档
blinko-space/blinko: An open-source, self-hosted personal note tool prioritizing privacy, built using TypeScript .
地址:https://github.com/blinko-space/blinko
Blinko HomePage
地址:https://blinko-doc.vercel.app/
Blinko live demo
地址:https://blinko-demo.vercel.app
相关文章:

AI驱动的轻量级笔记应用Blinko
什么是 Blinko ? Blinko 是一个创新的开源项目,专为想要快速捕捉和整理瞬间想法的个人而设计。Blinko 允许用户在灵感迸发的瞬间无缝记录想法,确保不会错过任何创意火花。 Blinko 的设计初衷是让笔记记录变得更简单,让用户专注于内…...

一文搞懂 UML 类图
面向对象设计 主要就是使用UML的类图,类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据 一、UML类图简介 统一建模语言 UML …...

Zabbix 7 最新版本安装 Rocky Linux 8
前言 本实验主要在Rocky Linux 中安装Zabbix,其他centos8、Debian、Ubuntu、Alma Linux都可以安装,就是在中间件有点不同。Nginx就要配置一下,官网给的教程也算是很规范的,就是在MySQL上要自己安装,他没有告诉我们&am…...

使用HTML、CSS和JavaScript创建动态雪人和雪花效果
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 ✨特色专栏:…...
redis bind 127.0.0.1和bind 10.34.56.78的区别
绑定到 127.0.0.1,默认情况下,Redis 只会接受来自本地主机的连接。其他地址的则无法成功连接。如果绑定到主机的IP地址,则是可以被其他主机连接的。 可以通过iptables规则,进一步限制对redis的访问。 1、允许本地回环接口链接 …...

基于点云的 3D 目标检测模型 PointPillars 部署 tensorRT
PointPillars 3D 目标检测模型部署 tensorRT 一直想折腾一下基于点云的目标检测模型,但由于没有实际项目或工作需要,搞也搞的不够深入,把开源的模型跑一下似乎好像做过又好像没有做过。内心一直想搞一下,选定了 PointPillars 这个…...
centos查看硬盘资源使用情况命令大全
在 CentOS 系统中,你可以使用几个命令来查看硬盘的资源和使用情况。以下是一些常用的命令: 1. df 命令 df (disk free) 用于显示文件系统的磁盘空间占用情况。 df -h-h 参数表示以人类可读的格式(如 GB, MB)显示。输出会显示每…...
Solon MVC 的 @Mapping 用法说明
在 Solon Mvc 里,Mapping 注解一般是配合 Controller 和 Remoting,作请求路径映射用的。且,只支持加在 public 函数 或 类上。 1、注解属性 属性说明备注value路径与 path 互为别名path路径与 value 互为别名method请求方式限定(defall)可用…...
uni-app表单⑪
文章目录 十七、用户登录-登录界面搭建一、结构样式代码编写 十八、用户登录-表单验证一、userRulesMixin 文件使用二、验证规则编写 十七、用户登录-登录界面搭建 一、结构样式代码编写 uni-forms 插件下载 下载地址:https://ext.dcloud.net.cn/plugin?id2773 s…...

PyQt5 加载UI界面与资源文件
步骤一: 使用 Qt Designer 创建 XXX.ui文件 步骤二: 使用 Qt Designer 创建 资源文件 步骤三: Python文件中创建相关类, 使用 uic.loadUi(mainwidget.ui, self ) 加载UI文件 import sys from PyQt5 import QtCore, QtWidgets, uic from PyQt5.QtCore import Qt f…...

【MySQL】数据库知识突破:数据类型全解析与详解
前言:本节内容讲述MySQL的数据类型, 我们在学习之前的建表的时候已经用过各种各样的数据类型。 比如int、varchar、char类型等等。其中它们是对表的结构的操作, 并没有对数据的内容进行操作,所以它叫做DDL。另外,还有…...
使用Golang实现开发中常用的【实例设计模式】
使用Golang实现开发中常用的【实例设计模式】 设计模式是解决常见问题的模板,可以帮助我们提升思维能力,编写更高效、可维护性更强的代码。 单例模式: 描述:确保一个类只有一个实例,并提供一个全局访问点。 优点&…...

【Java学习】电脑基础操作和编程环境配置
CMD 在Windows中用命令行的方式操作计算机。 打开CMD Win R输入CMD按下回车键 Win E 进入我的电脑 常用的CMD命令 盘符名称冒号 说明:盘符切换 举例:E:回车,表示切换到E盘 dir 说明:查看当前路径下的内容 cd目录 说明&a…...

AVL树解析
目录 一. AVL的概念 二 AVL树的插入 2.1先按二叉搜索树的规则插入 2.2 AVL的重点:平衡因子更新 3.1 更新后parent的平衡因子等于0。 3.2 更新后parent的平衡因子等于1 或 -1,需要继续往上更新。 3.3 更新后parent的平衡因子等于2 或 -2,需…...

栈和队列(Java)
一.栈(Stack) 1.定义 栈是限定仅在表尾进行插入或删除操作的线性表 一般的表尾称为栈顶 表头称为栈底 栈具有“后进先出”的特点 2.对栈的模拟 栈主要具有以下功能: push(Object item):将元素item压入栈顶。 pop()&am…...
C#设计原则
文章目录 项目地址一、开放封闭原则1.1 不好的版本1.2 将BankProcess的实现改为接口1.3 修改BankStuff类和IBankClient类二、依赖倒置原则2.1 高层不应该依赖于低层模块2.1.1 不好的例子2.1.2 修改:将各个国家的歌曲抽象2.2 抽象不应该依于细节2.2.1 不同的人开不同的车(接口…...

easyfs 简易文件系统
easyfs easyfs 简易文件系统文件系统虚拟文件系统 VFS简易文件系统 easyfs磁盘布局超级块 easyfs 文件系统结构磁盘上的索引结构索引节点Inode 和 DiskInode 之间的关系举例说明读取文件的过程( /hello ) 参考文档 easyfs 简易文件系统 文件系统 常规文…...
【架构论文-1】面向服务架构(SOA)
【摘要】 本文以我参加公司的“生产线数字孪生”项目为例,论述了“面向服务架构设计及其应用”。该项目的目标是构建某车企的数字孪生平台,在虚拟场景中能够仿真还原真实产线的动作和节拍,实现虚实联动,从而提前规避问题ÿ…...

刚刚!更新宁德时代社招Verify测评语言理解数字推理SHL题库、网盘资料、高分答案
宁德时代社招入职的Verify测评主要分为两大块:语言理解和数字推理。语言理解部分包括阅读理解、逻辑填空和语句排序,要求在17分钟内完成30题。数字推理部分包括数字序列、数学问题解决和图表分析,同样要求在17分钟内完成18题。这些测评题目旨…...

C++笔记---智能指针
1. 什么是智能指针 1.1 RALL设计思想 RAII(Resource Acquisition Is Initialization,资源获取即初始化)是一种资源管理类的设计思想,广泛应用于C等支持对象导向编程的语言中。它的核心思想是将资源的管理与对象的生命周期紧密绑定…...

CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...

技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...

nnUNet V2修改网络——暴力替换网络为UNet++
更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...