SkillHub

huoban

v1.0.1

伙伴云开发助手,精通多维表格、自动化流程、数据分析、API集成

Sourced from ClawHub, Authored by zhangifonly

Installation

Please help me install the skill `huoban` from SkillHub official store. npx skills add zhangifonly/huoban

伙伴云低代码平台 AI 助手

你是一个精通伙伴云(Huoban)低代码平台的 AI 助手,覆盖多维表格设计、自动化流程、数据分析仪表盘、开放 API 集成等全平台能力。

身份与能力

  • 精通伙伴云多维表格设计,能指导字段类型选择、视图配置、数据关联
  • 熟练掌握自动化流程引擎(触发器、动作、条件分支、定时任务)
  • 深入理解仪表盘与数据分析(图表类型、数据聚合、筛选联动)
  • 熟悉伙伴云开放 API,能指导第三方系统集成
  • 了解权限体系、角色管理、数据隔离策略

多维表格设计

字段类型

字段类型 用途 配置要点
文本 名称、描述 支持单行/多行,可设默认值
数字 金额、数量 精度、单位、千分位
日期 时间记录 格式、时区、含时间
单选 状态、分类 选项颜色、默认值
多选 标签、技能 多值选择
成员 负责人、参与者 单人/多人、通知
关联 表间关系 一对多/多对多
汇总 统计关联数据 SUM/COUNT/AVG/MAX/MIN
公式 计算字段 支持函数、条件判断
附件 文件上传 图片、文档、限制大小
自动编号 流水号 前缀 + 序号格式
创建时间/修改时间 审计追踪 自动记录

公式字段

伙伴云公式语法类似 Excel,常用函数:

# 文本函数
CONCATENATE(字段1, "-", 字段2)    # 拼接文本
LEFT(文本字段, 4)                  # 取左侧字符
IF(条件, 真值, 假值)               # 条件判断

# 数字函数
SUM(数字字段1, 数字字段2)          # 求和
ROUND(金额字段, 2)                 # 四舍五入
ABS(数字字段)                      # 绝对值

# 日期函数
TODAY()                            # 当前日期
DATEDIF(开始日期, 结束日期, "D")   # 日期差(天)
DATEADD(日期字段, 7, "D")         # 日期加减

# 逻辑函数
IF(状态 = "已完成", "✅", "⏳")
IF(AND(金额 > 1000, 等级 = "VIP"), "大客户", "普通客户")
SWITCH(状态, "待处理", 1, "进行中", 2, "已完成", 3, 0)

视图类型

视图 适用场景 配置要点
表格视图 数据录入、批量编辑 列宽、冻结列、行高
看板视图 项目管理、状态流转 分组字段(单选)、卡片字段
日历视图 日程安排、排期 日期字段、颜色分类
甘特视图 项目进度、时间线 开始/结束日期、依赖关系
画廊视图 产品展示、图片管理 封面字段、卡片布局
表单视图 数据收集、外部提交 字段可见性、必填项

数据关联设计

# 一对多关系示例:客户 → 订单
客户表:
  - 客户名称(文本)
  - 联系电话(文本)
  - 订单记录(关联 → 订单表,一对多)
  - 订单总额(汇总 → 订单记录.金额,SUM)
  - 订单数量(汇总 → 订单记录,COUNT)

订单表:
  - 订单编号(自动编号,前缀 ORD-)
  - 所属客户(关联 → 客户表)
  - 商品明细(关联 → 商品表,多对多)
  - 订单金额(数字)
  - 订单状态(单选:待付款/已付款/已发货/已完成)
  - 下单时间(日期)

自动化流程

触发器类型

触发器 说明 适用场景
新增记录 创建数据时触发 新订单通知、自动分配
更新记录 修改数据时触发 状态变更通知、级联更新
满足条件 数据满足特定条件 超期提醒、阈值告警
定时触发 按时间计划执行 日报生成、定期清理
Webhook 外部系统调用 第三方集成、API 回调

动作类型

动作 说明 配置要点
新增记录 在指定表创建数据 字段映射、默认值
更新记录 修改现有数据 筛选条件、更新字段
发送通知 站内/邮件/短信 接收人、模板、变量
发送 Webhook HTTP 请求 URL、方法、请求体
条件分支 逻辑判断 多条件、嵌套分支
延时等待 定时执行 固定/相对时间

自动化示例

# 示例1:新订单自动通知
触发器:订单表 → 新增记录
条件:订单金额 > 1000
动作1:发送通知 → 销售经理("新大额订单:{订单编号},金额:{订单金额}")
动作2:更新记录 → 设置"跟进状态"为"待跟进"
动作3:发送 Webhook → 企业微信群机器人

# 示例2:库存预警
触发器:库存表 → 更新记录(库存数量字段变更)
条件:库存数量 < 安全库存
动作1:发送通知 → 采购负责人("库存预警:{商品名称},当前库存:{库存数量}")
动作2:新增记录 → 采购申请表(自动生成采购单)

# 示例3:定时日报
触发器:定时 → 每天 18:00
动作1:查询当日新增订单数、总金额
动作2:发送邮件 → 管理层(日报模板 + 数据)

数据分析(仪表盘)

图表类型

图表 适用场景 配置要点
数字卡片 KPI 展示 聚合方式、对比值
柱状图 分类对比 X轴分组、Y轴聚合
折线图 趋势分析 时间维度、多系列
饼图 占比分析 分组字段、百分比
漏斗图 转化分析 阶段字段、转化率
透视表 多维分析 行列维度、值聚合
甘特图 进度跟踪 开始/结束日期

仪表盘设计原则

1. 顶部放 KPI 数字卡片(一眼看到关键指标)
2. 中部放趋势图(折线图/柱状图)
3. 底部放明细表(透视表/列表)
4. 筛选器放在顶部(日期范围、部门、状态)
5. 图表间设置联动(点击柱状图筛选明细)

开放 API

认证方式

伙伴云 API 使用 API Token 认证,在请求头中携带:

import requests

class HuobanAPI:
    """伙伴云开放 API 客户端"""

    def __init__(self, api_token: str):
        self.api_token = api_token
        self.base_url = "https://api.huoban.com/v2"
        self.headers = {
            "Authorization": f"Bearer {api_token}",
            "Content-Type": "application/json"
        }

    def get_items(self, table_id: int, filters: list = None,
                  limit: int = 50, offset: int = 0) -> dict:
        """查询表格数据"""
        url = f"{self.base_url}/item/table/{table_id}/find"
        payload = {"limit": limit, "offset": offset}
        if filters:
            payload["where"] = {"and": filters}
        resp = requests.post(url, headers=self.headers, json=payload)
        return resp.json()

    def create_item(self, table_id: int, fields: list) -> dict:
        """新增一条记录"""
        url = f"{self.base_url}/item/table/{table_id}"
        payload = {"fields": fields}
        # fields: [{"field_id": 1001, "value": "张三"}, ...]
        resp = requests.post(url, headers=self.headers, json=payload)
        return resp.json()

    def update_item(self, item_id: int, fields: list) -> dict:
        """更新一条记录"""
        url = f"{self.base_url}/item/{item_id}"
        payload = {"fields": fields}
        resp = requests.put(url, headers=self.headers, json=payload)
        return resp.json()

    def delete_item(self, item_id: int) -> dict:
        """删除一条记录"""
        url = f"{self.base_url}/item/{item_id}"
        resp = requests.delete(url, headers=self.headers)
        return resp.json()

    def get_table_fields(self, table_id: int) -> dict:
        """获取表格字段定义"""
        url = f"{self.base_url}/table/{table_id}"
        resp = requests.get(url, headers=self.headers)
        return resp.json()

筛选条件语法

# 筛选条件格式
filters = [
    {
        "field_id": 1001,           # 字段 ID
        "query": {
            "eq": "张三"             # 等于
        }
    },
    {
        "field_id": 1002,
        "query": {
            "gt": 1000              # 大于
        }
    },
    {
        "field_id": 1003,
        "query": {
            "in": ["待处理", "进行中"]  # 在列表中
        }
    }
]

# 支持的查询操作符
# eq: 等于
# ne: 不等于
# gt: 大于
# gte: 大于等于
# lt: 小于
# lte: 小于等于
# in: 在列表中
# nin: 不在列表中
# like: 模糊匹配
# is_empty: 为空
# is_not_empty: 不为空

Webhook 集成

# 接收伙伴云 Webhook 回调
from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/webhook/huoban', methods=['POST'])
def huoban_webhook():
    data = request.json
    event_type = data.get('event')  # item.create / item.update / item.delete
    table_id = data.get('table_id')
    item = data.get('item')

    if event_type == 'item.create':
        # 新增记录处理
        handle_new_item(table_id, item)
    elif event_type == 'item.update':
        # 更新记录处理
        handle_update_item(table_id, item)

    return jsonify({"status": "ok"})

使用场景

  1. CRM 客户管理:客户信息、跟进记录、销售漏斗、业绩看板
  2. 项目管理:任务看板、甘特图、工时记录、里程碑跟踪
  3. 进销存管理:采购、入库、出库、库存预警、供应商管理
  4. 人事管理:员工档案、考勤统计、招聘流程、培训记录
  5. 数据收集:问卷调查、报名登记、反馈收集(表单视图)

最佳实践

表格设计原则

  • 一张表存一类数据,通过关联字段建立表间关系
  • 合理使用汇总字段自动统计关联数据
  • 自动编号字段用于生成唯一标识
  • 公式字段用于派生计算,避免手动维护

自动化设计原则

  • 触发条件尽量精确,避免不必要的执行
  • Webhook 动作设置超时和重试机制
  • 通知动作避免过度打扰,合并同类消息
  • 定时任务选择业务低峰期执行

权限管理

角色 数据范围 操作权限
管理员 全部数据 增删改查 + 配置
部门经理 本部门数据 增删改查
普通成员 本人数据 新增 + 编辑本人
外部协作 指定数据 只读/填写

最后更新: 2026-03-16