* feat: Clean up dashboard UI, shift workflow WS to SSE, and add file upload support
- Removed Monitoring view and associated `/ws/state` cluster websocket route.
- Modified workflow tracing from WebSocket (`/api/v1/workflow/ws/{trace_id}`) to Server-Sent Events (`/api/v1/workflow/sse/{trace_id}`) for unidirectional pushes, introducing a new `/api/v1/workflow/reply/{trace_id}` POST route to handle incoming client replies.
- Cleaned up dummy data and unneeded links in the chat layout (LeftPanel, ChatPanel).
- Implemented file upload functionality: added a `/api/v1/adapter/client/upload` endpoint to the backend which saves files to a local `uploads` directory, and added an integrated file input triggered via the `+` button in the frontend chat interface to facilitate uploading with an automated chat message confirmation.
Co-authored-by: zhaoxi826 <198742034+zhaoxi826@users.noreply.github.com>
* fix: prevent global_state_machine actor from being garbage collected
Added `lifetime="detached"` and kept a local reference to the `GlobalStateMachine`
actor in `main.py` so that it doesn't get cleaned up by Ray due to going out
of scope, which was causing `ray.get_actor('global_state_machine')` calls to fail
in API route handlers (resulting in 500 errors).
Co-authored-by: zhaoxi826 <198742034+zhaoxi826@users.noreply.github.com>
* fix: resolve named actor addressing failure across Ray processes via explicit namespace
The `ray.get_actor` calls in API routes executing within a Ray Serve worker were failing to
resolve the actors created by the main process because the implicit random namespace of
`ray.init()` did not match the namespace of the Ray Serve application scope.
Instead of overriding garbage collection via `lifetime="detached"` (which can lead to actor
leakage), this assigns an explicit `namespace="pretor"` when initializing Ray in the main process,
and uses the identical namespace in `ray_hook.py` when looking up named actors. Also retains the
local variable assignments in `main.py` to prevent them from being eliminated as unused variables.
Co-authored-by: zhaoxi826 <198742034+zhaoxi826@users.noreply.github.com>
* fix: defer actor lookup in WorkflowRunningEngine to avoid startup race conditions
The `WorkflowRunningEngine` was trying to fetch the `global_state_machine` actor
during its `__init__` method via `ray_actor_hook()`. Since actor creation requests are
dispatched asynchronously, the `global_state_machine` might not be completely
registered and discoverable via `ray.get_actor()` by the time the `WorkflowRunningEngine`'s
`__init__` is evaluated.
Moved the actor lookup to the async `run()` method, which gets executed after the engine
itself is fully up, allowing time for other components to become available in the global
Ray namespace.
Co-authored-by: zhaoxi826 <198742034+zhaoxi826@users.noreply.github.com>
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: zhaoxi826 <198742034+zhaoxi826@users.noreply.github.com>
|
||
|---|---|---|
| config | ||
| docs | ||
| frontend | ||
| pretor | ||
| tests | ||
| .dockerignore | ||
| .env | ||
| .gitignore | ||
| .python-version | ||
| Dockerfile | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| docker-compose.yml | ||
| main.py | ||
| pyproject.toml | ||
| uv.lock | ||
README.md
Pretor 是一款基于 Ray 构建的下一代分布式多 Agent 协作系统。项目采用“中心监管 + 边缘执行”的异构集群模式,通过大参数 MoE 模型进行高层逻辑推理,并协同微调后的轻量化模型高效完成具体任务。借助 Pydantic-AI 提供的强类型约束与 FastAPI 异步网关,Pretor 实现了任务从需求拆解、资源调度到自动化执行的全链路闭环,为个人提供可靠的人工智能助手服务。
特别之处?
- 本项目通过 Ray 和 vllm 实现个人个性化助手的创建,你可以通过收集符合你自己偏好的数据,构建独属于自己的风格的人工智能助手。
- 本项目通过多 Agent 协作,实现比起单 Agent 系统更强的性能,从而完成更复杂的任务。
- 本项目通过调用本地模型,从而减少对于昂贵的API使用和一定程度上的安全保护。如果你是创作者,可以通过用自己的作品去训练属于自己的模型,提高工作效率。
- (暂未实现)本项目适配多种消息平台,实现在外可通过多种方式给 Pretor 下达指令完成工作。
- (暂未实现)本项目内置 growth_node(生长节点) ,实现傻瓜式微调模型操作,让你的 Pretor 自己学会一些独特的技能。
快速开始
本项目正在开发中...
项目子项目
pretor-viceroy:
项目名称 : 总督
github网址 :https://github.com/zhaoxi826/viceroy
功能 :pretor的资源管理工具
目前实现 :
- 对于skill的安装与解析
pretor-domain
项目名称 : 域
github网址 :(暂无)
功能 : 轻量化沙箱
目前实现 :
(规划中)
pretor-explorer
项目名称 : 探索者
github网址 :(暂无)
功能 : 自动爬虫
目前实现 :
(规划中)
pretor-pioneer
项目名称 : 先驱者
github网址 :(暂无)
功能 : RAG检索增强生成
目前实现 :
(规划中)