Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
e2686ca
chore: sync main into dev after main-6a1bb22fd8b3
github-actions[bot] Jul 8, 2026
6581a92
docs(onesig): align skill with strategy api v2.5.3
duguwanglong Jul 8, 2026
37378c7
Merge pull request #532 from AgentFlocks/chore/sync-main-into-dev-mai…
duguwanglong Jul 8, 2026
3489fb8
fix(webui): serve static assets with stable MIME types
duguwanglong Jul 9, 2026
e346a55
Merge pull request #534 from AgentFlocks/fix/webui-static-mime
stephamie7 Jul 9, 2026
92bbc38
Merge pull request #533 from AgentFlocks/codex/optimize-onesig-use-v253
JohnYin-hub Jul 9, 2026
37b96e7
perf(webui): improve responsiveness under load
duguwanglong Jul 9, 2026
bcc9e72
perf(webui): optimize hub and tool list loading
duguwanglong Jul 9, 2026
819e6bc
perf(webui): cache tool list summaries
duguwanglong Jul 9, 2026
d6a9db9
perf(webui): optimize tool list loading
duguwanglong Jul 9, 2026
72463e7
perf(webui): reduce startup API load
duguwanglong Jul 9, 2026
53b9296
perf(webui): smooth loading and hub filters
duguwanglong Jul 9, 2026
4f98fba
fix(webui): stabilize tool tab switching
duguwanglong Jul 9, 2026
f82b883
fix(session): validate selected session before chat mount
duguwanglong Jul 9, 2026
3d68fdf
fix(session): harden initial messages and cached tasks
duguwanglong Jul 9, 2026
e7e2112
Merge branch 'dev' of github.com:AgentFlocks/flocks into perf/webui-l…
duguwanglong Jul 9, 2026
9fc3a9b
fix(webui): harden optimized loading paths
duguwanglong Jul 10, 2026
13f89b9
fix(webui): smooth streamed response rendering
duguwanglong Jul 10, 2026
7e80bb6
Add WhatsApp channel support
Jul 10, 2026
9e16bfa
fix(storage): harden SQLite corruption recovery
duguwanglong Jul 10, 2026
aa5cc44
Merge pull request #536 from AgentFlocks/fix/sqlite-recovery-stale-ha…
stephamie7 Jul 10, 2026
7a992cb
fix(supervisor): remove HTTP health check, use pure liveness probe
Jul 13, 2026
222f9f1
chore: remove dead code _is_healthy_status_response and _backend_heal…
Jul 13, 2026
67ea97c
Merge pull request #537 from AgentFlocks/health-check-liveness
duguwanglong Jul 13, 2026
2fe5e64
fix(webui): harden async refresh and loading flows
duguwanglong Jul 13, 2026
b378fab
Merge pull request #535 from AgentFlocks/perf/webui-load-optimization
stephamie7 Jul 13, 2026
f57d076
Merge branch 'dev' into codex/whatsapp-channel
Jul 13, 2026
90ce06a
fix: harden whatsapp channel pairing and ui
Jul 13, 2026
21296e3
fix: address whatsapp pairing review findings
Jul 14, 2026
d80d2f1
Merge pull request #539 from AgentFlocks/codex/whatsapp-channel
duguwanglong Jul 14, 2026
ae19cb3
fix(server): replace task-spawning HTTP middleware
duguwanglong Jul 14, 2026
c4bdbcc
Merge pull request #540 from AgentFlocks/fix/asyncio-task-polling
xiami762 Jul 14, 2026
24c733a
fix: use bundled ca for whatsapp bridge node processes
Jul 14, 2026
95e501d
Merge pull request #541 from AgentFlocks/fix/whatsapp-node-bundled-ca
stephamie7 Jul 14, 2026
ab3cdd4
docs: update badges and service access guidance
Jul 14, 2026
d31fbb8
chore: refresh dependency lockfile
Jul 14, 2026
22ab87f
Merge pull request #542 from AgentFlocks/docs/update-readme-badges
duguwanglong Jul 14, 2026
fb794ab
fix: match whatsapp lid aliases in dispatcher allowlist
Jul 14, 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
83 changes: 41 additions & 42 deletions .flocks/plugins/skills/onesig-use/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,80 +1,79 @@
---
name: onesig-use
description: 用于处理 OneSIG(安全互联网网关 / Secure Internet Gateway)相关任务,适合通过 API 或者结合浏览器进行以下任务:威胁监控(仪表盘、防护大屏、失陷主机、入站/出站威胁事件、报告管理)、防护策略(全局白/黑名单、多维封锁、IPS、HTTP 黑名单、高危端口防护、API 联动、Syslog 自动封禁、FTP/SFTP 联动)、资产管理、平台管理(告警/审计/用户、HTTPS 解密、网口路由 DNS、HA、OneCC、设备升级与备份、license、MDR、诊断)、登录会话与改密、帮助文档。只要用户提到 OneSIG、SIG、安全互联网网关、微步互联网网关等相关操作时,必须先加载本 skill。本 skill 是 OneSIG 平台操作的唯一决策入口:在未阅读本 skill 并完成模式判断前,不要直接调用任何 `onesig_*` tool。
description: 用于处理 OneSIG(安全互联网网关 / Secure Internet Gateway)相关任务,当前项目内优先适配 OneSIG Strategy API v2.5.3(`onesig_strategy_api_query` / `onesig_strategy_api_ops`):设备状态、资产、策略、全局白名单、全局黑名单、封禁白名单、HTTP 黑名单的查询与写操作。只要用户提到 OneSIG、SIG、安全互联网网关、微步互联网网关等相关操作时,必须先加载本 skill。本 skill 是 OneSIG 平台操作的唯一决策入口:在未阅读本 skill 并完成模式判断前,不要直接调用任何 `onesig_*` tool,也不要把 OneSEC 的调用约定套用到 OneSIG
---

# OneSIG Use

## First

操作模式 API V.S Browser
先判断操作模式:API V.S Browser

### 何时使用 API

- 默认模式,默认使用 API
- !!! important: 如果已经进入了浏览器模式,就不要走 API 了
- 查询类请求与处置 / 配置写入类请求要严格区分;用户没有明确要求执行写操作时,默认只使用只读查询能力
- 默认先判断当前诉求是否被新版 Strategy API 覆盖;覆盖时优先使用 API
- 查询类请求与配置写入类请求必须严格区分;用户没有明确要求写操作时,默认只使用只读查询能力
- 当前项目内最新工具包是 `.flocks/plugins/tools/device/onesig_v2_5_3`,只暴露两个 grouped tool:
- `onesig_strategy_api_query`:只读查询,`requires_confirmation=false`
- `onesig_strategy_api_ops`:写操作,`requires_confirmation=true`

当前 Strategy API 覆盖的能力:

- 设备状态:平台状态、系统状态、网络状态
- 资产:资产组、资产列表、资产类型,以及资产 / 资产组的新增、更新、删除
- 防护策略:策略列表、策略更新、策略删除
- 全局白名单、全局黑名单、封禁白名单
- HTTP 黑名单

### 何时使用浏览器

- 现有 API 没有覆盖目标能力
- 未检测到对应 API 工具
- API 当前不可用,例如未配置、未开通、无权限、认证失败、Cookie 过期、SSL 验证失败或服务不可达
- 当前 Strategy API 没有覆盖目标能力,例如威胁监控、仪表盘、失陷主机、入站 / 出站事件、报告、IPS、Syslog 自动封禁、FTP/SFTP 联动、高危端口防护、用户管理、HTTPS 解密、网口 / 路由 / DNS、HA、OneCC、升级备份、license、MDR、诊断、帮助文档
- API 工具未检测到、未配置、无权限、ApiKey / Secret 缺失、认证失败、SSL 验证失败或服务不可达
- 任务必须查看页面级详情、攻击链、威胁图、报表预览或人工确认弹窗
- 页面需要人工登录、图形验证码、TOTP、强制改密或页面级确认
- 用户明确要求使用浏览器,或者已经在浏览器操作过程中

### 请求确认

除非是用户要求使用浏览器,否则提示用户 API 不可用,请检查 API 配置或直接使用浏览器模式
除非用户要求使用浏览器,否则如果 API 不可用,应提示用户检查 OneSIG Strategy API 配置,或确认是否改用浏览器模式

当确定操作模式后:

- API 模式:请阅读 API 模式使用指南
- 浏览器模式:请阅读浏览器模式使用指南
- API 模式:必须阅读 API 模式使用指南
- 浏览器模式:必须阅读浏览器模式使用指南

## API 模式使用指南

OneSIG 一共 6 个 grouped tool,按用户语义分流
必须阅读

- 用户说"仪表盘""威胁防护大屏""失陷主机""入站/出站威胁事件""设备状态""报告""导出报表"时,优先走 `onesig_monitoring`
- 用户说"白名单""黑名单""多维封锁""API 联动密钥""Syslog 自动封禁""FTP/SFTP 联动""IPS 规则""HTTP 黑名单""端口防护组""一键 bypass""防护策略"时,优先走 `onesig_strategy`
- 用户说"资产""资产组""资产类型""资产导入/导出"时,优先走 `onesig_assets`
- 用户说"告警/通知配置""管理日志/审计""用户管理/登录策略""HTTPS 解密""网口/部署引导""路由 / DNS / 代理""HA 高可用""集中管控/OneCC""设备升级/重启/备份/恢复""日志外发""license""MDR""coredump""pcap""设备诊断"时,优先走 `onesig_device`
- 用户说"登录""退出""改密""账户信息""图形验证码""TOTP""恢复码""产品动态红点"时,优先走 `onesig_login`
- 用户说"帮助文档""产品版本""提交问题反馈"时,优先走 `onesig_helper`
各 grouped tool 与 action 的详细说明、最小调用示例、失败处理见 [references/api-reference.md](references/api-reference.md)。

OneSIG 与 OneSEC 在调用约定上有几个**关键差异**,agent 不要混用
核心调用约定

- 时间字段是 `startTime` / `endTime`(不是 OneSEC 的 `time_from` / `time_to`),单位 **Unix 秒**
- 分页字段是 `pageNo` / `pageSize`(不是 `cur_page` / `page_size`,也不是 `page_items_num`)
- OneSIG 主要走 **Cookie 会话** + RSA-OAEP 加密密码登录,处理器会自动登录、会话过期会自动重登;只有当设备启用了图形验证码或 TOTP 时才需要显式调 `onesig_login` 的 `login` 动作,并把 `captcha` / `totp` 作为入参传入
- 每个 grouped tool 的 action 除了 `action` 都按业务键平铺;POST 类 action 多数走 passthrough body,把所有筛选 / 分页字段直接放在请求体顶层即可
- `onesig_strategy_api_query` 用于所有只读查询
- `onesig_strategy_api_ops` 用于所有写操作;调用前必须确认影响范围
- 入参优先使用 `{ "action": "...", "body": { ... } }`
- Strategy API 认证是 `ApiKey + Secret` 的 HMAC-SHA1 签名,handler 会自动生成 `apikey` / `timestamp` / `sign`,agent 不要手工拼签名
- Strategy API 走 `/api/v3/...` 路径;不要混用旧控制台 Cookie 版 `/v3/...` 工具说明
- 分页字段使用 `pageNo` / `pageSize`;不要传 OneSEC 的 `cur_page` / `page_size` / `page_items_num`
- 当前 Strategy API action 没有 OneSEC 风格的 `time_from` / `time_to`;不要把 OneSEC 时间参数套进 OneSIG
- 查询单条或写操作前,如果缺少业务 ID,应先调用对应 list action 获取主键,再执行下一步

高风险写操作要特别谨慎,例如:

- 设备级动作:`device_onekey_bypass` / `device_quick_bypass`(流量直通)、`device_reboot` / `device_shutdown` / `device_reinit`、`device_upgrade` / `device_upgrade_upload` / `system_upgrade`
- 用户与口令:`user_create` / `user_delete` / `user_update` / `user_secret_reset`、`change_password`、`regenerate_recovery_code`
- 黑白名单与封禁:`whitelist_*` / `blacklist_*` 系列写操作、`multiblock_rule_create` / `multiblock_rule_update` / `multiblock_rule_delete` / `multiblock_rule_active`、`auto_blacklist_create` / `auto_blacklist_update` / `auto_blacklist_delete`
- IPS / HTTP / 端口防护:`ips_rule_create` / `ips_rule_apply` / `ips_rule_all`、`ips_ruleset_create` / `ips_ruleset_update` / `ips_ruleset_delete`、`http_blacklist_*` 写操作、`port_protect_group_*` / `port_protect_port_*` 写操作、`protection_policy_update` / `protection_policy_delete`
- HTTPS 解密:`tls_decrypt_policy_create` / `_update` / `_enable` / `_delete` / `_batch`、`tls_cert_create` / `_update` / `_delete` / `_set_default`、`tls_detect_delete` / `set_decrypt_config`
- 网口 / 路由 / 网络:`interface_update`(涉及启停时需 password)、`interface_*_create/update/delete`(virtualLine / listen / bridge)、`route_static_*` / `ipv6_route_static_*` 写操作、`set_dns_config` / `set_proxy_config`、`hosts_create/update/delete`
- 高可用 / 集中管控:`set_ha_config` / `ha_switching` / `ha_sync_config`、`set_onecc_config` / `set_onecc_status`
- 备份与升级:`backup_create` / `backup_recover` / `backup_delete` / `backup_import` / `backup_update`、`device_download_package`
- 离线情报库 / 授权:`basic_information_import` / `basic_information_enable`、`basic_license_upload`、`mdr_service_enable`
- 诊断写操作:`device_pcap_set`、`device_coredump_delete` / `device_pcap_file_delete`
- 报表与日志外发:`report_form_create` / `report_form_delete`、`report_task_create` / `_update` / `_delete` / `_test`、`logaccess_create` / `_update` / `_delete`、`set_dnslog_config`、`set_clean_config` / `set_storage_config`
- API Key 与密钥:`apikey_create` / `apikey_update` / `apikey_delete`、`apikey_secret`(会回吐明文 secret,需当前用户密码二次校验)

必须阅读:

各 grouped tool 与 action 的详细说明、必填参数、最小调用示例见 [references/api-reference.md](references/api-reference.md)。
- `asset_group_create` / `asset_group_update` / `asset_group_delete`
- `asset_create` / `asset_update` / `asset_delete`
- `protection_policy_update` / `protection_policy_delete`
- `whitelist_create` / `whitelist_update` / `whitelist_delete` / `whitelist_remove`
- `blacklist_create` / `blacklist_update` / `blacklist_delete` / `blacklist_remove`
- `banned_whitelist_create` / `banned_whitelist_update` / `banned_whitelist_delete`
- `http_blacklist_create` / `http_blacklist_update` / `http_blacklist_enable` / `http_blacklist_delete`

## 浏览器模式使用指南

- ⚠️ 如果 OneSIG 设备的访问地址不清楚,请先询问用户,不要擅自填写域名
- ⚠️ 用 `--headed` 打开浏览器,人工完成登录(OneSIG 多数部署启用了图形验证码 / TOTP / 强制改密策略)
- ⚠️ OneSIG 控制台与 OneSEC / 青藤是不同产品;不要把 OneSEC 的页面路径或 OneSEC 的 API 套用到 OneSIG
- 如果 OneSIG 设备的访问地址不清楚,请先询问用户,不要擅自填写域名
- 用 `--headed` 打开浏览器,人工完成登录(OneSIG 部署可能启用了图形验证码 / TOTP / 强制改密策略)
- OneSIG 控制台与 OneSEC / 青藤是不同产品;不要把 OneSEC 的页面路径或 OneSEC 的 API 套用到 OneSIG

只要进入浏览器模式,就请阅读并按照 browser-workflow 操作,不要直接跳过本 skill 去套用其他通用浏览器 skill。

Expand Down
Loading
Loading