整理目录结构
This commit is contained in:
@@ -1,62 +0,0 @@
|
||||
---
|
||||
title: 𝗔𝗜 𝗶𝘀 𝗘𝗻𝘁𝗲𝗿𝗶𝗻𝗴 𝘁𝗵𝗲 𝗔𝗴𝗲 𝗼𝗳 𝗔𝗴𝗲𝗻𝗰𝘆 – 𝗠𝗼𝘃𝗶𝗻𝗴 𝗕𝗲𝘆𝗼𝗻𝗱 𝗔𝘂𝘁𝗼𝗺𝗮𝘁𝗶𝗼𝗻
|
||||
source: https://www.linkedin.com/posts/brijpandeyji_%F0%9D%97%94%F0%9D%97%9C-%F0%9D%97%B6%F0%9D%98%80-%F0%9D%97%98%F0%9D%97%BB%F0%9D%98%81%F0%9D%97%B2%F0%9D%97%BF%F0%9D%97%B6%F0%9D%97%BB%F0%9D%97%B4-%F0%9D%98%81%F0%9D%97%B5%F0%9D%97%B2-%F0%9D%97%94%F0%9D%97%B4%F0%9D%97%B2-activity-7300006199884738562-S9dc/?utm_medium=ios_app&rcm=ACoAADE1eGIB9ndhzD0qmslDUew4rjAk2upsYtg&utm_source=social_share_send&utm_campaign=copy_link
|
||||
author:
|
||||
published:
|
||||
created: 2025-03-02
|
||||
description:
|
||||
tags:
|
||||
- agentic-ai
|
||||
- ai
|
||||
---
|
||||
𝗔𝗜 𝗶𝘀 𝗘𝗻𝘁𝗲𝗿𝗶𝗻𝗴 𝘁𝗵𝗲 𝗔𝗴𝗲 𝗼𝗳 𝗔𝗴𝗲𝗻𝗰𝘆 – 𝗠𝗼𝘃𝗶𝗻𝗴 𝗕𝗲𝘆𝗼𝗻𝗱 𝗔𝘂𝘁𝗼𝗺𝗮𝘁𝗶𝗼𝗻
|
||||
|
||||
AI is no longer just about automating tasks—it’s evolving into Agentic AI, where systems think, decide, adapt, and interact intelligently.
|
||||
|
||||
These AI agents operate autonomously, learning from feedback and dynamically engaging with users and external environments.
|
||||
|
||||
But what does that mean?
|
||||
|
||||
Let's break it down with the Agentic AI Layers Framework:
|
||||
|
||||
1\. Governance & Auditability – Building Trust & Compliance
|
||||
• Transparent Decision Logs – AI maintains an audit trail of its decisions.
|
||||
• Regulatory Compliance – Aligns with legal and ethical AI standards.
|
||||
• Explainability – AI justifies its reasoning for user confidence and accountability.
|
||||
|
||||
2\. Operational Independence – AI That Thinks & Acts
|
||||
• Self-Learning – Improves continuously through real-world interactions.
|
||||
• Autonomous Decision-Making – Executes tasks independently within set guidelines.
|
||||
• Automated Workflows – Enhances efficiency by streamlining processes.
|
||||
• Scalability & Real-Time Adaptation – Dynamically adjusts to demand and insights.
|
||||
|
||||
3\. External Interactions & Multi-Modal Interfaces – Seamless AI-Human Collaboration
|
||||
• API Integrations – AI connects with external data sources and tools.
|
||||
• Multi-Modal Support – Engages via text, voice, images, and beyond.
|
||||
• Natural Language Understanding – Processes and responds intelligently to human queries.
|
||||
|
||||
4\. Ethics & Safety – Ensuring Responsible AI Development
|
||||
• Privacy Protection – Secure data handling in compliance with regulations.
|
||||
• Bias Detection & Mitigation – Actively identifies and corrects biases.
|
||||
• Harm Prevention – Prevents misinformation and harmful outputs.
|
||||
|
||||
5\. Knowledge Base & RAG (Retrieval-Augmented Generation) – AI with a Stronger Memory
|
||||
• Contextual Retrieval – Fetches relevant information for precise, context-aware responses.
|
||||
• Fact-Checking – Cross-verifies data before generating content.
|
||||
• Domain-Specific Intelligence – AI tailored for finance, healthcare, legal, and other specialized fields.
|
||||
|
||||
6\. LLM & Generative Capabilities – AI That Thinks Deeper
|
||||
• Reasoning & Adaptability – Understands complex queries and adapts to intent.
|
||||
• Real-Time Data Access – Enhances responses with up-to-date information.
|
||||
• Continuous Fine-Tuning – Learns and improves over time.
|
||||
|
||||
Why Does This Matter?
|
||||
As AI shifts toward autonomy, balancing efficiency, transparency, and ethical responsibility is critical.
|
||||
|
||||
Industries like finance, healthcare, cybersecurity, and enterprise automation stand to gain immensely—but only if we build AI that operates responsibly.
|
||||
|
||||
Your Take?
|
||||
|
||||
Should AI be fully autonomous, or should human oversight always be required?
|
||||
|
||||

|
||||
@@ -1,5 +1,6 @@
|
||||
# Ubuntu 安装 FRP 0.65.0(x86_64)操作笔记
|
||||
|
||||
#ubuntu #frp #frpc
|
||||
```table-of-contents
|
||||
```
|
||||
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
### 星枢
|
||||
|
||||
```
|
||||
MTQ4Mzc1NjU3MzA3ODcyMDU4Mg.Gs2jxl.y8x3s2cobewfnPqTbN2UEFX8vQmBoL05o67Z70
|
||||
```
|
||||
|
||||
### 星曜
|
||||
```
|
||||
MTQ4Mzc2ODUzNTc3NDkyNDg0Mg.GKl-Vh.QtTZv0JTyo562ePcm0mT0r4miGdroi3zs2AAtA
|
||||
```
|
||||
|
||||
openclaw channels add --channel discord --account xingyao --token MTQ4Mzc2ODUzNTc3NDkyNDg0Mg.GKl-Vh.QtTZv0JTyo562ePcm0mT0r4miGdroi3zs2AAtA
|
||||
|
||||
|
||||
openclaw agents bind --agent xingyao --bind discord:xingyao
|
||||
|
||||
|
||||
### 星辉
|
||||
```
|
||||
MTQ4Mzc1NjM0NDA5MDU1ODUwNQ.GNce-D.k9FqIrSMgcu6bpu4Qo7-bhGYDBA5laF0u5Bp3o
|
||||
```
|
||||
|
||||
openclaw channels add --channel discord --account xinghui --token MTQ4Mzc1NjM0NDA5MDU1ODUwNQ.GNce-D.k9FqIrSMgcu6bpu4Qo7-bhGYDBA5laF0u5Bp3o
|
||||
|
||||
|
||||
openclaw agents bind --agent xinghui --bind discord:xinghui
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.1 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.0 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.0 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.0 MiB |
@@ -1,5 +1,6 @@
|
||||
# OpenClaw 备份脚本使用指南
|
||||
|
||||
#openclaw #backup #openclaw-cron-job
|
||||
## 概述
|
||||
|
||||
OpenClaw 备份脚本用于自动备份 OpenClaw 配置到 NAS 存储。
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# Mac Mini 配置 SSH 免密登录到 NAS
|
||||
|
||||
#openclaw #mac-mini #ssh
|
||||
## 概述
|
||||
|
||||
本文档记录 Mac Mini (192.168.3.189) 配置 SSH 免密登录到 NAS (192.168.3.17) 的详细步骤。
|
||||
|
||||
@@ -1,445 +0,0 @@
|
||||
# Mac Mini WebDAV 服务配置指南
|
||||
|
||||
## 目的
|
||||
在 Mac Mini 上通过原生 Apache 配置 WebDAV 服务,用于共享 Obsidian 笔记。
|
||||
|
||||
---
|
||||
|
||||
## 一、Mac Mini 本地配置
|
||||
|
||||
### 步骤 1: 启用 WebDAV 模块
|
||||
|
||||
编辑 Apache 配置文件,启用 DAV 模块:
|
||||
|
||||
```bash
|
||||
sudo nano /etc/apache2/httpd.conf
|
||||
```
|
||||
|
||||
找到以下行并取消注释(去掉 `#`):
|
||||
|
||||
```apache
|
||||
LoadModule dav_module libexec/apache2/mod_dav.so
|
||||
LoadModule dav_fs_module libexec/apache2/mod_dav_fs.so
|
||||
LoadModule dav_lock_module libexec/apache2/mod_dav_lock_module
|
||||
```
|
||||
|
||||
### 步骤 2: 创建 DavLockDB 目录
|
||||
|
||||
WebDAV 需要一个目录来存储锁文件:
|
||||
|
||||
```bash
|
||||
sudo mkdir -p /var/run/dav
|
||||
sudo chown _www:_www /var/run/dav
|
||||
```
|
||||
|
||||
### 步骤 3: 创建 WebDAV 目录并链接 Obsidian
|
||||
|
||||
```bash
|
||||
sudo mkdir -p /Library/WebServer/Documents/Obsidian
|
||||
sudo ln -s /Users/weishen/Obsidian/shenwei /Library/WebServer/Documents/Obsidian/shenwei
|
||||
```
|
||||
|
||||
### 步骤 4: 配置 WebDAV
|
||||
|
||||
创建配置文件:
|
||||
|
||||
```bash
|
||||
sudo nano /etc/apache2/other/webdav.conf
|
||||
```
|
||||
|
||||
**配置内容(完整版):**
|
||||
|
||||
```apache
|
||||
DavLockDB /var/run/dav/DavLock
|
||||
|
||||
<IfModule mod_dav.c>
|
||||
DAVMinTimeout 240
|
||||
</IfModule>
|
||||
|
||||
Alias /webdav "/Library/WebServer/Documents"
|
||||
|
||||
<Directory "/Library/WebServer/Documents">
|
||||
Options Indexes FollowSymLinks
|
||||
AllowOverride None
|
||||
Require all granted
|
||||
|
||||
DAV On
|
||||
DAVDepthInfinity off
|
||||
|
||||
Header set Allow "OPTIONS, GET, HEAD, POST, PUT, DELETE, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK"
|
||||
|
||||
AuthType Basic
|
||||
AuthName "WebDAV"
|
||||
AuthUserFile /etc/apache2/webdav.users
|
||||
Require valid-user
|
||||
</Directory>
|
||||
```
|
||||
|
||||
### 步骤 5: 创建访问用户
|
||||
|
||||
```bash
|
||||
sudo htpasswd -c /etc/apache2/webdav.users webdav
|
||||
```
|
||||
|
||||
输入密码: `macmini_dav`
|
||||
|
||||
> **注意**: 用户名和密码需要与后续 Obsidian 客户端配置一致
|
||||
|
||||
### 步骤 6: 设置目录权限(重要!)
|
||||
|
||||
WebDAV 需要 Apache 运行用户 (`_www`) 对 Obsidian 目录有读写权限:
|
||||
|
||||
```bash
|
||||
# 修复用户目录权限
|
||||
sudo chmod o+x /Users/weishen
|
||||
sudo chmod -R o+rx /Users/weishen/Obsidian
|
||||
|
||||
# 将 Obsidian 目录所有权改为 _www
|
||||
sudo chown -R _www:_www /Library/WebServer/Documents/Obsidian
|
||||
sudo chown -R _www:_www /Users/weishen/Obsidian/shenwei
|
||||
sudo chmod -R 775 /Users/weishen/Obsidian/shenwei
|
||||
```
|
||||
|
||||
### 步骤 7: 启动 Apache 服务
|
||||
|
||||
```bash
|
||||
sudo apachectl start
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 二、FRP 端口映射配置
|
||||
|
||||
在 Mac Mini 上编辑 FRP 配置文件:
|
||||
|
||||
```bash
|
||||
sudo nano /opt/frp/frp_0.65.0_darwin_arm64/frpc.toml
|
||||
```
|
||||
|
||||
**添加以下配置(WebDAV 使用 80 端口):**
|
||||
|
||||
```toml
|
||||
[[proxies]]
|
||||
name = "macmini-webdav"
|
||||
type = "tcp"
|
||||
localIP = "127.0.0.1"
|
||||
localPort = 80
|
||||
remotePort = 60080
|
||||
```
|
||||
|
||||
> **重要**: 如果 Mac Mini 上设置了代理(科学上网),需要在 FRPC 启动时添加 `no_proxy` 环境变量:
|
||||
> ```bash
|
||||
> export no_proxy="192.227.222.142,127.0.0.1,localhost"
|
||||
> cd /opt/frp/frp_0.65.0_darwin_arm64 && ./frpc -c frpc.toml
|
||||
> ```
|
||||
|
||||
---
|
||||
|
||||
## 三、VPS1 Caddy 反向代理配置
|
||||
|
||||
在 VPS1 上编辑 Caddyfile:
|
||||
|
||||
```bash
|
||||
sudo nano /etc/caddy/Caddyfile
|
||||
```
|
||||
|
||||
**添加以下配置:**
|
||||
|
||||
```bash
|
||||
# WebDAV 外网访问
|
||||
macwebdav.ishenwei.online {
|
||||
reverse_proxy localhost:60080
|
||||
}
|
||||
```
|
||||
|
||||
**重载 Caddy 配置:**
|
||||
|
||||
```bash
|
||||
sudo systemctl reload caddy
|
||||
```
|
||||
|
||||
> **注意**: 需要先在 DNS 服务商处添加 A 记录:
|
||||
> - 主机记录: `macwebdav`
|
||||
> - 记录类型: `A`
|
||||
> - 记录值: `192.227.222.142` (VPS1 IP)
|
||||
|
||||
---
|
||||
|
||||
## 四、防火墙配置
|
||||
|
||||
### VPS1 防火墙(如果使用 UFW)
|
||||
|
||||
```bash
|
||||
sudo ufw allow 60080/tcp
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 五、常用命令
|
||||
|
||||
### Apache 命令
|
||||
|
||||
| 命令 | 功能 |
|
||||
|------|------|
|
||||
| `sudo apachectl start` | 启动 Apache |
|
||||
| `sudo apachectl stop` | 停止 Apache |
|
||||
| `sudo apachectl restart` | 重启 Apache |
|
||||
| `sudo apachectl -t` | 检查配置语法 |
|
||||
| `sudo apachectl -M \| grep dav` | 确认 WebDAV 模块已加载 |
|
||||
|
||||
### FRP 命令
|
||||
|
||||
```bash
|
||||
# 重启 FRPC(Mac Mini 上)
|
||||
# in tmux
|
||||
tmux attach -t frpc
|
||||
# 停止现有进程 (Ctrl+C in tmux)
|
||||
# 重启(注意添加 no_proxy)
|
||||
export no_proxy="192.227.222.142,127.0.0.1,localhost" && cd /opt/frp/frp_0.65.0_darwin_arm64 && ./frpc -c frpc.toml
|
||||
```
|
||||
|
||||
### Caddy 命令(VPS1)
|
||||
|
||||
```bash
|
||||
sudo systemctl reload caddy
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 六、Obsidian 客户端连接配置(最终验证版本)
|
||||
|
||||
### 配置参数
|
||||
|
||||
| 配置项 | 值 |
|
||||
|--------|-----|
|
||||
| **服务器地址** | `https://macwebdav.ishenwei.online/webdav/Obsidian/` |
|
||||
| **用户名** | `webdav` |
|
||||
| **密码** | `macmini_dav` |
|
||||
| **鉴权类型** | `basic` |
|
||||
| **Depth header** | `只支持 depth='1'` |
|
||||
|
||||
### 配置步骤
|
||||
|
||||
1. 打开 Obsidian
|
||||
2. 安装 **Remotely Save** 插件(或其他 WebDAV 同步插件)
|
||||
3. 选择远程服务为 **WebDAV**
|
||||
4. 填写上方配置参数
|
||||
5. 点击 **检查** 按钮验证连接
|
||||
6. 开始同步
|
||||
|
||||
---
|
||||
|
||||
## 七、内网访问
|
||||
|
||||
- **URL**: `http://192.168.3.189/webdav/`
|
||||
- **用户名**: `webdav`
|
||||
- **密码**: `macmini_dav`
|
||||
|
||||
---
|
||||
|
||||
## 八、注意事项
|
||||
|
||||
1. **安全提示**:
|
||||
- Basic 认证密码明文传输,建议仅在内网使用
|
||||
- 外网访问建议配合 HTTPS(Caddy 自动提供 Let's Encrypt)
|
||||
|
||||
2. **端口规划**:
|
||||
- Apache: 80
|
||||
- FRP 映射: 60080
|
||||
|
||||
3. **防火墙**:
|
||||
- Mac 防火墙需允许 80 端口入站
|
||||
- VPS 防火墙需开放 FRP 映射的端口
|
||||
|
||||
4. **开机自启**:
|
||||
- Apache 开机自动启动(MacOS 默认行为)
|
||||
- FRPC 需配置开机自启(tmux 或 launchd)
|
||||
|
||||
5. **代理问题**:
|
||||
- 如果 Mac Mini 使用科学上网代理,FRPC 需要设置 `no_proxy` 环境变量
|
||||
- 参考上面的 FRP 命令部分
|
||||
|
||||
---
|
||||
|
||||
## 九、故障排除
|
||||
|
||||
### 问题:500 Internal Server Error
|
||||
|
||||
**原因**: DavLockDB 目录权限不足
|
||||
|
||||
**解决**:
|
||||
```bash
|
||||
sudo chown -R _www:_www /var/run/dav
|
||||
```
|
||||
|
||||
### 问题:403 Forbidden
|
||||
|
||||
**原因**: Obsidian 目录权限不足,Apache 无法写入
|
||||
|
||||
**解决**:
|
||||
```bash
|
||||
sudo chown -R _www:_www /Library/WebServer/Documents/Obsidian
|
||||
sudo chown -R _www:_www /Users/weishen/Obsidian/shenwei
|
||||
sudo chmod -R 775 /Users/weishen/Obsidian/shenwei
|
||||
```
|
||||
|
||||
### 问题:无法解析域名
|
||||
|
||||
**原因**: DNS 记录未生效
|
||||
|
||||
**解决**:
|
||||
1. 确认 DNS A 记录已添加
|
||||
2. 等待 5-30 分钟 DNS 传播
|
||||
3. 本地刷新 DNS 缓存:`sudo dscacheutil -flushcache`
|
||||
|
||||
### 问题:FRPC 连接超时
|
||||
|
||||
**原因**: Mac Mini 代理设置干扰 FRPC 连接
|
||||
|
||||
**解决**:
|
||||
```bash
|
||||
export no_proxy="192.227.222.142,127.0.0.1,localhost"
|
||||
```
|
||||
|
||||
### 检查 Apache 状态
|
||||
```bash
|
||||
sudo apachectl status
|
||||
```
|
||||
|
||||
### 查看日志
|
||||
```bash
|
||||
sudo tail -f /var/log/apache2/error_log
|
||||
```
|
||||
|
||||
### 确认 WebDAV 模块加载
|
||||
```bash
|
||||
sudo apachectl -M | grep -E "dav|webdav"
|
||||
```
|
||||
|
||||
### 测试本地访问
|
||||
```bash
|
||||
curl -u webdav:macmini_dav http://127.0.0.1/webdav/
|
||||
```
|
||||
|
||||
### 测试 FRP 端口连通性(VPS1)
|
||||
```bash
|
||||
curl -u webdav:macmini_dav http://localhost:60080/webdav/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 十、测试步骤
|
||||
|
||||
### 阶段 1: Apache 本地测试(Mac Mini)
|
||||
|
||||
#### 1.1 检查 Apache 状态
|
||||
```bash
|
||||
sudo apachectl status
|
||||
```
|
||||
**预期输出**: Apache 运行中 (running)
|
||||
|
||||
#### 1.2 确认 WebDAV 模块已加载
|
||||
```bash
|
||||
sudo apachectl -M | grep -E "dav|webdav"
|
||||
```
|
||||
**预期输出**:
|
||||
- `dav_module (shared)`
|
||||
- `dav_fs_module (shared)`
|
||||
- `dav_lock_module (shared)`
|
||||
|
||||
#### 1.3 测试本地认证访问
|
||||
```bash
|
||||
curl -u webdav:macmini_dav -I http://127.0.0.1/webdav/
|
||||
```
|
||||
**预期输出**: HTTP/1.1 200 OK
|
||||
|
||||
#### 1.4 列出 WebDAV 目录内容
|
||||
```bash
|
||||
curl -u webdav:macmini_dav -X PROPFIND -H "Depth: 1" http://127.0.0.1/webdav/Obsidian/shenwei/
|
||||
```
|
||||
**预期输出**: XML 格式的目录列表
|
||||
|
||||
---
|
||||
|
||||
### 阶段 2: FRP 连通性测试
|
||||
|
||||
#### 2.1 检查 FRPC 状态(Mac Mini)
|
||||
```bash
|
||||
tmux capture-pane -t frpc -p | tail -10
|
||||
```
|
||||
**预期输出**: 看到 `[macmini-webdav] start proxy success`
|
||||
|
||||
#### 2.2 测试 VPS1 端口监听
|
||||
```bash
|
||||
# 在 VPS1 上执行
|
||||
sudo ss -tlnp | grep 60080
|
||||
```
|
||||
**预期输出**: `*:60080 LISTEN`
|
||||
|
||||
#### 2.3 测试内网通过 FRP 访问(从 VPS1 测试)
|
||||
```bash
|
||||
# 在 VPS1 上执行
|
||||
curl -u webdav:macmini_dav -I http://localhost:60080/webdav/
|
||||
```
|
||||
**预期输出**: HTTP/1.1 200 OK
|
||||
|
||||
---
|
||||
|
||||
### 阶段 3: Caddy 反向代理测试
|
||||
|
||||
#### 3.1 检查 DNS 解析
|
||||
```bash
|
||||
dig +short macwebdav.ishenwei.online
|
||||
```
|
||||
**预期输出**: `192.227.222.142`
|
||||
|
||||
#### 3.2 测试 HTTPS 访问
|
||||
```bash
|
||||
curl -k -u webdav:macmini_dav -I https://macwebdav.ishenwei.online/webdav/
|
||||
```
|
||||
**预期输出**: HTTP/1.1 200 OK
|
||||
|
||||
---
|
||||
|
||||
### 阶段 4: 完整链路测试清单
|
||||
|
||||
| 序号 | 测试项 | 测试命令/方法 | 预期结果 |
|
||||
|------|--------|--------------|----------|
|
||||
| 1 | Apache 运行中 | `sudo apachectl status` | running |
|
||||
| 2 | WebDAV 模块已加载 | `apachectl -M \| grep dav` | dav_module |
|
||||
| 3 | 本地认证访问 | `curl -u webdav:macmini_dav http://127.0.0.1/webdav/` | 200 OK |
|
||||
| 4 | FRPC 运行正常 | 查看 tmux 日志 | proxy success |
|
||||
| 5 | VPS1 端口监听 | `ss -tlnp \| grep 60080` | LISTEN |
|
||||
| 6 | 外网 HTTPS 访问 | `curl -k -u webdav:macmini_dav https://macwebdav.ishenwei.online/` | 200 OK |
|
||||
| 7 | Obsidian 连接 | 客户端测试 | 同步成功 |
|
||||
|
||||
---
|
||||
|
||||
## 十一、配置汇总表
|
||||
|
||||
| 项目 | 值 |
|
||||
| --------------------------------- | -------------------------------------------------- |
|
||||
| 内网 URL | http://192.168.3.189/webdav/ |
|
||||
| 外网域名 | https://macwebdav.ishenwei.online |
|
||||
| **Obsidian Remotely Save 最终配置路径** | https://macwebdav.ishenwei.online/webdav/Obsidian/ |
|
||||
| FRP 本地端口 | 80 |
|
||||
| FRP 远程端口 | 60080 |
|
||||
| WebDAV 用户 | webdav |
|
||||
| WebDAV 密码 | macmini_dav |
|
||||
|
||||
---
|
||||
|
||||
## 十二、关键修正记录
|
||||
|
||||
本配置在测试过程中发现并修复了以下问题:
|
||||
|
||||
1. **WebDAV 模块未启用**: 需要在 `httpd.conf` 中取消注释 DAV 相关模块
|
||||
2. **DavLockDB 权限问题**: 需要创建目录并设置 `_www` 所有权
|
||||
3. **符号链接权限问题**: 符号链接使用绝对路径 `/Users/weishen/...`
|
||||
4. **Obsidian 目录权限**: 需要将目录所有权改为 `_www` 并设置 775 权限
|
||||
5. **FRPC 代理干扰**: Mac Mini 的代理设置会干扰 FRPC 连接,需要设置 `no_proxy`
|
||||
6. **DNS 解析延迟**: 添加 DNS 记录后需要等待传播
|
||||
|
||||
---
|
||||
|
||||
*文档更新时间: 2026-03-19*
|
||||
@@ -1,5 +1,6 @@
|
||||
# Ubuntu2 SSH 配置
|
||||
|
||||
#openclaw #ubuntu #ssh
|
||||
## 背景
|
||||
Ubuntu2 需要能够通过 "ssh nas" 免密登录到 NAS。
|
||||
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
## 备份状态表格
|
||||
|
||||
| 日期 | 时间 | 服务器 | 备份文件 | 状态 |
|
||||
|------|------|--------|----------|------|
|
||||
| 日期 | 时间 | 服务器 | 备份文件 | 状态 |
|
||||
| ---------- | ----- | -------- | ----------------------------------- | ---- |
|
||||
| 2026-03-20 | 06:19 | Mac Mini | openclaw-macmini-20260320061934.tar | ✅ 成功 |
|
||||
| 2026-03-20 | 06:19 | Ubuntu2 | openclaw-ubuntu2-20260320061935.tar | ✅ 成功 |
|
||||
| 2026-03-20 | 06:19 | Ubuntu2 | openclaw-ubuntu2-20260320061935.tar | ✅ 成功 |
|
||||
| 2026-03-20 | 06:18 | Mac Mini | openclaw-macmini-20260320061855.tar | ✅ 成功 |
|
||||
| 2026-03-20 | 06:18 | Ubuntu2 | openclaw-ubuntu2-20260320061855.tar | ✅ 成功 |
|
||||
| 2026-03-20 | 06:18 | Ubuntu2 | openclaw-ubuntu2-20260320061855.tar | ✅ 成功 |
|
||||
| 2026-03-18 | 22:00 | Mac Mini | openclaw-macmini-20260318220030.tar | ✅ 成功 |
|
||||
| 2026-03-18 | 22:00 | Ubuntu2 | openclaw-ubuntu2-20260318220030.tar | ✅ 成功 |
|
||||
| 2026-03-18 | 22:00 | Ubuntu2 | openclaw-ubuntu2-20260318220030.tar | ✅ 成功 |
|
||||
| 2026-03-17 | 22:00 | Mac Mini | openclaw-macmini-20260317220010.tar | ✅ 成功 |
|
||||
| 2026-03-17 | 22:00 | Ubuntu2 | openclaw-ubuntu2-20260317220011.tar | ✅ 成功 |
|
||||
| 2026-03-17 | 22:00 | Ubuntu2 | openclaw-ubuntu2-20260317220011.tar | ✅ 成功 |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,94 +0,0 @@
|
||||
# Smart Trip Quote - Code Review 速览报告
|
||||
|
||||
**审查日期**: 2026-03-20
|
||||
**审查范围**: 全体代码快速概览
|
||||
**代码规模**: ~6000+ 行 Python 代码
|
||||
|
||||
---
|
||||
|
||||
## 📊 项目结构
|
||||
|
||||
```
|
||||
smart-trip-quote/
|
||||
├── apps/
|
||||
│ ├── models/ # 数据模型 (~2500行)
|
||||
│ ├── admin/ # 管理后台 (~2500行)
|
||||
│ ├── api/ # API 接口 (~1100行)
|
||||
│ ├── migrations/ # 数据库迁移
|
||||
│ └── web/ # Vue.js 前端
|
||||
├── config/ # Django 配置
|
||||
├── services/ # 服务层 (空目录)
|
||||
├── tests/ # 测试用例
|
||||
└── doc/ # 项目文档
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ 做得好的地方
|
||||
|
||||
### 1. 模型设计
|
||||
- 使用 `BaseModel` 统一管理时间戳字段
|
||||
- 使用 `TextChoices` 定义枚举类型(清晰易读)
|
||||
- 字段注释完整 (`db_comment`)
|
||||
|
||||
### 2. 验证逻辑
|
||||
- `RequirementValidator` 类集中管理验证逻辑
|
||||
- 多层次验证(字段格式、业务逻辑)
|
||||
|
||||
### 3. API 设计
|
||||
- RESTful 风格
|
||||
- 使用 drf-yasg 生成 API 文档
|
||||
- Webhook 处理完整(日志、事务)
|
||||
|
||||
### 4. 管理后台
|
||||
- Inline 编辑提升用户体验
|
||||
- 自定义模板(行程预览)
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ 需要关注的点
|
||||
|
||||
### 1. 安全配置
|
||||
```python
|
||||
# settings.py
|
||||
SECRET_KEY = os.getenv('SECRET_KEY', 'django-insecure-k4c4l...') # 默认密钥不应提交
|
||||
DEBUG = os.getenv('APP_DEBUG', 'True') == 'True' # 生产环境应关闭
|
||||
```
|
||||
|
||||
### 2. services/ 目录为空
|
||||
- README 提到的 LLM 服务在代码中未找到
|
||||
- 可能是遗留或未实现
|
||||
|
||||
### 3. 测试覆盖
|
||||
- 有测试文件但质量未知
|
||||
- 需要验证测试通过率
|
||||
|
||||
### 4. 冗余代码
|
||||
- `apps/admin/pricing.py`, `prompt.py` 等文件为空 (0行)
|
||||
|
||||
### 5. 依赖管理
|
||||
- `.env copy` 文件名不规范(可能是临时文件)
|
||||
|
||||
---
|
||||
|
||||
## 🔍 建议后续深入审查
|
||||
|
||||
| 模块 | 优先级 | 关注点 |
|
||||
|------|--------|--------|
|
||||
| **API 安全** | 高 | 权限控制、输入验证、SQL注入 |
|
||||
| **Webhook** | 高 | 事务处理、异常回滚 |
|
||||
| **Model** | 中 | 关联关系、索引优化 |
|
||||
| **前端** | 中 | API 调用、状态管理 |
|
||||
|
||||
---
|
||||
|
||||
## 📝 Action Items
|
||||
|
||||
1. [ ] 检查 `.env` 文件是否已加入 .gitignore
|
||||
2. [ ] 确认 LLM 服务实现位置
|
||||
3. [ ] 运行测试确认代码质量
|
||||
4. [ ] 清理空文件/临时文件
|
||||
|
||||
---
|
||||
|
||||
*快速概览完成,详细审查需进一步深入各模块。*
|
||||
Reference in New Issue
Block a user