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
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
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
d7bace21db
fix: setText -> set_text (bricks API is snake_case)
2026-07-31 17:14:33 +08:00
ef37e492c9
fix(cockpit): AgentIO-style UX — show user+agent bubbles immediately before POST
...
Follow bricks/agent.js AgentIO pattern:
- On inputed: instant user bubble + '正在分析需求...' agent placeholder in chat_scroll
- POST to cockpit_chat.dspy
- On success: reload to show complete conversation
- On error: show error text in the placeholder bubble
Previously crashed on VScrollPanel.render() — VScrollPanel has no render method.
Now uses add_widget() to append message bubbles dynamically, matching AgentIO.
2026-07-31 16:59:38 +08:00