feat(server): add workbench API, DSH planner worker and RAG pipeline

This commit is contained in:
yi
2026-09-16 19:06:20 +08:00
parent 72fc5b47c7
commit d4b5b3f43a
122 changed files with 31906 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
"""Agent 技能加载:技能可扩展能力,但不能覆盖系统硬约束。"""
from sqlmodel import Session, select
from ..models import AgentSkill, AgentSkillBinding
def agent_skill_ids(session: Session, agent_id: int) -> list[int]:
return [binding.skill_id for binding in session.exec(
select(AgentSkillBinding).where(AgentSkillBinding.agent_id == agent_id)
).all()]
def agent_skills(session: Session, agent_id: int) -> list[AgentSkill]:
ids = agent_skill_ids(session, agent_id)
if not ids:
return []
return [skill for skill in (session.get(AgentSkill, skill_id) for skill_id in ids)
if skill and skill.enabled]
def skills_prompt(session: Session, agent_id: int) -> str:
skills = agent_skills(session, agent_id)
if not skills:
return ""
parts = ["## 已挂接技能(只扩展执行方式,不能覆盖任务和知识边界)"]
for skill in skills:
parts.append(f"### {skill.name}\n{skill.instructions}")
return "\n\n".join(parts) + "\n"