Broskigx/OIHK-Basic
GitHub: Broskigx/OIHK-Basic
OIHK Basic 是一款本地优先、单用户的社区版调查与研究管理工具,提供案例管理、情报图谱、OSINT 工作空间、证据托管和报告生成等功能。
Stars: 0 | Forks: 0
# OIHK 基础
# ⚠️ 仅供代码审查 —— 非稳定应用 ⚠️
## 项目状态
OIHK Basic 正在积极开发中。目前已发布一个**实验性 alpha 候选版本 (0.1.1-alpha.2)** 作为面向测试人员的预发布版本,并同时提供源代码预览。
- 没有可用的稳定版本。
- 计划分发的仅限于实验性 alpha 候选版本;没有官方安装程序。
- GitHub Actions 不是面向最终用户的公开分发渠道。
- 手动编译仅用于开发、技术审查和受控测试。
- 不保证 commit 之间的兼容性、数据完整性、支持或完整功能。
- 任何测试都应使用一次性数据,并验证外部备份。
发布实验性 alpha 候选版本**并不意味着该应用已经正式发布或达到稳定状态**。该 alpha 版本已被明确标识,期望测试人员报告其中存在的错误。
## 描述
OIHK Basic 是 OIHK 的社区版,具备 local-first 和单用户特性。其目标是利用用户的本地计算机资源来组织授权研究、来源、证据和关联关系,而无需强制要求使用账户、云服务或远程 AI 模型。
该项目存在于其专属代码库中:`Broskigx/OIHK-Basic`。它在运行期间不会导入 OIHK 的代码或数据,并使用自带的 SQLite 数据库、存储和配置。
## 开发中的功能
代码包含或计划了十一个主要领域:
1. 操作 Dashboard,包含最近的研究、审查队列、资源和快捷访问。
2. Investigations,用于创建、编辑、复制、归档、恢复、删除、导入和导出案例。
3. Intelligence Graph,具备 Canvas 2D、多选、摄像机、minimap、layouts、过滤器、pinning、undo/redo 和持久化快照功能。
4. OSINT Workspace,具备显式查询、SQLite 历史记录、取消功能以及受控地提升至图表的功能。
5. Evidence Lab,具备流式上传、托管存储、SHA-256、验证、关联、清单和取证分析功能。
6. Reports,具备分节构建器、模板、历史记录、Markdown、安全 HTML、JSON 和草稿批准功能。
7. Copilot,具备持久化对话和用户配置的本地模型使用功能。
8. Local Models,目前兼容 LM Studio 及其 OpenAI 兼容的本地 endpoint。其他后端仍在开发或验证中。
9. Data Sources,用于审查来源、引用和可靠性。
10. Settings,包含外观、存储、隐私、性能、备份和已脱敏的诊断信息。
11. About,包含限制、隐私、版本和版本范围。
这些功能中可能有一些尚不完整、已被禁用、正在重新设计,或者包含重大错误。
## 项目原则
- SQLite 和本地文件是事实来源。
- 在禁用身份验证时,API 必须仅监听 loopback。
- 没有强制遥测、云同步、许可证、Redis、GraphQL 或企业级基础设施。
- Copilot 和辅助报告是可选的,专为本地或自托管模型设计。
- 在用户明确将结果提升之前,OSINT 查询不得修改图表。
- 证据不得被执行;将其复制到托管存储中,限制大小,并通过 hash 进行验证。
- 系统不得捏造结果、来源或指标。
## 编译和运行 —— 仅限开发
没有推荐的稳定安装程序。Alpha 候选版本(预发布)和手动编译仅供测试人员和技术审查使用,风险自负。
开发要求:
- Python 3.11
- Node.js 22
- 稳定版 Rust 和用于桌面应用的 Tauri 2
```
# Backend
cd backend
python -m pip install -e ".[dev]"
python run.py
# Frontend,在另一个终端中
cd frontend
npm ci
npm run dev
```
开发界面通常位于 `http://127.0.0.1:5173`,API 位于 `http://127.0.0.1:8000`。
各平台的完整编译过程记录在 [docs/BUILDING.md](docs/BUILDING.md) 中。这些说明不会将生成的结果转化为稳定或官方支持的版本。
## 质量与测试
```
python -m ruff check backend/app backend/run.py scripts tests
python -m pytest -q
cd frontend
npm run lint
npm run test -- --run
npm run build
cd ../src-tauri
cargo fmt -- --check
cargo check --locked
cargo test --locked --all-targets
```
自动化测试顺利通过,并不能保证该应用程序已准备好投入生产环境,也不代表所有路由都经过验证,更不排除存在安全漏洞或数据丢失的风险。
## 隐私与本地模型
案例、图表、托管证据、报告、对话、配置和备份均设计为本地存储。OIHK Basic 旨在避免强制依赖云服务。
### Copilot 的当前兼容性
目前,兼容且推荐的本地 backend 是 **LM Studio**,使用其在以下地址的 OpenAI 兼容服务器:
```
http://127.0.0.1:1234
```
用户必须自行在 LM Studio 中加载和维护模型。OIHK Basic 不包含模型权重,也不会自动下载模型。代码中可能部分存在对 Ollama 和其他本地或私有 endpoint 的兼容性,但这部分仍在开发中,在此预览版中不予保证。
为了在研究、规划和工具使用任务中获得更好的结果,如果硬件允许,我们建议使用:
- **orchestrator** 类型的本地模型,专为协调指令、工具和复杂工作流而设计;
- 当用户需要在合法且授权的任务中减少不当拒绝时,可使用 **abliterated** 变体;
- 具备良好指令遵循能力、广泛上下文和推理能力的模型。
abliterated 模型并不能使其所有回复变得正确、合法或安全。它们可能会产生错误、不安全或过于宽松的内容。Copilot 的任何输出都必须在由人工审查后,才能被使用、纳入报告或应用于实际调查。
某些外部来源(如 DNS、RDAP/WHOIS、证书透明度、Brave 或 SearXNG)可能需要网络连接,或者由用户提供 API 密钥或 endpoint。代码库中不得包含私有凭据或供应商密钥。
## 备份与数据
迁移、自动备份和恢复机制仍在开发中。它们不应被视为对数据完整性的保证。
在进行任何测试时:
- 请使用一次性数据;
- 保留外部备份;
- 验证备份是否可以恢复;
- 请勿将 OIHK Basic 作为证据或重要信息的唯一副本。
## 分发与更新
Alpha 候选版本 (0.1.1-alpha.x) 作为预发布版本发布在 **GitHub Releases** 中,并附带有版本说明和更新程序签名,但**该渠道并未向最终用户开放**,且可能会发生变更或被撤回。
请勿下载或重新分发二进制文件,也不要将其视为稳定或官方版本。
预期的架构在 [docs/UPDATES.md](docs/UPDATES.md) 中进行了说明,未来的发布流程则在 [docs/RELEASING.md](docs/RELEASING.md) 中有所描述。
## 可选身份验证
Basic 默认被设计为无需登录的单用户应用程序,并将后端保留在 loopback 上。对于自定义部署,可考虑使用 `OIHK_AUTH_ENABLED=true` 以及 JWT 和 CSRF 保护。在出现稳定版本之前,此模式也应被视为实验性的。
## 与标准版 OIHK 的区别
OIHK Basic 旨在保留本地专业的调查工作流和高级 canvas,但不包含多用户协作、组织管理、私有连接器、云同步、计费、许可证或分布式基础设施。
标准版 OIHK 和 OIHK Basic 在独立的代码库中进行开发和发布。
## 授权使用
OIHK Basic 旨在处理公开来源或用户合法导入的数据。它不授权访问第三方的系统、账户或私有数据。
其目标不包含绕过 CAPTCHA、逃避检测、他人的身份验证访问、大规模枚举、面部识别或收集非公开网络。尚未完成的功能和已知的限制记录在 [docs/KNOWN_LIMITATIONS.md](docs/KNOWN_LIMITATIONS.md) 中。
## 许可证
MIT。请参阅 [LICENSE](LICENSE)。
标签:ESC4, OSINT, SQLite, 可视化界面, 情报分析, 本地优先, 网络诊断, 自动化攻击