Token导航 LogoToken导航TokenDH.com
研究检索执行命令github未标认证来源可访问许可证需确认审计通过

steedos-object-fieldsSteedos 对象字段

Agent Skill

steedos-object-fields 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

360

周安装

15

GitHub Stars

1,566

下载量

120
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:steedos-object-fields(Steedos 对象字段)
来源仓库:https://github.com/steedos/steedos-platform
仓库路径:skills/steedos-object-fields
安装命令:
npx skills add https://github.com/steedos/steedos-platform --skill steedos-object-fields
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/steedos/steedos-platform --skill steedos-object-fields

简介

steedos-object-fields 汇总 Steedos 平台的对象字段类型与配置规则。

  • 涵盖文本、数字、货币、自动编号等常见字段属性说明。
  • 适用于 CRM 或低代码平台的数据模型设计与表单搭建。
  • 公式占位符仅支持 YYYY/MM/DD 与序列号格式,其他变量无效。
  • 字段标签与必填设置需结合业务逻辑人工校验合理性。

SKILL.md

Steedos Object Fields | Steedos 对象字段

Overview | 概述

Fields define how data is stored, validated, and displayed. Each field is defined as a separate .field.yml file in the object's fields/ subfolder.

字段定义数据的存储、验证和显示方式。每个字段作为独立的 .field.yml 文件定义在对象的 fields/ 子文件夹中。

File Location | 文件位置

steedos-packages/
└── my-package/
    └── main/default/
        └── objects/
            └── orders/
                └── fields/
                    ├── order_number.field.yml
                    ├── customer.field.yml
                    ├── status.field.yml
                    ├── total_amount.field.yml
                    └── shipping_address.field.yml

Field Structure | 字段结构

# objects/orders/fields/customer.field.yml
name: customer
type: lookup
label: 客户
reference_to: customers
required: true
index: true
searchable: true
filterable: true
sortable: true
sort_no: 200
group: Basic Information

Common Properties | 通用属性

PropertyTypeRequiredDescription
namestringYes⚠️ Field API name. MUST NOT be omitted. Must match the filename prefix (e.g. customer for customer.field.yml).
typestringYesField type (see Valid Field Types below)
labelstringYesDisplay label — use the language of the user's prompt
requiredbooleanNoIs required
readonlybooleanNoRead-only
hiddenbooleanNoHide from all UI
omitbooleanNoOmit from forms
disabledbooleanNoDisable editing
defaultValueanyNoDefault value
groupstringNoField group name
sort_nonumberNoDisplay order
is_namebooleanNoMark as the object's display name field (see below)
is_widebooleanNoFull width in forms
indexbooleanNoCreate database index
uniquebooleanNoUnique constraint
searchablebooleanNoInclude in global search
filterablebooleanNoAvailable in filters
sortablebooleanNoSortable in list views
data_typestringNoBackend data type
visible_onstringNoAmis formula for conditional visibility
inlineHelpTextstringNoTooltip help text

Name Field (is_name) | 名称字段

Every object must have a name field — the human-readable identifier shown in lookups, related lists, and record titles. The system determines the name field by:

每个对象必须有一个名称字段——在查找、相关列表和记录标题中显示的人类可读标识。系统按以下优先级确定名称字段:

  1. A field with is_name: true (highest priority)
  2. A field named name (fallback)

Use is_name: true when the display name is not a simple name text field:

当显示名称不是简单的 name 文本字段时,使用 is_name: true

# autonumber as name field
name: order_number
type: autonumber
label: Order Number
formula: 'ORD-{YYYY}{MM}{DD}-{0000}'
is_name: true
readonly: true

# lookup as name field
name: permission_set
type: master_detail
label: Permission Set
reference_to: permission_set
required: true
is_name: true

# simple text name field (is_name not needed)
name: name
type: text
label: Product Name
required: true
searchable: true

Valid Field Types | 有效字段类型

⚠️ CRITICAL: The type property MUST be one of the values listed below. NEVER invent field types. Any value NOT in this list will cause an error.

⚠️ 重要:type 属性必须为下表中的值之一,严禁自行编造字段类型。不在此列表中的值会导致错误。

TypeDescription
textShort text
textareaLong text (multiline)
htmlRich text (HTML editor)
selectSingle or multiple choice (with options)
booleanTrue/false
toggleToggle switch (same as boolean, different UI)
dateDate only
datetimeDate and time
timeTime only
numberInteger or decimal
currencyMoney amount
percentPercentage
autonumberAuto-generated sequential number
lookupReference to another object (many-to-one)
master_detailParent-child reference (cascade delete)
gridInline table (array of objects)
urlURL
emailEmail address
imageImage upload
fileFile upload
codeCode editor
markdownMarkdown editor
colorColor picker
locationGeographic location
objectJSON object
formulaComputed formula field
summaryRoll-up summary field
passwordPassword (masked)

Text Field Types | 文本字段类型

text (Short Text) | 短文本

name: customer_name
type: text
label: Customer Name
required: true
searchable: true
index: true

textarea (Long Text) | 长文本

name: description
type: textarea
label: Description
rows: 4
is_wide: true

html (Rich Text) | 富文本

name: content
type: html
label: Content
is_wide: true

url

name: website
type: url
label: Website

email

name: email
type: email
label: Email
unique: true
index: true

Numeric Field Types | 数值字段类型

number

name: quantity
type: number
label: Quantity
scale: 0
min: 0
max: 999999

currency | 货币

name: price
type: currency
label: Price
scale: 2
min: 0

percent | 百分比

name: discount_rate
type: percent
label: Discount Rate
scale: 2
min: 0
max: 100

autonumber | 自动编号

name: order_number
type: autonumber
label: Order Number
formula: 'ORD-{YYYY}{MM}{DD}-{0000}'
readonly: true

⚠️ Valid placeholders — ONLY these are supported in the formula field:

PlaceholderDescriptionExample Output
{YYYY}4-digit year2026
{YY}2-digit year26
{MM}2-digit month04
{DD}2-digit day23
{0000}Sequential number with zero-padding (length = number of zeros)0001, 0042
{000}3-digit sequential001
{00000}5-digit sequential00001

⚠️ {project_code}, {org_code}, {user_name} or any other field-name placeholders are NOT valid and will appear literally in the output. The {...} syntax ONLY supports the date/sequence placeholders listed above.

⚠️ {project_code}{org_code}{user_name} 等字段名占位符是无效的,会原样输出。{...} 语法仅支持上面列出的日期/序号占位符。

Formula examples:

# Basic: prefix + sequence
formula: 'INV-{0000}'              # → INV-0001, INV-0002

# Date + sequence (resets daily)
formula: 'ORD-{YYYY}{MM}{DD}-{0000}'  # → ORD-20260423-0001

# Date + sequence (resets monthly)
formula: 'PO-{YYYY}{MM}-{000}'        # → PO-202604-001

# Date + sequence (resets yearly)
formula: 'REQ-{YYYY}-{00000}'         # → REQ-2026-00001

# Prefix only + sequence (never resets)
formula: 'CUST-{000000}'              # → CUST-000001, CUST-000002

Sequence reset rule: The counter resets based on which date placeholders are present — {YYYY}+{MM}+{DD} resets daily, {YYYY}+{MM} resets monthly, {YYYY} only resets yearly, no date placeholder means never resets.

Date and Time Types | 日期时间类型

date

name: order_date
type: date
label: Order Date
defaultValue: '{now}'

datetime

name: submitted_at
type: datetime
label: Submitted At
readonly: true

Boolean and Selection Types | 布尔和选择类型

boolean

name: is_active
type: boolean
label: Is Active
defaultValue: true

select (Single) | 单选

name: status
type: select
label: Status
options:
  - label: Draft
    value: draft
  - label: Submitted
    value: submitted
  - label: Approved
    value: approved
defaultValue: draft

select (Multiple) | 多选

name: tags
type: select
label: Tags
multiple: true
options:
  - label: Technology
    value: tech
  - label: Sales
    value: sales

Relationship Fields | 关系字段

IMPORTANT: The reference_to value must be the exact API name of the target object. Built-in object names often differ from common expectations — Department is organizations (not departments), Division is company (not divisions), Workspace User is space_users. Load the steedos-builtin-objects skill for the authoritative name list.

lookup (Many-to-One) | 查找关系

name: customer
type: lookup
label: Customer
reference_to: customers
required: true
index: true

# With filters
name: contact
type: lookup
label: Contact
reference_to: contacts
filters: [["account", "=", "{$customer}"]]
depend_on:
  - customer

# Multiple selection
name: assigned_users
type: lookup
label: Assigned Users
reference_to: users
multiple: true

Lookup properties:

  • reference_to — target object API name (required)
  • multiple — allow selecting multiple records (true/false)
  • filters — filter condition for lookup dropdown
  • depend_on — re-fetch options when these fields change
  • deleted_lookup_record_behavior — when referenced record is deleted. ⚠️ MUST be clear (set to null) or retain (keep stale reference). Only these two values are valid.

master_detail (Parent-Child) | 主从关系

name: order
type: master_detail
label: Order
reference_to: orders
required: true
index: true

Cascade delete: deleting parent deletes all children.

Computed Fields | 计算字段

formula | 公式

name: total_price
type: formula
label: Total Price
data_type: currency
scale: 2
formula_blank_value: zeroes
formula: !!js/function |
  function() {
    return (this.quantity || 0) * (this.unit_price || 0);
  }

data_type — the output type of the formula. ⚠️ MUST be one of: text, number, currency, percent, boolean, date, datetime. Do NOT use other values.

formula_blank_value — how to treat blank fields. ⚠️ MUST be zeroes (default, treat as 0) or blanks (treat as null). Only these two values are valid.

summary (Rollup) | 汇总

name: total_orders
type: summary
label: Total Orders
summary_object: orders
summary_type: count
summary_field: customer
summary_filters: [["status", "!=", "cancelled"]]

⚠️ summary_type MUST be one of: count, sum, avg, min, max. Do NOT use other values.

File and Media Types | 文件和媒体类型

file

name: attachment
type: file
label: Attachment
multiple: true

image

name: avatar
type: image
label: Avatar

Special Types | 特殊类型

code (Code Editor) | 代码编辑器

name: custom_script
type: code
label: Script
language: javascript
is_wide: true

⚠️ language MUST be one of: javascript, typescript, json, html, css, sql, python, java, ruby, go, shell, yaml, xml, markdown, php, csharp, cpp, c, swift, lua, r. Do NOT use other values.

object (JSON)

name: metadata
type: object
label: Metadata
blackbox: true
is_wide: true

grid (Table/Array)

name: line_items
type: grid
label: Line Items
is_wide: true

Amis UI Customization | Amis UI 自定义

Fields can have custom Amis rendering configuration:

# objects/materials/fields/classification.field.yml
name: classification
type: text
label: Classification
amis:
  id: 'u:classification'
  type: tree-select
  label: Classification
  multiple: true
  clearable: true
  source:
    url: /graphql
    method: post
    requestAdaptor: |
      api.data = {
        query: `{ hierarchical_picklist_items(filters: ["list", "=", "classification"]) { label, value, parent } }`
      }
    adaptor: |
      const items = payload.data?.hierarchical_picklist_items || [];
      return { options: buildTree(items) };
    cache: 86400000
  onEvent:
    change:
      weight: 0
      actions:
        - actionType: setValue
          args:
            value:
              related_field: "${event.data.value}"

Conditional Visibility | 条件可见性

Use visible_on with Amis formula syntax:

name: rejection_reason
type: textarea
label: Rejection Reason
visible_on: "{{status == 'rejected'}}"

name: tracking_number
type: text
label: Tracking Number
visible_on: "{{status == 'shipped' || status == 'completed'}}"

Default Values | 默认值

# Static
defaultValue: 'draft'
defaultValue: 0
defaultValue: true

# Dynamic
defaultValue: '{now}'        # Current date/time
defaultValue: '{userId}'     # Current user
defaultValue: '{spaceId}'    # Current workspace

Field Dependencies | 字段依赖

# Reload field when dependency changes
name: contact
type: lookup
label: Contact
reference_to: contacts
depend_on:
  - customer
filters: [["account", "=", "{$customer}"]]

Best Practices | 最佳实践

  1. Use specific types: currency not just number, email not just text
  2. Add indexes: index: true on frequently queried/filtered fields
  3. Label follows user's language: Write label in the language of the user's prompt. For i18n, use the translations skill
  4. Use sort_no: Control field display order
  5. Group fields: Use group to organize related fields
  6. Set appropriate defaults: Use defaultValue to reduce user input

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.45%
按下载量换算43

Claude

28.77%
按下载量换算35

Cursor

16.9%
按下载量换算20

Gemini CLI

10.08%
按下载量换算12

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/steedos/steedos-platform --skill steedos-object-fields 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills