feat(agent): 预设本机工具、stdio MCP 传输与多轮上下文
- 预设 12 个本机工具并默认启用,装好即是可操作电脑的 Agent、无需总控配置或安装: 文件与文件夹的查看/读取/写入/建目录/移动/删除(默认不覆盖、删目录需 recursive、 拒绝删除系统目录与用户根目录)、用默认程序打开网址或文件、时间与时区换算 (tzdata 已随包内置)、查看进程、屏幕截图、读写剪贴板。 - 工具下发改为通用:任意 HTTP MCP 服务与 stdio 本机命令(Agent 拉起子进程, 容忍 stdout 噪声,命令缺失或进程崩溃会明确回报),支持多工具并存、 定义未变更时复用连接、替换/删除/退出时回收子进程。 - 多轮上下文:task_dispatch.history 作为此前的 user/assistant 文本拼接到本次请求前, OpenAI 兼容、Anthropic、Gemini 分别适配;Agent 侧独立校验与限幅。 - 工具级实时进度以 progress 事件回传;使用预设工具的任务标记为 builtin 执行来源。 - Skill 与历史内容上限与总控对齐,多个已批准 Skill 不再被静默截断。 - 修复 build.ps1 缺 UTF-8 BOM 导致 build.bat 在 PowerShell 5.1 下语法报错。
This commit is contained in:
@@ -96,6 +96,17 @@ class AgentDatabase:
|
||||
with sqlite3.connect(self._database_path) as connection:
|
||||
connection.execute("DELETE FROM application_meta WHERE key LIKE ?", (prefix + "%",))
|
||||
|
||||
def delete_meta(self, key: str) -> None:
|
||||
with sqlite3.connect(self._database_path) as connection:
|
||||
connection.execute("DELETE FROM application_meta WHERE key = ?", (key,))
|
||||
|
||||
def meta_entries(self, prefix: str) -> list[tuple[str, str]]:
|
||||
with sqlite3.connect(self._database_path) as connection:
|
||||
rows = connection.execute(
|
||||
"SELECT key, value FROM application_meta WHERE key LIKE ? ORDER BY key", (prefix + "%",)
|
||||
).fetchall()
|
||||
return [(str(row[0]), str(row[1])) for row in rows]
|
||||
|
||||
def enqueue_event(self, payload: str, created_at: str) -> None:
|
||||
with sqlite3.connect(self._database_path) as connection:
|
||||
connection.execute("INSERT INTO event_outbox(payload, created_at) VALUES (?, ?)", (payload, created_at))
|
||||
|
||||
Reference in New Issue
Block a user