68 Commits

Author SHA1 Message Date
d2542f1768 refactor: AgentInput复合控件 — TextFiles + UiCode模型选择整合
- 新建 agent_input VBox: 内嵌模型选择行(HBox) + TextFiles输入区,统一为一个输入控件
- 顶部移除 model_selector,底部模型选择作为 UiCode 嵌在输入框内
- index.ui & index_cockpit.ui 同步更新
2026-08-05 19:42:02 +08:00
0aad9561b0 refactor: 模型选择器移到输入区上方 — 去顶部model_selector
- index_cockpit.ui & index.ui: 移除顶部 HBox 中的 model_selector Form + 模型配置 Button
- 在 TextFiles 输入区上方新增模型选择行:🤖 下拉 + 模型配置按钮
- chat_input 脚本改为从 input_model_selector 读取 model_id (getValue)
- 修复脚本中 Unicode 转义损坏
2026-08-05 19:20:05 +08:00
9a3ed5fa7a fix: context API 迭代查询支持名称回落(UUID/名称双匹配) 2026-08-05 18:20:36 +08:00
4e374117e9 fix: context_bar弹窗改为inline展示data(不依赖外部页面) 2026-08-05 18:19:08 +08:00
46640803b5 fix: uid = await get_user() 2026-08-05 18:12:24 +08:00
d33889c4ae fix: cockpit_context.dspy 加 json import + dbname 2026-08-05 18:11:41 +08:00
8d158dcc86 feat: cockpit_context端点 + UI context_bar动态化
- 新增 cockpit_context.dspy API(读 pipeline_agent_settings,返回项目/迭代/workspace)
- index_cockpit.ui & index.ui context_bar:
  - 静态'当前项目/迭代:--' → Button(link样式)+datawidget自动加载
  - 点击项目/迭代弹出 PopupWindow 查看详情
2026-08-05 18:10:56 +08:00
746b372a6e fix: devops直接用message_text作命令,去掉前缀 2026-08-05 18:03:16 +08:00
1d22da86ac fix: 去掉 git 前缀误剃 2026-08-05 18:02:45 +08:00
528b5a7cb6 fix: devops 处理器剥离中文前缀再执行 2026-08-05 18:01:57 +08:00
85cc42cec6 feat: cockpit_chat 新增 devops 意图 — git/shell 操作路由
- INTENT_PROMPT 加 devops 意图描述
- 路由处理:提取操作指令,调 shell_exec 执行,返回成功/失败
2026-08-05 17:56:29 +08:00
79d7c139c9 security: rm -rf 匹配泛化——覆盖无空格连写变体(如 rm -rf删除) 2026-08-05 15:42:03 +08:00
f209b2a645 feat: cockpit_chat主agent改造 — 安全审查/任务表路由/问题回路
- cockpit_chat: SECURITY_RULES入口审查拒绝危险请求;new_task改pipeline_role_submit写任务表带role;answer_question意图+question_answer回填路由;_route_pending_questions每轮路由pending问题(主agent答/转客户)
- cockpit_agent: 默认role改develop对齐归一化
- mysql.ddl.sql: 同步pipeline_agent_questions建表
2026-08-05 13:00:12 +08:00
144bbc08cb fix(cockpit_chat): 补充 import json/os,dspy环境未预置标准库模块 2026-08-04 17:07:19 +08:00
f7faed4b83 fix(cockpit_chat): 修复f-string引号转义导致的500语法错误,统一\n换行join 2026-08-04 16:44:38 +08:00
446b42e491 feat: register skill_utils functions (guess_role,load_skills,import_skill,list_imported_skills) via ServerEnv 2026-08-03 19:26:42 +08:00
8a23cb0c14 feat: skill import/list — _import_skill from external path, cockpit intents 2026-08-03 19:20:15 +08:00
4bef8305d4 feat: new_task auto-executes with role-based skills — no start_agent needed 2026-08-03 19:01:38 +08:00
0261edcf1d feat: role-based skill loading — guess role from task title, load common/{role} skills 2026-08-03 18:03:06 +08:00
ba9a611c66 feat: enterprise skill loading — scan skills_dir, inject into LLM system prompt 2026-08-03 18:00:43 +08:00
958431d282 fix: CRUD dspy — move return outside async with, fix dbname underscore 2026-08-03 17:40:30 +08:00
f86cce02f4 feat: multi-repo workspace — org settings, project repos, deliverable types
- sd_projects: add workspace_dir field
- sd_project_repos: new table for multi-repo per project
- sd_org_settings: org-level workspace_root + skills_dir
- pipeline_deliverables: add repo_name, target_path, deliverable_type enum
- cockpit_chat.dspy: load repos+org settings, pass to LLM prompt
2026-08-03 17:13:01 +08:00
95bd140393 docs: add README.md and skill/SKILL.md 2026-08-03 16:46:18 +08:00
289ccb1656 feat: add cockpit index page + DDL reference for SDLC module 2026-08-03 10:46:32 +08:00
eb62d12c23 feat: workspace_dir support — project workspace, agent deliverable paths 2026-08-03 08:34:06 +08:00
085d6154d3 fix: restore pipeline_submit in cockpit, fix _get_db/executor db config loading 2026-08-03 00:04:29 +08:00
fff34b04b3 fix: whiteSpace pre-wrap for agent messages, content preview in deliverables 2026-08-02 23:37:14 +08:00
a117d2ffd7 fix: define msg_id and agent_reply before async block to prevent UnboundLocalError 2026-08-02 23:31:46 +08:00
73935ae652 fix: start_agent query by org_id, auto-execute tasks, link creation+execution 2026-08-02 23:17:49 +08:00
28820a0b29 fix: bypass pipeline_submit, create tasks directly in cockpit 2026-08-02 17:56:06 +08:00
40afce18e7 fix: remove duplicate stats_row, keep only quick_cards 2026-08-02 17:01:20 +08:00
8e0a45abca fix: remove org_id from sd_iterations query (column doesnt exist) 2026-08-02 16:15:44 +08:00
ccc0755a82 feat: 4 dynamic cards with popups on cockpit dashboard 2026-08-02 16:07:48 +08:00
fd3f59a9f6 fix: use inline task query instead of run_agent_loop in start_agent handler 2026-08-02 16:06:45 +08:00
4ba5d84cf7 feat: add start_agent + agent_status intent handlers 2026-08-02 16:00:16 +08:00
0d0c8299e8 fix: LIMIT $ → direct interpolation to avoid MySQL variable error 2026-08-02 15:46:37 +08:00
ee8005644f feat: Phase 3 — cockpit_agent.dspy (start/status/deliverables/review) 2026-08-02 14:59:33 +08:00
bb09bd36a0 refactor: use pipeline_conversations + pipeline_agent_settings (shared tables) 2026-08-02 00:00:21 +08:00
97e2c6b2f4 feat: Phase 1 — intent recognition, guided conversation, context bar 2026-08-01 23:36:29 +08:00
84df91d9eb fix: model_id form reading fallback to select element 2026-08-01 21:57:04 +08:00
a45b4503eb debug: add _call_llm logging for api_key/base/model tracing 2026-08-01 17:32:23 +08:00
ac2ff432ed fix: remove RC4 decrypt from cockpit_chat, use plaintext api_key 2026-08-01 16:57:16 +08:00
328798f5a7 fix: tolerate plaintext api_keys on decrypt failure 2026-08-01 16:42:32 +08:00
13c466069f fix: decrypt api_key before calling LLM in cockpit_chat 2026-08-01 16:32:46 +08:00
0d6266b088 fix: add model selector to root cockpit index.ui (was only in sd_cockpit) 2026-08-01 16:16:21 +08:00
74a70da8b6 feat: add model selector dropdown to cockpit, pass model_id in chat requests 2026-08-01 15:26:05 +08:00
c310754d57 fix: limit model config popup size (36x26 grid) 2026-08-01 11:33:07 +08:00
c0a31d60df fix: change cockpit refresh button to model config popup in index.ui 2026-08-01 11:18:34 +08:00
5c80ad3948 feat: model config popup button in cockpit, my_bugs API, task_tree_popup 2026-08-01 10:43:43 +08:00
72cd262cdb feat(cockpit): product-grade LLM integration with context + model mgmt
Backend:
- cockpit_chat.dspy: real LLM calls via llm table config, Hermes-style
  context (system prompt + project/iteration + history), auto model
  selection (multimodal if files, text otherwise)
- cockpit_model_options.dspy: returns active models with capabilities
- llm table: added capabilities column (text/vision/multimodal)

Frontend:
- inputed script: no page reload, updates agent bubble with LLM reply
- stats_row refreshed on success, error shown in bubble

DB:
- sd_agent_settings table for per-user agent preferences
2026-07-31 18:06:27 +08:00