Probe-Point-Analytics-LLC/Obsidian-OSINT-Copilot-plugin
GitHub: Probe-Point-Analytics-LLC/Obsidian-OSINT-Copilot-plugin
一款面向 Obsidian 的 OSINT 调查插件,帮助安全分析师在本地知识库中组织、分析和可视化情报实体与关系网络。
Stars: 2 | Forks: 1
# Obsidian 的 OSINT Copilot
**一个全面的 Obsidian OSINT 调查插件**,可帮助 SOC 分析师和威胁研究人员组织、分析和可视化情报数据。在您的 Obsidian 库中管理实体、关系、时间线和地理数据。

## 目录
- [功能概述](#features-overview)
- [安装](#installation)
- [入门指南](#getting-started)
- [用户指南](#user-guide)
- [实体管理](#entity-management)
- [关系映射](#relationship-mapping)
- [AI 驱动的功能](#ai-powered-features)
- [可视化工具](#visualization-tools)
- [地理编码与位置情报](#geocoding--location-intelligence)
- [设置](#settings)
- [故障排除](#troubleshooting)
- [隐私与安全](#privacy--security)
## 功能概述
### 🆓 **免费功能** (无需许可证)
- **实体图表视图** - 可视化实体之间的关系
- **时间线视图** - 按时间顺序跟踪事件
- **位置地图视图** - 地址的地理可视化
- **实体管理** - 创建和组织实体 (人物、公司、地点等)
- **关系映射** - 使用类型化的关系连接实体
- **地理编码** - 将地址转换为坐标,支持自动回退
### 🔐 **AI 驱动的功能** (需要许可证密钥)
- **实体提取** - 自动从文本中提取实体
- **报告生成** - 从您的笔记生成 OSINT 报告
- **暗网调查** - 搜索和分析暗网内容
- **库问答** - 询问有关您库内容的问题
- **智能实体识别** - AI 驱动的实体分类
## 安装
### 选项 A — BRAT (推荐)
在现有库中安装 OSINT Copilot 的最简单方法:
1. **安装 BRAT:** 设置 → 第三方插件 → 浏览 → 搜索 **"BRAT"** → 安装 → 启用
2. **添加 OSINT Copilot:** 设置 → BRAT → **Add Beta Plugin**
3. **粘贴 URL:** `https://github.com/Probe-Point-Analytics-LLC/Obsidian-OSINT-Copilot-plugin`
4. **启用插件:** 设置 → 第三方插件 → **OSINT Copilot** → 启用
BRAT 将自动保持插件最新。
### 选项 B — 预配置模板 (最适合新用户)
下载我们的模板库,其中预装了插件和一个示例调查:
```
git clone --recursive https://github.com/Probe-Point-Analytics-LLC/OSINT-Copilot-Obsidian-Template.git
```
然后在 Obsidian 中将克隆的文件夹作为库打开。
或者,从 [模板仓库](https://github.com/Probe-Point-Analytics-LLC/OSINT-Copilot-Obsidian-Template) 下载 ZIP 并将其解压缩。
### 选项 C — 手动安装
1. 从 [最新发布版本](https://github.com/Probe-Point-Analytics-LLC/Obsidian-OSINT-Copilot-plugin/releases) 下载 `main.js`、`manifest.json` 和 `styles.css`
2. 创建一个文件夹:`.obsidian/plugins/Obsidian-OSINT-Copilot-plugin/`
3. 将这三个文件复制到该文件夹中
4. 重启 Obsidian
5. 在 设置 → 第三方插件 → **OSINT Copilot** 中启用
### 验证安装
- 您应该在左侧栏中看到 OSINT Copilot 图标
- 点击图标打开聊天界面
- 插件即可使用!
### 更新插件
- **BRAT 用户:** 更新是自动的
- **模板/手动用户:** `cd` 进入插件文件夹并运行 `git pull origin main`,然后重启 Obsidian
## 入门指南
### 刚接触 Obsidian?(2 分钟入门)
OSINT Copilot 利用了 Obsidian,这是一个强大的本地优先知识库。这里有一个快速入门:
| 术语 | 含义 |
|---|---|
| 库 | 您电脑上存放笔记的文件夹。Obsidian 在该文件夹内读取/写入文件。 |
| 笔记 | 您库中的一个 Markdown (`.md`) 文件。 |
| 第三方插件 | 您可以在 Obsidian 中安装以添加功能 (如 OSINT Copilot) 的可选附加组件。 |
| 命令面板 | Obsidian 中的一个搜索框,允许您运行命令。 |
在 Obsidian 中哪里可以找到这些东西:
- **设置**:点击齿轮图标 (通常在左下角)。
- **第三方插件**:设置 -> 第三方插件。
- **命令面板**:按 `Ctrl + P` (Windows/Linux) 或 `Cmd + P` (macOS)。
### 首要步骤
安装完成后,您会在左侧边栏中看到 OSINT Copilot 工具:

该插件提供了可从聊天界面访问的三个主要模式:
1. **📊 报告** - 生成 OSINT 报告
2. **🕵️ 暗网** - 调查暗网内容
3. **🔍 查询** - 搜索和分析实体

### 示例:调查 Lukoil
在本指南中,我们将使用一个真实世界的例子:调查 **Lukoil**,一家俄罗斯石油公司。这展示了 OSINT Copilot 如何帮助您组织复杂的调查。
## 用户指南
### 实体管理
实体是您 OSINT 调查的构建块。它们代表人物、公司、地点、事件和其他感兴趣的对象。
#### 支持的实体类型
OSINT Copilot 支持 **FollowTheMoney (FTM)** 模式,其中包括:
- **Person** - 个人
- **Company** - 公司和企业
- **Organization** - 非营利组织、政府机构
- **Address** - 物理位置
- **Event** - 事件、会议、交易
- **Vehicle** - 汽车、轮船、飞机
- **BankAccount** - 金融账户
- **CryptoWallet** - 加密货币钱包
- **UserAccount** - 在线账户
- **Document** - 文件、报告、证据
- **RealEstate** - 房地产和土地
- **Passport** - 旅行证件
- **Sanction** - 制裁和限制
#### 创建实体
**方法 1:通过图表视图手动创建**
1. 点击左侧栏中的 **Graph View** 图标
2. 点击 **"+ Create Entity"** 按钮
3. 选择实体类型 (例如,"Company")
4. 填写实体的属性

**方法 2:AI 驱动的实体提取**
1. 打开 OSINT Copilot 聊天
2. 启用 **Entity Generation** 模式 (底部的开关)
3. 粘贴包含实体信息的文本
4. AI 将自动提取并创建实体

#### 编辑实体
实体作为 Markdown 文件存储在您的库中 (默认:`OSINTCopilot/` 文件夹)。每个实体具有:
- **Frontmatter** - 结构化元数据 (ID、类型、属性)
- **属性部分** - 键值对
- **关系部分** - 指向相关实体的链接
- **笔记部分** - 自由形式的分析
**示例:Lukoil 公司实体**

实体表单显示:
- **必填字段** - 始终可见 (例如,名称、国家)
- **精选字段** - 常用属性
- **可选字段** - 默认折叠,可展开以查看详细数据
### 关系映射
关系连接实体以显示它们是如何关联的。OSINT Copilot 使用 **FollowTheMoney** 关系模式进行标准化的情报映射。
#### 创建关系
**方法 1:手动创建**
1. 打开一个实体笔记 (例如,一个 Person)
2. 点击 **"Edit Entity"**
3. 滚动到 **Relationships** 部分
4. 点击 **"+ Add Relationship"**
5. 选择关系类型和目标实体

**方法 2:AI 生成的关系**
使用实体生成模式时,AI 会自动在提取的实体之间创建关系。

#### 关系类型
该插件支持 FollowTheMoney 关系类型:
**Person → Company:**
- `director_of` - 董事会成员或董事
- `shareholder_of` - 持股人
- `beneficial_owner_of` - 最终受益人
- `employee_of` - 员工或承包商
- `advisor_to` - 顾问或建议人
**Company → Company:**
- `subsidiary_of` - 母子公司关系
- `partner_of` - 商业伙伴关系
- `supplier_to` - 供应链关系
- `client_of` - 客户关系
**Entity → Location:**
- `registered_in` - 法定注册地
- `operates_in` - 业务运营地
- `related_to` - 一般关联
**Person ↔ Person:**
- `associate_of` - 职业或个人关联
- `family_of` - 家庭关系
- `alias_of` - 替代身份
**以及更多** - 完整的 FTM 模式包含数十种关系类型,用于全面的情报映射。
### AI 驱动的功能
AI 功能需要有效的许可证密钥。这些功能使用高级语言模型来自动化情报收集和分析。
#### 设置 AI 功能
1. 打开 **设置** → **OSINT Copilot**
2. 输入您的 **License Key**
3. 点击 **"Test Connection"** 进行验证
4. 验证成功后,所有 AI 功能将被启用
#### 报告生成
从您的笔记和实体生成全面的 OSINT 报告。
**如何使用:**
1. 打开 OSINT Copilot 聊天
2. 启用 **📊 Report** 模式
3. 输入您的调查目标 (例如,"Lukoil")
4. AI 将会:
- 搜索您的库以获取相关信息
- 提取实体和关系
- 生成结构化的报告
- 将其保存到您的报告文件夹中

生成的报告包括:
- 执行摘要
- 实体概况
- 关系分析
- 事件时间线
- 来源引用

#### 实体提取
自动从非结构化文本中提取实体。
**如何使用:**
1. 打开 OSINT Copilot 聊天
2. 启用 **Entity Generation** 模式 (底部的开关)
3. 粘贴文本 (例如,新闻报道、报告、文档)
4. AI 将会:
- 识别实体 (人物、公司、地点等)
- 提取属性 (姓名、地址、日期等)
- 在您的库中创建实体笔记
- 建立实体之间的关系
**示例:** 粘贴一篇关于 Lukoil 的新闻文章,AI 将提取:
- 公司:Lukoil
- 人物:CEO、董事会成员
- 地点:总部、运营地
- 事件:合并、制裁、事故
- 关系:所有权、雇佣、合作伙伴关系
#### 暗网调查
搜索和分析暗网内容以获取威胁情报。
**如何使用:**
1. 打开 OSINT Copilot 聊天
2. 启用 **🕵️ Dark Web** 模式
3. 输入您的搜索查询
4. AI 将会:
- 搜索暗网来源
- 分析结果
- 提取相关情报
- 呈现带有来源归属的结果
**用例:**
- 泄露的凭证
- 威胁行为者档案
- 恶意软件分析
- 数据泄露调查
#### 库问答
询问有关您库内容的问题并获得智能回答。
**如何使用:**
1. 打开 OSINT Copilot 聊天
2. 提出问题 (例如,"What do we know about Lukoil's operations in Moldova?")
3. AI 将会:
- 搜索您的库以获取相关笔记
- 分析内容
- 提供全面的答案
- 显示带有可点击链接的来源笔记
**示例问题:**
- "Who are the key executives at Lukoil?"
- "What sanctions have been imposed on Lukoil?"
- "What locations are associated with Lukoil?"
### 可视化工具
可视化工具是**完全免费**的,无需许可证密钥即可使用。它们帮助您理解情报数据中复杂的关系和模式。
#### 实体图表视图
将实体及其关系可视化为交互式网络图。
**如何使用:**
1. 点击左侧栏中的 **Graph View** 图标 (或使用命令面板:"Open Entity Graph")
2. 图表显示:
- **节点** - 实体 (按类型色)
- **边缘** - 关系 (标有类型)
- **交互控制** - 缩放、平移、过滤

**功能:**
- **颜色编码的实体** - Person、Company、Location 等使用不同颜色
- **关系标签** - 查看实体是如何连接的
- **点击打开** - 点击任何实体以打开其笔记
- **按类型过滤** - 显示/隐藏特定的实体类型
- **搜索** - 在图表中查找特定实体
**示例:** Lukoil 调查图表显示:
- Lukoil (Company) 位于中心
- 关联的高管 (Person)
- 子公司 (Company)
- 运营地点 (Address)
- 相关事件 (Event)
#### 时间线视图
按时间顺序跟踪事件以了解活动的顺序。
**如何使用:**
1. 点击左侧栏中的 **Timeline View** 图标 (或使用命令面板:"Open Timeline")
2. 时间线显示:
- **事件** - 按日期排序
- **实体关联** - 涉及哪些实体
- **交互式导航** - 滚动浏览时间

**用例:**
- 跟踪公司里程碑
- 调查事件时间线
- 分析威胁行为者活动
- 监控制裁事件
**示例:** Lukoil 时间线可能显示:
- 1991:公司成立
- 2014:卷入克里米亚吞并
- 2022:受到欧盟制裁
- 2023:子公司重组
#### 位置地图视图
在交互式地图上可视化地理数据。
**如何使用:**
1. 点击左侧栏中的 **Map View** 图标 (或使用命令面板:"Open Location Map")
2. 地图显示:
- **标记** - 带有地理坐标的实体
- **弹窗** - 点击标记查看实体详情
- **交互式地图** - 缩放、平移、探索

**功能:**
- **自动地理编码** - 将地址转换为坐标
- **多语言支持** - 处理国际地址
- **回退地理编码** - 如果精确地址失败,则显示城市/国家
- **OpenStreetMap** - 免费、开源的地图服务
**示例:** Lukoil 地图可能显示:
- 俄罗斯莫斯科的总部
- 遍布欧洲的炼油厂
- 多个国家的零售加油站
- 海上作业
### 地理编码与位置情报
OSINT Copilot 包含强大的地理编码服务,可将地址转换为地理坐标,从而实现地图可视化和空间分析。
#### 地理编码如何工作
该插件使用 **Nominatim** 地理编码服务 将地址转换为经纬度坐标。
**功能:**
- ✅ **多语言支持** - 处理任何语言的地址 (西里尔文、阿拉伯文、中文等)
- ✅ **特殊字符处理** - 正确编码国际字符 (ş, ă, ñ 等)
- ✅ **优雅降级** - 如果精确地址失败,会自动尝试更简单的查询
- ✅ **免费服务** - 无需 API 密钥
#### 地理编码地址
**方法 1:自动地理编码**
当创建带有地址字段的 Location/Address 实体时,地理编码会自动进行。
**方法 2:手动地理编码**
1. 打开一个 Location 实体笔记
2. 点击 **"Edit Entity"**
3. 填写地址字段 (地址、城市、国家)
4. 点击 **"📍 Geolocate Address"**
5. 插件将会:
- 尝试完整地址
- 如果失败,尝试不包含门牌号
- 如果失败,尝试仅街道和城市
- 如果失败,尝试城市和国家
- 如果失败,尝试仅城市
6. 坐标会自动填充

#### 地理编码回退策略
地理编码服务使用智能回退策略来处理难以解析的地址:
**示例:摩尔多瓦地址**
```
Original: str. Şevcenco, nr. 81/11, Tiraspol, Moldova
```
**回退序列:**
1. 尝试完整地址:`str. Şevcenco, nr. 81/11, Tiraspol, Moldova`
2. 去掉门牌号:`str. Şevcenco, Tiraspol, Moldova`
3. 去掉街道前缀:`Şevcenco, Tiraspol, Moldova`
4. 城市和国家:`Tiraspol, Moldova` ✓ **成功**
5. 仅城市:`Tiraspol`
服务会自动使用成功的**最具体结果**。
#### 支持的地址格式
地理编码服务可识别常见的地址模式:
- **门牌号:** `nr. 81/11`, `#45`, `123`
- **街道前缀:** `str.`, `strada`, `st.`, `rue`, `calle`
- **国际格式:** 罗马尼亚语、俄语、阿拉伯语、中文等
#### 地理编码故障排除
**找不到地址:**
- 检查城市和国家的拼写
- 尝试去掉门牌号或街道前缀
- 如果可用,使用英文音译
- 对于争议领土 (例如,德涅斯特河沿岸),使用更广泛的地区名称
**特殊字符不工作:**
- 插件会自动处理 UTF-8
- 如果问题持续存在,请尝试 ASCII 等效项 (例如,用 "Sevcenco" 代替 "Şevcenco")
**速率限制:**
- Nominatim 有使用限制 (每秒 1 个请求)
- 插件会在请求之间自动等待
- 如果您看到速率限制错误,请等待几秒钟后重试
## 设置
配置 OSINT Copilot 以符合您的工作流程和要求。
### 访问设置
1. 打开 Obsidian 设置 (⚙️)
2. 导航到 **Community Plugins** → **OSINT Copilot**
### 可用设置
| 设置 | 描述 | 默认值 | 必需 |
|---------|-------------|---------|----------|
| **License Key** | 用于 AI 功能的 OSINT Copilot 许可证密钥 | 空 | 仅用于 AI 功能 |
| **Entity Base Path** | 存储实体笔记的文件夹 | `OSINTCopilot` | 否 |
| **Report Output Directory** | 生成报告的文件夹 | `Reports` | 否 |
| **Conversation Folder** | 聊天对话历史记录的文件夹 | `.osint-copilot/conversations` | 否 |
| **Max Notes** | 包含在 AI 上下文中的最大笔记数 | 15 | 否 |
| **System Prompt** | 库问答的默认提示词 | "You are a vault assistant..." | 否 |
| **Graph API URL** | AI 功能的 API 端点 | `https://api.osint-copilot.com` | 仅用于 AI 功能 |
| **Enable Graph Features** | 开启/关闭可视化功能 | 启用 | 否 |
### 为 SOC 分析师推荐的设置
**用于团队协作:**
- 将 `Entity Base Path` 设置为共享文件夹 (例如,`Intelligence/Entities`)
- 将 `Report Output Directory` 设置为 `Reports/OSINT`
- 为您的库启用版本控制
**用于注重隐私的工作:**
- 保持 `Enable Graph Features` 开启 (在本地运行,不发送数据)
- 仅在需要时启用 AI 功能
- 检查 `System Prompt` 以确保不包含敏感数据
**用于大型调查:**
- 将 `Max Notes` 增加到 20-30 以获取更多上下文
- 在子文件夹中组织实体 (例如,`OSINTCopilot/Lukoil/`, `OSINTCopilot/Sanctions/`)
## 故障排除
### 常见问题 (快速修复)
| 问题 | 修复方法 |
|---|---|
| 找不到第三方插件 | 转到 **设置 -> 第三方插件** 并关闭 **安全模式**。 |
| 插件未在浏览列表中显示 | 使用手动安装方法 (或通过模板安装)。 |
| 手动安装后插件未显示 | 确保文件夹名为 `.obsidian/plugins/Obsidian-OSINT-Copilot-plugin/` 并且直接包含 `main.js`。重启 Obsidian。 |
| "Invalid License key" / 功能被锁定 | 确保您从 osint-copilot.com/dashboard 复制的 License Key 完全正确且没有空格。验证您的套餐是否已用尽额度。 |
| AI 分析 / 报告似乎不完整 | 源材料可能缺乏足够的细节。尝试直接对原始文本使用实体提取模式。 |
| 实体未链接 / 未出现在图表中 | 验证 "Entity Base Path" 设置是否与您保存实体的位置匹配。刷新图表视图。 |
### 常见问题与解决方案
#### "License key required" 提示
**问题:** 您看到一个提示,说明 AI 功能需要许可证密钥。
**解决方案:**
1. 打开 设置 → OSINT Copilot
2. 在 "License Key" 字段中输入您的许可证密钥
3. 点击 "Test Connection" 进行验证
4. 如果您没有许可证密钥,可视化功能 (图表、时间线、地图) 仍然可以免费使用
#### 特定地址的地理编码失败
**问题:** 点击 "📍 Geolocate Address" 失败或未返回结果。
**解决方案:**
1. **检查地址拼写** - 确保城市和国家拼写正确
2. **简化地址** - 尝试去掉门牌号或街道前缀
3. **使用英文名称** - 对于国际地点,尝试英文音译
4. **检查拼写错误** - 例如:"Moldov" 应该是 "Moldova"
5. **等待并重试** - 如果受到速率限制,等待 2-3 秒然后重试
**示例修复:**
- ❌ `str. Şevcenco, nr. 81/11, Tiraspol, Moldov` (国家拼写错误)
- ✅ `str. Şevcenco, nr. 81/11, Tiraspol, Moldova`
- ✅ `Tiraspol, Moldova` (简化版)
#### 实体未出现在图表视图中
**问题:** 已创建的实体未显示在实体图表中。
**解决方案:**
1. **刷新图表** - 关闭并重新打开图表视图
2. **检查实体文件夹** - 确保实体位于正确的文件夹中 (设置 → Entity Base Path)
3. **验证 frontmatter** - 打开实体笔记并检查 frontmatter 是否包含 `type:` 和 `id:`
4. **检查文件格式** - 实体笔记必须是具有正确 YAML frontmatter 的 `.md` 文件
**示例有效的 frontmatter:**
```
---
id: "abc123-def456-ghi789"
type: Company
label: "Lukoil"
---
```
#### AI 功能不工作
**问题:** 报告生成、实体提取或暗网搜索失败。
**解决方案:**
1. **验证许可证密钥** - 设置 → OSINT Copilot → Test Connection
2. **检查互联网连接** - AI 功能需要互联网访问
3. **查看错误消息** - 检查聊天中的具体错误详情
4. **重试** - 暂时的 API 问题可能会在重试后解决
5. **联系支持** - 如果问题持续存在,请报告带有错误详情的问题
#### 库问答中出现 "No relevant notes found"
**问题:** 提问返回 "No relevant notes found."
**解决方案:**
1. **使用更广泛的搜索词** - 尝试更通用的关键词
2. **重新索引库** - 命令面板 → "Vault AI: Reindex vault"
3. **检查库内容** - 确保您的库包含具有相关内容的 Markdown 文件
4. **验证笔记格式** - 笔记应为标准的 Markdown 文件 (而非画布、PDF 等)
#### 时间线视图不显示事件
**问题:** 时间线视图为空或缺少事件。
**解决方案:**
1. **创建 Event 实体** - 时间线仅显示类型为 "Event" 的实体
2. **添加日期属性** - 事件需要一个 `date` 或 `startDate` 属性
3. **检查日期格式** - 使用 ISO 格式:`YYYY-MM-DD` (例如,`2023-05-15`)
4. **刷新视图** - 关闭并重新打开时间线视图
**示例 Event 实体:**
```
---
id: "event-001"
type: Event
label: "Lukoil Sanctions Imposed"
date: "2022-03-15"
---
```
#### 地图视图不显示位置
**问题:** 位置地图为空或缺少标记。
**解决方案:**
1. **创建 Address/Location 实体** - 地图仅显示带有坐标的实体
2. **添加坐标** - 使用 "📍 Geolocate Address" 按钮添加经纬度
3. **检查坐标格式** - 经度和纬度应为十进制数字
4. **刷新视图** - 关闭并重新打开地图视图
**带有坐标的示例 Location 实体:**
```
---
id: "loc-001"
type: Address
label: "Lukoil Headquarters"
city: "Moscow"
country: "Russia"
latitude: 55.7558
longitude: 37.6173
---
```
#### 插件未加载
**问题:** OSINT Copilot 未出现在插件列表中或加载失败。
**解决方案:**
1. **检查安装** - 验证 `main.js`、`manifest` 和 `styles.css` 是否位于插件文件夹中
2. **启用插件** - 设置 → Community Plugins → 开启 OSINT Copilot
3. **重启 Obsidian** - 关闭并重新打开 Obsidian
4. **检查控制台** - 打开开发者工具 (Ctrl+Shift+I) 并检查错误
5. **重新安装** - 删除插件文件夹并从头开始重新安装
## 隐私与安全
OSINT Copilot 在设计时充分考虑了隐私和安全性。
### 数据存储
- **实体笔记** - 作为 Markdown 文件本地存储在您的 Obsidian 库中
- **许可证密钥** - 通过 Obsidian 的 data API 安全存储 (已加密)
- **对话历史** - 本地存储在 `.osint-copilot/conversations/` 中
- **无云同步** - 除非您明确启用 Obsidian Sync 或使用 Git
### 数据传输
**免费功能 (不发送数据):**
- ✅ 实体图表视图 - 完全在本地运行
- ✅ 时间线视图 - 完全在本地运行
- ✅ 位置地图视图 - 仅向 OpenStreetMap 发送地理编码请求 (公共 API)
**AI 功能 (数据发送至 API):**
- ⚠️ 报告生成 - 将相关笔记摘录发送至 API
- ⚠️ 实体提取 - 将用户提供的文本发送至 API
- ⚠️ 暗网搜索 - 将搜索查询发送至 API
- ⚠️ 库问答 - 将相关笔记摘录发送至 API
**不发送的内容:**
- ❌ 您的整个库
- ❌ 与查询无关的笔记
- ❌ 许可证密钥 (仅用于身份验证请求头)
- ❌ 个人信息 (除非明确写在笔记中)
### 安全最佳实践
1. **发送前审查** - 检查您发送到 AI 功能的文本
2. **使用本地功能** - 图表、时间线和地图无需互联网即可工作
3. **脱敏敏感数据** - 在使用 AI 功能前移除 PII
4. **启用加密** - 如果需要,请使用 Obsidian 的库加密
5. **审计对话** - 定期检查 `.osint-copilot/conversations/`
6. **保护您的库** - 为云同步使用强密码和 2FA
### 合规性
- **GDPR** - 插件本身不收集个人数据
- **数据保留** - 对话历史本地存储;如有需要可手动删除
- **第三方 API** - AI 功能使用外部 API (请参阅 API 提供商的隐私政策)
- **开源** - 代码可供安全审计
### 地理编码隐私
地理编码服务使用 **Nominatim** (OpenStreetMap):
- 将地址查询发送至 `https://nominatim.openstreetmap.org`
- 无需身份验证
- 受 Nominatim 使用政策和隐私政策的约束
- 请求包含 User-Agent 请求头:`OSINTCopilot/1.0`
## 许可证
PROBE POINT ANALYTICS SRL - 源可用许可证
- 详情请参阅 LICENSE 文件。
## 致谢
灵感与借鉴来源:
- **obsidian-copilot-plugin** - AI 集成模式
- **obsidian-smart-connections** - 库索引
- **OpenSanctions/FollowTheMoney** - 实体模式和关系类型
- **Nominatim/OpenStreetMap** - 地理编码服务
## 支持
如有问题、功能请求或疑问:
- **GitHub Issues** - 报告错误或请求功能
- **文档** - 查阅此 README 获取指南
- **社区** - 加入 Obsidian 社区论坛
## 更新日志
### 近期改进
**地理编码增强:**
- ✅ 多语言地址支持 (西里尔文、阿拉伯文、中文等)
- ✅ 针对难以解析的地址的优雅回退
- ✅ 使用更简单查询的自动重试
- ✅ 特殊字符处理 (ş, ă, ñ 等)
- ✅ 支持国际地址格式
**实体管理:**
- ✅ FollowTheMoney 模式集成
- ✅ 精选/可选属性组织
- ✅ 改进的带有折叠部分的实体表单
- ✅ 更好的关系管理
**可视化:**
- ✅ 增强的带有过滤功能的图表视图
- ✅ 用于事件跟踪的时间线视图
- ✅ 带有地理编码的交互式地图
**为 OSINT 分析师和威胁研究人员用 ❤️ 制作**
标签:AI安全分析, ESC4, GitHub, Obsidian插件, OSINT, 关系映射, 图谱视图, 地理空间情报, 地理编码, 威胁情报, 安全运营, 实体提取, 实时处理, 密码管理, 开发者工具, 情报分析软件, 情报可视化, 扫描框架, 数据组织与分析, 智能问答, 暗网调查, 自动化攻击, 防御加固