
Blinko 是一个开源、支持自托管的 AI 笔记应用,拥有 强大的 AI 集成支持,以及 最大限度的数据自由。
Blinko 的 核心理念 是将笔记分为两部分:
Blinko 用于捕捉突发灵感和碎片想法
Note 用于记录归纳长篇内容和知识库
我总结了它的 特性,包括且不限于以下这些:
Blinko 拥有官方合作托管服务,起步价格为 $1.5/月,新用户拥有 $5 体验金,付费的 20% 会捐赠给此项目,感兴趣可以 去试试 。
或者我们花费几分钟,即可快速部署一个属于自己的 Blinko 实例。
新建目录用于 Blinko 的数据持久化
mkdir blinko && cd $_
生成一个 NEXTAUTH_SECRET 环境变量,填入下面模板的环境变量里
openssl rand -base64 32
新建一个 docker-compose.yml 模板文件 (使用 Docker 绑定数据卷)
services:
blinko:
image: blinkospace/blinko:latest
container_name: blinko-website
environment:
NODE_ENV: production
NEXTAUTH_URL: http://localhost:1111
# change it to your domain
NEXT_PUBLIC_BASE_URL: https://ink.via.moe
NEXTAUTH_SECRET: # openssl rand -base64 32
DATABASE_URL: postgresql://postgres:blinko@postgres:5432/postgres
depends_on:
postgres:
condition: service_healthy
volumes:
- ./data/blinko:/app/.blinko
restart: unless-stopped
ports:
- 127.0.0.1:1111:1111
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://127.0.0.1:1111/"]
interval: 30s
timeout: 10s
retries: 5
start_period: 30s
networks:
- blinko-network
postgres:
image: postgres:14
container_name: blinko-postgres
restart: unless-stopped
environment:
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: blinko
TZ: Asia/Shanghai
volumes:
- ./data/postgres:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready", "-U", "postgres", "-d", "postgres"]
interval: 5s
timeout: 10s
retries: 5
networks:
- blinko-network
networks:
blinko-network:
driver: bridge
一切就绪,起飞!
sudo docker compose up -d
首次启动会进行数据库迁移,观察一下日志
sudo docker compose up logs -f | more
以 Nginx 反向代理为例,新建一个虚拟主机配置文件
sudo vim /etc/nginx/conf.d/your.blinko.domain.conf
看起来类似这样:
server {
listen 80;
listen [::]:80;
# change it to your domain
server_name ink.via.moe;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
# change it to your domain
server_name ink.via.moe;
# change it to your TLS/SSL cert path
ssl_certificate /path/to/your/cert/wild.via.moe.pem;
ssl_certificate_key /path/to/your/cert/wild.via.moe.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ecdh_curve X25519:P-256:P-384;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE+AES128:RSA+AES128:ECDHE+AES
256:RSA+AES256';
ssl_prefer_server_ciphers off;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m;
access_log /var/log/nginx/ink.via.moe.access.log;
error_log /var/log/nginx/ink.via.moe.error.log;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "no-referrer-when-downgrade" always;
add_header Content-Security-Policy "default-src 'self' http: https: data: blob: 'unsafe-inline' 'unsafe-eval'" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
# max upload limit
client_max_body_size 100M;
location / {
proxy_pass http://127.0.0.1:1111;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $realip_remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 3600s;
}
}
检查 Nginx 配置文件
sudo nginx -t
确认 OK,重载配置
sudo nginx -s reload
解析域名到服务器 IP,现在可以打开你的域名访问了,首个注册用户即为管理员。
设置基本的语言和时间格式


除了已经列出的,同样兼容任何与 OpenAI 兼容的 API。此外,若机器网络无法访问 API,Blinko 支持设置 HTTP 代理。

下滑可以调整模型温度、分数、默认提示词等参数

我觉得这个 AI 集成还有个好处:可以将各家模型的免费额度集合在一个地方使用🤔

支持 Tavily ,方便 AI Agent 快速、高效地访问互联网。注册后免费额度为 1000次/月,个人好像够用了?

内建有 MCP 集成

Blinko 有一个漂亮的 音乐播放器,可选注册一个 Spotify API 用于获取上传音乐元数据信息。

使用 Spotify API 解析音乐元数据后,看起来更好看点

总之,Blinko 借助强大的 AI 集成、自然语言搜索以及丰富的插件和服务接口,是一个构建个人知识库的优秀工具。

Blinko 是一个开源、支持自托管的 AI 笔记应用,拥有 强大的 AI 集成支持,以及 最大限度的数据自由。
Blinko 的 核心理念 是将笔记分为两部分:
Blinko 用于捕捉突发灵感和碎片想法
Note 用于记录归纳长篇内容和知识库
我总结了它的 特性,包括且不限于以下这些:
Blinko 拥有官方合作托管服务,起步价格为 $1.5/月,新用户拥有 $5 体验金,付费的 20% 会捐赠给此项目,感兴趣可以 去试试 。
或者我们花费几分钟,即可快速部署一个属于自己的 Blinko 实例。
新建目录用于 Blinko 的数据持久化
mkdir blinko && cd $_
生成一个 NEXTAUTH_SECRET 环境变量,填入下面模板的环境变量里
openssl rand -base64 32
新建一个 docker-compose.yml 模板文件 (使用 Docker 绑定数据卷)
services:
blinko:
image: blinkospace/blinko:latest
container_name: blinko-website
environment:
NODE_ENV: production
NEXTAUTH_URL: http://localhost:1111
# change it to your domain
NEXT_PUBLIC_BASE_URL: https://ink.via.moe
NEXTAUTH_SECRET: # openssl rand -base64 32
DATABASE_URL: postgresql://postgres:blinko@postgres:5432/postgres
depends_on:
postgres:
condition: service_healthy
volumes:
- ./data/blinko:/app/.blinko
restart: unless-stopped
ports:
- 127.0.0.1:1111:1111
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://127.0.0.1:1111/"]
interval: 30s
timeout: 10s
retries: 5
start_period: 30s
networks:
- blinko-network
postgres:
image: postgres:14
container_name: blinko-postgres
restart: unless-stopped
environment:
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: blinko
TZ: Asia/Shanghai
volumes:
- ./data/postgres:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready", "-U", "postgres", "-d", "postgres"]
interval: 5s
timeout: 10s
retries: 5
networks:
- blinko-network
networks:
blinko-network:
driver: bridge
一切就绪,起飞!
sudo docker compose up -d
首次启动会进行数据库迁移,观察一下日志
sudo docker compose up logs -f | more
以 Nginx 反向代理为例,新建一个虚拟主机配置文件
sudo vim /etc/nginx/conf.d/your.blinko.domain.conf
看起来类似这样:
server {
listen 80;
listen [::]:80;
# change it to your domain
server_name ink.via.moe;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
# change it to your domain
server_name ink.via.moe;
# change it to your TLS/SSL cert path
ssl_certificate /path/to/your/cert/wild.via.moe.pem;
ssl_certificate_key /path/to/your/cert/wild.via.moe.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ecdh_curve X25519:P-256:P-384;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE+AES128:RSA+AES128:ECDHE+AES
256:RSA+AES256';
ssl_prefer_server_ciphers off;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m;
access_log /var/log/nginx/ink.via.moe.access.log;
error_log /var/log/nginx/ink.via.moe.error.log;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "no-referrer-when-downgrade" always;
add_header Content-Security-Policy "default-src 'self' http: https: data: blob: 'unsafe-inline' 'unsafe-eval'" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
# max upload limit
client_max_body_size 100M;
location / {
proxy_pass http://127.0.0.1:1111;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $realip_remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 3600s;
}
}
检查 Nginx 配置文件
sudo nginx -t
确认 OK,重载配置
sudo nginx -s reload
解析域名到服务器 IP,现在可以打开你的域名访问了,首个注册用户即为管理员。
设置基本的语言和时间格式


除了已经列出的,同样兼容任何与 OpenAI 兼容的 API。此外,若机器网络无法访问 API,Blinko 支持设置 HTTP 代理。

下滑可以调整模型温度、分数、默认提示词等参数

我觉得这个 AI 集成还有个好处:可以将各家模型的免费额度集合在一个地方使用🤔

支持 Tavily ,方便 AI Agent 快速、高效地访问互联网。注册后免费额度为 1000次/月,个人好像够用了?

内建有 MCP 集成

Blinko 有一个漂亮的 音乐播放器,可选注册一个 Spotify API 用于获取上传音乐元数据信息。

使用 Spotify API 解析音乐元数据后,看起来更好看点

总之,Blinko 借助强大的 AI 集成、自然语言搜索以及丰富的插件和服务接口,是一个构建个人知识库的优秀工具。