Commit Graph

118 Commits

Author SHA1 Message Date
a9b830d11e feat(skills-ui): manage plugin skill mirrors 2026-06-16 12:12:19 +08:00
0ac3cce6f3 feat(api): manage declarative plugins 2026-06-16 12:01:12 +08:00
54bced4251 feat(runtime): sync declarative plugins at boot 2026-06-16 11:58:01 +08:00
a34b1219bc feat(skill-learning): merge plugin skill updates 2026-06-16 11:55:55 +08:00
c9e6c37b5c feat(plugins): enqueue skill upgrade candidates 2026-06-16 11:47:15 +08:00
994710e232 feat(plugins): mirror enabled plugin skills 2026-06-16 11:44:55 +08:00
094dde0b81 feat(skills): store immutable plugin upstream snapshots 2026-06-16 11:42:46 +08:00
41b45e0423 feat(plugins): discover packages and persist state 2026-06-16 11:40:31 +08:00
7020f2d67f feat(agent-service): 添加直接模式下的消息处理支持
当代理服务处于非运行状态时,现在会使用process_direct方法来处理入站消息,
而不是依赖submit_direct方法。这使得服务能够在两种模式下都能正确处理消息。

添加了新的DirectModeInboundService和RunningInboundService测试类来验证
不同模式下的行为,并增加了相应的集成测试用例。
2026-06-16 11:05:08 +08:00
2cacff4a0f feat(external-connector): 默认连接器提供者改为官方版本
将环境变量 CONNECTOR_PROVIDER 的默认值从 "fake" 改为 "official",
以便在没有明确指定提供者时使用官方的连接器实现。
2026-06-16 10:48:45 +08:00
29845657f5 feat(deploy-control): 添加直接IP绑定功能支持
新增ipaddress模块导入以支持IP地址处理,
添加DEPLOY_DIRECT_PUBLIC_HOST_BIND_IP环境变量配置,
实现IP地址验证、直接URL构建和端口分配功能,
当基础域名是IP地址时自动使用直接绑定模式,
支持IPv4和IPv6地址格式并添加相应参数传递
2026-06-16 10:29:45 +08:00
b736fc9c81 feat(auth-portal): 添加部署控制服务调用支持
- 导入callDeployControl和normalizeTokenResponse函数用于处理部署配置
- 新增hasTargetFrontendUrl函数检查响应中是否存在目标前端URL
- 在注册流程中添加部署路由解析逻辑,当缺少前端URL时调用部署控制服务获取配置
- 更新normalizeTokenResponse函数以支持从实例对象中提取URL配置

refactor(runtime-control): 增强令牌响应标准化功能

- 扩展normalizeTokenResponse函数支持从instance对象中获取URL配置
- 添加对instance字段的支持,优先级为routing > instance配置
- 支持从instance中提取frontend_base_url、api_base_url和public_url

build(tsconfig): 排除测试文件构建

- 在tsconfig.json中添加排除规则,排除**/*.test.ts和**/*.test.tsx文件
- 避免测试文件参与生产构建

refactor(authz-service): 优化Python后端令牌响应处理

- 更新_normalize_portal_token_response函数支持从实例对象中提取URL配置
- 重构URL优先级逻辑,支持routing和instance双重数据源
- 改进代码可读性,将复杂的URL赋值逻辑拆分为多行
2026-06-16 10:17:30 +08:00
aadbe80a23 fix(cron_service): 修复更新任务启用状态时的死锁问题
当定时任务服务正在运行时,更新任务的启用状态可能导致死锁。
现在通过改进锁的使用方式来避免这个问题。

在update_enabled方法中添加了正确的变量初始化,
并在循环逻辑中进行了优化以确保正确释放锁。
同时添加了专门的测试用例来验证在并发场景下不会发生死锁。
2026-06-16 09:40:57 +08:00
66f1f089c5 ```
feat: 增强URL基础地址验证功能

- 在app-instance/frontend/lib/api.ts中实现更严格的URL验证逻辑,
  包括检查是否以斜杠开头、包含空格字符,以及使用URL构造函数进行验证

- 在app-instance/frontend/lib/auth-portal.ts中应用相同的URL验证改进,
  提升认证门户的基础地址处理安全性

- 在auth-portal/src/lib/auth-client.ts中增强前端跳转URL构建功能,
  添加错误处理机制并在URL构造失败时抛出相应异常

- 统一三个文件中的normalizeBaseUrl函数实现,确保一致的输入验证行为
```
2026-06-16 09:26:55 +08:00
06971dc673 ```
feat(deploy-control): 添加命令执行异常处理

当subprocess.run执行失败时捕获OSError异常,并抛出带有详细错误信息的ApiError,
提供更好的错误提示和调试支持。
```
2026-06-15 18:09:25 +08:00
beddf12bc0 ```
feat(learning): 修复任务运行记录排序逻辑处理空attempt_index的情况

当RunRecord的attempt_index为None时,之前的排序逻辑会出现问题。
现在通过在排序键中显式处理None值来解决这个问题,
将None值排在前面,并将其转换为0进行比较。

同时添加了单元测试验证团队运行记录(没有attempt_index)的处理情况。
```
2026-06-15 18:00:59 +08:00
4b0bf65ace ```
feat(engine): 优化智能体循环中的助手消息处理逻辑

- 在没有工具调用时才添加助手消息到上下文
- 确保工具调用响应正确添加到消息上下文中
- 修复了消息构建的条件逻辑

fix(cron): 改进定时任务调度的时间解析功能

- 添加正则表达式导入用于时间显示解析
- 实现从显示文本中提取毫秒间隔的功能
- 增强整数转换的安全性,避免类型错误
- 优化定时任务配置的解析逻辑

feat(outlook): 增强Outlook集成的功能和稳定性

- 将默认超时时间从10秒增加到180秒
- 为状态检查函数添加可选的验证参数
- 串行执行邮件概览获取操作而非并行
- 改进连接状态验证逻辑

feat(channel): 添加设备名称作为会话标识的选项

- 为终端WebSocket适配器添加新的配置选项
- 实现基于设备名称生成会话对等ID的功能
- 记录原始对等ID和设备名称的元数据
- 支持从设备名称创建会话对等ID

feat(skills): 完善技能学习评估系统和进度跟踪

- 在应用启动时自动调度待评估的技能草稿
- 为技能评估工作创建独立的循环工厂
- 实现异步技能评估任务的取消和清理机制
- 添加技能评估进度报告和状态跟踪功能
- 扩展会话列表API以包含更多详细信息
- 防止对不存在的会话进行操作
- 优化技能草稿提交和评估的业务逻辑

perf(skills): 提升技能评估的并发性能

- 实现并行技能案例评估以提高效率
- 添加最大并行案例数的环境变量控制
- 实现实时评估进度更新和回调机制
- 优化评估过程中的资源管理和同步

refactor(services): 创建隔离的智能体循环实例

- 添加创建独立智能体循环的工厂方法
- 确保新循环继承运行时服务配置
- 支持技能评估等需要隔离环境的场景
```
2026-06-15 14:48:16 +08:00
8aeb97a5fc feat(app): 移除内置agents并添加CORS支持和技能上传优化
移除了agents/registry.json中的所有内置agents配置,将agents数组清空。
为web应用添加了CORS中间件支持,允许指定的前端地址跨域访问。
重构了技能上传功能,增加了LLM重写机制,自动规范化上传的技能格式。
新增了工具名称提取逻辑,从技能正文中自动识别Required Tools段落。
更新了技能学习候选者和草稿的载荷结构,添加评估报告统计信息。
修改了意图路由技能的说明,改进任务状态管理逻辑。
2026-06-12 13:25:20 +08:00
fc9fd93c36 feat: 支持多语言提示词本地化和界面优化
- 添加 prompt_locale 参数支持简体中文、繁体中文和英文提示词本地化
- 移除内置 agents 配置以简化系统架构
- 更新 ContextBuilder 使用动态提示词模板而非硬编码内容
- 在 AgentLoop、Web 接口和 AgentService 中传递 locale 参数
- 添加输出语言指令确保用户界面内容按指定语言生成
- 扩展前端 LanguageSwitcher 组件支持三种语言选项
- 优化 Header 和侧边栏组件的响应式布局和文本截断处理
- 更新测试用例验证不同语言环境下的提示词正确性
2026-06-10 16:11:05 +08:00
9cc3334ea7 ```
feat(app-instance): 添加Outlook MCP调用超时配置选项

新增OUTLOOK_MCP_CALL_TIMEOUT_SECONDS环境变量,默认值为60秒,
用于控制后端等待Outlook MCP调用的超时时间。

在create-instance.sh脚本中添加了相应的命令行参数解析和处理逻辑,
同时更新了deploy-control组件的相关配置和测试用例。

BREAKING CHANGE: 新增配置项可能需要现有部署进行相应调整。
```
2026-06-09 14:23:37 +08:00
dc4c6f313d fix(providers): avoid chat template body for vllm mistral 2026-06-09 13:19:09 +08:00
9e2c02a333 feat(skills-ui): show replay eval coverage 2026-06-08 13:38:10 +08:00
b9171998b9 feat(skill-learning): gate publish on replay confidence 2026-06-08 13:36:55 +08:00
64d789a3d0 feat(skill-learning): produce replay eval reports 2026-06-08 13:35:58 +08:00
cc1bf85517 feat(skill-learning): run replay arms through agent loop 2026-06-08 13:33:53 +08:00
4c8bc53d33 feat(skill-learning): add surrogate tool evaluator 2026-06-08 13:33:02 +08:00
70014c0f70 feat(engine): allow replay tool executor injection 2026-06-08 13:32:14 +08:00
eb69bb168a feat(skill-learning): add replay tool policy 2026-06-08 13:31:13 +08:00
7287e93f87 feat(skill-learning): select replay eval cases 2026-06-08 13:30:00 +08:00
a925f0e77f feat(skill-learning): preserve base skill during synthesis 2026-06-08 13:28:41 +08:00
6dc580ab26 feat(skill-learning): add draft preservation checks 2026-06-08 13:27:10 +08:00
3a16dc283d feat(skill-learning): extend eval report payload 2026-06-08 13:26:12 +08:00
0fd4df3c17 docs: plan skill replay eval implementation 2026-06-08 11:26:07 +08:00
f46a435bab docs: refine skill replay case selection 2026-06-08 10:46:35 +08:00
a28254c6b8 docs: design skill replay eval 2026-06-08 10:29:39 +08:00
0cf4f44346 提交修改 2026-06-08 10:19:57 +08:00
e0bc6c55b0 chore: update external connector deployment flow 2026-06-05 17:27:05 +08:00
2c5205b06e feat: 添加MinIO文件系统支持并优化外部连接器功能
- 添加MinIO用户文件系统配置选项(BEAVER_MINIO_ROOT_USER等)
- 更新外部连接器配置结构,包括BASE_URL和认证令牌设置
- 改进connector provider支持更多类型(official, feishu_bot等)
- 实现Mistral模型推理模式支持reasoning_effort参数
- 增强外部连接器策略配置和运行时配置管理
- 添加connector bridge事件验证和安全保护机制
- 优化任务路由逻辑,区分simple_chat和new_task场景
- 更新初始技能工具提示配置,分离authoring admin功能
2026-06-05 11:46:40 +08:00
236ac19789 test: add pytest asyncio dependency 2026-06-03 16:34:37 +08:00
ba2417c7f2 merge: personal user filesystem minio integration 2026-06-03 16:32:29 +08:00
f3655c86c9 merge: channel runtime v1 2026-06-03 16:23:07 +08:00
c3d84b904a feat: implement channel runtime connectors 2026-06-03 16:22:44 +08:00
ffa1249403 feat: integrate MinIO-backed user filesystem 2026-06-03 12:06:34 +08:00
ee972441f5 docs: harden external connector implementation plans 2026-06-03 10:32:50 +08:00
d335199a64 docs: add external connector implementation plans 2026-06-03 09:24:06 +08:00
feeaccc0e3 docs: tighten external connector contract 2026-06-03 09:12:30 +08:00
cf35edb4ca docs: decouple external connector sidecar design 2026-06-02 18:05:46 +08:00
e0a4862af8 docs: add openclaw sidecar connector design 2026-06-02 17:59:57 +08:00
c3a0aef104 docs: tighten channel connector API plan 2026-06-02 16:07:01 +08:00
b25713a141 docs: refine channel connectors foundation plan 2026-06-02 15:51:16 +08:00