Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
0267d36
chore(agent): 建立 Agent 协议契约与行为基线
MarisaMagic Sep 18, 2026
3d030bd
feat(agent): 新增 Node Agent 运行时骨架与传输外壳
MarisaMagic Sep 18, 2026
e58524e
feat(agent): 实现 Node 侧 Agent 工具循环主干
MarisaMagic Sep 18, 2026
9a53b07
feat(agent): 实现提案流式拦截与写入类工具
MarisaMagic Sep 18, 2026
cf0055c
feat(agent): 补齐只读工具与 nativeImage 图像服务
MarisaMagic Sep 18, 2026
58b2a4d
feat(agent): 实现多模态附图注入与视觉兜底
MarisaMagic Sep 18, 2026
33d9865
feat(agent): 实现只读查阅子代理与 MCP 客户端
MarisaMagic Sep 18, 2026
c6fb72e
feat(agent): 迁移标注编排三端点(llm-generate / mutation-prepare / 质量报告)
MarisaMagic Sep 18, 2026
f41390d
feat(agent): 迁移 map-detection-boxes(逐框视觉映射 + 启发式映射)
MarisaMagic Sep 18, 2026
a17058c
refactor(agent): 移除 Python Agent 服务与嵌入式运行时
MarisaMagic Sep 18, 2026
36a7cf0
chore(agent): 更新 fork 冒烟断言并补充兜底字段说明
MarisaMagic Sep 18, 2026
4c117ae
fix(agent): 修复流式故障静默、凭据错误码、运行时崩溃失联与标注文档错位
MarisaMagic Sep 19, 2026
8624414
fix(agent): 渲染层本地服务地址缓存自愈,与运行时自动重启联动
MarisaMagic Sep 19, 2026
f6aab86
feat(agent): 文件写入与标注编辑免确认直接落盘,撤销升级为一等公民
MarisaMagic Sep 19, 2026
dadc93d
fix(agent): 自动落盘改为工具内 await,并清理误导性的 Keep All 措辞
MarisaMagic Sep 19, 2026
485419c
fix(agent): 修复 MCP SSE 调用、任务阶段门禁与快照回滚,新增终端工具
MarisaMagic Sep 19, 2026
bb4c6e6
chore(lint): 清掉分支攒下的 330 个 lint error,同步 lockfile
MarisaMagic Sep 19, 2026
2f63a48
ci: 移除随架构迁移失效的 Python 编排 CI,改 Node-only 并拆开 job
MarisaMagic Sep 19, 2026
457333e
docs: SECURITY.md 对齐 Node 运行时,并补 Agent 运行时产物的存在性断言
MarisaMagic Sep 19, 2026
e19defa
fix(agent): 不再回传异常消息,并排除两条 CodeQL 误报
MarisaMagic Sep 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions .baseline/python/client-tool-pending.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
[
{
"stage": "streaming",
"type": "preparing"
},
{
"content": "我来发起自动标注",
"type": "text_delta"
},
{
"content": "。",
"type": "text_delta"
},
{
"arguments": "{\n \"user_request\": \"标注 data 下所有图片\",\n \"paths\": [\n \"data/\"\n ]\n}",
"name": "auto_annotate",
"toolCallId": "<tc:0>",
"type": "tool_start"
},
{
"clientToolCalls": [
{
"arguments": {
"paths": [
"data/"
],
"user_request": "标注 data 下所有图片"
},
"name": "auto_annotate",
"toolCallId": "<tc:0>"
}
],
"toolCalls": [
{
"arguments": {
"paths": [
"data/"
],
"user_request": "标注 data 下所有图片"
},
"name": "auto_annotate",
"toolCallId": "<tc:0>"
}
],
"type": "tool_pending"
},
{
"type": "done"
},
{
"stage": "streaming",
"type": "preparing"
},
{
"content": "标注提案已生成,",
"type": "text_delta"
},
{
"content": "请检查后 Kee",
"type": "text_delta"
},
{
"content": "p All。",
"type": "text_delta"
},
{
"type": "done"
}
]
18 changes: 18 additions & 0 deletions .baseline/python/meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"label": "python",
"target": "http://127.0.0.1:8765/api/v1",
"capturedAt": "2026-09-18T17:00:47.041Z",
"scenarios": [
"plain-text",
"reasoning",
"single-tool",
"parallel-readonly",
"proposal-write",
"proposal-edit",
"proposal-lr-agent-suppressed",
"client-tool-pending",
"subagent",
"tool-choice-any-fallback",
"multiple-rounds"
]
}
39 changes: 39 additions & 0 deletions .baseline/python/multiple-rounds.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
[
{
"stage": "streaming",
"type": "preparing"
},
{
"arguments": "{}",
"name": "describe_client_context",
"toolCallId": "<tc:0>",
"type": "tool_start"
},
{
"result": "未知工具: describe_client_context",
"toolCallId": "<tc:0>",
"type": "tool_result"
},
{
"arguments": "{\n \"topic\": \"标注\"\n}",
"name": "get_lr_agent_help",
"toolCallId": "<tc:1>",
"type": "tool_start"
},
{
"result": "标注任务在左侧活动栏「标注任务」中创建。 **Ask**:分析与建议,不修改文件、不执行批量标注。**标注 Agent**:新增/重写用 auto_annotate,改已有标注用 mutate_annotation。**编辑器 Agent**:只改代码/文档,不能标注。",
"toolCallId": "<tc:1>",
"type": "tool_result"
},
{
"content": "两轮工具都完成了",
"type": "text_delta"
},
{
"content": "。",
"type": "text_delta"
},
{
"type": "done"
}
]
39 changes: 39 additions & 0 deletions .baseline/python/parallel-readonly.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
[
{
"stage": "streaming",
"type": "preparing"
},
{
"content": "我同时看几处。",
"type": "text_delta"
},
{
"arguments": "{\n \"relative_path\": \"README.md\"\n}",
"name": "read_workspace_file",
"toolCallId": "<tc:0>",
"type": "tool_start"
},
{
"result": "文件:README.md\n大小:54 字节\n---\n 1|# 夹具工作区\n 2|\n 3|用于 Agent 协议基线抓取。",
"toolCallId": "<tc:0>",
"type": "tool_result"
},
{
"arguments": "{\n \"glob_pattern\": \"**/*.json\"\n}",
"name": "glob_workspace",
"toolCallId": "<tc:1>",
"type": "tool_start"
},
{
"result": "glob:**/*.json\n范围:.\n条目数:1\n---\nconfig/app.json",
"toolCallId": "<tc:1>",
"type": "tool_result"
},
{
"content": "两处都看完了。",
"type": "text_delta"
},
{
"type": "done"
}
]
17 changes: 17 additions & 0 deletions .baseline/python/plain-text.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
[
{
"stage": "streaming",
"type": "preparing"
},
{
"content": "你好,这是纯文本",
"type": "text_delta"
},
{
"content": "回复。",
"type": "text_delta"
},
{
"type": "done"
}
]
180 changes: 180 additions & 0 deletions .baseline/python/proposal-edit.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
[
{
"stage": "streaming",
"type": "preparing"
},
{
"content": "我改一下这段配置",
"type": "text_delta"
},
{
"content": "。",
"type": "text_delta"
},
{
"detail": "0",
"mode": "edit",
"operation": "edit",
"suggestedRelativePath": "config/app.json",
"summary": "config/app.json",
"title": "config/app.json",
"type": "file_proposal_start"
},
{
"imagePath": "config/app.json",
"oldDelta": " ",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"oldDelta": "\"t",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"oldDelta": "ime",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"oldDelta": "out",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"oldDelta": "\":",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"oldDelta": " 30",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"oldDelta": ",\n",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"oldDelta": " \\",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"oldDelta": "re",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"oldDelta": "tri",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"oldDelta": "es\\",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"oldDelta": ": ",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"oldDelta": "1\n",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"newDelta": " ",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"newDelta": "\"t",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"newDelta": "ime",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"newDelta": "out",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"newDelta": "\":",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"newDelta": " 12",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"newDelta": "0,\\",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"newDelta": " ",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"newDelta": "\"r",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"newDelta": "etr",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"newDelta": "ies",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"newDelta": "\":",
"type": "file_edit_delta"
},
{
"imagePath": "config/app.json",
"newDelta": " 3\\",
"type": "file_edit_delta"
},
{
"arguments": "{\n \"relative_path\": \"config/app.json\",\n \"old_string\": \" \\\"timeout\\\": 30,\\n \\\"retries\\\": 1\\n\",\n \"new_string\": \" \\\"timeout\\\": 120,\\n \\\"retries\\\": 3\\n\"\n}",
"name": "str_replace_workspace_file",
"toolCallId": "<tc:0>",
"type": "tool_start"
},
{
"result": "已生成补丁提案:config/app.json(替换 1 处)。文件尚未写入磁盘;用户确认(Keep All)后才会落盘。",
"toolCallId": "<tc:0>",
"type": "tool_result"
},
{
"content": "{\n \"timeout\": 120,\n \"retries\": 3\n}\n",
"mode": "write",
"operation": "write",
"suggestedRelativePath": "config/app.json",
"summary": "App",
"title": "App",
"type": "file_proposal"
},
{
"content": "替换提案已生成。",
"type": "text_delta"
},
{
"type": "done"
}
]
24 changes: 24 additions & 0 deletions .baseline/python/proposal-lr-agent-suppressed.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
[
{
"stage": "streaming",
"type": "preparing"
},
{
"arguments": "{\n \"relative_path\": \".lr-agent/scratch.md\",\n \"content\": \"内部草稿\"\n}",
"name": "write_workspace_file",
"toolCallId": "<tc:0>",
"type": "tool_start"
},
{
"result": "{\"ok\": false, \"tool\": \"write_workspace_file\", \"status\": \"error\", \"summary\": \"无法写入文件:不能用本工具写入标注。新增/重写请调用 auto_annotate,修改请调用 mutate_annotation。\", \"file_written\": false, \"proposal_pending\": false}",
"toolCallId": "<tc:0>",
"type": "tool_result"
},
{
"content": "内部草稿已处理。",
"type": "text_delta"
},
{
"type": "done"
}
]
Loading
Loading