feat: 工具系统迁移 + 重型插件骨架 + 前端交互增强
- 工具系统从 kilostar/plugin/tool_plugin/ 迁移到 data/toolset/(manifest.json 声明式) - 新增 plugin_runtime 模块:BaseOrganization / GlobalPluginManager / loader / tool_bridge - 新增 org_task + org_task_event 表及 DAO(alembic 0009) - 新增 /api/v1/plugin 路由(submit/status/stream/install/reload) - 新增 data/plugin/example_dept 示例重型插件 - regulatory_node 支持聊天历史上下文注入 - send_file 改为 artifact 存盘 + SSE 推送下载链接 - 前端 WorkflowFileCard 组件 + ToolSettings README 渲染 - utils 整理:合并 access/role_check、standalone_proxy→ray_compat、删除废弃模块 - 项目结构文档移至 docs/STRUCTURE.md 并详细展开 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
import os
|
||||
import asyncio
|
||||
|
||||
from kilostar.utils.standalone_proxy import actor_class
|
||||
from kilostar.utils.ray_compat import actor_class
|
||||
from kilostar.utils.settings import get_settings
|
||||
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
@@ -44,6 +44,8 @@ from kilostar.core.postgres_database.model.tool_config import ToolConfigModel
|
||||
from kilostar.core.postgres_database.model.custom_toolset import CustomToolsetModel
|
||||
from kilostar.core.postgres_database.model.system_event_log import SystemEventLog
|
||||
from kilostar.core.postgres_database.model.persona_template import PersonaTemplate
|
||||
from kilostar.core.postgres_database.model.org_task import OrgTask
|
||||
from kilostar.core.postgres_database.model.org_task_event import OrgTaskEvent
|
||||
|
||||
from .module.individual import IndividualDatabase
|
||||
from .module.user import AuthDatabase
|
||||
@@ -56,6 +58,7 @@ from .module.tool_config import ToolConfigDatabase
|
||||
from .module.custom_toolset import CustomToolsetDatabase
|
||||
from .module.system_event_log import SystemEventLogDatabase
|
||||
from .module.persona_template import PersonaTemplateDatabase
|
||||
from .module.org_task import OrgTaskDatabase
|
||||
|
||||
|
||||
@actor_class
|
||||
@@ -89,6 +92,7 @@ class PostgresDatabase:
|
||||
self._custom_toolset_database = CustomToolsetDatabase(self.async_session_maker)
|
||||
self._system_event_log_database = SystemEventLogDatabase(self.async_session_maker)
|
||||
self._persona_template_database = PersonaTemplateDatabase(self.async_session_maker)
|
||||
self._org_task_database = OrgTaskDatabase(self.async_session_maker)
|
||||
|
||||
self.ready_event = asyncio.Event()
|
||||
|
||||
@@ -458,3 +462,28 @@ class PostgresDatabase:
|
||||
async def delete_template(self, template_id: str):
|
||||
await self.ready_event.wait()
|
||||
return await self._persona_template_database.delete_template(template_id)
|
||||
|
||||
# Org Task Database Methods
|
||||
async def create_org_task(self, task_id: str, org_name: str, description: str, context=None):
|
||||
await self.ready_event.wait()
|
||||
return await self._org_task_database.create_task(task_id, org_name, description, context)
|
||||
|
||||
async def update_org_task_status(self, task_id: str, status: str, result=None):
|
||||
await self.ready_event.wait()
|
||||
return await self._org_task_database.update_status(task_id, status, result)
|
||||
|
||||
async def get_org_task(self, task_id: str):
|
||||
await self.ready_event.wait()
|
||||
return await self._org_task_database.get_task(task_id)
|
||||
|
||||
async def list_org_tasks(self, org_name=None, limit=50, offset=0):
|
||||
await self.ready_event.wait()
|
||||
return await self._org_task_database.list_tasks(org_name, limit, offset)
|
||||
|
||||
async def insert_org_event(self, task_id: str, event_type: str, payload=None):
|
||||
await self.ready_event.wait()
|
||||
return await self._org_task_database.insert_event(task_id, event_type, payload)
|
||||
|
||||
async def query_org_events(self, task_id: str, limit=200):
|
||||
await self.ready_event.wait()
|
||||
return await self._org_task_database.query_events(task_id, limit)
|
||||
|
||||
Reference in New Issue
Block a user