为Obsidian配置本地图床

安装piclist-core

  1. 通过npm命令安装
1
npm install piclist-core -g
  1. 查询安装的路径
1
2
npm list -g --depth 0 # 查看全局安装的包
npm get prefix # 查看全局安装路径

找出picgo-server安装的具体路径。

config.json配置

根据系统情况下修改picgo-server的配置文件,并将config.json拷贝到piclist默认的用户目录下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{
"picBed": {
"current": "local",
"uploader": "local",
"local": {
"path": "图片需要本地存储的目录", //注意不同系统本地路径不一致,此路径也需要和http服务路径保持一致
"customUrl": "http://localhost:8045", //此为图床访问的http服务地址
"webPath": ""
}
},
"buildIn": {
"rename": {
"enable": true,
"format": "{Y}{m}{d}{h}{i}{s}"
}
},
"settings": {
"server": {
"port": 36677,
"host": "127.0.0.1",
"enable": true
}
},
"picgoPlugins": {}
}

Windows系统

准备工作

  1. 官网下载:https://nssm.cc/download
  2. 解压后出nssm.exe后,不要移动 / 删除 nssm.exe,注册服务后它是服务载体NSSM
  3. 右键【开始菜单】→ 以管理员身份打开 CMD / PowerShell(必须管理员权限)
  4. cd 进入 nssm 所在目录

通过nssm安装Windows服务

  1. 注册服务
1
2
# nssm install <service_name> <executable_path>
nssm install picgoServer $path/picgo-server.cmd -c "C:\Users\$username\AppData\Roaming\piclist\config.json"

注意:注册服务时,config.json路径需要使用双引号包裹在执行 nssm install 命令前,$path/picgo-server.cmd -c "C:\Users\$username\AppData\Roaming\piclist\config.json"可以先测试命令执行后功能是否正常

  1. 启动服务
1
nssm start picgoServer

卸载服务

1
nssm remove picgoServer

Linux系统

准备工作

  1. 下载小型http服务器软件 miniserve https://github.com/svenstaro/miniserve/releases
  2. 将miniserve 拷贝到~/.local/bin 目录,并赋予应用可执行权限

配置systemd服务

新建一个/home/$user$/.config/systemd/user/piclist.service文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Unit]
Description=PicList local image bed
After=network.target

[Service]
Type=simple
# 注意:这里使用你 ~/.local/bin 下的picgo-serve进制
ExecStart=/home/$user$/.local/bin/picgo-server -c /home/$user$/.piclist/config.json
Restart=on-failure
RestartSec=3
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=default.target

注意:将上面所有的$user$替换本地用户。在实际部署以前可以先执行/home/$user$/.local/bin/picgo-server -c /home/$user$/.piclist/config.json命令,检查各项配置是否正确

部署与启动

1
2
3
4
5
# 重载systemd用户配置
systemctl --user daemon-reload

# 开机自启 + 立即启动
systemctl --user enable --now piclist.service

部署http服务

根据不同操作系统,可以将miniserve也部署成一个服务,以下以Linux系统为例:

新建一个/home/$user$/.config/systemd/user/miniserve.service文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[Unit]
Description=Miniserve static asset server for PicList local image bed
After=network.target

[Service]
Type=simple
# 注意:这里使用你 ~/.local/bin 下的miniserve二进制
# 这里的web 目录和上面的picgo-server配置一致
ExecStart=/home/$user$/.local/bin/miniserve /home/$user$/Pictures/images/ -p 8045 -i 127.0.0.1 --no-symlinks
Restart=on-failure
RestartSec=3
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=default.target

部署与启动

1
2
3
4
5
# 重载systemd用户配置
systemctl --user daemon-reload

# 开机自启 + 立即启动
systemctl --user enable --now miniserve.service

配置Obsdian

在Obsidan第三方插件市场下载image-auto-upload插件。配置image-auto-upload:

  1. 开启剪切板自动上传功能, 开启这个功能以后粘贴的图片会自动上传图床;
  2. 将默认上传器配置成picgo(app) ;
  3. 其他用默认配置

此时,即可在obsdian中直接粘贴图片,图片会借助image auto load插件,通过piclist自动上传到图床。piclist会按照配置的本地url返回给obsdian,此时就可以在预览页面上直接查看到粘贴的图片。

配置typora

typora原生支持粘贴图片通过第三方工具自动上传。在Image配置界面中:

  1. 将When-insert-images 选型配置成:Upload Image,并勾选触发条件Apply above rules to local images。

  2. Image Upload Setting 选配置成:Custom Command,具体名配置成: picgo upload,如果typora提示错误,则将picgo upload配置完整路径。

作者

Mixion

发布于

2026-09-12

更新于

2026-09-19

许可协议