ymq
|
b967756cbe
|
feat: 三级技能目录 - global skills (sdlc-workflow, git-workflow, deploy-check)
|
2026-08-10 17:07:17 +08:00 |
|
ymq
|
0971a7a5f7
|
test: allow anonymous access for test_agent_v2
|
2026-08-10 11:16:15 +08:00 |
|
ymq
|
48ec38c8ab
|
feat: simple test endpoint for v2 imports
|
2026-08-10 11:15:39 +08:00 |
|
ymq
|
5936c7f59d
|
fix: use json.dumps instead of g.json.dumps
|
2026-08-10 11:13:23 +08:00 |
|
ymq
|
c071ac19e2
|
feat: Agent v2 测试端点 test_agent_v2.dspy
|
2026-08-10 11:06:42 +08:00 |
|
ymq
|
390869394c
|
feat: few-shot example showing correct tool_call→reply pattern vs describing plans
|
2026-08-10 08:48:10 +08:00 |
|
ymq
|
d80937af9f
|
refactor: principle-based action rule — reply for results, tool_call for action
|
2026-08-10 08:41:17 +08:00 |
|
ymq
|
e11857e69f
|
fix: enforce action — LLM must call tools not just describe plans
|
2026-08-10 08:35:40 +08:00 |
|
ymq
|
6f717f1d13
|
fix: strip stray trailing } from reply when LLM botches JSON
|
2026-08-10 08:31:35 +08:00 |
|
ymq
|
5f0c419986
|
refactor: history as system-level reference — user message is primary input, not mixed with history
|
2026-08-10 08:26:36 +08:00 |
|
ymq
|
e6830955cd
|
fix: stronger anti-switch prompt — only trigger on explicit 切换到 prefix
|
2026-08-10 08:21:40 +08:00 |
|
ymq
|
6faecb58bd
|
feat: use MdWidget for final reply and notifications — full markdown rendering
|
2026-08-10 08:18:37 +08:00 |
|
ymq
|
b6422d646e
|
feat: push pending questions as first NDJSON line before LLM processes message
|
2026-08-10 00:16:01 +08:00 |
|
ymq
|
22f76e71b9
|
feat: inject pending questions into env_text — active notification from role agents to cockpit
|
2026-08-10 00:15:10 +08:00 |
|
ymq
|
2544081529
|
feat: reply formatting guidance — line breaks, lists, bold, concise
|
2026-08-10 00:11:00 +08:00 |
|
ymq
|
cb5846c39e
|
fix: strip tool_call JSON fragments from reply text before display and history
|
2026-08-10 00:08:40 +08:00 |
|
ymq
|
3e8fc551ef
|
feat: require login for send_message and list_messages + dedup uid fetch
|
2026-08-10 00:06:15 +08:00 |
|
ymq
|
b494b242db
|
fix: handle None user_id — skip DB persistence, use in-memory ctx only
|
2026-08-10 00:04:13 +08:00 |
|
ymq
|
7cb23c7f88
|
debug: trace LLM raw output, tool calls, history rows, system prompt env
|
2026-08-09 23:58:15 +08:00 |
|
ymq
|
09d51b87c7
|
fix: _load_ctx fallback — recover project_id from conversation history when settings table empty
|
2026-08-09 23:55:46 +08:00 |
|
ymq
|
e14db2cde7
|
feat: project-scoped conversation history via iteration_id=project_id
|
2026-08-09 23:32:29 +08:00 |
|
ymq
|
b3a24a1250
|
fix: filter tetris/俄罗斯方块 from conversation history to stop hallucination
|
2026-08-09 23:29:53 +08:00 |
|
ymq
|
9b4f7dd4ae
|
feat: LLM classification for project name matching — _call_llm_raw with temp=0
|
2026-08-09 23:18:15 +08:00 |
|
ymq
|
98d4f5e8ad
|
refactor: remove all hardcoded matching — LLM classifies project names from full list in env
|
2026-08-09 23:12:47 +08:00 |
|
ymq
|
d4d59aa97e
|
fix: _find_project substring matching — 人事系统 matches 人事系统
|
2026-08-09 23:06:56 +08:00 |
|
ymq
|
317f4e30ee
|
fix: root cause — raw tool_call JSON in msgs was teaching LLM to mimic old calls
|
2026-08-09 22:59:45 +08:00 |
|
ymq
|
3da96af786
|
fix: remove switch_project from tools — switch handled by pre-processing before LLM runs
|
2026-08-09 22:54:52 +08:00 |
|
ymq
|
d86307e5f4
|
fix: create_project iteration_name + _save_ctx race condition
|
2026-08-09 22:49:00 +08:00 |
|
ymq
|
13f9b3d56f
|
fix: remove list_projects tool — switch_project handles listing; hard ban on auto-switch
|
2026-08-09 22:40:13 +08:00 |
|
ymq
|
38c4e69513
|
fix: agent must NOT auto-switch — stay in current project unless user explicitly asks
|
2026-08-09 22:35:44 +08:00 |
|
ymq
|
f82c349cd6
|
fix: prevent spurious project switch — prompt warns check current, switch returns early if already in project
|
2026-08-09 22:32:21 +08:00 |
|
ymq
|
6900a86782
|
fix: project_id→tenant_id + task_detail default list + diagnose_project tool
|
2026-08-09 22:22:27 +08:00 |
|
ymq
|
dbef268202
|
fix: cascade delete uses correct column names (tenant_id), remove non-existent pipeline_project_agents
|
2026-08-09 22:06:53 +08:00 |
|
ymq
|
a111c056e5
|
fix: conversational delete confirm + fix pipeline_agent_questions table name + cleanup system action bypass
|
2026-08-09 21:58:00 +08:00 |
|
ymq
|
d076a0a9f2
|
fix: Conform yield once + system action reads nested params + skip timeout text after widget
|
2026-08-09 20:06:16 +08:00 |
|
ymq
|
a2106e4365
|
delete_project: Conform confirm dialog + _sys_delete_project + system action bypass
|
2026-08-09 20:00:01 +08:00 |
|
ymq
|
dedb2a60e1
|
feat: delete_project tool with cascade cleanup + confirm gate
|
2026-08-09 19:55:16 +08:00 |
|
ymq
|
258afb1e7e
|
fix: left-align agent response text widgets
|
2026-08-09 19:49:19 +08:00 |
|
ymq
|
915333d9bd
|
cockpit agent: add task lifecycle tools (task_detail, deliverables, questions, start_agents)
|
2026-08-09 17:32:49 +08:00 |
|
ymq
|
ae1aaadd91
|
refactor: LLM-driven agent — list_projects/create_project/clone_repo/run_command tools, exact-match only
|
2026-08-09 17:24:33 +08:00 |
|
ymq
|
053b71ae95
|
fix agent: user-scoped conversation history + stricter _find_project matching
|
2026-08-09 17:19:59 +08:00 |
|
ymq
|
255f41c780
|
fix: handle prompt at top level from bricks AgentIO request body
|
2026-08-09 17:05:36 +08:00 |
|
ymq
|
426998b6c6
|
cockpit_chat: use _w_progress/_w_card/_w_text widget descriptors in yield stream
|
2026-08-09 17:02:49 +08:00 |
|
ymq
|
61a3ae43b5
|
fix: default action to send_message instead of list_messages
|
2026-08-09 16:57:11 +08:00 |
|
ymq
|
d46ab14e12
|
revert: cockpit_chat.dspy back to yield streaming version (6f5e989), remove request.read() raw body path
|
2026-08-09 16:55:04 +08:00 |
|
ymq
|
9a1d8083fd
|
fix: read raw body as JSON when bricks_fetch omits Content-Type header
|
2026-08-08 23:37:07 +08:00 |
|
ymq
|
47d5c490e4
|
fix: robust DictObject handling for AgentIO JSON body auto-detect
|
2026-08-08 23:35:00 +08:00 |
|
ymq
|
9bef8e131a
|
fix: AgentIO as main chat area with url+model_dataurl+model_cwidth+placeholder
|
2026-08-08 23:27:39 +08:00 |
|
ymq
|
b4c9e5dd4c
|
agent_input.js → bricks, AgentIO uses AgentInput internally, index.ui clean AgentIO
|
2026-08-08 23:23:10 +08:00 |
|
ymq
|
6426e1aa65
|
fix: AgentInput inputed bind — stream NDJSON via body.getReader() instead of r.json()
|
2026-08-08 23:18:51 +08:00 |
|