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 # cockpit_model_options.dspy - Returns active models with capabilities for dropdown
# Used by cockpit model selector # Used by cockpit model selector
# org_id 多租户隔离:非系统级机构只看到「本机构 + 系统级(org_id='0')」的模型
dbname = get_module_dbname('pipeline-sdlc') dbname = get_module_dbname('pipeline-sdlc')
org_id = (await get_userorgid()) or ''
async with DBPools().sqlorContext(dbname) as sor: async with DBPools().sqlorContext(dbname) as sor:
recs = await sor.sqlExe( sql = "SELECT id, name, provider, model_id, capabilities FROM llm WHERE status='active'"
"SELECT id, name, provider, model_id, capabilities FROM llm WHERE status='active' ORDER BY name", 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 = [] rows = []
for r in recs: for r in recs: