ymq
262d678e2a
feat: 工作环境管理(沙箱本地/远程切换 + 目录迁移)
...
- work_env.py: get/set_work_env(用户/机构维度,缺省local)、rsync目录迁移、远程SSH+bwrap沙箱、远程bwrap部署
- run_in_work_env: 按mode分发本地bwrap/远程SSH+bwrap
- sd_work_envs 表 DDL
2026-08-14 11:12:54 +08:00
p
81cc0b3344
fix: XML parameter 支持 string="true" 类型属性
2026-08-14 11:11:01 +08:00
p
6c878a2abf
fix: _parse_agent_action 解析 deepseek XML tool_calls(原生 FC 输出格式)
2026-08-14 11:04:03 +08:00
p
d89ec3c784
fix: git 版本管理链路跑通 — role agent clone 时机 + git_clone 工具 + repo_dir 兼容
2026-08-13 18:57:06 +08:00
ymq
011dd9cb95
fix: bwrap 多路径检测(环境变量+已知位置兜底)
2026-08-13 18:07:16 +08:00
ymq
29a4a5e0ef
fix: 沙箱内 HOME=/home
2026-08-13 17:59:37 +08:00
ymq
edaf1b4ad2
fix: bwrap 检测 /d/pipeline/bin/bwrap 路径
2026-08-13 17:58:54 +08:00
ymq
08ae248c2a
feat: 应用部署主机逻辑账号系统(零root+bwrap沙箱)
...
- deploy_account.py: 逻辑账号(ag_前缀)创建/删除/列表,bwrap沙箱执行,免密目录读写
- 零root:不建真实Linux账号,逻辑隔离目录 + unprivileged user namespace
- init.py: sd_deploy_accounts 表 DDL 自动初始化
2026-08-13 17:57:09 +08:00
ymq
49338b4fc7
fix: 修复 answer_question/add_bug/list_questions/diagnose 的 DB 列名错误
...
- answer_question: answered=1 → status='answered'(表无answered列)
- list_questions: answered IS NULL → status='pending'
- diagnose_project: 问题计数 answered IS NULL → status='pending'
- add_bug: 补 iteration_id(查项目默认迭代)
2026-08-13 17:27:41 +08:00
ymq
094d66d42b
fix: 列表/诊断返回完整ID,详情工具支持前缀匹配兜底
...
- _t_list_tasks 返回完整ID(不再截断8位)
- _t_list_questions 返回完整ID(去掉Q前缀+截断)
- _t_list_deliverables 返回完整ID
- _t_diagnose_project 列出失败/待执行任务完整ID
- _t_task_detail/_t_answer_question/_t_view_deliverable 支持8位前缀匹配兜底
2026-08-13 17:23:19 +08:00
ymq
acda8bb7e7
fix: _estimate_tokens/_summarize 处理 native 的 content=None
2026-08-13 17:08:42 +08:00
ymq
0e5368a894
feat: cockpit agent 切原生 function calling
...
- llm_bridge 新增 llm_call_msgs_native 支持 tools 参数+解析 tool_calls
- agent_loop_v2._call_llm 优先走 native function calling,失败回退文本
- run loop 处理原生 tool_calls(role=tool 回填)
- _init_components 把 config.tools 注册进 ToolRegistry(修复 registry 空导致 tools_description 为空、schema 为空的 bug)
2026-08-13 17:05:26 +08:00
ymq
2b615f76a9
debug: v2.1 marker
2026-08-11 15:35:17 +08:00
ymq
aaad55cdab
feat: markdown table format for list_tasks with emoji
2026-08-11 15:11:09 +08:00
ymq
99ebd88100
fix: clear claimed_by on PM reject
2026-08-11 15:04:46 +08:00
ymq
d8f810bf8d
fix: aliases, questions SQL, limit auto-inject to 3
2026-08-11 13:57:25 +08:00
ymq
e558bad2c9
fix: skip ERROR results for tc count; remove debug yield
2026-08-11 13:19:03 +08:00
ymq
744f8f6aa0
debug: raw text yield to test loop entry
2026-08-11 13:16:50 +08:00
ymq
bf4413b81c
debug: stderr log instead of yield
2026-08-11 13:16:17 +08:00
ymq
c091e98df1
debug: show raw LLM output
2026-08-11 13:14:22 +08:00
ymq
0e94c230ee
debug: trace auto-inject behavior
2026-08-11 13:13:36 +08:00
ymq
23ff786c92
feat: push LLM to continue after 1-2 tool calls
2026-08-11 13:11:17 +08:00
ymq
92af7603e0
fix: don't count unknown tool calls toward tool_call_count
2026-08-10 17:58:42 +08:00
ymq
91dabd7b4c
fix: auto-inject context-aware tool, works on any turn
2026-08-10 17:57:53 +08:00
ymq
23a04d2b94
fix: add get_task_list alias
2026-08-10 17:56:11 +08:00
ymq
9ffee5780c
feat: auto-inject tool_call on first reply (deepseek fails to follow prompt)
2026-08-10 17:54:57 +08:00
ymq
ac943de9f1
fix: replace {project_name} placeholder
2026-08-10 17:54:05 +08:00
ymq
fff7bace28
fix: handle missing answered column in questions table
2026-08-10 17:53:27 +08:00
ymq
3b1b6c8e43
fix: show project name instead of ID in prompt
2026-08-10 17:52:19 +08:00
ymq
945e43cf62
fix: replace {tools_description} placeholder in system prompt
2026-08-10 17:50:12 +08:00
ymq
9ea2b498d6
feat: skill loader 三级隔离 + org_id auto-load
2026-08-10 17:07:22 +08:00
ymq
ea9b0f2ae4
feat: auto-add agent_config columns to DB
2026-08-10 17:01:18 +08:00
ymq
c249e872fb
fix: add tool aliases (get_task, get_deliverable)
2026-08-10 11:17:13 +08:00
ymq
cd9208cbf4
feat: auto-create pipeline_user_memory table on startup
2026-08-10 11:10:53 +08:00
ymq
2d6709ee33
feat: Agent v2 执行引擎 - AgentExecutor with compression/memory/skills
2026-08-10 11:06:42 +08:00
ymq
f9aa6f21c2
feat: enforce project has at least one app, each app at least one module
2026-08-09 23:54:05 +08:00
ymq
29ae78da32
fix: project repo docs-only — source in module repos, modules/ and apps/ for references
2026-08-09 23:50:39 +08:00
ymq
07066001fe
feat: SDLC repo standard — each role knows exact output paths and deliverable specs
2026-08-09 23:46:08 +08:00
ymq
851b2b2066
refactor: PM review to LLM tool-loop — can inspect code files before deciding
2026-08-09 20:15:09 +08:00
ymq
afa6972903
refactor: role agent to LLM tool-loop with read/write/shell/git tools + llm_call_msgs
2026-08-09 17:34:36 +08:00
ymq
3b1718783a
fix: COMMIT after claim_task to release row lock before LLM call
2026-08-08 13:51:52 +08:00
ymq
eb889d8694
fix: poller dedup dispatched tasks + error handling to prevent lock pile-up
2026-08-08 13:43:19 +08:00
ymq
6b295fc8ca
agent: inject skills from params into prompt; skills_dir fixed
2026-08-08 11:51:48 +08:00
ymq
4db1405be7
version bump 3.4.0
2026-08-08 11:43:26 +08:00
ymq
74ce3339d2
v3.4.0: agents produce real code files + git push + PM clones repos
...
- All agents can write code files via 'files' array in output JSON
- Auto git commit+push after code file creation
- PM agent clones project repos on first review
- PM review shows repository state
- shell_exec now allows ~/pipeline_ws
- Role-specific prompts guide code/file output
2026-08-08 11:42:49 +08:00
ymq
a897182404
workspace: use ~/pipeline_ws as default (NFS persistent)
2026-08-08 11:27:02 +08:00
ymq
83ad318801
fix: add owner_id to _create_next_task INSERT
2026-08-08 11:16:23 +08:00
ymq
e76fa0fc47
fix: PM _claim_task match_role=False to review all roles
2026-08-08 11:15:03 +08:00
ymq
afe076ec5b
fix: use /tmp/pipeline_ws (pipeline-owned) for workspace; clear claimed_by on review
2026-08-08 11:12:52 +08:00
ymq
926bc5623f
fix: clear claimed_by when setting state=review (PM poller requires NULL)
2026-08-08 11:09:55 +08:00