集成和扩展点
Screph 通过数据、适配器、配置文件和内部注册表进行扩展,但它目前不是安装任意第三方插件的平台。此页面将受支持的面向用户的集成点与仍需要源更改的机制分开。
您现在可以使用的内容
| 表面 | 状态 | 合同 |
|---|---|---|
| Canonical project / derived JSON | Implemented | 项目的版本化 JSON 架构、for_ai_agent、树模块和 CV 清单。外部消费者读取文件,而不是内部 Qt 状态。 |
| Automation Python API | Implemented | automation_runtime 加载项目、查找图像或文本并执行显式输入操作。 |
| LLM / speech connections | Implemented | 支持的提供程序、本地运行时和自定义 OpenAI 兼容端点的可配置配置文件。这是一个配置界面,而不是 Python 插件加载器。 |
| 语义规则目录 | Implemented | “语义”选项卡接受外部 JSON 目录路径。文件已验证; selection_semantics.rule_catalog_load_failed 阻止语义命令路径而不是默默地回退。 |
| Custom YOLO weights | Implemented | 可以导入自定义 .pt 文件。该文件保留在磁盘上,但其自定义注册表项当前仅存在于正在运行的进程中。 |
代码库中“插件”的含义
代码库包含 InspectionPluginRegistry 和 TimelinePluginHost 以及以下注册表 CV 方法、助手操作、设置提供程序和语义处理程序。它们提供内部组件之间的类型化组合边界,并由测试覆盖,但它们是由应用程序本身组装的。
不是公共插件平台
目前没有 Python 入口点发现、插件清单或包格式、安装/卸载 UI、第三方包或沙箱的兼容性协商。名为 *PluginRegistry 的类本身并不意味着用户可以安装外部模块。
添加 CV 方法、时间线轨道、证据检查器、设置提供程序或助手操作当前是一项开发任务:将代码连接到组合根,给定类型化合同和测试,然后包含在构建中。
内置 IDE/codegen 扩展加载器
首次使用时,ide_interaction.extensions 仅扫描已安装软件包内的子软件包,导入每个 entry.py,并在该子软件包的生命周期内缓存该列表过程。这是一个内部组合加载器:它不会扫描用户目录、Python 入口点或下载的包,并且不会验证清单、签名或兼容性。
| 内置包 | 实际状态 | 消费者 |
|---|---|---|
| AutoHotkey, Robot Framework Visual, SikuliX, TagUI, UiPath CV | Internal scaffold | 其当前的 entry.py 文件返回 None、空列表和空上下文。它们不添加模式、后端、目标配置文件或运行程序,并且不得被视为可用的集成。 |
Failure border. 如果导入条目引发任何 ModuleNotFoundError,则加载程序当前会静默跳过该包;记录其他异常。因此,缺少内置适配器可能表明缺少模块,并且 UI 不是完整的诊断报告。
启动器 CLI 和无头边界
pyproject.toml 发布一个 Python 控制台入口点 Screph = main:main。安装程序会创建 <selected TargetDir>\screph.exe 的快捷方式 --mode prod;默认目标是 %LOCALAPPDATA%\Screph。它不会将 Screph 命令添加到 PATH。两个入口点都会启动整个程序或其过程界面之一;这不是用于编辑项目或运行任意自动化的无头 CLI。
& "$env:LOCALAPPDATA\Screph\screph.exe" --help
& "$env:LOCALAPPDATA\Screph\screph.exe" --mode prod --verbose
python main.py --mode dev
python main.py --mode prod --log-file C:\logs\screph.log| 参数 | 实际行为 | 边界 |
|---|---|---|
--mode dev|prod | 设置一组完整的运行时环境值。打包后默认为prod;源默认为 dev。 | dev 需要使用 WebSite/local_dev 及其证书和网站 Python 环境进行源/开发检查;它不是嵌入式生产网络主机。 |
--verbose, --log-file | 更改当前进程的日志记录;显式文件不会成为持久的用户默认文件。 | 对可预测的目的地使用绝对路径。 |
--config-dir | 在创建设置运行时之前设置 SCREPH_CONFIG_DIR。 | 尽管有其名称,但它会重定向 get_runtime_file(...) 使用的整个根:设置、日志、缓存、模型和其他运行时数据。 Windows Credential Manager 中明确选择的路径和机密的项目不会移动到那里。 |
--server-only | 仅适用于 --mode dev:检查运行状况,必要时通过 PowerShell 启动本地 HTTPS,最多等待 15 秒并退出启动器。 | 启动器不再作为服务器循环的前台所有者;生命周期属于start_https.ps1、restart_https.ps1和 PID 文件。 |
--codegen-gui | 启动独立的 Screph Code 窗口而不是主桌面窗口。 | 需要相应的组件运行时和 LLM 配置。 |
--profile-startup | 在构建应用程序之前启用 cProfile,但仅在 app.run() 退出后禁用它,然后打印 50 个累积条目。 | 名称比实际边界窄:它分析整个 GUI 会话直到退出,而不是单独启动。 |
--oauth-callback, --pro-agent | 专门的自定义 URI 完成路径和基于 stdin/stdout 的内部 JSON-RPC。 | 这些是集成和流程合同,而不是交互式用户命令。正常帐户设备登录在 UI 中启动,Pro Agent 使用者应启动其进程。 |
打包后的候选结果确认了什么
检查的 main.dist/screph.exe 是带有 CUI 子系统的 AMD64 PE32+ 二进制文件; --help 实际上打印列出的可见标志和 prod 默认值。因此,从快捷方式启动当前的候选结果可能会包含一个控制台窗口:这是当前的 Alpha 打包边界,而不是单独的无头产品。
- 位置
project.json不是打开项目命令。通过 GUI 和Project Manager打开项目。 - 当前源启动器现在会在启动 GUI 之前退出,并显示未知参数的代码
2;已构建的候选结果仍使用早期的parse_known_args合约,并且可能会在输入错误后默默地继续。 - 隐藏烟雾和运行时-依赖项标志服务于包装、安装程序桥和诊断。它们不是稳定的公共 CLI。
- 对于无头屏幕操作,请使用单独的
automation_runtime脚本和 API 合约; Screph 启动器不接受任意自动化脚本。
网站 HTTP API
当前版本的 API 涵盖健康状况、个人资料和平衡、使用情况、诊断上传和语音推理;单独的用户管理路线包括登录、设备授权和支持。它不会公开 Screph 项目、项目包上传或桌面自动化执行的通用远程 CRUD。
选择持久边界
- 对于自定义分析,请使用规范或派生的 JSON 并检查
schema_version。 - 对于屏幕操作,请使用
automation_runtime及其显式目标/输入协定。 - 对于模型,使用连接配置文件或支持的自定义端点,而不是导入 UI 内部结构。
- 对于新的内置功能,请检查源及其注册表合同;不要将不受信任的 Python 作为“插件”加载。
未来的外部插件系统
架构文档要求选定组件之间的版本化 IPC 和插件边界,但存储库不会确认用户市场、通用 SDK 或第三方插件安装的交付日期。因此,在公共合同和路线图存在之前,不能将其承诺为计划中的特征。