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, 代码示例, 多模态安全, 工作流引擎, 数据分析, 无后门, 证据验证, 逆向工具