voytas75/sourcetrace
GitHub: voytas75/sourcetrace
一个本地优先、以证据为核心的 OSINT 案件审查与工作流系统,将源材料转化为可追溯声明和可审查输出。
Stars: 0 | Forks: 0
# SourceTrace
SourceTrace 是一个本地优先的、以证据为中心的 OSINT 工作系统。
LLM 输出应保持作为辅助层,而不是事实来源。
## 本项目是什么
SourceTrace 是:
- 一个用于证据优先的 OSINT 工作流的本地系统
- 一个用于案件、文档、声明、核实、审查和报告流程的 web/API 运行时
- 一个将源材料转化为可追溯声明和可审查输出的工具
## SourceTrace 的适用人群
SourceTrace 适用于:
- 希望基于证据推导出声明和报告的分析师或操作员
- 希望检查系统边界和验证面的技术审查员
- 需要真实的本地引导和清晰产品边界的协作者
## 本项目不是什么
- 不是托管的 SaaS 服务
- 不是可以取代分析师审查的自主研究代理
- 不是通用的爬虫或生产级摄取平台
## 产品立场
- 证据第一,声明第二,报告最后
- 原始证据和解释保持分离
- 来源可信度仅供参考,独立于声明支持之外
## 核心工作流
1. 为调查或主题创建一个案件
2. 将源文本准备成块
3. 提取声明并检查支持性证据
4. 在生成报告输出之前审查结果
## 典型用例
- 将某个主题作为案件进行调查,并在一个本地流程中统一管理源材料、数据块、声明和审查状态
## 环境要求
- Python `>=3.13`
- 包管理器 / 工作流:`uv`
- litellm
## 快速开始
```
uv sync --dev --extra dev
uv run pytest -q
```
### 3. 启动本地运行时
```
uv run python -m sourcetrace.web
```
预期启动表现:
- SourceTrace 本地服务器监听于 http://127.0.0.1:8000
然后打开:
- `http://127.0.0.1:8000/`
## 运行时模式
### A. 轻量 Web 模式
```
uv run sourcetrace-web
```
### B. 本地启动器模式
环境变量:
- `SOURCETRACE_LLM_API_KEY`
- `SOURCETRACE_LLM_BASE_URL`
- `SOURCETRACE_LLM_API_VERSION`
- `AZURE_OPENAI_API_KEY`
- `SOURCETRACE_CONTINUITY_PACK_ROOT_DIR`
```
PYTHONPATH=src ./.venv/bin/python -m sourcetrace.www_control start --mode local-launcher
PYTHONPATH=src ./.venv/bin/python -m sourcetrace.www_control wait --host 127.0.0.1 --port 8000 --timeout-seconds 15
PYTHONPATH=src ./.venv/bin/python -m sourcetrace.www_control status --mode local-launcher
PYTHONPATH=src ./.venv/bin/python -m sourcetrace.www_control stop --mode local-launcher
PYTHONPATH=src ./.venv/bin/python -m sourcetrace.local_launcher
```
## SourceTrace 目前能做什么
- 提供本地 HTML 落地页和本地 API 面
- 通过当前活动视图和上一最新视图管理 continuity-pack 状态
- 运行有边界的 Deep Research 流程,并持久化进度和结果产物
## 目前可以在本地验证的内容
- 本地 API 健康/就绪/运行时/能力路由
- `python -m sourcetrace.smoke_flow`
- `python -m sourcetrace.credibility_smoke`
## 最小冒烟测试清单
```
curl http://127.0.0.1:8000/
curl http://127.0.0.1:8000/api/health
curl http://127.0.0.1:8000/api/ready
curl http://127.0.0.1:8000/api/runtime
PYTHONDONTWRITEBYTECODE=1 PYTHONPATH=src python -m sourcetrace.smoke_flow --pretty
```
## 仍需注意的事项
- `.env` 不会由仓库本身加载;所需的密钥来自进程环境
- 轻量级的 `sourcetrace.web` 路径是一个基于标准库的本地运行时,而非生产级服务器栈
- 在真实的 provider 下,更广泛的提取/规范化/可信度行为应被视为依赖于本地运行时,除非重新进行在线验证
## 开发者说明
开发者/操作员详细信息已移至:
- [`README-dev.md`](README-dev.md)
该文件涵盖了本地运行时变体、环境变量、更深入的命令参考、冒烟测试流程以及开发限制。
## 文档索引
- `docs/architecture-ssot.md`
- `docs/architecture/architecture-ssot.md`
- `docs/execution-blueprint.md`
- `docs/plans/execution-blueprint-v0.md`
- `docs/plans/local-launcher-readiness-ssot.md`
- `docs/plans/2026-06-05-verification-control-plane-ssot.md`
- `docs/plans/2026-05-24-credibility-inline-continuity-ssot.md`
- `docs/plans/2026-05-24-credibility-policy-closeout.md`
- `docs/plans/2026-05-26-source-trace-research-to-backlog-plan.md`
- `docs/deep-research-implementation-slice-v1.md`
其他所有对于初步了解项目非必需的内容,都应作为本地工作材料放在 `notes/` 目录中,而不是作为面向公众的文档。
本地专属笔记、账本和临时研究产物被特意排除在远程仓库之外。
标签:ESC4, LLM集成, OSINT, Python, 代码示例, 多模态安全, 工作流引擎, 数据分析, 无后门, 证据验证, 逆向工具