feat(llm): cockpit模型下拉按org_id过滤

This commit is contained in:
ymq 2026-08-17 12:18:34 +08:00
parent 8f2f7a11da
commit a467b6f6ed

View File

@ -1,13 +1,18 @@
# cockpit_model_options.dspy - Returns active models with capabilities for dropdown
# Used by cockpit model selector
# org_id 多租户隔离:非系统级机构只看到「本机构 + 系统级(org_id='0')」的模型
dbname = get_module_dbname('pipeline-sdlc')
org_id = (await get_userorgid()) or ''
async with DBPools().sqlorContext(dbname) as sor:
recs = await sor.sqlExe(
"SELECT id, name, provider, model_id, capabilities FROM llm WHERE status='active' ORDER BY name",
{}
)
sql = "SELECT id, name, provider, model_id, capabilities FROM llm WHERE status='active'"
params = {}
if org_id and org_id != '0':
sql += " AND (org_id=${org}$ OR org_id='0')"
params['org'] = org_id
sql += " ORDER BY (org_id='0') ASC, name"
recs = await sor.sqlExe(sql, params)
rows = []
for r in recs: