当前位置: 首页 > news >正文

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 中模型只设置了 kimigpt-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的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 ✨特色专栏&#xff1a…...

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)

【摘要】 本文以我参加公司的“生产线数字孪生”项目为例,论述了“面向服务架构设计及其应用”。该项目的目标是构建某车企的数字孪生平台,在虚拟场景中能够仿真还原真实产线的动作和节拍,实现虚实联动,从而提前规避问题&#xff…...

刚刚!更新宁德时代社招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))…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中&#xff0c;UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列&#xff1f;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守护公共/工业/医疗等多场景安全应用

一、方案背景​ 在现代生产与生活场景中&#xff0c;如工厂高危作业区、医院手术室、公共场景等&#xff0c;人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式&#xff0c;存在效率低、覆盖面不足、判断主观性强等问题&#xff0c;难以满足对人员打手机行为精…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库&#xff0c;提供了高效、安全的文本格式化功能&#xff0c;是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

nnUNet V2修改网络——暴力替换网络为UNet++

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