在发布目录(action/release/v2026.08.11/)双击 运行AI商业行动系统.bat:
.env 中的 LLM Key(DeepSeek/DashScope/Anthropic/OpenAI);aip.exe→AIP(18080)、foundry.exe→Foundry(18081)、apollo.exe→Apollo(18082)、gotham.exe→Gotham(18083)、swift.exe→Swift(18084)、gateway.exe→网关(80);http://127.0.0.1/,按任意键停止全部进程。| 服务 | 端口 | 访问地址 | 网关前缀 |
|---|---|---|---|
| Web 网关 | 80 | http://127.0.0.1/ | SPA + 反向代理 |
| LightAIP | 18080 | http://127.0.0.1:18080 | /aip-api |
| LightFoundry | 18081 | http://127.0.0.1:18081 | /api |
| LightApollo | 18082 | http://127.0.0.1:18082 | /apollo-api |
| LightGotham | 18083 | http://127.0.0.1:18083 | /gotham-api |
| LightSwift | 18084 | http://127.0.0.1:18084 | /swift-api(仿真 PoC) |
| Vite 开发服务器 | 5173 | http://localhost:5173 | 仅开发模式 |
网关前缀 `/api/*`→Foundry、`/apollo-api/*`→Apollo、`/aip-api/*`→AIP、`/gotham-api/*`→Gotham、`/swift-api/*`→Swift(前缀重写为 /api),其余 SPA fallback。
chatbi_action_dev(五产品共用),连接参数 DB_* 环境变量;temp/aip_platform.db、Foundry temp/foundry_platform.db、Apollo temp/apollo_platform.db、Gotham temp/gotham_platform.db(图谱 JSON temp/gotham_graph.json)、Swift temp/swift_platform.db;logs/app.log(JSON、lumberjack 滚动 10MB×5×28 天)。| 项 | 默认值 | 环境变量 |
|---|---|---|
| 用户名 | admin | DEFAULT_ADMIN_USERNAME |
| 密码 | admin1 | DEFAULT_ADMIN_PASSWORD |
http://127.0.0.1/ → 自动跳转 /login;aip_token),自动落地到 Foundry 本体工作台 /foundry。Apollo 独立登录页 + JWT/API-Key 双通道(lap_ 前缀);Swift 内嵌登录(admin/admin1)。
auth_mfa_secrets(新表放 platform/auth 模块内,各产品 bootstrap 自动迁移);totp_code(未输口令返回 MFA_REQUIRED 错误码)→ disable 关闭;| 菜单 | 路由 | 说明 |
|---|---|---|
| 智能查询 | /chat | AIP NLQ 聊天窗口 |
| 数据源管理 | /datasources | AIP 数据源 CRUD |
| 进入 Foundry | /foundry | 侧边栏布局:本体/版本/YAML/Action/指标/管道/血缘/质量/检索/查询/数据集/同步/SQL 工作台/Notebook/报表/Fusion/流规则/函数/打标/本体导出/市场/代码仓库/治理/MLOps 等 30+ 项 |
| Apollo ▾ | /apollo* | 部署/漂移/制品/Spoke Agent/环境/安全合规/配置/平台管理 |
| Gotham ▾ | /gotham* | 情报工作台/地图/时间轴/多视图/报告/访问控制/协作/图谱域(图谱映射/图分区/时序分析) |
| Swift ▾ | /swift* | 工作台/报文实验室/GAC/HCC |
用户 users(UUID 主键、username 唯一、bcrypt 哈希)、角色 roles、关联 user_roles、权限 role_permissions、行级安全 row_level_security_policies 与 role_rls_policies。v5 新增:fg_markings/fg_marking_bindings/fus_user_markings(安全标记与授权矩阵)、auth_mfa_secrets(TOTP 双因子密钥)。
curl -s -X POST http://127.0.0.1:18081/api/v1/auth/register -H 'Content-Type: application/json' \
-d '{"username":"alice","password":"pass123"}'
curl -s -X POST http://127.0.0.1:18081/api/v1/auth/login -H 'Content-Type: application/json' \
-d '{"username":"alice","password":"pass123"}'
PSQL="/f/PostgreSQL/17/bin/psql.exe -h 127.0.0.1 -U postgres -d chatbi_action_dev" export PGPASSWORD=ZYCBI2025 # 1) 确保 admin 角色存在 $PSQL -c "INSERT INTO roles(role_name) SELECT 'admin' WHERE NOT EXISTS(SELECT 1 FROM roles WHERE role_name='admin');" # 2) 绑定用户到 admin 角色(USER_ID 为 users 表 UUID) $PSQL -c "INSERT INTO user_roles(user_id, role_id) SELECT '<USER_ID>', r.id FROM roles r WHERE r.role_name='admin';" # 3) 验证 $PSQL -t -c "SELECT count(*) FROM user_roles ur JOIN roles r ON r.id=ur.role_id WHERE ur.user_id='<USER_ID>' AND r.role_name='admin';"
admin 角色作用:Foundry Action 写路径逐动作授权放行;Gotham ABAC 基础门全动作放行(非 admin 高危写默认拒绝,图分析与图谱域分析仅 admin);Apollo 内置 5 角色权限点引擎;语义查询注入 RLS/CLS(v5 起 AIP NLQ 主链路同样注入,失败拒绝执行)。
入口:Foundry 侧边栏「数据打标」/foundry/markings,API:/api/v1/markings + /api/v1/markings/bindings + /api/v1/markings/user-markings。支持对象/列级安全标记定义、绑定(组合唯一)与用户授权矩阵;隐藏列自动叠加至列级安全生效(任一来源隐藏即隐藏,NULL AS col);管理语义:标记 CRUD / 绑定目标 / 授权与撤销,前端授权矩阵可视化。
| 产品 | 事件类型示例 |
|---|---|
| AIP | NLQ_QUERY(含 sql 与 rows)、ORCHESTRATION_TASK、AI 决策审计 /ai-audit(v5 按 5 步 stepType 细化) |
| Foundry | ACTION_EXECUTE(含 prior_state)、本体/版本/管道操作、MCP_TOOL_CALL |
| Apollo | DEPLOYMENT_SYNC、DRIFT_DETECTED、DRIFT_RECONCILE、DEPLOYMENT_TIMEOUT;apollo_audit_logs(脱敏) |
| Gotham | 图谱/接入/解析/ABAC 评估;审计哈希链 + /audit/verify |
| Swift | 全链路事件审计 + SM3 哈希链工具 |
查询方式一(AIP 接口):GET http://127.0.0.1:18080/api/v1/audit/logs?limit=50&offset=0
查询方式二(直查库,各产品通用):$PSQL -c "SELECT event_type, ref_id, result, user_id, created_at FROM audit_log ORDER BY created_at DESC LIMIT 50;"
平台内置归档任务:调度器 audit:archive,0 3 * * *(每天凌晨 3 点)归档超 90 天(settings 可调)的审计记录;REST GET|PUT /api/v1/audit/archive-config(AIP 挂载)查看/配置归档策略,AIP 审计页带归档开关。归档后旧记录不再出现在常规查询(如实标注:物理保留,未做压缩/导出)。
入口:顶部导航「数据源管理」/datasources。
| 操作 | 方法/路径 | 说明 |
|---|---|---|
| 数据源列表 | GET /api/v1/datasources | 查看全部数据源 |
| 创建数据源 | POST /api/v1/datasources | MYSQL/SQLSERVER/POSTGRESQL/SQLITE(白名单 + 显式授权) |
| 连接测试 | POST /api/v1/datasources/:id/test | 测试连通性 |
| 导入元数据 | POST /api/v1/datasources/:id/import-metadata | 任务化:15s 快路径内返回旧响应+task_id,超时 202 后经 GET /api/v1/tasks/:id 轮询(LLM 生成列描述) |
| 更新/删除 | PUT/DELETE /api/v1/datasources/:id | 维护数据源 |
内置演示数据源:aip_demo_warehouse(SQLite:orders/customers/products,启动重建+重导元数据)。
平台底座提供统一调度器 + 异步任务系统(platform/scheduler + platform/task),长耗时操作全部任务化,前端实时查看进度:
| 操作 | 方法/路径 | 说明 |
|---|---|---|
| 任务列表(AIP) | GET /api/v1/tasks?status=&limit=&offset= | 五态 queued/running/success/failed/cancelled,含 progress/result |
| 任务详情 | GET /api/v1/tasks/:id | 轮询终态入口 |
| 取消任务 | POST /api/v1/tasks/:id/cancel | queued 直置 / running 走 context 取消 |
| 调度任务列表 | GET /api/v1/scheduler/jobs | 已注册调度任务(workflow:*/pipeline:*/audit:archive/aip:memory-cleanup/quality:*/report:*/cdc:watcher:* 等) |
| 运行记录 | GET /api/v1/scheduler/jobs/:name/runs | 按任务名分页查询(trigger_type=manual/cron、status、duration_ms) |
覆盖:用户/角色/审计/AI 决策审计/设置/深度权限/LLM 网关/Prompt/工具/RAG/本体/安全/评测/监控/工作流/Agent/飞书设置/邮件设置。
平台通知中心(platform/notify):Hub/Channel/Send/Channels,统一站内通知与多渠道消息发送管理。API:GET /api/v1/notify/channels、POST /api/v1/notify/send(AIP/Foundry 均挂载)。内置 emailChannel(未配置明确报错);AIP 注册 feishu 渠道(延迟解析),Foundry 无飞书引擎运行时降级标注。
入口:管理后台「飞书设置」/admin/feishu。
| 操作 | 方法/路径 | 说明 |
|---|---|---|
| 运行状态 | GET /api/v1/feishu/status | enabled / running / configured / app_id |
| 主动推送 | POST /api/v1/feishu/push | receive_type(open_id|chat_id)+ receive_id + content |
feishu: 节 + FEISHU_* 环境变量 + system_settings):app_id / app_secret / enable_feishu_card / allow_from / allow_chat / default_channel(copilot|nlq)。入口:管理后台「邮件设置」/admin/email。
| 操作 | 方法/路径 | 说明 |
|---|---|---|
| 服务状态 | GET /api/v1/email/status | enabled / configured / server / from / port |
| 测试发送 | POST /api/v1/email/test | body {to},发测试邮件验证 SMTP 连通性 |
email: 节 + EMAIL_* 环境变量 + system_settings,DB 覆盖优先):server / port(默认 465)/ username / password / from / from_name / starttls / ssl。入口:Gotham ▾ → 访问控制 /gotham/access。
| 操作 | 方法/路径 | 说明 |
|---|---|---|
| 策略列表 | GET /api/v1/access-policies | 查看策略 |
| 创建策略 | POST /api/v1/access-policies | subject_attrs/resource_attrs/action/effect |
| 更新/删除 | PUT/DELETE /api/v1/access-policies/:id | 维护策略 |
| 策略评估 | POST /api/v1/access-policies/evaluate | 返回 allow/deny + reason |
| 评估留痕 | GET /api/v1/access-policies/traces?user_id= | 查看某用户评估记录 |
| 策略名 | effect | 规则 |
|---|---|---|
| 分析师禁读机密 | deny(100) | analyst + secret 的 read 拒绝(一票否决) |
| 分析师可读内部数据 | allow(80) | analyst + internal 的 read 允许 |
| 管理员全量放行 | allow(10) | admin 全部动作放行 |
演示数据中 graph:org:xuanwu(玄武集团)为 secret,分析师读取将被拒绝。
# internal → allow
curl -s -X POST http://127.0.0.1:18083/api/v1/access-policies/evaluate -H "Authorization: Bearer $TOKEN" \
-H 'Content-Type: application/json' \
-d '{"user_id":"analyst1","roles":["analyst"],"user_attrs":{"role":"analyst"},"resource_attrs":{"classification":"internal"},"action":"read"}'
# secret → deny(一票否决)
curl -s -X POST http://127.0.0.1:18083/api/v1/access-policies/evaluate -H "Authorization: Bearer $TOKEN" \
-H 'Content-Type: application/json' \
-d '{"user_id":"analyst1","roles":["analyst"],"user_attrs":{"role":"analyst"},"resource_attrs":{"classification":"secret"},"action":"read"}'
| 操作 | 方法/路径 | 说明 |
|---|---|---|
| 图谱映射配置 | GET|PUT /api/v1/ingestion/sources/:id/graph-mapping | node_label_col/node_id_col/edge_rules 等映射配置 |
| 自动建议 | GET /api/v1/ingestion/sources/:id/mapping-suggest | 读源表 schema + 外键探测自动建议映射 |
| 执行图谱化 | POST /api/v1/ingestion/sources/:id/map-to-graph | 任务化:keyset 分页拉行 → 构建节点与关系边,进度 0.6~1.0 |
| 图分区 | POST /api/v1/analysis/graph/partition、GET /api/v1/analysis/graph/partitions | 多层折叠 Louvain + 小社区归并,参数幂等命中缓存 |
| 时序图分析 | POST /api/v1/analysis/graph/temporal/subgraph|trend|path | 时窗子图 / 时间桶趋势 / 时窗内最短路径 |
渠道:GET/POST /api/v1/channels、PUT/DELETE /api/v1/channels/:id、POST /api/v1/channels/:id/set-desired-state。内置 stable 指向 demo-app。期望状态审批流(G15):POST /desired-states/:id/approve|reject。
策略:GET/POST /api/v1/policies、PUT/DELETE /api/v1/policies/:id;rules 含 auto_rollback / max_concurrent / readiness_timeout_sec / reconcile_backoff。内置 default(auto_rollback=true)。
GET/POST /api/v1/signers、PUT/DELETE /api/v1/signers/:id、POST /api/v1/signers/:id/enable|disable。内置 demo-signer(首次构建 bundle 自动升级为真实 SM2 密钥指纹)。bundle 四要素:SM3 校验和 + SM2 签名 + 不可变 digest + 签名者白名单。
环境:GET/POST /api/v1/projects/:id/environments(kubernetes/vm_cluster/bare_metal/edge 四类四态);Agent 引导 POST /api/v1/environments/:id/agents(Bootstrap Token SHA256 哈希,明文仅返回一次);拉取 GET /api/v1/agent/pull(无需认证,出向);上报 POST /api/v1/agent/report。心跳 90s→degraded / 300s→offline。手动 sync:POST /deployments/:id/sync(F2)。
v5 起 Foundry 数据源独立自管理(不再依赖 AIP 后端):入口侧边栏「数据源」/foundry/datasources,接口 /api/v1/datasources(Foundry 侧注册)。导入元数据任务化(type=foundry_import_metadata,快路径 + 202 轮询对齐 AIP 模式)。内置演示 foundry_demo_warehouse(SQLite:customers/orders/products)。接入新数据源:注册连接 → 导入元数据 → 本体工作台创建对象(data_source_id + base_table + pk_column)。
| 域 | 入口 | 关键 API | 说明 |
|---|---|---|---|
| 数据集 | /foundry/datasets | GET/POST /api/v1/datasets、POST /api/v1/datasets/upload、POST /api/v1/datasets/:id/versions/publish | 数据源拉数/CSV+JSON 上传(XLSX 明确报错降级)、版本发布与历史、预览、基础画像、血缘记录;软删 archived |
| 数据同步 | /foundry/sync | GET/POST /api/v1/sync/targets、POST /api/v1/sync/targets/:id/run | 全量重写 / 水位线增量断点续传;任务化运行、进度轮询、运行历史;成功自动联动血缘 + 质量画像刷新 |
| 质量画像 | /foundry/quality | GET/POST /api/v1/quality/profiles、POST /api/v1/quality/profiles/:id/run、GET /api/v1/quality/profiles/:id/scores | 完整性/唯一性/有效性/时效性四因子加权评分,低于阈值经 bridge 写入 pipeline quality issues 闭环 |
| 域 | 入口 | 关键 API | 说明 |
|---|---|---|---|
| 标准值类型 | — | GET /api/v1/ontology/value-types、POST /api/v1/ontology/value-types/normalize | 13 类标准值类型,自动归一化(文本转枚举/数值识别货币/百分比/按精度推断整数/小数),两段式 dry-run+confirm |
| 本体函数 | /foundry/functions | /api/v1/ontology/functions CRUD、POST /api/v1/ontology/functions/:name/test | 内置 13 个计算函数 + 自定义函数注册与在线测试,可被条件表达式与计算属性引用 |
| MCP 协议 | — | POST /api/v1/mcp | 标准 MCP JSON-RPC(search_objects/query_objects/get_metric/execute_action/get_dataset),默认关闭(foundry.mcp.enabled=false),调用全程审计 |
| 安全标记 | /foundry/markings | /api/v1/markings + /bindings + /user-markings | 对象/列级安全标记 + 用户授权矩阵,隐藏列自动叠加至 CLS |
| 标准导出 | /foundry/ontology-export | GET /api/v1/ontology/objects/:id/export?format=owl|ttl|yaml、GET /api/v1/ontology/objects/:id/shacl、GET /api/v1/ontology/export/owl | OWL/TTL 与 SHACL 标准格式导出本体 |
| 域 | 入口 | 关键 API | 说明 |
|---|---|---|---|
| 组件市场 | /foundry/marketplace | /api/v1/marketplace/items CRUD + publish/install/installs | 组件与应用发布、一键安装与跨环境复用,版本 +1 历史保留、下载统计、检索 |
| SQL 宏与代码仓库 | /foundry/coderepo | /api/v1/coderepo/repos、/files、/revisions、POST /api/v1/coderepo/macros/resolve | SQL 宏定义 + 版本化代码仓库,查询与 Notebook 自动展开宏({{macro:name}}) |
| 统一搜索 | 顶栏全局搜索框 | GET /api/v1/nexus/search?q=&scopes=&limit= | 多域 RRF 融合排序,热度表 fx_search_stats |
| 命令行工具 | — | cmd/actionctl | login / ont export|import / dataset / task / metric query / mcp ping,token 存 ~/.actionctl(0600) |
质量规则 GET/POST /api/v1/quality/rules;问题清单 GET /api/v1/quality/issues(acknowledge/fix,error 级阻断目标对象同步);血缘 GET /api/v1/lineage?type=object&id=<name>&direction=downstream&depth=2。任务端点前缀 /api/v1/system/tasks(gin 通配符冲突规避,勿改回 /tasks);契约测试 TestOpenAPIContractRoutes 自动对拍,新增端点必须同步补 openapi.go。
| 现象 | 排查 |
|---|---|
| 登录 401 / Token 立即过期 | 检查 SECRET_KEY 是否过弱(config 需 fallback);查 logs/app.log |
| 登录要求 TOTP 口令但未绑定 | 双因子认证已开启但账号未完成 setup→verify-enable;联系管理员重新绑定或临时关闭 |
| PG 连不上 | 服务自动降级 SQLite;确认 chatbi_action_dev 库存在 |
| 端口被占用 | 换端口,勿用 8080(httpd.exe)与 8000 |
| 审计查不到刚发生的操作 | 异步落库有 ~秒级延迟,稍后重查 |
| 中文 curl 乱码 | Windows 终端 GBK 编码所致,不影响功能;建议 JSON 写入文件用 --data-binary @file |
| 跨产品登录串号 | 各产品独立 JWT、用户库不互通,属设计边界 |
| Apollo bundle 验签不通过 | 确认签名者已入白名单;确认 require_guomi_signature 与制品匹配 |
| MCP 调用 404 | MCP 默认关闭:需在 config.yaml 设置 foundry.mcp.enabled=true 并重启服务 |
| 任务一直 queued 不执行 | 确认 worker 池未耗尽(默认并发 5);服务重启后 queued 任务按默认语义标 failed,可手动重跑 |
| 会话记忆误记 | 到 /memory-manage 页按会话查看记忆条目,可 DELETE 清空单会话记忆(每日 4 点清理 30 天前数据) |