金融量化AI研究--Claude, Python

这里用来记录一些本人运用Claude编程的心得或笔记

导航

Trilium 打造个人在线笔记本


声明:由于本人也是一步步摸索,所以可能走错路走弯路,现在既然可以用了,就把我走过的路标记一下,以示提醒。

  • 【不必要】本节内容仅供参考,所载内容不是必要步骤
  • 【必须】本节内容是必须完成,不可缺少或跳过
  • 【000】本节内容待验证,某些人/某些系统可能要做

Ubuntu命令行下使用虚拟环境安装 【不必要】

为了避免不同项目之间的包依赖冲突,建议使用虚拟环境。可以使用 venv 模块来创建和管理虚拟环境。

创建虚拟环境
bash
python3 -m venv Trilium

这里的 Trilium 是虚拟环境的名称,可以根据需要修改。

激活虚拟环境
bash
source Trilium/bin/activate

激活虚拟环境后,命令行提示符前会显示虚拟环境的名称。

下载安装【必须】

中文版:https://github.com/Nriver/trilium-translation/releases
安装教程:https://github.com/zadam/trilium/wiki/Manual-server-installation

Requirements【必须】

Trilium is a node.js application. Supported (tested) version of node.js is latest 14.X.X and 16.X.X. Trilium might work with older versions as well.
You can check your node version with this command (node.js needs to be installed):
node --version

If your Linux distribution has only an outdated version of node.js, you can take a look at the installation instruction on node.js website, which covers most popular distributions.
Dependencies
There are some dependencies required. You can see command for Debian and its derivatives (like Ubuntu) below:
sudo apt install libpng16-16 libpng-dev pkg-config autoconf libtool build-essential nasm libx11-dev libxkbfile-dev

Download

You can either download source code zip/tar from latest release or clone git repository from stable branch with

git clone -b stable https://github.com/zadam/trilium.git

cd trilium
# download all node dependencies
npm install
# make sure the better-sqlite3 binary is there
npm rebuild

# bundles & minifies frontend JavaScript
npm run webpack

Run trilium

cd trilium
# using nohup to make sure trilium keeps running after user logs out
nohup TRILIUM_ENV=dev node src/www &

browser and navigate http://localhost:8080

The application by default starts up on port 8080, so you can open your browser and navigate to http://localhost:8080 to access Trilium (replace "localhost" with your hostname).

docker安装【000】

参考:https://wzfou.com/trilium/
https://trilium.smj.im/服务器安装.html
https://www.ftls.xyz/posts/80f7f39e/
还有一篇

下载docker-compose配置文件:https://raw.githubusercontent.com/Nriver/trilium-translation/main/docker-compose.yml

cd ~
mkdir trilium
cd trilium
wget https://raw.githubusercontent.com/Nriver/trilium-translation/main/docker-compose.yml

编辑docker-compose.yml。

vim docker-compose.yml
注意:你可以调整Trilium的数据存储路径,你可以自己做相应的调整。

version: '3'
services:
  trilium-cn:
    image: nriver/trilium-cn
    restart: always
    ports:
      - "8080:8080"
    volumes:
      # 把同文件夹下的 trilium-data 目录映射到容器内
      - ./trilium-data:/root/trilium-data
    environment:
      # 环境变量表示容器内笔记数据的存储路径
      - TRILIUM_DATA_DIR=/root/trilium-data

最后启动运行Docker。
docker-compose up -d

它会从Docker Hub直接拉镜像运行:https://hub.docker.com/repository/docker/nriver/trilium-cn,浏览器打开 http://127.0.0.1:8080 访问服务端,笔记数据会在 docker-compose.yml 同目录下。

如果不是pull回来的docker,而是从别处下载的,或者拉回来的设置有问题,那么要手工运行了
先去portainer看看拉回来的image:

参考官网的指导:https://github.com/zadam/trilium/wiki/Docker-server-installation

然后在ubuntu中运行以下命令【000】:
sudo docker run -t -i -p 127.0.0.1:8080:8080 -v ~/trilium-data:/root/trilium/trilium-linux-x64-server/trilium-data nriver/trilium-cn:latest #这个命令是官网说的本地运行的那种
还有另外一个从任何地方运行的命令:docker run -d -p 0.0.0.0:8080:8080 -v ~/trilium-data:/root/trilium/trilium-linux-x64-server/trilium-data nriver/trilium-cn:latest,这2个命令生成的containername都很奇怪,要自己改一下
结果是这样:

提示:
DB not initialized, please visit setup page - http://[your-server-host]:8080 to see instructions on how to initialize Trilium.
然后,我就进入

选中间那个,下一步:

然后进入trilium windows版,设置一下sync,先保存,再测试

显示连接成功!回到刚才的页面, 点击:这里,会进入设置密码的页面

设置完成,登录即可

登录之后会发现,Web端的数据库和windows端的一致了

使用trilium

Ubuntu下安装cpolar 【不必要,windows下有就行】

官网:https://dashboard.cpolar.com/get-started
Ubuntu下运行命令:

(trilium) root@DESKTOP-D1CRSQO:/# mkdir cpolar
(trilium) root@DESKTOP-D1CRSQO:/# cd cpolar
(trilium) root@DESKTOP-D1CRSQO:/cpolar# wget https://www.cpolar.com/static/downloads/releases/3.3.18/cpolar-stable-linux-amd64.zip
--2025-03-16 02:06:46--  https://www.cpolar.com/static/downloads/releases/3.3.18/cpolar-stable-linux-amd64.zip
Resolving www.cpolar.com (www.cpolar.com)... 61.241.13.249
Connecting to www.cpolar.com (www.cpolar.com)|61.241.13.249|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7423434 (7.1M) [application/zip]
Saving to: ‘cpolar-stable-linux-amd64.zip’

cpolar-stable-linux-amd64.zip 100%[=================================================>]   7.08M  1.36MB/s    in 4.7s

2025-03-16 02:06:51 (1.52 MB/s) - ‘cpolar-stable-linux-amd64.zip’ saved [7423434/7423434]

(trilium) root@DESKTOP-D1CRSQO:/cpolar# ls
cpolar-stable-linux-amd64.zip
(trilium) root@DESKTOP-D1CRSQO:/cpolar# unzip cpolar-stable-linux-amd64.zip
Archive:  cpolar-stable-linux-amd64.zip
  inflating: cpolar
(trilium) root@DESKTOP-D1CRSQO:/cpolar# ls
cpolar  cpolar-stable-linux-amd64.zip

根据官网的命令提示:
连接您的帐户
运行此命令会将您帐户的authtoken添加到您的cpolar.yml文件中。 这将为您提供更多功能,所有打开的隧道将在此处的仪表板中列出。

但是

(trilium) root@DESKTOP-D1CRSQO:/cpolar# cpolar version
cpolar: command not found
(trilium) root@DESKTOP-D1CRSQO:/cpolar# sudo systemctl enable cpolar
Failed to enable unit: Unit file cpolar.service does not exist.
(trilium) root@DESKTOP-D1CRSQO:/cpolar# sudo systemctl start cpolar
Failed to start cpolar.service: Unit cpolar.service not found.

解决办法:

  1. 本地端口监听情况
    执行 netstat -tulnp | grep :8080 后显示 tcp6 0 0 :::8080 ::😗 LISTEN -,这表明有进程在通过 IPv6 监听 8080 端口。不过,我们还不清楚具体是哪个进程,这可能会影响 Cpolar 隧道的连接。
  2. cpolar 命令找不到问题
    问题分析:当你执行 ./cpolar version 时能显示版本信息,但直接执行 cpolar version 却提示 “command not found”,这说明 cpolar 可执行文件所在的目录没有被添加到系统的 PATH 环境变量中。
    解决办法:你可以将 cpolar 可执行文件所在的目录添加到 PATH 环境变量里。假设 cpolar 可执行文件位于 /cpolar 目录,可执行以下命令:
bash
export PATH=$PATH:/cpolar

若想让此设置在每次启动系统时都生效,可将上述命令添加到 ~/.bashrc 或 ~/.bash_profile 文件中。打开文件:

bash
nano ~/.bashrc
在文件末尾添加 export PATH=$PATH:/cpolar,然后保存并退出,再执行以下命令使配置生效:
bash
source ~/.bashrc
  1. cpolar.service 文件不存在问题
    问题分析:执行 sudo systemctl enable cpolar 和 sudo systemctl start cpolar 时提示 “Unit file cpolar.service not found”,这意味着系统中没有 cpolar.service 这个系统服务单元文件,也就是 Cpolar 没有以系统服务的形式正确配置。
    解决办法:
    创建服务文件:使用以下命令创建并编辑 cpolar.service 文件:
bash
sudo nano /etc/systemd/system/cpolar.service
添加服务配置内容:在打开的文件中添加以下内容:
ini
[Unit]
Description=Cpolar service
After=network.target

[Service]
Type=simple
User=root
ExecStart=/cpolar/cpolar start-all
Restart=always

[Install]
WantedBy=multi-user.target

注意,ExecStart 中的 /cpolar/cpolar 要根据你实际的 Cpolar 可执行文件路径进行修改。
保存并退出:按下 Ctrl + X,然后按 Y 确认保存,最后按 Enter 键退出。

重新加载系统服务配置:
bash
sudo systemctl daemon-reload
启用并启动 Cpolar 服务:
bash
sudo systemctl enable cpolar
sudo systemctl start cpolar
  1. 验证 Cpolar 连接
    完成上述步骤后,你可以启动一个简单的隧道来验证 Cpolar 是否能正常连接到本地 8080 端口:
bash
cpolar http 8080

如果一切正常,Cpolar 会输出公网访问地址,你可以使用该地址进行访问测试。

访问这里的:http://127.0.0.1:4044,却提示错误,我也不知道哪里出了问题,难道是因为没有反向代理?

安装反向代理nginx【000】

nginx简介:https://blog.csdn.net/weixin_43460372/article/details/89400106
Ubuntu下安装,参考官方指引:https://nginx.org/en/linux_packages.html#Ubuntu

设置反向代理

官方指引:https://github.com/zadam/trilium/wiki/Server-installation
中文:https://trilium.smj.im/服务器安装.html

nginx


    location /trilium/ {
        proxy_pass http://127.0.0.1:8080/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }

还建议向server {}中添加以下内容取消有效负载的大小限制:


    # set to 0 for unlimited. Default is 1M.
    client_max_body_size 0;

可以通过以下几种方式验证 Nginx 反向代理设置是否成功:

  1. 检查 Nginx 配置语法
    在验证反向代理之前,要确保 Nginx 配置文件语法正确,否则 Nginx 可能无法正常加载配置。在终端中执行以下命令:
bash
sudo nginx -t

若输出显示 syntax is ok 和 test is successful,则表示配置文件语法无误。

  1. 重启 Nginx 服务
    配置文件语法检查通过后,需要重新加载或重启 Nginx 服务,使新的配置生效。执行以下命令:
bash
sudo systemctl reload nginx
或者,若要彻底重启 Nginx:
bash
sudo systemctl restart nginx
  1. 检查 Nginx 服务状态
    使用以下命令查看 Nginx 服务是否正在运行:
bash
sudo systemctl status nginx

若服务正在运行,输出中会显示 active (running)。

  1. 本地访问测试
访问域名
如果配置中使用了域名(如 example.com),你可以在本地的 hosts 文件(Windows 系统位于 C:\Windows\System32\drivers\etc\hosts,Linux 系统位于 /etc/hosts)中添加域名和本地 Nginx 服务器 IP 的映射。例如:
plaintext
127.0.0.1 example.com
然后在浏览器中输入该域名,若能正常访问,且显示的是后端服务器的内容,则说明反向代理可能配置成功。
访问 IP 地址
若没有使用域名,可直接在浏览器中输入 Nginx 服务器的 IP 地址或 localhost 进行访问。例如,若 Nginx 监听的是 80 端口,在浏览器地址栏输入 http://localhost 或 http://<服务器 IP 地址>。
  1. 查看请求头信息
    可以使用工具(如浏览器开发者工具或 curl 命令)查看请求头信息,确认请求是否被正确转发。
使用 curl 命令
在终端中执行以下命令:
bash
curl -I http://example.com
替换 example.com 为你配置的域名或 IP 地址。查看响应头信息,确认是否包含后端服务器的相关信息。
  1. Nginx配置文件位置
    Nginx 的主配置文件通常位于 /etc/nginx/nginx.conf,而具体的虚拟主机配置文件一般存于 /etc/nginx/sites-available/ 和 /etc/nginx/sites-enabled/ 目录。
    查找监听 8080 端口的配置:使用 grep 命令在配置文件中查找包含 8080 的行。例如:
bash
grep -r '8080' /etc/nginx/

在不同地方运行trilium

数据目录【000】

  • 默认情况下站点的数据目录在根路径的 trilium-data 目录中,包含:
  • document.db:文档
  • config.ini:实例设置文件,例如运行Trilium应用程序的端口
  • backup:包含自动的文件备份
  • log:包含应用程序日志文件

如果需要更改站点的数据目录,可以通过环境变量 TRILIUM_DATA_DIR 更改为其他位置:
export TRILIUM_DATA_DIR=/root/trilium/trilium-linux-x64-server/trilium-data
工作目录(本人的):/root/trilium/trilium-linux-x64-server/trilium-data

服务配置【000】

服务配置文件在数据目录下的 config.ini 文件中, 可以定义例如 port 或 TLS 等配置。

如何设置同步【000】

设置从桌面实例到同步服务器的同步
当您已经拥有Trilium的桌面实例并且想要[在Web主机上设置同步服务器)(./服务器安装.md))时,可以使用这种方法。
因此,假设您的服务器实例已经部署,但是尚未初始化(没有数据)。然后打开您的桌面实例,单击Options -> Sync tab -> Sync configuration,并将"Server instance address"设置为指向您的同步服务器。单击Save。

现在单击"Test sync"按钮,它将告诉您与同步服务器的握手是否成功。如果是,则与同步服务器启动同步-客户端开始将所有数据推向服务器实例。这可能需要一些时间才能完成,但是您可以关闭"Options"对话框并继续使用Trilium。
您还可以定期检查服务器实例,以查看同步是否完成。完成后,您应该会看到登录屏幕。

从同步服务器执行安装程序同步执行桌面实例
当您已经有同步服务器并且想要设置桌面实例以与其进行同步时,将使用此方法。
在这里,我们假设您下载了平台的最新版本,并将其解压缩并运行。
由于桌面实例完全是空的,它将首先询问您是要创建初始文档还是要设置与同步服务器的同步-您需要选择第二个选项。

您将需要配置Trilium服务器地址,并且重要的是还要正确的用户名/密码(同步设置需要身份验证)。
点击"Finish setup"按钮,如果一切顺利,您将看到以下界面:

trilium数据库备份


实际地址:

posted on 2025-03-13 01:57  chengjon  阅读(643)  评论(0)    收藏  举报