ymq
0a24946d3e
fix: replace chr(10) with literal '\n' in NDJSON stream yields
2026-08-08 16:59:41 +08:00
ymq
a449f8321c
fix: all yields use chr(10) for NDJSON newlines
2026-08-08 16:45:02 +08:00
ymq
d435c8b5ae
fix: use chr(10) for newlines in NDJSON stream
2026-08-08 16:44:46 +08:00
ymq
70481ad17b
fix: use # comments, remove broken _w_line function
2026-08-08 16:35:22 +08:00
ymq
cb0f37753b
cockpit v3.1: streaming NDJSON backend + widget rendering frontend
2026-08-08 16:34:53 +08:00
ymq
6d74685470
cockpit v3: simple JSON response (no streaming), agent loop intact
...
- Removed stream_response, returns plain {success, agent_reply}
- Backward compatible with existing frontend
- Agent loop still uses LLM tool calling (multi-turn)
2026-08-08 16:31:20 +08:00
ymq
1f352b5f8e
fix: _makeWidget deep-clone opts; stronger LLM prompt for tool_call format
2026-08-08 16:23:26 +08:00
ymq
fb3d4bb813
fix: stream_response expects callable not generator object
2026-08-08 16:08:44 +08:00
ymq
2b0bc7519a
cockpit: file upload support — read files, inject to LLM, emit file widgets
...
- Parse file_paths from request, read file contents (UTF-8, max 8000 chars)
- File content appended to LLM message as 【附件文件内容】
- File widget streamed to frontend: 📎 filename (size) + hidden content preview
- Frontend script: click .file-name → toggle .file-content visibility
- File paths saved in pipeline_conversations.attachments
2026-08-08 15:58:59 +08:00
ymq
39deb68ba6
cockpit v2.2: stream Bricks widgets for frontend rendering
...
- Each tool progress yields a progress Text widget
- Each tool result yields a card widget (VBox with colored left border)
- Final reply yields a reply card widget
- Colors: green=success, red=error, purple=reply, amber=progress
- Frontend: parse NDJSON → bricks.buildWidget() → append to chat
2026-08-08 15:57:03 +08:00
ymq
f878b039e5
cockpit v2.1: streaming agent loop via stream_response
...
- Replaces single reply with NDJSON streaming via stream_response()
- Each tool_call yields {'type':'progress', 'tool':..., 'params':...}
- Each tool_result yields {'type':'tool_result', 'tool':..., 'result':...}
- Final yields {'type':'done', 'message':...}
- Frontend gets real-time progress instead of waiting for final reply
- New 'check_progress' tool for following task execution stages
2026-08-08 15:50:41 +08:00
ymq
282474898c
cockpit v2.0: agent loop with tool calling (LLM decides → execute → loop)
...
Replace hardcoded intent routing with agent loop:
- 14 tool definitions injected into prompt
- LLM decides which tools to call and in what order
- Multi-turn: one message can trigger switch_project + create_task + add_repo + agent_status
- Max 8 turns, security scan kept, question routing preserved
- 1200→600 lines, all business logic in tool executors
2026-08-08 15:40:34 +08:00
ymq
4c5b3104cf
agent-way: LLM resolves project aliases via project list in INTENT_PROMPT
2026-08-08 15:19:18 +08:00
ymq
588e5be5d6
fix: _find_project fuzzy match in Python (avoid aiomysql % format issue)
2026-08-08 14:56:02 +08:00
ymq
168b5aaa88
cockpit: add_repo uses LLM intent classification for repo_url/repo_name
2026-08-08 12:12:40 +08:00
ymq
956093bc77
cockpit: add add_repo/show_repo intents + system prompt update
2026-08-08 12:10:28 +08:00
ymq
058c84775f
fix: _find_project fuzzy match; start_agent use project_id not org_id
2026-08-08 12:07:07 +08:00
ymq
abf5e82945
cockpit: new project uses ~/pipeline_ws as workspace base
2026-08-08 11:27:03 +08:00
ymq
d0a801f283
fix: use /tmp/pipeline_ws as workspace fallback (pipeline-owned)
2026-08-08 11:13:07 +08:00
ymq
b5892601ca
cockpit: workspace auto-create + requirement role keyword
2026-08-08 10:36:06 +08:00
23b0f94917
fix: devops意图收紧,自然语言描述不再被误分类为Shell命令
2026-08-07 18:17:17 +08:00
39416cb1c0
feat: 添加 list_projects 意图处理
2026-08-07 18:10:32 +08:00
0098a3c705
feat: 增强 cockpit system prompt + 注入项目上下文知识
2026-08-07 18:08:14 +08:00
71682b0aba
feat: cockpit_chat添加show_tasks/show_bugs意图处理
2026-08-07 18:05:13 +08:00
fe5b7a98ec
fix: task查询按project_id过滤
2026-08-07 17:43:43 +08:00
b0bf86dc66
fix: 直接用getattr取DictObject字段
2026-08-07 17:12:36 +08:00
eb4f5ce017
fix: cockpit_project_tasks 所有查询放同一个 async with 块
2026-08-07 17:12:13 +08:00
bcd160d38e
feat: 当前项目弹窗显示任务列表,点击任务查看详情
2026-08-07 17:11:36 +08:00
0f39febf94
fix: 删掉确定按钮,下拉选择后自动提交
2026-08-07 15:44:09 +08:00
e1ac09542a
fix: Form submit + urlwidget 替代确定按钮,context_update 返回 widget 自关闭弹窗
2026-08-07 15:26:55 +08:00
6786bfc323
fix: cockpit_context_update 处理未登录用户
2026-08-07 15:17:34 +08:00
82f9fb6764
fix: 当前项目/迭代按钮改为选择器弹窗,无选中时显示列表供选择
...
- 当前项目按钮:无项目时弹出选择器,有项目时显示详情
- 当前迭代按钮:无迭代时弹出选择器(按项目过滤),有迭代时显示详情
- 新增 cockpit_project_picker.dspy:返回项目列表
- 新增 cockpit_iteration_picker.dspy:返回迭代列表(支持project_id过滤)
- 新增 cockpit_context_update.dspy:保存选择到 pipeline_agent_settings
2026-08-07 15:06:17 +08:00
03d3116a30
fix: 加file日志 + AgentInput提交后清空文件列表UI
2026-08-06 17:07:11 +08:00
dd50fa1062
cleanup: 移除devops多步扫描中的冗余import
2026-08-06 14:57:41 +08:00
e3b8c80b56
fix: INTENT_PROMPT明确git URL只能归devops
2026-08-06 14:56:41 +08:00
a84e96491d
fix: already-exists pull使用_resolve_workdir实际目录
2026-08-06 14:55:11 +08:00
11cab45129
fix: git URL后target只接受合法路径字符(拒绝中文)
2026-08-06 14:52:26 +08:00
fb1b65f389
feat: devops智能——clone已存在自动pull + 多步任务(克隆→扫描技能)
2026-08-06 14:46:04 +08:00
9c84c3dcbc
fix: git clone 操作 timeout 设为 120s
2026-08-06 14:19:44 +08:00
46239bccc7
fix: devops处理器智能提取git命令——从中文自然语言中识别git URL自动补全git clone
2026-08-06 14:18:05 +08:00
9a3ed5fa7a
fix: context API 迭代查询支持名称回落(UUID/名称双匹配)
2026-08-05 18:20:36 +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