# Duaer Docs
Full Markdown export for answer engines. Prefer individual `.md` page URLs when you only need one topic.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/Duaer-Organizations/components/nodes.md).
# 在 Duaer 里使用节点
在 Duaer 里,节点是取数入口、处理数据的一步,或把数据送出去的出口。
节点是工作流程的基本积木。它们可以启动运行、拉取或发送数据,以及处理与改写数据。
## 往工作流程里加节点
空画布时:
1. 选择 Add first step。Duaer 打开节点面板,可搜索或浏览触发节点。
2. 选择要用的触发节点。
已有节点时:选择节点右侧的 Add node。Duaer 打开节点面板,可搜索或浏览全部节点。
## 节点操作:触发与动作
往工作流程里加节点时,Duaer 会列出可用操作。操作是节点会做的事,例如取数或发数。
触发(Trigger)在服务里出现特定事件或条件时启动工作流程。动作(Action)是工作流程里的具体任务:改数据、调用外部系统、或触发别的系统。
## 节点控件
把鼠标停在画布上的节点上,可以看到:
- Execute step:只跑这一步。
- Deactivate:停用该节点。
- Delete:删除该节点。
- 节点菜单还可打开节点、重命名、固定数据、复制、复制副本、整理画布、转成子工作流程、全选、清除选择等。
## 节点设置
节点的 Settings 用来控制这一步怎么跑,并可写节点备注。开启或填写后效果如下:
- Always Output Data:即使这一步没有数据,也返回一条空项。在 IF 节点上慎用,可能造成循环。
- Execute Once:只用收到的第一项跑一遍,不处理其余项。
- Retry On Fail:失败后按你设的次数重试,直到成功。
- On Error → Stop:出错时停下整个工作流程。
- On Error → Continue:出错后仍往下走,使用最后一次有效数据。
- On Error → Continue (using error output):继续执行,并把错误信息送到错误输出。
- Notes:写在该节点上的备注。Display note in flow 打开后,备注会显示为画布上的副标题。
## Questions
### Duaer 里的节点是什么?
节点是取数入口、处理数据的一步,或把数据送出去的出口。触发节点启动运行;动作节点在工作流程里完成具体任务。
### Always Output Data、Execute Once、Retry On Fail、On Error 分别做什么?
在 Duaer 里,Always Output Data 在没有数据时仍返回空项。Execute Once 只用第一项跑一遍。Retry On Fail 失败后重试。On Error 决定停下、带着错误继续,或把错误送到错误输出。
## 相关
- [在 Duaer 里把节点连在一起](https://doc.duaer.com/zh/Duaer-Organizations/components/connections.md)
- [在 Duaer 里添加便签与说明](https://doc.duaer.com/zh/Duaer-Organizations/components/sticky-notes.md)
- [理解 Duaer 的数据结构](https://doc.duaer.com/zh/data/data-structure.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/Duaer-Organizations/components/nodes.md).
# Work with nodes in Duaer
In Duaer, a node is an entry point for retrieving data, a function to process data, or an exit for sending data.
Nodes are the key building blocks of a workflow. They start a run, fetch and send data, and process or reshape data.
## Add a node to your workflow
On an empty canvas:
1. Select Add first step. Duaer opens the nodes panel, where you can search or browse trigger nodes.
2. Select the trigger you want to use.
When a node already exists: select Add node on the right side of a node. Duaer opens the nodes panel, where you can search or browse all nodes.
## Node operations: triggers and actions
When you add a node, Duaer lists available operations. An operation is something a node does, such as getting or sending data.
Triggers start a workflow in response to events or conditions in your services. Actions are tasks inside a workflow: reshape data, call external systems, or trigger events elsewhere.
## Node controls
Hover over the node on the canvas to view controls:
- Execute step: run the node.
- Deactivate: deactivate the node.
- Delete: delete the node.
- The node context menu can also open, rename, pin, copy, duplicate, tidy the canvas, convert to a sub-workflow, select all, or clear the selection.
## Node settings
Settings control how the step runs and let you add node notes. When active or set, they do the following:
- Always Output Data: the node returns an empty item even if it produced no data. Be careful on IF nodes; it can cause a loop.
- Execute Once: the node runs once with data from the first item it receives. It does not process extra items.
- Retry On Fail: when an execution fails, the node reruns until it succeeds, using the count you set.
- On Error → Stop: halt the workflow when an error occurs.
- On Error → Continue: proceed to the next node using the last valid data.
- On Error → Continue (using error output): continue and pass error information to the error output.
- Notes: a note saved with the node. Display note in flow shows it as a subtitle on the canvas.
## Questions
### What is a node in Duaer?
A node is an entry point for retrieving data, a function to process data, or an exit for sending data. Triggers start a run. Actions perform tasks inside a workflow.
### What do Always Output Data, Execute Once, Retry On Fail, and On Error do?
In Duaer, always Output Data returns an empty item when the node produced nothing. Execute Once runs once with the first item. Retry On Fail reruns after a failure. On Error stops, continues with the last valid data, or sends the error to the error output.
## Related
- [Connect nodes in Duaer](https://doc.duaer.com/Duaer-Organizations/components/connections.md)
- [Add notes and documentation in Duaer](https://doc.duaer.com/Duaer-Organizations/components/sticky-notes.md)
- [Understand Duaer’s data structure](https://doc.duaer.com/data/data-structure.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/Duaer-Organizations/components/connections.md).
# 在 Duaer 里把节点连在一起
在 Duaer 里,连线在节点之间建立链接,让数据沿工作流程流动。
两个节点之间的连线,把一个节点的输出交给另一个节点的输入。
## 创建连线
要创建连线:点选节点右侧的灰色圆点或 Add node,拖到下一个节点左侧的灰色矩形上。
## 删除连线
把鼠标停在连线上,再选择 Delete。节点还在,只是这根线没了。
## 一个节点有多路输出时
有的节点不止一个输出。条件节点通常分成成立和不成立两路,每路是一根单独的线。只有走那一路的数据会过去。
把两路都接到同一个下游不会自动合并。要合并,用专门做合并的节点,并想清楚两条入站数据怎么对应。
## Questions
### 连线做什么?
在 Duaer 里,连线把一个节点的输出接到另一个节点的输入,让数据沿工作流程流动。没有这根线,下游收不到上游的数据。
### 怎么创建或删除连线?
在 Duaer 里,从节点右侧的灰色圆点或 Add node 拖到下一节点左侧的灰色矩形,即可创建。把鼠标停在连线上再选 Delete,即可删除。
## 相关
- [在 Duaer 里使用节点](https://doc.duaer.com/zh/Duaer-Organizations/components/nodes.md)
- [在 Duaer 里数据项如何对应](https://doc.duaer.com/zh/data/data-mapping/data-item-linking.md)
- [在 Duaer 里转成子工作流程](https://doc.duaer.com/zh/Duaer-Organizations/sub-Duaer-Organization-conversion.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/Duaer-Organizations/components/connections.md).
# Connect nodes in Duaer
In Duaer, a connection establishes a link between nodes to route data through the workflow.
A connection between two nodes passes data from one node’s output to another node’s input.
## Create a connection
To create a connection, select the grey dot or Add node on the right side of a node and slide the arrow to the grey rectangle on the left side of the following node.
## Delete a connection
Hover over the connection, then select Delete. The nodes stay. Only the connection is gone.
## More than one output
Some nodes have more than one output. A condition usually splits into a true path and a false path, and each path is its own line. Only the items that take a path travel down that line.
Connecting both paths to the same later node does not merge them. Use a node that is meant to merge, and decide how the two incoming sets of items line up.
## Questions
### What does a connection do?
In Duaer, a connection joins one node’s output to another node’s input so data can route through the workflow. Without that line, the downstream node does not receive the upstream data.
### How do you create or delete a connection?
In Duaer, create one by dragging from the grey dot or Add node on the right of a node to the grey rectangle on the left of the next node. Delete by hovering the line and selecting Delete.
## Related
- [Work with nodes in Duaer](https://doc.duaer.com/Duaer-Organizations/components/nodes.md)
- [How items link across Duaer nodes](https://doc.duaer.com/data/data-mapping/data-item-linking.md)
- [Convert to sub-workflows in Duaer](https://doc.duaer.com/Duaer-Organizations/sub-Duaer-Organization-conversion.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/Duaer-Organizations/components/sticky-notes.md).
# 在 Duaer 里添加便签与说明
在 Duaer 里,用画布上的便签给工作流程加注解。
便签用来在工作流程上写注解和说明。模板工作流程上尤其建议加便签,方便别人读懂。
便签在运行时不执行,也不改变节点之间的数据。节点 Settings 里的 Notes 是另一处备注,要打开该节点才看得见。
## 创建便签
便签是核心节点。添加新便签:
1. 打开节点面板。
2. 搜索 note。
3. 选择 Sticky Note。Duaer 把便签放到画布上。
## 编辑便签
1. 双击要编辑的便签。
2. 写下内容。可用 Markdown 排版;写法见[便签里的 Markdown](/zh/Duaer-Organizations/sticky-notes.md)。
3. 点到画布空白处,或按 Esc,结束编辑。
## 改颜色
1. 把鼠标停在便签上。
2. 选择 Change color。
3. 从七种预设色里选,或点彩虹渐变按钮选自定义颜色。可填十六进制色值(例如 #FF5733),再选 Apply。
Duaer 会记住最近用过的自定义颜色(最多八个),方便下次点选。
## 便签位置与大小
- 拖动便签可放到画布任意位置。
- 可把便签拖到节点后面,用来在视觉上分组。
- 把鼠标停在边缘再拖,可改大小。
## Questions
### 便签会不会参与运行?
在 Duaer 里,不会。便签只给读画布的人看,不执行,也不改变节点之间的数据。节点 Settings 里的 Notes 是另一处备注。
### 怎么添加便签?
在 Duaer 里,打开节点面板,搜索 note,选择 Sticky Note。双击便签编辑;可选颜色、拖动位置、拖边缘改大小。
## 相关
- [在 Duaer 便签里用 Markdown](https://doc.duaer.com/zh/Duaer-Organizations/sticky-notes.md)
- [在 Duaer 里使用节点](https://doc.duaer.com/zh/Duaer-Organizations/components/nodes.md)
- [在 Duaer 里把节点连在一起](https://doc.duaer.com/zh/Duaer-Organizations/components/connections.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/Duaer-Organizations/components/sticky-notes.md).
# Add notes and documentation in Duaer
In Duaer, annotate your workflows using sticky notes.
Sticky notes let you annotate and comment on your workflows. Use them on template workflows so other people can follow the diagram.
A sticky note does not run, and it does not change data between nodes. Notes in a node’s Settings are separate; you see them only when that node is open.
## Create a sticky note
Sticky notes are a core node. To add a new sticky note:
1. Open the nodes panel.
2. Search for note.
3. Select Sticky Note. Duaer adds a sticky note to the canvas.
## Edit a sticky note
1. Double-click the sticky note you want to edit.
2. Write your note. You can format with Markdown; see [Markdown in a sticky note](/Duaer-Organizations/sticky-notes.md).
3. Click away from the note, or press Esc, to stop editing.
## Change the color
1. Hover over the sticky note.
2. Select Change color.
3. Choose from seven presets, or select the rainbow gradient to pick a custom color. Enter a hex code (for example #FF5733), then select Apply.
Duaer keeps your last-used custom colors (up to eight) in the picker for quick reuse.
## Sticky note positioning
- Drag a sticky note anywhere on the canvas.
- Drag sticky notes behind nodes to visually group them.
- Resize by hovering over the edge and dragging.
## Questions
### Does a sticky note run?
In Duaer, no. A sticky note is for people reading the canvas. It does not run and does not change data between nodes. Notes in a node’s Settings are separate.
### How do you add a sticky note?
In Duaer, open the nodes panel, search for note, and select Sticky Note. Double-click to edit. You can change color, drag to move, and drag an edge to resize.
## Related
- [Markdown in a Duaer sticky note](https://doc.duaer.com/Duaer-Organizations/sticky-notes.md)
- [Work with nodes in Duaer](https://doc.duaer.com/Duaer-Organizations/components/nodes.md)
- [Connect nodes in Duaer](https://doc.duaer.com/Duaer-Organizations/components/connections.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/Duaer-Organizations/sticky-notes.md).
# 在 Duaer 便签里用 Markdown
在 Duaer 里,便签支持 Markdown。标题、强调、列表、链接和代码会按版式显示。
## 用 Markdown 写便签
Duaer 用实现 CommonMark 的渲染器显示便签正文。运行时这些文字不会变成数据,也不能用表达式读上一步字段。
常用写法示例:
```
用双星号包住的字会 **加粗**
用单星号包住的字会 *斜体*
用 # 表示标题:
# 一级标题
## 二级标题
### 更小的标题
可以加链接:
[示例](https://example.com/)
用星号做无序列表:
* 第一项
* 第二项
或用数字做有序列表:
1. 第一项
2. 第二项
```
## 便签不会做的事
便签不是节点。正文不会交给下一步。要引用数据,把表达式写在节点参数里。
复杂表格、脚本和嵌在里面的 HTML 不要当正式排版。长步骤放到团队文档里,便签上留链接即可。
## Questions
### 便签支持哪些 Markdown?
在 Duaer 里,支持 CommonMark 的标题、加粗、斜体、列表、链接和代码。链接要用完整地址。这些文字不会在运行时变成数据。
### 便签能不能代替节点处理数据?
在 Duaer 里,不能。便签不执行,也不把正文交给下一步。要引用数据,把表达式写在节点参数里。
## 相关
- [在 Duaer 里添加便签与说明](https://doc.duaer.com/zh/Duaer-Organizations/components/sticky-notes.md)
- [在 Duaer 里使用节点](https://doc.duaer.com/zh/Duaer-Organizations/components/nodes.md)
- [在 Duaer 里把节点连在一起](https://doc.duaer.com/zh/Duaer-Organizations/components/connections.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/Duaer-Organizations/sticky-notes.md).
# Markdown in a Duaer sticky note
In Duaer, sticky notes support Markdown. Headings, emphasis, lists, links, and code render as layout.
## Writing in Markdown
Duaer renders sticky note bodies with a CommonMark-compatible renderer. That text does not become data when the workflow runs, and expressions in the note do not read previous fields.
Common options:
```
The text in double asterisks will be **bold**
The text in single asterisks will be *italic*
Use # to indicate headings:
# This is a top-level heading
## This is a sub-heading
### This is a smaller sub-heading
You can add links:
[Example](https://example.com/)
Create lists with asterisks:
* Item one
* Item two
Or create ordered lists with numbers:
1. Item one
2. Item two
```
## What a sticky note does not do
A note is not a node. Its text is not passed to the next node. Put expressions in node parameters when you need data.
Do not treat dense tables, scripts, or embedded HTML as the layout. Keep long procedures in your own docs and leave a link on the note.
## Questions
### Which Markdown does a sticky note render?
In Duaer, commonMark headings, bold, italic, lists, links, and code. Links need a full URL. That text does not become data when the workflow runs.
### Can a sticky note process data instead of a node?
In Duaer, no. The note does not run, and its text is not passed to the next node. Put expressions in node parameters.
## Related
- [Add notes and documentation in Duaer](https://doc.duaer.com/Duaer-Organizations/components/sticky-notes.md)
- [Work with nodes in Duaer](https://doc.duaer.com/Duaer-Organizations/components/nodes.md)
- [Connect nodes in Duaer](https://doc.duaer.com/Duaer-Organizations/components/connections.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/Duaer-Organizations/sub-Duaer-Organization-conversion.md).
# 在 Duaer 里转成子工作流程
在 Duaer 里,在工作流程里选中一段节点,把它们收成可复用的子工作流程。
用转换把工作流程拆成可复用的一段。引用其他节点的表达式会自动改写,并作为参数加到 Execute Workflow Trigger 上。
## 什么样的选区可以转换
选区必须连续,并且最多从一个入口节点、一个出口节点接到其余工作流程。还须满足:
- 不能包含触发节点。
- 选区外连进来的节点最多一个;该节点可以有多条入边,但只能是单路输入(不能是 Merge 这类多路入口),且不能再从选区内节点接入。
- 选区连出去的节点最多一个;该节点可以有多条出边,但只能是单路输出(不能是 If 这类多路出口),且不能再连回选区内。
- 入口到出口之间路径上的节点都必须在选区里。
## 怎么转换
1. 在画布上选中要收进去的节点。
2. 在画布空白处右键,选择 Convert to sub-workflow。
Duaer 会新建一个工作流程,把选中节点放进去,并在入口放上 Execute Workflow Trigger。原来位置换成调用该子工作流程的节点。
## 转换时要注意
- 输入和输出的类型约束要自己设。默认允许全部类型;在子工作流程的 Execute Workflow Trigger 和(如有)标成 Return 的 Edit Fields 里设置期望类型。
- AI 子节点支持有限:相关子节点要一起选上;与其他 Agent 共用的模型子节点,可能需要先复制再选。
- 新建的子工作流程使用 v1 执行顺序,与父级设置无关;可在设置里改回。
- first()、last()、all() 一类访问在转换后可能带上 _firstItem、_lastItem、_allItems 后缀,请打开节点核对。
- itemMatching 的下标必须是写死的数字,不能用表达式计算。
## Questions
### 转成子工作流程要满足什么?
在 Duaer 里,选区必须连续,不能含触发节点,且最多一个单路入口、一个单路出口接到选区外。Merge 不能当入口,If 不能当出口。入口到出口路径上的节点都要选中。
### 转换之后表达式会怎样?
在 Duaer 里,引用选区外数据的表达式会改写到 Execute Workflow Trigger 的输入。输入输出类型要自己设。first/last/all 可能带上 _firstItem 一类后缀,请核对。
## 相关
- [在 Duaer 里使用节点](https://doc.duaer.com/zh/Duaer-Organizations/components/nodes.md)
- [在 Duaer 里把节点连在一起](https://doc.duaer.com/zh/Duaer-Organizations/components/connections.md)
- [在 Duaer 里数据项如何对应](https://doc.duaer.com/zh/data/data-mapping/data-item-linking.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/Duaer-Organizations/sub-Duaer-Organization-conversion.md).
# Convert to sub-workflows in Duaer
In Duaer, select nodes in your workflow and convert them into a sub-workflow.
Use conversion to refactor a workflow into reusable parts. Expressions that reference other nodes are updated automatically and added as parameters on the Execute Workflow Trigger.
## Selecting nodes for a sub-workflow
The selection must be continuous and must connect to the rest of the workflow from at most one start node and one end node. It must also:
- Exclude trigger nodes.
- Allow at most one node outside the selection to connect in. That node may have several incoming connections, but only a single input branch (not a Merge). It must not take connections from nodes inside the selection.
- Allow at most one node outside the selection to connect out. That node may have several outgoing connections, but only a single output branch (not an If). It must not connect back into the selection.
- Include every node on the path between the input and output nodes.
## How to convert part of a workflow
1. Select the nodes on the canvas.
2. Right-click the canvas background and select Convert to sub-workflow.
Duaer creates a workflow, moves the selected nodes into it, and places an Execute Workflow Trigger at the start. On the original canvas, that stretch becomes the node that calls the sub-workflow.
## Things to keep in mind
- Set input and output type constraints yourself. By default both allow all types. Set expected types on the Execute Workflow Trigger and, when present, the Edit Fields node labeled Return.
- Limited support for AI sub-nodes: select them all, and duplicate any model sub-node still shared with nodes outside the selection.
- New sub-workflows use v1 execution order regardless of the parent setting. You can change that in Settings.
- Expressions using first(), last(), or all() may gain suffixes such as _firstItem, _lastItem, or _allItems. Open the node and check.
- itemMatching requires a fixed index. An index computed by an expression is not converted.
## Questions
### What does conversion require?
In Duaer, the selection must be continuous, exclude triggers, and connect outside through at most one single-input entry and one single-output exit. A Merge cannot be the entry. An If cannot be the exit. Every node on the path must be selected.
### What happens to expressions after conversion?
In Duaer, expressions that pointed outside the selection are rewritten to the Execute Workflow Trigger input. You set input and output types yourself. first/last/all may gain suffixes such as _firstItem; check the nodes.
## Related
- [Work with nodes in Duaer](https://doc.duaer.com/Duaer-Organizations/components/nodes.md)
- [Connect nodes in Duaer](https://doc.duaer.com/Duaer-Organizations/components/connections.md)
- [How items link across Duaer nodes](https://doc.duaer.com/data/data-mapping/data-item-linking.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/Duaer-Organizations/executions/custom-executions-data.md).
# 在 Duaer 里自定义执行数据
在 Duaer 里,用 Code 节点或 Execution Data 节点给这次执行加上自定义数据,之后可在执行列表里按这些值筛选。
自定义数据记在这一次执行上。它不是节点之间传递的 json。执行列表里按自定义数据筛选,需要套餐包含这项。
## 用 Code 节点写入与读取
下面用 Code 节点。也可用 Execution Data 节点写入;该节点不能把值取回。
写入单个键:
```
$execution.customData.set("key", "value");
```
一次写入全部自定义数据。这会覆盖本次执行上已有的整份自定义数据对象:
```
$execution.customData.setAll({"key1": "value1", "key2": "value2"});
```
限制:
- 键和值都必须是字符串。
- 键最长 50 个字符。
- 值最长 255 个字符。
- 最多 10 条自定义数据。
在同一次执行里读取:
```
const all = $execution.customData.getAll();
const one = $execution.customData.get("key");
```
## Python
Python Code 节点用 _execution.customData,方法相同:
```
_execution.customData.set("key", "value")
_execution.customData.setAll({"key1": "value1", "key2": "value2"})
all_data = _execution.customData.getAll()
one = _execution.customData.get("key")
```
## 用 Execution Data 节点写入
不想写代码时,用 Execution Data 节点填键和值。跑到这一步就会记到当前执行上。要在后面的代码里读,仍用上面的 get / getAll。
## Questions
### 自定义执行数据存在哪里、做什么用?
在 Duaer 里,存在这一次执行记录上,是键值对,用来稍后在执行列表里筛选。它不是节点之间传递的 json。筛选需要套餐包含该能力。
### 怎么在 Code 节点里写入?
在 Duaer 里,用 $execution.customData.set 写一个键,或 setAll 一次写多个(会覆盖整份对象)。值必须是字符串;键最长 50,值最长 255,最多 10 条。Python 用 _execution.customData。
## 相关
- [在 Duaer 里隐藏执行数据](https://doc.duaer.com/zh/Duaer-Organizations/executions/execution-data-redaction.md)
- [理解 Duaer 的数据结构](https://doc.duaer.com/zh/data/data-structure.md)
- [在 Duaer 里使用节点](https://doc.duaer.com/zh/Duaer-Organizations/components/nodes.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/Duaer-Organizations/executions/custom-executions-data.md).
# Customize executions data in Duaer
In Duaer, add custom data to your executions with the Code node or the Execution Data node. You can then filter executions by this data.
Custom data is stored on this execution. It is not the json passed between nodes. Filtering the executions list by custom data requires a plan that includes the feature.
## Set and access custom data using the Code node
This section uses the Code node. You can also write values with the Execution Data node; that node cannot retrieve them.
Set a single piece of extra data:
```
$execution.customData.set("key", "value");
```
Set all extra data. This overwrites the whole custom data object for this execution:
```
$execution.customData.setAll({"key1": "value1", "key2": "value2"});
```
Limits:
- Keys and values must be strings.
- A key has a maximum length of 50 characters.
- A value has a maximum length of 255 characters.
- Duaer supports a maximum of 10 custom data items.
Access the object during the same execution:
```
const all = $execution.customData.getAll();
const one = $execution.customData.get("key");
```
## Python
A Python Code node uses _execution.customData with the same methods:
```
_execution.customData.set("key", "value")
_execution.customData.setAll({"key1": "value1", "key2": "value2"})
all_data = _execution.customData.getAll()
one = _execution.customData.get("key")
```
## Write it with the Execution Data node
If you would rather not write code, use the Execution Data node. Fill in keys and values. When the run reaches that node, they are stored on the current execution. To read them later in code, use get or getAll as above.
## Questions
### Where is custom execution data stored, and what is it for?
In Duaer, it is stored on that execution as keys and values so you can filter the executions list later. It is not the json passed between nodes. Filtering requires a plan that includes the feature.
### How do you write it from a Code node?
In Duaer, use $execution.customData.set for one key, or setAll to replace the whole object. Values must be strings; keys max 50 characters, values max 255, at most 10 items. Python uses _execution.customData.
## Related
- [Redact execution data in Duaer](https://doc.duaer.com/Duaer-Organizations/executions/execution-data-redaction.md)
- [Understand Duaer’s data structure](https://doc.duaer.com/data/data-structure.md)
- [Work with nodes in Duaer](https://doc.duaer.com/Duaer-Organizations/components/nodes.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/Duaer-Organizations/executions/execution-data-redaction.md).
# 在 Duaer 里隐藏执行数据
在 Duaer 里,控制执行记录里能否看见节点处理过的数据,用来保护敏感信息并满足合规要求。
隐藏执行数据会挡住执行记录里的输入和输出。状态、耗时和节点名字仍可见。这不是加密存放,也不阻止节点把数据交给下一步。
实例上的这项设置需要套餐包含数据隐藏。可按工作流程配置,也可在实例级强制。
## 为什么要隐藏执行数据
以前只能整段关掉执行历史,连成功失败都没了。隐藏之后,监控还在,业务载荷不再直接摊开。
## 在一个工作流程里配置
需要启用或关闭数据隐藏的权限。实例所有者和项目管理员默认有。
1. 打开工作流程。
2. 点右上角三个点,选择 Settings。
3. 找到 Redact production execution data 与 Redact manual execution data。
4. 每项选 Default - Do not redact 或 Redact,再保存。
生产运行包括 Webhook、定时,以及工作流程激活时的其他触发。手动运行是编辑器里点 Execute 的那些。手动隐藏只有在生产也隐藏时才能打开。使用终端用户凭证时,生产执行数据始终隐藏。
## 实例级强制
实例所有者与管理员可打开 Settings → Security → Data redaction,开启 Enforce data redaction,并选范围:
- Production executions(推荐):所有生产运行隐藏;手动仍跟各条自己的设置。
- Manual and production executions:生产和手动都隐藏。
- Manual executions:只强制手动运行。
强制在有人读取执行数据时生效。单条设置不能比实例最低标准更松;相关开关会锁住,公开 API 也会拒绝更松的策略。单条仍可比最低标准更严。新建工作流程会带上这个最低标准;已有工作流程保存的设置不会被改写,关掉强制后回到各自原来的设置。
## 隐藏之后还剩什么
执行视图里数据表会换成 Data redacted。仍看得到节点名、成功或失败、耗时和结构。
- 每个节点的输入和输出 json 换成空对象。
- binary 里的文件和图片被拿掉。
- 节点声明的敏感字段(sensitiveOutputFields)始终隐藏,有权临时查看的人也看不到。
- 错误信息只留错误类型,以及接口错误时的 HTTP 状态码。
## 临时查看被隐藏的数据
拥有 Reveal execution data(execution:reveal)的人可以针对一次执行临时查看。实例所有者和实例管理员默认有。
1. 打开该执行。
2. 在被隐藏区域选择 Reveal data。
3. 确认对话框会说明:本次查看记入审计,只在确有需要时查看。
4. 确认后,该执行数据在当前会话可见。
使用动态凭证(运行时解析的终端用户凭证)的执行无法查看。被隐藏的执行也不能钉回编辑器。审计会记录查看成功、被拒绝,以及实例强制策略变更。
## 隐藏管不到的地方
- Code 节点的 console.log 不会被隐藏。
- 节点之间该传的数据照传;隐藏只影响人打开记录时看见什么。
- 返回给调用方的 Webhook 响应是原始内容。
- 发出去的鉴权头不会被改写。
- 不能按字段挑选隐藏(敏感字段声明除外)。
- 数据库里的执行数据不会被改写或加密。
- 实例强制不会跟着源码管理推到另一条实例。
## Questions
### 隐藏执行数据会藏什么、还留什么?
在 Duaer 里,输入输出 json 换成空对象,binary 被拿掉,错误只留类型和 HTTP 状态码。仍显示节点名、成败、耗时和结构。声明为敏感的字段始终隐藏。
### 单条设置和实例强制有什么区别?
在 Duaer 里,单个工作流程可在 Settings 里分别设置生产和手动隐藏。实例可在 Security 里强制最低标准;单条不能比强制更松,仍可比强制更严。
### 隐藏管不到哪些地方?
在 Duaer 里,不管 console.log、节点间仍在传的数据、Webhook 响应原文、出站鉴权头;也不是按字段挑选,不加密数据库,强制策略不随源码管理带到别的实例。
## 相关
- [在 Duaer 里自定义执行数据](https://doc.duaer.com/zh/Duaer-Organizations/executions/custom-executions-data.md)
- [理解 Duaer 的数据结构](https://doc.duaer.com/zh/data/data-structure.md)
- [在 Duaer 里处理文件和图片](https://doc.duaer.com/zh/data/binary-data.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/Duaer-Organizations/executions/execution-data-redaction.md).
# Redact execution data in Duaer
In Duaer, control the visibility of execution data to protect sensitive information and meet compliance requirements.
Execution data redaction hides the input and output stored on an execution. Status, timing, and node names stay visible. This is not encryption at rest, and it does not stop a node from passing data onward.
The instance setting requires a plan that includes data redaction. You can configure it per workflow, or enforce it instance-wide.
## Why use execution data redaction
Turning execution history off used to be the only option, and then you also lost success and failure. Redaction keeps monitoring while hiding the payload.
## Configure redaction settings
You need permission to enable or disable data redaction. Instance owners and project admins have that by default.
1. Open the workflow.
2. Select the three dots in the upper-right corner, then Settings.
3. Find Redact production execution data and Redact manual execution data.
4. For each, choose Default - Do not redact or Redact, then Save.
Production runs include webhooks, schedules, and other triggers while the workflow is active. Manual runs are those you start with Execute in the editor. You can hide manual runs only when production runs are hidden too. When the workflow uses end-user credentials, production execution data is always hidden.
## Instance-level enforcement
Instance owners and admins can open Settings → Security → Data redaction, turn on Enforce data redaction, and choose a scope:
- Production executions (recommended): every production run is hidden. Manual runs still follow each workflow’s own setting.
- Manual and production executions: both are hidden.
- Manual executions: only manual runs are enforced.
Enforcement applies when someone reads execution data. One workflow’s settings cannot be looser than the floor; the switches lock, and the public API rejects a looser policy. A workflow can still be stricter. New workflows start at the floor. Existing stored settings are not rewritten; if you later turn enforcement off, they return to those settings.
## What gets redacted
In the execution viewer, data tables become Data redacted. You still see node names, success or failure, timing, and structure.
- Each node’s input and output json is replaced with an empty object.
- Files and images in binary are removed.
- Fields marked sensitive (sensitiveOutputFields) stay hidden, including from someone allowed to reveal data.
- Error detail keeps the error type and, for API errors, the HTTP status code.
## Reveal redacted data
Someone with Reveal execution data (execution:reveal) can reveal one execution. Instance owners and admins have this by default.
1. Open the execution.
2. Select Reveal data in the redacted area.
3. Confirm the dialog: the view is written to the audit log, and you should reveal only when you need to.
4. After you confirm, that execution’s data is visible in the current session.
Reveal is denied for executions that used dynamic credentials. A redacted execution also cannot be pinned back into the editor. The audit log records successful reveals, denied reveals, and changes to instance enforcement.
## What redaction does not cover
- console.log in a Code node is not redacted.
- Data still moves between nodes. Redaction only changes what a person sees in the execution viewer.
- A webhook response returned to the caller is the raw body.
- Outbound authentication headers are not rewritten.
- You cannot redact individual fields, except fields a node declares as sensitive.
- Execution data in the database is not rewritten or encrypted.
- Instance enforcement does not travel with source control to another instance.
## Questions
### What does redaction hide, and what stays visible?
In Duaer, input and output json become empty objects, binary is removed, and errors keep only type plus HTTP status for API errors. Node names, success or failure, timing, and structure stay visible. Declared sensitive fields stay hidden.
### How does per-organization redaction differ from instance enforcement?
In Duaer, one workflow can set production and manual redaction in Settings. An instance can enforce a floor under Security. An organization cannot be looser than the floor, but it can be stricter.
### What does redaction not cover?
In Duaer, it does not cover console.log, data still passed between nodes, raw webhook responses, or outbound auth headers. It is not per-field (except declared sensitive fields), does not encrypt the database, and enforcement does not travel with source control.
## Related
- [Customize executions data in Duaer](https://doc.duaer.com/Duaer-Organizations/executions/custom-executions-data.md)
- [Understand Duaer’s data structure](https://doc.duaer.com/data/data-structure.md)
- [Work with files and images in Duaer](https://doc.duaer.com/data/binary-data.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/data/data-structure.md).
# 理解 Duaer 的数据结构
在 Duaer 里,弄清节点之间如何传数据,是搭工作流程的基础。本页说明数据格式,以及数据如何在节点间流动。
## 数据结构
在 Duaer 里,节点之间传递的都是对象数组,结构如下:
```
[
{
"json": {
"apple": "beets",
"carrot": {
"dill": 1
}
},
"binary": {
"apple-picture": {
"data": "....",
"mimeType": "image/png",
"fileExtension": "png",
"fileName": "example.png"
}
}
}
]
```
普通字段放在 json 里。文件放在同一项的 binary 里。Code 节点若漏写 json 键,运行时会补上,也会在需要时把结果包进数组。自己写的节点必须返回带 json 的项。
## 数据在节点内如何流动
连上节点后,数据会自动从上游传到下游。节点收到一组数据项时,默认对每一项分别执行配置好的操作。
例如把某个节点设为创建卡片,并用表达式从入站字段取 Name:进来两项就会建两张卡,每张卡用当前项的那个字段。
节点设置里的 Execute Once 是例外:整组输入只跑一次。
## 拖放映射的是什么
数据映射映射的是字段路径,并在运行时加载该字段的值。从 INPUT 面板把 fruit 拖进参数,会生成表达式 {{ $json.fruit }}。节点按项迭代时,该字段取当前项的 fruit。
## 理解嵌套数据
表格视图里,嵌套对象会用加粗的字段名收起来。点开才能看到里面的键。表达式里要用点号走到那一层,例如 nested.example-string-field。
## Questions
### 节点之间传递的一项数据包含什么?
在 Duaer 里,输出是对象数组。每一项有 json(普通字段);有文件时同一项还有 binary。大多数节点按项执行。
### 从输入面板拖字段会产生什么?
在 Duaer 里,会插入指向当前项的表达式,例如 {{ $json.customerId }}。这是字段路径引用,不是把当时的值抄死。
## 相关
- [在 Duaer 里处理文件和图片](https://doc.duaer.com/zh/data/binary-data.md)
- [在 Duaer 里使用输入面板映射](https://doc.duaer.com/zh/data/schema-preview.md)
- [在 Duaer 里数据项如何对应](https://doc.duaer.com/zh/data/data-mapping/data-item-linking.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/data/data-structure.md).
# Understand Duaer’s data structure
Understanding how Duaer structures and passes data between nodes is fundamental to building workflows. This guide covers the data structure format and how data flows.
## Data structure
In Duaer, all data passed between nodes is an array of objects. It has the following structure:
```
[
{
"json": {
"apple": "beets",
"carrot": {
"dill": 1
}
},
"binary": {
"apple-picture": {
"data": "....",
"mimeType": "image/png",
"fileExtension": "png",
"fileName": "example.png"
}
}
}
]
```
Put ordinary fields under json. Put files under binary on the same item. In the Code node, Duaer adds a missing json key and wraps a bare object in an array when needed. Custom nodes must still return items that include json.
## How data flows within nodes
When you connect nodes, data passes from one node to the next automatically. Nodes process multiple items automatically: when a node receives an array of items, it performs the configured operation for each one.
For example, if you set a node to create a card and build the Name from an incoming field with an expression, the node creates one card per item.
Execute Once in the node settings is the exception: the node runs a single time for the whole input.
## Understand what you are mapping with drag and drop
Data mapping maps the field path and loads the field’s value. Dragging fruit from the INPUT pane into a parameter creates {{ $json.fruit }}. When the node iterates over items, the field becomes the fruit value for each item.
## Understand nested data
In the table view, a nested object is collapsed under a bold field name. Open it to see the keys inside. In an expression, walk down with dots, for example nested.example-string-field.
## Questions
### What does one item passed between nodes contain?
In Duaer, a node output is an array of objects. Each item has json for ordinary fields, and binary when a file is attached. Most nodes run once per item.
### What does dragging a field from the INPUT pane insert?
In Duaer, an expression that points at the current item, such as {{ $json.customerId }}. It maps the field path; it does not freeze the value at drag time.
## Related
- [Work with files and images in Duaer](https://doc.duaer.com/data/binary-data.md)
- [Use the UI mapper in Duaer](https://doc.duaer.com/data/schema-preview.md)
- [How items link across Duaer nodes](https://doc.duaer.com/data/data-mapping/data-item-linking.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/data/data-pinning.md).
# 在 Duaer 里固定数据
在 Duaer 里,开发工作流程时,把某一步的输出钉住,之后的测试用这份数据,而不反复去拉外部系统。
固定数据只用于开发期测试。生产执行不会使用钉住的数据。
适合:依赖外部触发或有配额限制的接口、需要同一份样本反复测、或先造好测试数据再钉住复用。
## 什么是固定数据
固定数据是把节点已经产出的输出存下来,之后在编辑器里再跑时用这份,而不是重新取数。只能钉只有一路主输出的节点(错误输出不算)。
## 固定数据
1. 先执行该节点,让输出面板有数据。
2. 在 OUTPUT 视图选择 Pin data。固定生效后按钮不可用,并显示 This data is pinned。
输出含 binary 时不能固定。
## 取消固定
固定生效时,输出面板顶部有横幅。选择 Unpin,下次执行会重新取数。
## 从过去的执行抄一份
1. 打开 Executions,找到那次执行。
2. 打开节点,切到 JSON,复制要的输出。
3. 回到正在编辑的工作流程,打开目标节点,在 OUTPUT 的 JSON 视图选择 Edit,粘贴后 Save。保存会同时固定这份数据。
改已经固定的数据,见[编辑节点输出里的数据](/zh/data/data-editing.md)。
## Questions
### 固定数据什么时候生效?
在 Duaer 里,只在编辑器里的开发测试中生效。生产执行不用钉住的数据。含 binary 或多路主输出的节点不能固定。
### 怎么固定节点输出?
在 Duaer 里,先执行节点,在 OUTPUT 选择 Pin data。要取消就选 Unpin。把过去执行的 JSON 贴进 Edit 并 Save,也会固定。
## 相关
- [在 Duaer 里编辑节点输出数据](https://doc.duaer.com/zh/data/data-editing.md)
- [理解 Duaer 的数据结构](https://doc.duaer.com/zh/data/data-structure.md)
- [在 Duaer 里使用节点](https://doc.duaer.com/zh/Duaer-Organizations/components/nodes.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/data/data-pinning.md).
# Pin data in Duaer
In Duaer, during development, pin a node’s output so later tests reuse that data instead of fetching fresh data.
Data pinning is for development only. Production executions do not use pinned data.
Use it when an external trigger or rate-limited API is expensive to fire, when you need a consistent sample, or when you mock data first and then pin it for reuse.
## Data pinning
Pinning saves a node’s output and reuses that copy on later editor runs instead of fetching fresh data. You can only pin nodes that have a single main output (error outputs do not count).
## Pin data
1. Run the node to load data.
2. In the OUTPUT view, select Pin data. When pinning is active, the button is disabled and a This data is pinned banner appears.
You cannot pin data if the output includes binary data.
## Unpin data
When pinning is active, a banner appears at the top of the output panel. Select Unpin to fetch fresh data on the next run.
## Use data from previous executions
1. Open Executions and find the run you want.
2. Open the node, switch to JSON, and copy the output.
3. In the workflow you are editing, open the target node, select Edit in the OUTPUT JSON view, paste, and Save. Saving also pins the data.
Editing pinned data is covered in [Edit the data in a node output](/data/data-editing.md).
## Questions
### When does pinned data apply?
In Duaer, only during development in the editor. Production executions do not use pinned data. You cannot pin binary output or a node with more than one main output.
### How do you pin a node output?
In Duaer, run the node, then select Pin data in OUTPUT. Select Unpin to remove it. Pasting JSON from a past execution into Edit and Save also pins.
## Related
- [Edit output data in Duaer](https://doc.duaer.com/data/data-editing.md)
- [Understand Duaer’s data structure](https://doc.duaer.com/data/data-structure.md)
- [Work with nodes in Duaer](https://doc.duaer.com/Duaer-Organizations/components/nodes.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/data/data-editing.md).
# 在 Duaer 里编辑节点输出数据
在 Duaer 里,在 JSON 视图里改节点输出,用来测边界情况,而不必每次都从外部系统重发。
编辑输出只用于开发。生产执行不会用这份改过的数据。改的是编辑器里的副本,不是已经落库的历史执行。
## 编辑输出数据
1. 执行节点,让输出面板有数据。
2. 在 OUTPUT 视图选择 JSON。
3. 选择 Edit。
4. 按数据项结构修改。每一项仍要有 json。不要往 binary 里手写文件。
5. 选择 Save。Duaer 保存改动并固定这份数据。
## 保持后面步骤期望的形状
下一步如果用 {{ $json.customerId }},改名或删掉该键会使表达式变空。嵌套层级要保持,例如 address.city 仍在 address 里。
项数也会影响后面按项执行的次数。见[数据项如何对应](/zh/data/data-mapping/data-item-linking.md)。
```
[
{
"json": {
"customerId": "c-18",
"status": "past_due"
}
}
]
```
## Questions
### 编辑并保存输出后会发生什么?
在 Duaer 里,在 OUTPUT 的 JSON 视图 Edit 后 Save,会固定改过的数据。之后编辑器里的手动运行用这份副本,直到 Unpin。不会改历史执行。
### 编辑时要保持什么结构?
在 Duaer 里,每一项仍要有 json。后面表达式依赖的字段名和嵌套层级要保留。改项数会改变后面按项执行的次数。
## 相关
- [在 Duaer 里固定数据](https://doc.duaer.com/zh/data/data-pinning.md)
- [理解 Duaer 的数据结构](https://doc.duaer.com/zh/data/data-structure.md)
- [在 Duaer 里使用输入面板映射](https://doc.duaer.com/zh/data/schema-preview.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/data/data-editing.md).
# Edit output data in Duaer
In Duaer, edit a node’s output in the JSON view so you can test edge cases without resending data from an external system.
Output editing is for development only. Production executions do not use the edited copy. You are changing the editor copy, not a past execution stored in history.
## Edit output data
1. Run the node to load data.
2. In the OUTPUT view, select JSON.
3. Select Edit.
4. Change the items in place. Each item still needs json. Do not hand-write files into binary.
5. Select Save. Duaer saves your changes and pins the data.
## Keep the shape later steps expect
If the next step reads {{ $json.customerId }}, renaming or deleting that key makes the expression empty. Keep nested objects at the same depth, so address.city stays inside address.
The number of items also changes how many times a later per-item node runs. See [How items link](/data/data-mapping/data-item-linking.md).
```
[
{
"json": {
"customerId": "c-18",
"status": "past_due"
}
}
]
```
## Questions
### What happens when you save edited output?
In Duaer, edit in the OUTPUT JSON view and Save pins the edited data. Later manual runs in the editor use that copy until you Unpin. History executions are unchanged.
### What shape must edited output keep?
In Duaer, every item still needs json. Keep field names and nesting that later expressions read. Changing the item count changes how many times later per-item nodes run.
## Related
- [Pin data in Duaer](https://doc.duaer.com/data/data-pinning.md)
- [Understand Duaer’s data structure](https://doc.duaer.com/data/data-structure.md)
- [Use the UI mapper in Duaer](https://doc.duaer.com/data/schema-preview.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/data/schema-preview.md).
# 在 Duaer 里使用输入面板映射
在 Duaer 里,数据映射是引用前面节点的数据,不是改写数据本身。
需要前面某一步的数据时,可以按节点名引用,也可以用输入面板拖放。拖放会替你生成表达式。
## 从输入面板映射
1. 打开要填的节点,确认 INPUT 面板能看到上一步(需已执行或已固定输出)。
2. 把字段从 INPUT 拖进参数。
3. 参数里会出现表达式,例如 {{ $json.customerId }}。在表达式编辑器里点同一字段效果相同。
这只写入路径,不会筛选、改名或重排数据项。映射与数据项对应出错时,见[数据项对应错误](/zh/data/data-mapping/data-item-linking/item-linking-errors.md)。
## Questions
### 输入面板的字段从哪来?
在 Duaer 里,来自前面节点已跑出的数据,或你固定在那些节点上的输出。还没跑也没固定时面板是空的。列出的是字段路径。
### 拖字段进参数会改数据吗?
在 Duaer 里,不会。只写入表达式路径。若数据项对不上,运行时仍可能报对应错误。
## 相关
- [理解 Duaer 的数据结构](https://doc.duaer.com/zh/data/data-structure.md)
- [在 Duaer 里编辑节点输出数据](https://doc.duaer.com/zh/data/data-editing.md)
- [在 Duaer 里数据项如何对应](https://doc.duaer.com/zh/data/data-mapping/data-item-linking.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/data/schema-preview.md).
# Use the UI mapper in Duaer
In Duaer, data mapping means referencing data from previous nodes. It does not include transforming that data.
When you need data from an earlier node, you can reference nodes by name, or drag and drop from the INPUT pane. Drag and drop generates the expression for you.
## Map data from the INPUT pane
1. Open the node you are filling in and confirm the INPUT pane shows the previous step (after a run, or after you pin output).
2. Drag a field from INPUT into the parameter.
3. The field becomes an expression such as {{ $json.customerId }}. Picking the same field in the expression editor does the same thing.
This only writes the path. It does not filter, rename, or reorder items. For mapping and item-linking errors, see [Item linking errors](/data/data-mapping/data-item-linking/item-linking-errors.md).
## Questions
### Where do INPUT pane field names come from?
In Duaer, from data earlier nodes produced, or from pinned output. If nothing has run and nothing is pinned, the pane is empty. The list is field paths.
### Does dragging a field into a parameter change the data?
In Duaer, no. It only writes an expression path. If items are not linked, the expression can still fail at run time with a linking error.
## Related
- [Understand Duaer’s data structure](https://doc.duaer.com/data/data-structure.md)
- [Edit output data in Duaer](https://doc.duaer.com/data/data-editing.md)
- [How items link across Duaer nodes](https://doc.duaer.com/data/data-mapping/data-item-linking.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/data/binary-data.md).
# 在 Duaer 里处理文件和图片
理解并使用 Duaer 里的二进制数据。
二进制数据是文件类数据,例如图片或文档。文件不放在 json 里,而挂在同一项的 binary 上,用名字区分,例如 invoice。
```
"binary": {
"invoice": {
"data": "",
"mimeType": "application/pdf",
"fileName": "invoice.pdf",
"fileExtension": "pdf"
}
}
```
## 在工作流程里处理二进制数据
可用节点,也可用代码。常用节点:
- Convert to File:把文本、JSON、表格转成文件写入 binary。
- Extract From File:从 binary 文件读回表格或文本。
- Read/Write Files from Disk:自托管时读写本机磁盘。云端没有你的磁盘。
- 另有 HTML、XML、Compression、Edit Image、FTP 等,仍走 binary 槽位。
## 自托管时配置二进制存储
自托管可用环境变量选择二进制数据存哪里。例如 DUAER_DEFAULT_BINARY_DATA_MODE(default 表示内存,filesystem / s3 / azure / database 表示对应存储),以及 DUAER_BINARY_DATA_STORAGE_PATH、DUAER_AVAILABLE_BINARY_DATA_MODES。
换存储不会改变节点里引用的 binary 名字。输出含 binary 时不能固定;隐藏执行数据时 binary 会从记录里拿掉。
## Questions
### 文件放在数据项的哪里?
在 Duaer 里,不在 json 里,而在同一项的 binary 下,用名字区分。内容在 data(base64),并带 mimeType、fileName、fileExtension。
### 自托管怎么选二进制存储?含 binary 的输出能固定吗?
在 Duaer 里,用 DUAER_DEFAULT_BINARY_DATA_MODE 等环境变量选择内存、文件系统或外部存储。含 binary 的输出不能固定;隐藏执行数据时 binary 会从记录里拿掉。
## 相关
- [理解 Duaer 的数据结构](https://doc.duaer.com/zh/data/data-structure.md)
- [在 Duaer 里固定数据](https://doc.duaer.com/zh/data/data-pinning.md)
- [在 Duaer 里隐藏执行数据](https://doc.duaer.com/zh/Duaer-Organizations/executions/execution-data-redaction.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/data/binary-data.md).
# Work with files and images in Duaer
Understand and use binary data in Duaer.
Binary data is any file-type data, such as images or documents. A file does not live in json. It sits on binary on the same item, under a name such as invoice.
```
"binary": {
"invoice": {
"data": "",
"mimeType": "application/pdf",
"fileName": "invoice.pdf",
"fileExtension": "pdf"
}
}
```
## Working with binary data in your workflow
You can use nodes or code. Key nodes:
- Convert to File: turn text, JSON, or a spreadsheet into a file on binary.
- Extract From File: read a file on binary back into rows or text.
- Read/Write Files from Disk: read and write the machine disk when you self-host. A cloud instance does not have your disk.
- HTML, XML, Compression, Edit Image, and FTP also take and return binary slots.
## Configure binary data mode when self-hosting
On a self-hosted instance, choose where binary data is stored with environment variables such as DUAER_DEFAULT_BINARY_DATA_MODE (default keeps data in memory; filesystem, s3, azure, or database select those stores), DUAER_BINARY_DATA_STORAGE_PATH, and DUAER_AVAILABLE_BINARY_DATA_MODES.
Changing the store does not change the binary name a node uses. You cannot pin output that includes binary. When execution data is redacted, binary is removed from the record.
## Questions
### Where does a file sit on an item?
In Duaer, not in json. On binary under a name such as invoice, with base64 in data plus mimeType, fileName, and fileExtension.
### How do you choose binary storage when self-hosting, and can you pin binary output?
In Duaer, use environment variables such as DUAER_DEFAULT_BINARY_DATA_MODE for memory, filesystem, or external stores. You cannot pin output that includes binary. Redaction removes binary from the execution record.
## Related
- [Understand Duaer’s data structure](https://doc.duaer.com/data/data-structure.md)
- [Pin data in Duaer](https://doc.duaer.com/data/data-pinning.md)
- [Redact execution data in Duaer](https://doc.duaer.com/Duaer-Organizations/executions/execution-data-redaction.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/data/data-mapping/data-item-linking.md).
# 在 Duaer 里数据项如何对应
在 Duaer 里,每个输出项都带着元数据,指向生成它的输入项,形成可回溯的链条。
后面的节点常用 .item 回头读更早一步的字段。邮箱可能在客户项上,而当前项是订单;对应关系告诉运行“这张订单来自哪个客户”。
自己写程序化节点,或在 Code 节点里造新项时,需要理解这项机制。
## 自动对应
节点若没有自己声明怎么对应,Duaer 会尝试自动猜测:
- 一项进、一项出:输出链回该输入。
- 一项进、多项出:这些输出都链回该输入。
- 多项进、多项出:若只是重排或删掉部分项,Duaer 通常能补上链接;项数相等时按顺序一一对应。
- 项数不等,或造了全新的对象,又未标明对应时,无法自动链接。
无法自动链接且节点也未处理时,会报错。见[数据项对应错误](/zh/data/data-mapping/data-item-linking/item-linking-errors.md)。
## Questions
### .item 指的是哪一条?
在 Duaer 里,指与当前输出项对应的那条输入项,不是固定的数组第 0 项。表达式顺着对应链条往回找更早节点上的字段。
### 什么时候会自动对应?
在 Duaer 里,一项对一项、一项拆多项、项数相同只是重排,或入站只有一项时,通常能自动对应。项数对不上又未标明时不会自动对应。
## 相关
- [在 Duaer 里数据项对应错误](https://doc.duaer.com/zh/data/data-mapping/data-item-linking/item-linking-errors.md)
- [在 Duaer 的 Code 节点里保留对应](https://doc.duaer.com/zh/data/data-mapping/data-item-linking/item-linking-code-node.md)
- [理解 Duaer 的数据结构](https://doc.duaer.com/zh/data/data-structure.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/data/data-mapping/data-item-linking.md).
# How items link across Duaer nodes
In Duaer, each output item includes metadata that links it to the input item (or items) that generated it, creating a chain you can follow backward.
Later nodes often use .item to read a field from an earlier step. An email may sit on the customer item while the current item is an order; linking tells the run which customer that order came from.
You need this when building programmatic nodes, or when the Code node creates new items.
## Automatic item linking
If a node does not control how to link inputs to outputs, Duaer tries to guess:
- Single input, single output: the output links to the input.
- Single input, multiple outputs: all outputs link to that input.
- Multiple inputs and outputs: if you keep input items but reorder or drop some, Duaer can usually add the correct links; if the counts match, it links in order.
- If the counts differ, or you create brand-new objects without linking info, Duaer cannot link automatically.
When Duaer cannot link items and the node does not handle linking, it shows an error. See [Item linking errors](/data/data-mapping/data-item-linking/item-linking-errors.md).
## Questions
### Which row does .item refer to?
In Duaer, the input item that belongs to the current output item, not always index 0. An expression follows that link back to a field on an earlier node.
### When does automatic linking work?
In Duaer, usually for one-to-one, one-to-many, same count with reorder, or a single incoming item. It does not when counts differ without clear linking info.
## Related
- [Fix item linking errors in Duaer](https://doc.duaer.com/data/data-mapping/data-item-linking/item-linking-errors.md)
- [Preserve linking in Duaer’s Code node](https://doc.duaer.com/data/data-mapping/data-item-linking/item-linking-code-node.md)
- [Understand Duaer’s data structure](https://doc.duaer.com/data/data-structure.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/data/data-mapping/data-item-linking/item-linking-errors.md).
# 在 Duaer 里数据项对应错误
在 Duaer 里,用 .item 引用更早的节点时,若对应链条断了,或指向多项,运行会报错。
你可以引用链条上任意更早的节点,写法类似 $("节点名").item。Duaer 顺着每条输出项的对应线往回找该用哪一项。
链条断了,或指向多项时,.item 会失败。可改用 .first()、.last() 或 .all()[下标],或修好对应关系。
## 上一节点缺少表达式所需信息
报错大意是:上一节点没有这条表达式需要的信息。常见原因是 Code 节点返回了没有 pairedItem 的新项,或中间某步改掉了项数。
若其实只需要某一条,不要用 .item,改成:
```
{{ $("Customers").first().json.email }}
{{ $("Customers").all()[0].json.email }}
```
Code 节点要返回每项用了哪条输入,见[在 Code 节点里保留对应](/zh/data/data-mapping/data-item-linking/item-linking-code-node.md)。
## 表达式匹配到多项
Summarize、Aggregate、Merge 等会把多项收成一项。合成后的项背后有多项输入,.item 不知道回哪一条。
改用 first、last 或 all 的下标,或引用没有多项歧义的节点。若业务必须逐条对应,把取字段挪到汇总之前。
## Questions
### 报「上一节点缺少表达式所需信息」是什么原因?
在 Duaer 里,对应链条断了,常见是 Code 节点没写 pairedItem,或中间改了项数。若只要某一条,改用 .first()、.last() 或 .all()[下标]。
### 报「匹配到多项」时怎么办?
在 Duaer 里,汇总或合并后一项背后有多条输入,.item 无法选择。改用 first/last/all 下标,或在汇总前取字段。换字段名不能修好对应。
## 相关
- [在 Duaer 里数据项如何对应](https://doc.duaer.com/zh/data/data-mapping/data-item-linking.md)
- [在 Duaer 的 Code 节点里保留对应](https://doc.duaer.com/zh/data/data-mapping/data-item-linking/item-linking-code-node.md)
- [在 Duaer 里使用输入面板映射](https://doc.duaer.com/zh/data/schema-preview.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/data/data-mapping/data-item-linking/item-linking-errors.md).
# Fix item linking errors in Duaer
In Duaer, when you use .item to reference an earlier node, the run errors if the linking thread is broken or points at more than one item.
You can reference any earlier node in the chain with syntax like $("Node name").item. Duaer follows each output item’s linking thread back to decide which row to use.
.item fails when the thread is broken, or when it points at more than one item. Avoid .item with .first(), .last(), or .all()[index], or fix the link.
## Info for expressions missing from previous node
The message says the previous node has no information for this expression. A common cause is a Code node that returned new items without pairedItem, or a middle step that changed the count.
If you only need one row, stop using .item:
```
{{ $("Customers").first().json.email }}
{{ $("Customers").all()[0].json.email }}
```
In the Code node, return which input each output used. See [Preserve linking in the Code node](/data/data-mapping/data-item-linking/item-linking-code-node.md).
## Multiple matching items for expression
Summarize, Aggregate, and Merge can fold many items into one. The resulting item has several inputs behind it, and .item cannot choose.
Use first, last, or an index on all, or reference a node that does not have multiple matches. If the work is one output per input, read the field before the fold.
## Questions
### Why does Duaer say info for the expression is missing from the previous node?
The linking thread broke—often a Code node without pairedItem, or a middle step that changed the count. If you only need one row, use .first(), .last(), or .all()[index].
### What should you do when there are multiple matching items?
In Duaer, after summarize, aggregate, or merge, several inputs sit behind one item and .item cannot choose. Use first/last/all with an index, or read the field before the fold. Renaming the field does not fix linking.
## Related
- [How items link across Duaer nodes](https://doc.duaer.com/data/data-mapping/data-item-linking.md)
- [Preserve linking in Duaer’s Code node](https://doc.duaer.com/data/data-mapping/data-item-linking/item-linking-code-node.md)
- [Use the UI mapper in Duaer](https://doc.duaer.com/data/schema-preview.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/data/data-mapping/data-item-linking/item-linking-code-node.md).
# 在 Duaer 的 Code 节点里保留对应
在 Duaer 里,引用前面节点时,需要知道该用哪一项。大多数节点会自动链接;Code 节点在某些情况下要你自己写 pairedItem。
入站超过一项,并且你在新增项、返回全新对象、或要手动控制对应时,需要写 pairedItem。只有一项入站时,Duaer 会自动处理。
## pairedItem 用法示例
按输入下标链回来源(下标从 0 开始):
```
const newItems = [];
for (let i = 0; i < items.length; i++) {
newItems.push({
json: {
name: items[i].json.name,
aBrandNewField: "New data for item " + i,
},
pairedItem: i,
});
}
return newItems;
```
## 一项拆成多项
一条客户拆成多张订单时,这些新项都写同一个输入下标:
```
const out = [];
for (let i = 0; i < items.length; i++) {
for (const order of items[i].json.orders) {
out.push({
json: { orderId: order.id },
pairedItem: i,
});
}
}
return out;
```
## 什么时候可以不写
入站只有一项时可省略。只在原项上改字段、仍一项对一项,且返回方式保留原有链接时,也可沿用自动对应。
## Questions
### 什么时候必须写 pairedItem?
在 Duaer 里,入站多项,且你返回新对象、改了项数、或要手动控制对应时。pairedItem 写来源输入的下标(从 0 起);一项拆多项时共用同一下标。
### 什么时候可以不写?
在 Duaer 里,入站只有一项时可省略。只在原项上改字段、仍一项对一项且保留原有链接时,也可沿用自动对应。
## 相关
- [在 Duaer 里数据项如何对应](https://doc.duaer.com/zh/data/data-mapping/data-item-linking.md)
- [在 Duaer 里数据项对应错误](https://doc.duaer.com/zh/data/data-mapping/data-item-linking/item-linking-errors.md)
- [理解 Duaer 的数据结构](https://doc.duaer.com/zh/data/data-structure.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/data/data-mapping/data-item-linking/item-linking-code-node.md).
# Preserve linking in Duaer’s Code node
In Duaer, when referencing a previous node you need to know which item to use. Most nodes link automatically; in the Code node you sometimes set pairedItem yourself.
When you have more than one incoming item and you add new items, return brand-new objects, or want to control linking yourself, set pairedItem. With a single incoming item, Duaer handles linking automatically.
## pairedItem usage example
Link each output to the input at the same index (indexes start at 0):
```
const newItems = [];
for (let i = 0; i < items.length; i++) {
newItems.push({
json: {
name: items[i].json.name,
aBrandNewField: "New data for item " + i,
},
pairedItem: i,
});
}
return newItems;
```
## One input becomes many outputs
When one customer becomes many order items, every new item uses that same input index:
```
const out = [];
for (let i = 0; i < items.length; i++) {
for (const order of items[i].json.orders) {
out.push({
json: { orderId: order.id },
pairedItem: i,
});
}
}
return out;
```
## When you can omit pairedItem
With a single input item you can omit pairedItem. If you only change fields on the original items, still return one for one, and keep the existing link, automatic linking still works.
## Questions
### When must you set pairedItem?
In Duaer, when more than one item came in and you return new objects, change the count, or want to control linking. pairedItem is the source input index (from 0); one-to-many outputs share that index.
### When can you omit pairedItem?
In Duaer, when only one item came in. You can also omit it when you only change fields on the original items, still return one for one, and keep the existing link.
## Related
- [How items link across Duaer nodes](https://doc.duaer.com/data/data-mapping/data-item-linking.md)
- [Fix item linking errors in Duaer](https://doc.duaer.com/data/data-mapping/data-item-linking/item-linking-errors.md)
- [Understand Duaer’s data structure](https://doc.duaer.com/data/data-structure.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/code/variables.md).
# 在 Duaer 里定义自定义变量
在 Duaer 里用自定义变量存值,并在多个工作流程中复用。
## 变量是什么
Duaer 变量是组织或项目里保存的键和值,不是 JavaScript 里临时的 const。运行到表达式或 Code 节点时,Duaer 把 $vars.键名 换成当时的值。
所有值都是字符串。键没有值时读到 undefined,这次运行不会因此失败。运行中不能改;要改就打开 Variables。一次运行内部记数据,用自定义执行数据,不要用变量。
## 范围:组织和项目
- 组织变量:你所在 Duaer 组织里的所有工作流程都能读。别的组织读不到,也看不到。
- 项目变量:只在该项目的工作流程里可读。
- 同名时,项目变量盖过组织变量。同一个组织里,组织变量的键不能重复;另一个组织用同样的键互不影响。
- 组织变量只有组织的所有者和管理员能新建、修改和删除。项目变量能不能新建,看你在该项目的角色。当前套餐不含变量时,界面会提示升级。
组织是什么,见 [Duaer 组织](/zh/organizations.md)。
## 新建变量
1. 在 Variables 里点 Add variable。
2. 填写 Key 和 Value。键最长 50 个字符,值最长 1000 个字符。新键只能用字母、数字和下划线,且不能以数字开头,否则 $vars.键名 这种点号写法会断掉。
3. 从总览页新建时选择范围:「组织」给整个组织,选某个项目就只给这个项目。从某个项目页新建时,范围就是这个项目。
4. 点 Save。
## 修改或删除变量
1. 在 Variables 里把鼠标停在那一行上。
2. 选 Edit 或 Delete。
## 在工作流程里读取
表达式和 JavaScript Code 节点都可以读:
```
{{ $vars.api_host }}
$vars.api_host
```
第一行是节点参数里的表达式。第二行是 Code 节点。键名就是保存时填的 Key。
## Questions
### Duaer 变量在表达式里怎么读?
在 Duaer 里写成 $vars.键名。表达式放在 {{ }} 里;JavaScript Code 节点直接写 $vars.键名。值一律是字符串。键没有值时是 undefined,运行不会因此失败。
### Duaer 的组织变量和项目变量哪个优先?
Duaer 的组织变量在整个组织里可读,项目变量只在该项目的工作流程里可读。同名时项目变量盖过组织变量。运行中不能改,要到 Variables 界面改。
## 相关
- [在 Duaer 里用表达式转换数据](https://doc.duaer.com/zh/code/expressions.md)
- [在 Duaer 里使用内置方法和变量](https://doc.duaer.com/zh/code/builtin.md)
- [在 Duaer 表达式里使用快捷方法](https://doc.duaer.com/zh/code/builtin/convenience.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/code/variables.md).
# Define custom variables in Duaer
Custom variables let you store and reuse values across Duaer workflows.
## What a variable is
A Duaer variable is a key and value stored for the organization or a project—not a const you declare for one run. When an expression or a Code node runs, Duaer replaces $vars.key with the value at that time.
Every value is a string. A missing value reads as undefined, and the run does not fail because of that. A run cannot change a variable—edit it on Variables. To store data for one run, use custom execution data, not a variable.
## Scope: organization and project
- An organization variable is readable by every workflow in your Duaer organization. Other organizations cannot read or see it.
- A project variable is readable only in that project’s workflows.
- When both use the same key, the project variable overrides the organization one. Organization variable keys are unique within one organization; another organization can use the same key without conflict.
- Only the organization’s owner and admins can create, edit, or delete organization variables. Whether you can create a project variable depends on your role in that project. If the plan does not include variables, the screen tells you to upgrade.
For what an organization is, refer to [Duaer organizations](/organizations.md).
## Create a variable
1. On Variables, select Add variable.
2. Enter a Key and a Value. A key is at most 50 characters; a value is at most 1000. A new key may use letters, numbers, and underscores, and it cannot start with a number—a leading number breaks the $vars.key dot form.
3. When you create from the overview, choose Scope: Organization covers the whole organization, and picking a project limits it to that project. Creating from a project page sets the scope to that project.
4. Select Save.
## Edit or delete a variable
1. On Variables, hover the row you want to change.
2. Select Edit or Delete.
## Use a variable in a workflow
Expressions and the JavaScript Code node both read it:
```
{{ $vars.api_host }}
$vars.api_host
```
The first line is an expression in a node parameter. The second is a Code node. The key is the Key you saved.
## Questions
### How do you read a Duaer variable in an expression?
In Duaer, write $vars.key. Put it inside {{ }} in an expression. In a JavaScript Code node, write $vars.key directly. Every value is a string. A missing value is undefined, and the run does not fail for that.
### Which Duaer variable wins when an organization key and a project key match?
A Duaer organization variable is readable across the organization. A project variable is readable only in that project’s workflows. The project value overrides the organization one. A run cannot change a variable—edit it on Variables.
## Related
- [Transform data with expressions in Duaer](https://doc.duaer.com/code/expressions.md)
- [Use built-in methods and variables in Duaer](https://doc.duaer.com/code/builtin.md)
- [Use convenience methods in Duaer expressions](https://doc.duaer.com/code/builtin/convenience.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/code/expressions.md).
# 在 Duaer 里用表达式转换数据
Duaer 表达式写在 {{ }} 里,可在支持表达式的参数中调用转换方法。只做字段整理时,先用 Edit Fields(Set)。
## 在哪里写表达式
把参数从固定值改成 Expression,再写表达式。从 INPUT 把字段拖进来,或直接输入。花括号外的字原样留下,花括号里换成算出来的值。
复杂整理不要散落在很多节点的参数里。用 Edit Fields(Set)先算出新字段、改掉旧字段或删掉不要的字段,后面的节点只读整理后的数据。
## 从 Webhook 正文取一个字段
触发节点把对方发来的 JSON 放在 body 上时,下一个节点这样取城市:
```
{{ $json.body.city }}
```
也可以写成 {{ $json["body"]["city"] }}。点号和方括号是同一条路径。
## 写多句 JavaScript
要写多句时,用立即执行的函数包起来,最后 return 你要的值。日期计算用 Luxon 的 DateTime。
```
{{(() => {
const end = DateTime.fromISO("2017-03-13");
const start = DateTime.fromISO("2017-02-13");
return end.diff(start, "months").toObject();
})()}}
```
## 在凭证字段里用表达式
凭证字段也可以写表达式。它按这一次执行的数据来算,能读到前面节点已经交出的值,例如 Webhook 带来的令牌。不同执行各自计算,不会共用上一次的结果。
## 很长的文本和列表
在 Duaer 里,replace() 和 replaceAll() 一样有长度上限。数组方法按结果有多大来限制,不按一开始有多少项。结果会超过上限时,这条表达式改走回退,而不是无限制地跑下去。
## 常见问题
- JSON Output 无效:交出去的不是合法 JSON,或引用了这次输入里不存在的字段。
- 找不到表达式要的数据,或提示某个节点还没执行:先把那一步跑通。Code 节点里可以用 $("节点名").isExecuted 判断前面有没有跑过。
- 语法错误:多了一个点、少了一个括号。例如 {{ $("If").item.json. }} 末尾的点无效。
## Questions
### Duaer 表达式怎么写?
在 Duaer 里写在双花括号里,例如 {{ $json.body.city }}。参数先改成 Expression。花括号外的文字保留,花括号里换成算出来的值。
### Duaer 表达式找不到数据时先查什么?
通常是前面的节点还没执行,或这次没有该字段。先把表达式点名的节点跑通。不要留下末尾的点,例如 {{ $("If").item.json. }} 无效。
### Duaer 表达式要把字符串或列表拼得很大时会怎样?
replace() 和数组方法有大小上限。超过上限时,Duaer 改走回退,而不是让表达式无限制地变大。
## 相关
- [在 Duaer 里定义自定义变量](https://doc.duaer.com/zh/code/variables.md)
- [在 Duaer 里使用内置方法和变量](https://doc.duaer.com/zh/code/builtin.md)
- [Duaer 表达式示例](https://doc.duaer.com/zh/code-examples/expressions.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/code/expressions.md).
# Transform data with expressions in Duaer
Use expression transformation functions anywhere expressions are supported in Duaer. When you only reshape fields, prepare them in Edit Fields (Set) first.
## Where to write a Duaer expression
Switch a parameter from a fixed value to Expression, then write it. Drag a field from INPUT, or type it. Text outside the braces stays; the part inside becomes the computed value.
Do not scatter a long reshape across many node parameters. Use Edit Fields (Set) to add, change, or drop fields, and let later nodes read the prepared data.
## Get a field from a webhook body
When a trigger puts the incoming JSON on body, the next node reads the city like this:
```
{{ $json.body.city }}
```
{{ $json["body"]["city"] }} is the same path. Dots and brackets address the same field.
## Write longer JavaScript
When you need several statements, wrap them in an immediately invoked function and return the value you want. Date math uses Luxon’s DateTime.
```
{{(() => {
const end = DateTime.fromISO("2017-03-13");
const start = DateTime.fromISO("2017-02-13");
return end.diff(start, "months").toObject();
})()}}
```
## Use expressions in credential fields
Duaer can evaluate an expression in a credential field. It uses this execution’s data, including values earlier nodes already produced—for example a token from a webhook. Each execution evaluates on its own; a later run does not reuse the previous result.
## Long text and long lists
In Duaer, replace() has the same length cap as replaceAll(). Array methods are capped by how large the result would be, not by how many items you started with. If the result would pass the cap, that expression falls back instead of running without a limit.
## Common issues
- Invalid JSON output: the value is not valid JSON, or it references a field this input does not have.
- The expression cannot find its data, or a node has not executed yet: run that step first. In a Code node, $("Node name").isExecuted tells you whether an earlier node has run.
- Invalid syntax: an extra dot or a missing bracket. {{ $("If").item.json. }} is invalid because of the trailing dot.
## Questions
### What does a Duaer expression look like?
In Duaer, write it in double braces, for example {{ $json.body.city }}. Switch the parameter to Expression first. Text outside the braces stays; the braces become the computed value.
### What should you check when a Duaer expression cannot find its data?
Usually an earlier node has not run, or the field is missing this time. Run the node the expression names. Do not leave a trailing dot—{{ $("If").item.json. }} is invalid.
### What happens when a Duaer expression would build a huge string or list?
replace() and array methods stop at a size cap. Past that cap, Duaer falls back instead of letting the expression grow without a limit.
## Related
- [Define custom variables in Duaer](https://doc.duaer.com/code/variables.md)
- [Use built-in methods and variables in Duaer](https://doc.duaer.com/code/builtin.md)
- [Expression examples in Duaer](https://doc.duaer.com/code-examples/expressions.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/code/builtin.md).
# 在 Duaer 里使用内置方法和变量
Duaer 在表达式里提供读取数据的变量和按类型调用的方法。Code 节点跑的是普通 JavaScript 和原生 Luxon。
## 表达式和 Code 节点不是同一套
表达式编辑器能用 $json、$("节点名")、$now、$if(),以及挂在字符串、数组、日期上的转换方法。Code 节点不走这套表达式引擎。
Code 节点里如果报 is not a function,先看这个方法是不是只存在于表达式。日期格式化在表达式里可以写 format(),在 Code 节点里要用 Luxon 的 toFormat()。plus() 和 minus() 在表达式里可以写成 (数量, 单位),在 Code 节点里要写成 { days: 7 }。写成表达式的参数时,Code 节点不一定报错,但结果不是你要的。
$if()、$ifEmpty()、$jmespath() 这类顶层函数只在表达式里。对照见[Duaer 方法和变量对照](/zh/code-examples/methods-variables-reference.md)。
## 按类型打开哪一页
- 当前项、前面的节点、条件和空值:[在 Duaer 表达式里使用快捷方法](/zh/code/builtin/convenience.md)。
- 数组、布尔、日期、数字、对象、字符串:[在 Duaer 里使用数据转换方法](/zh/code/builtin/data-transformation-functions.md)。
- HTTP 节点分页:[在 Duaer 里使用 HTTP 节点分页变量](/zh/code/builtin/http-node-variables.md)。
- JSON 查询:[在 Duaer 里用 JMESPath 查询 JSON](/zh/code/cookbook/jmespath.md)。
## Questions
### Duaer 转换方法能在 Code 节点里用吗?
Duaer 转换方法和 $if()、$jmespath() 属于表达式。Code 节点跑普通 JavaScript 和原生 Luxon。表达式里的 format() 在 Code 节点里改用 toFormat();plus(7, "days") 改成 plus({ days: 7 })。
### 在 Duaer 里当前项用哪个变量读?
在 Duaer 表达式里,当前项是 $json,文件是 $binary。前面某个节点用 $("节点名").item、first()、last() 或 all()。
## 相关
- [在 Duaer 表达式里使用快捷方法](https://doc.duaer.com/zh/code/builtin/convenience.md)
- [在 Duaer 里使用数据转换方法](https://doc.duaer.com/zh/code/builtin/data-transformation-functions.md)
- [Duaer 方法和变量对照](https://doc.duaer.com/zh/code-examples/methods-variables-reference.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/code/builtin.md).
# Use built-in methods and variables in Duaer
Duaer's built-in methods and variables for working with data in expressions. The Code node runs plain JavaScript and native Luxon.
## Expressions and the Code node are not the same engine
The expression editor can use $json, $("Node name"), $now, $if(), and transformation methods on strings, arrays, and dates. The Code node does not use that expression engine.
If the Code node says is not a function, check whether the method exists only in expressions. Date formatting can use format() in an expression; in the Code node, use Luxon’s toFormat(). plus() and minus() accept (amount, unit) in an expression; in the Code node they expect an object such as { days: 7 }. The expression-style call may not throw in the Code node, and still not do what you meant.
$if(), $ifEmpty(), and $jmespath() exist only in expressions. The lookup is [Methods and variables reference for Duaer](/code-examples/methods-variables-reference.md).
## Which page to open
- The current item, earlier nodes, conditions, and empty values: [Use convenience methods in Duaer expressions](/code/builtin/convenience.md).
- Arrays, booleans, dates, numbers, objects, and strings: [Use data transformation methods in Duaer](/code/builtin/data-transformation-functions.md).
- HTTP node pagination: [Use HTTP node pagination variables in Duaer](/code/builtin/http-node-variables.md).
- JSON queries: [Query JSON with JMESPath in Duaer](/code/cookbook/jmespath.md).
## Questions
### Can Duaer transformation methods run in the Code node?
Duaer transformation methods, $if(), and $jmespath() belong to expressions. The Code node runs plain JavaScript and native Luxon. Use toFormat() instead of format(), and plus({ days: 7 }) instead of plus(7, "days").
### Which Duaer variable reads the current item?
In a Duaer expression, the current item is $json and its file is $binary. An earlier node is $("Node name").item, first(), last(), or all().
## Related
- [Use convenience methods in Duaer expressions](https://doc.duaer.com/code/builtin/convenience.md)
- [Use data transformation methods in Duaer](https://doc.duaer.com/code/builtin/data-transformation-functions.md)
- [Methods and variables reference for Duaer](https://doc.duaer.com/code-examples/methods-variables-reference.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/code/builtin/convenience.md).
# 在 Duaer 表达式里使用快捷方法
在 Duaer 表达式里用 $json 读当前项,用 $("节点名") 读前面的节点,用 $now 和 $if() 处理时间和条件。
## 当前项和前面的节点
- $json 是当前项的字段。$json.city 是其中的 city。
- $binary 是当前项上的文件。
- $("节点名").first() 取那个节点的第一项。last() 取最后一项。all() 取全部。
- $("节点名").item 取和当前输出对应的那一项。对应规则见[数据项在流程里怎么对应](/zh/data/data-mapping/data-item-linking.md)。
- $itemIndex 是当前项在这一批里的序号,从 0 开始。$runIndex 是这个节点第几次运行,也从 0 开始。
- $prevNode.name、$prevNode.outputIndex、$prevNode.runIndex 描述紧挨着的上一个节点。
## 时间、条件和空值
- $now 是当前日期时间。$today 是今天。格式化写成 $now.toFormat("yyyy-MM-dd")。细节见[在 Duaer 里用 Luxon 处理日期](/zh/code/cookbook/luxon.md)。
- $if(条件, 成立时的值, 不成立时的值) 按条件选一个值。三元写法 条件 ? 甲 : 乙 也可以。
- $ifEmpty(值, 默认值) 在值是 undefined、null、空字符串、空数组或空对象时返回默认值。
```
{{ $ifEmpty($json.city, "unknown") }}
```
## 这次执行、这个工作流程和变量
- $execution.id 是这次执行的编号。$execution.mode 是手动还是线上触发。$execution.customData 读写自定义执行数据。
- $workflow.id、$workflow.name、$workflow.active 是这个工作流程的编号、名字和是否激活。
- $vars.键名 读取[在 Duaer 里定义自定义变量](/zh/code/variables.md)。
## Questions
### 在 Duaer 里 $ifEmpty 把哪些值当成空?
在 Duaer 表达式里,$ifEmpty(值, 默认值) 在值是 undefined、null、空字符串、空数组或没有字段的对象时返回默认值;其他值原样返回。
### 在 Duaer 里怎么格式化当前时间?
在 Duaer 表达式里,$now 是当前时间,$today 是今天。写成 {{ $now.toFormat("yyyy-MM-dd") }}。
## 相关
- [在 Duaer 里使用内置方法和变量](https://doc.duaer.com/zh/code/builtin.md)
- [在 Duaer 里用表达式转换数据](https://doc.duaer.com/zh/code/expressions.md)
- [在 Duaer 里用 Luxon 处理日期](https://doc.duaer.com/zh/code/cookbook/luxon.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/code/builtin/convenience.md).
# Use convenience methods in Duaer expressions
In a Duaer expression, use $json for the current item, $("Node name") for an earlier node, and $now and $if() for time and conditions.
## The current item and earlier nodes
- $json is the current item. $json.city is the city field.
- $binary is the file on the current item.
- $("Node name").first() is that node’s first item. last() is the last. all() is every item.
- $("Node name").item is the item linked to the current output. Linking is in [How items stay linked through a run](/data/data-mapping/data-item-linking.md).
- $itemIndex is this item’s position in the batch, starting at 0. $runIndex is how many times this node has run, also from 0.
- $prevNode.name, $prevNode.outputIndex, and $prevNode.runIndex describe the node immediately before this one.
## Time, conditions, and empty values
- $now is the current date and time. $today is today. Format with $now.toFormat("yyyy-MM-dd"). Details are in [Work with dates using Luxon in Duaer](/code/cookbook/luxon.md).
- $if(condition, valueIfTrue, valueIfFalse) picks a value. The ternary condition ? a : b works too.
- $ifEmpty(value, defaultValue) returns the default when the value is undefined, null, an empty string, an empty array, or an empty object.
```
{{ $ifEmpty($json.city, "unknown") }}
```
## This execution, this workflow, and variables
- $execution.id is this execution’s id. $execution.mode says whether the run was manual or started by a live trigger. $execution.customData reads and writes custom execution data.
- $workflow.id, $workflow.name, and $workflow.active are this workflow’s id, name, and whether it is active.
- $vars.key reads [Define custom variables in Duaer](/code/variables.md).
## Questions
### Which values does $ifEmpty treat as empty in Duaer?
In a Duaer expression, $ifEmpty(value, default) returns the default for undefined, null, an empty string, an empty array, or an object with no fields. Any other value is returned as it is.
### How do you format the current time in Duaer?
In a Duaer expression, $now is the current time and $today is today. Write {{ $now.toFormat("yyyy-MM-dd") }}.
## Related
- [Use built-in methods and variables in Duaer](https://doc.duaer.com/code/builtin.md)
- [Transform data with expressions in Duaer](https://doc.duaer.com/code/expressions.md)
- [Work with dates using Luxon in Duaer](https://doc.duaer.com/code/cookbook/luxon.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/code/builtin/http-node-variables.md).
# 在 Duaer 里使用 HTTP 节点分页变量
Duaer 的 HTTP Request 节点在分页表达式里提供 $pageCount、$request 和 $response。这三个名字只在该节点里有效。
## 只用在 Duaer HTTP Request 分页里
$pageCount、$request、$response 是给 HTTP Request 节点做分页用的。写在别的节点的表达式里不会有这些值。怎么打开分页,以 HTTP Request 节点自己的参数为准。
## 三个变量
- $pageCount:已经取过的页数。
- $request:这个节点发出去的请求对象。
- $response:这次调用的响应。$response.body 是正文,$response.headers 是响应头,$response.statusCode 是 HTTP 状态码。正文和响应头里有什么,取决于对方接口。
## Questions
### 在 Duaer 里 $response 能在哪些节点里用?
在 Duaer 里,$response、$request、$pageCount 只在 HTTP Request 节点的分页表达式里有效。$response.body 是正文,$response.headers 是响应头,$response.statusCode 是状态码。
### Duaer 的 $pageCount 表示什么?
在 Duaer 的 HTTP Request 分页里,已经取过的页数,用来决定还要不要继续请求。
## 相关
- [在 Duaer 里使用内置方法和变量](https://doc.duaer.com/zh/code/builtin.md)
- [在 Duaer 里用表达式转换数据](https://doc.duaer.com/zh/code/expressions.md)
- [在 Duaer 表达式里使用快捷方法](https://doc.duaer.com/zh/code/builtin/convenience.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/code/builtin/http-node-variables.md).
# Use HTTP node pagination variables in Duaer
Duaer's HTTP Request node provides $pageCount, $request, and $response in pagination expressions. Those three names work only in that node.
## Only inside Duaer HTTP Request pagination
$pageCount, $request, and $response exist for pagination on the HTTP Request node. An expression on another node does not have these values. How you turn pagination on is a parameter of the HTTP Request node itself.
## The three variables
- $pageCount — how many pages the node has already fetched.
- $request — the request object this node sent.
- $response — the response from that call. $response.body is the body, $response.headers the headers, and $response.statusCode the HTTP status code. What body and headers contain depends on the API.
## Questions
### Which Duaer nodes can use $response?
In Duaer, $response, $request, and $pageCount work only in pagination expressions on the HTTP Request node. $response.body is the body, $response.headers the headers, and $response.statusCode the status code.
### What does $pageCount mean in Duaer?
In Duaer HTTP Request pagination, how many pages the node has already fetched—use it to decide whether to request another page.
## Related
- [Use built-in methods and variables in Duaer](https://doc.duaer.com/code/builtin.md)
- [Transform data with expressions in Duaer](https://doc.duaer.com/code/expressions.md)
- [Use convenience methods in Duaer expressions](https://doc.duaer.com/code/builtin/convenience.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/code/builtin/data-transformation-functions.md).
# 在 Duaer 里使用数据转换方法
在 Duaer 表达式里,在值后面调用转换方法,例如 {{ $json.name.toTitleCase() }}。按数组、布尔、日期、数字、对象、字符串分组。
## 在 Duaer 里怎么调用
把参数设成 Expression,在字段或字面量后面加点号和方法名。方法改的是表达式的结果,不会改写上一个节点已经存下的原始项,除非你把结果写进新字段。
只做转换时,用 Edit Fields(Set)集中写这些表达式。Code 节点里请用 JavaScript 或 Luxon 自己的方法。
```
{{ $json.email.extractEmail() }}
```
## 六类方法
- [Duaer 数组上的转换方法](/zh/code/builtin/data-transformation-functions/arrays.md)
- [Duaer 布尔值上的转换方法](/zh/code/builtin/data-transformation-functions/booleans.md)
- [Duaer 日期上的转换方法](/zh/code/builtin/data-transformation-functions/dates.md)
- [Duaer 数字上的转换方法](/zh/code/builtin/data-transformation-functions/numbers.md)
- [Duaer 对象上的转换方法](/zh/code/builtin/data-transformation-functions/objects.md)
- [Duaer 字符串上的转换方法](/zh/code/builtin/data-transformation-functions/strings.md)
## Questions
### Duaer 转换方法写在表达式的哪里?
在 Duaer 表达式里写在值后面,例如 {{ $json.email.extractEmail() }}。参数要处于 Expression。这些扩展不在 Code 节点里。
### Duaer 转换方法按什么分组?
在 Duaer 里按数组、布尔、日期、数字、对象、字符串分组。日期运算要先有 Luxon DateTime;$now 已经是,字符串用 toDateTime()。
## 相关
- [Duaer 字符串上的转换方法](https://doc.duaer.com/zh/code/builtin/data-transformation-functions/strings.md)
- [Duaer 数组上的转换方法](https://doc.duaer.com/zh/code/builtin/data-transformation-functions/arrays.md)
- [Duaer 日期上的转换方法](https://doc.duaer.com/zh/code/builtin/data-transformation-functions/dates.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/code/builtin/data-transformation-functions.md).
# Use data transformation methods in Duaer
In a Duaer expression, call a transformation method on a value, such as {{ $json.name.toTitleCase() }}. Methods are grouped by array, boolean, date, number, object, and string.
## How to call a method in Duaer
Set the parameter to Expression, then put a dot and the method after the field or literal. The method changes the expression result. It does not rewrite the original item on the previous node unless you write the result into a new field.
When the work is only transformation, put the expressions in Edit Fields (Set). In the Code node, use JavaScript or Luxon’s own methods.
```
{{ $json.email.extractEmail() }}
```
## The six groups
- [Array transformation methods in Duaer](/code/builtin/data-transformation-functions/arrays.md)
- [Boolean transformation methods in Duaer](/code/builtin/data-transformation-functions/booleans.md)
- [Date transformation methods in Duaer](/code/builtin/data-transformation-functions/dates.md)
- [Number transformation methods in Duaer](/code/builtin/data-transformation-functions/numbers.md)
- [Object transformation methods in Duaer](/code/builtin/data-transformation-functions/objects.md)
- [String transformation methods in Duaer](/code/builtin/data-transformation-functions/strings.md)
## Questions
### Where do you write a Duaer transformation method?
In a Duaer expression, after the value—for example {{ $json.email.extractEmail() }}. The parameter must be in Expression mode. These extensions are not in the Code node.
### How are Duaer transformation methods grouped?
In Duaer, as arrays, booleans, dates, numbers, objects, and strings. Date math needs a Luxon DateTime—$now already is one; a string uses toDateTime().
## Related
- [String transformation methods in Duaer](https://doc.duaer.com/code/builtin/data-transformation-functions/strings.md)
- [Array transformation methods in Duaer](https://doc.duaer.com/code/builtin/data-transformation-functions/arrays.md)
- [Date transformation methods in Duaer](https://doc.duaer.com/code/builtin/data-transformation-functions/dates.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/code/builtin/data-transformation-functions/arrays.md).
# Duaer 数组上的转换方法
在 Duaer 表达式里,数组方法写在数组后面,例如 {{ $json.ids.unique() }}。average、max、min 遇到非数字会报错。
## 在 Duaer 表达式里调用
这些方法作用在数组上。一部分是 Duaer 的扩展,Code 节点里没有同名实现。
## 方法
- append(元素...):加到末尾并返回数组。
- average():数字的平均值。有非数字会报错。
- chunk(长度):切成等长的子数组。
- compact():去掉 null、空字符串和 undefined。
- concat(其他数组...):接到后面。
- difference(另一个数组):留下当前数组有、另一个没有的元素。
- filter(函数):留下函数返回 true 的元素。
- find(函数):第一个符合条件的元素。没有则是 undefined。要全部匹配用 filter()。
- first()、last():第一项、最后一项。
- includes(元素)、indexOf(元素):是否包含,以及第一次出现的位置。找不到是 -1,位置从 0 开始。
- intersection(另一个数组):两边都有的元素。
- isEmpty()、isNotEmpty():没有元素,或 null、undefined,算空。
- join(分隔符):合成一个字符串。和 split() 相反。
- length:元素个数。
- map(函数):对每个元素算出新数组。
- max()、min():最大、最小的数字。有非数字会报错。
- pluck(字段名...):从每个对象里取出这些字段。不是对象或没有该字段的元素会被忽略。
- randomItem():随机一项。
- reduce(函数, 初始值):收成一个值。
- removeDuplicates(键?)、unique():去掉重复元素。
- renameKeys(原名, 新名):改数组里对象的字段名。可以连续写多对。
- reverse():倒序。
- slice(起, 止):取一段。
- smartJoin(键字段, 值字段):每个对象提供一对键和值,合成一个对象。
- sort(比较函数?):字符串可直接排序。数字和对象要给比较函数。
- sum():数字求和。
- mergeIntoObject(另一个对象数组):按键合并两组对象。长度不同时保留更长的那组里多出来的元素。
- toJsonString():变成 JSON 字符串。
- toSpliced(起点, 删除个数, 新元素...):在指定位置增删,返回新数组。
- toString():用逗号拼成字符串。要别的分隔符用 join()。
- union(另一个数组):两边的元素并起来,去掉重复。
## Questions
### 在 Duaer 里 average 什么时候会报错?
在 Duaer 表达式里,average()、max()、min()、sum() 要求元素是数字。有非数字就会报错。
### Duaer 的 unique 和 removeDuplicates 做什么?
在 Duaer 表达式里去掉数组里的重复元素。pluck(字段名) 从每个对象取出指定字段,忽略不是对象或没有该字段的元素。
## 相关
- [在 Duaer 里使用数据转换方法](https://doc.duaer.com/zh/code/builtin/data-transformation-functions.md)
- [Duaer 数字上的转换方法](https://doc.duaer.com/zh/code/builtin/data-transformation-functions/numbers.md)
- [Duaer 对象上的转换方法](https://doc.duaer.com/zh/code/builtin/data-transformation-functions/objects.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/code/builtin/data-transformation-functions/arrays.md).
# Array transformation methods in Duaer
In a Duaer expression, call an array method on the array, such as {{ $json.ids.unique() }}. average, max, and min throw if any element is not a number.
## Call them in a Duaer expression
These methods run on an array. Some are Duaer extensions. The Code node does not have the same names.
## Methods
- append(...elements) adds elements at the end and returns the array.
- average() is the mean of the numbers. A non-number throws.
- chunk(length) splits the array into sub-arrays of that length.
- compact() removes null, empty strings, and undefined.
- concat(...arrays) joins arrays onto the end.
- difference(otherArray) keeps elements that are in this array and not in the other.
- filter(fn) keeps elements for which the function returns true.
- find(fn) returns the first match, or undefined. Use filter() for every match.
- first() and last() return the first and last elements.
- includes(element) and indexOf(element) test membership and the first position. A miss is -1. Positions start at 0.
- intersection(otherArray) keeps elements present in both arrays.
- isEmpty() and isNotEmpty() treat no elements, null, and undefined as empty.
- join(separator) builds one string. It is the opposite of split().
- length is the number of elements.
- map(fn) builds a new array by applying the function to each element.
- max() and min() return the largest and smallest number. A non-number throws.
- pluck(...fieldNames) takes those fields from each object. Elements that are not objects, or lack the field, are ignored.
- randomItem() returns one element at random.
- reduce(fn, initial) folds the array into one value.
- removeDuplicates(keys) and unique() drop duplicate elements.
- renameKeys(from, to) renames fields on objects in the array. Extra pairs rename more fields.
- reverse() reverses the order.
- slice(start, end) returns a section.
- smartJoin(keyField, valueField) builds one object from objects that each hold a key and a value.
- sort(compare) sorts strings with no argument. Numbers and objects need a compare function.
- sum() adds the numbers.
- mergeIntoObject(otherArray) merges two arrays of objects by key. If the lengths differ, extra elements from the longer array are kept.
- toJsonString() returns a JSON string.
- toSpliced(start, deleteCount, ...elements) inserts or removes at a position and returns a new array.
- toString() joins with commas. Use join() for another separator.
- union(otherArray) combines both arrays and drops duplicates.
## Questions
### When does average throw in a Duaer expression?
In a Duaer expression, average(), max(), min(), and sum() expect numbers. If any element is not a number, they throw.
### What do unique and removeDuplicates do in Duaer?
In a Duaer expression, they drop duplicate elements. pluck(fieldName) takes that field from each object and ignores elements that are not objects or lack the field.
## Related
- [Use data transformation methods in Duaer](https://doc.duaer.com/code/builtin/data-transformation-functions.md)
- [Number transformation methods in Duaer](https://doc.duaer.com/code/builtin/data-transformation-functions/numbers.md)
- [Object transformation methods in Duaer](https://doc.duaer.com/code/builtin/data-transformation-functions/objects.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/code/builtin/data-transformation-functions/booleans.md).
# Duaer 布尔值上的转换方法
在 Duaer 表达式里,布尔值可以判断空不空,也可以转成数字或字符串。true 转成数字是 1,false 是 0。
## 方法
- isEmpty():false、null、undefined 时返回 true;true 时返回 false。这不是单纯的“有没有字段”检查。
- isNotEmpty():isEmpty() 的反面。
- toNumber():true 变成 1,false 变成 0。
- toString():变成字符串 true 或 false。
```
{{ $json.active.toNumber() }}
```
## Questions
### 在 Duaer 里 toNumber 的结果是什么?
在 Duaer 表达式里,true 变成 1,false 变成 0。toString() 变成字符串 true 或 false。
### Duaer 的 isEmpty 会不会把 false 当成空?
会。在 Duaer 表达式里,布尔上的 isEmpty() 在 false、null、undefined 时返回 true,在 true 时返回 false。它不是单纯的“有没有字段”检查。
## 相关
- [在 Duaer 里使用数据转换方法](https://doc.duaer.com/zh/code/builtin/data-transformation-functions.md)
- [Duaer 数字上的转换方法](https://doc.duaer.com/zh/code/builtin/data-transformation-functions/numbers.md)
- [Duaer 字符串上的转换方法](https://doc.duaer.com/zh/code/builtin/data-transformation-functions/strings.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/code/builtin/data-transformation-functions/booleans.md).
# Boolean transformation methods in Duaer
In a Duaer expression, a boolean can be tested for empty and converted to a number or a string. true becomes 1 as a number; false becomes 0.
## Methods
- isEmpty() returns true for false, null, or undefined, and false for true. It is not only a missing-field check.
- isNotEmpty() is the inverse of isEmpty().
- toNumber() turns true into 1 and false into 0.
- toString() turns the boolean into the string true or false.
```
{{ $json.active.toNumber() }}
```
## Questions
### What does toNumber return in a Duaer expression?
In a Duaer expression, true becomes 1 and false becomes 0. toString() becomes the string true or false.
### Does Duaer isEmpty treat false as empty?
Yes. In a Duaer expression, isEmpty() on a boolean returns true for false, null, or undefined, and false for true. It is not only a missing-field check.
## Related
- [Use data transformation methods in Duaer](https://doc.duaer.com/code/builtin/data-transformation-functions.md)
- [Number transformation methods in Duaer](https://doc.duaer.com/code/builtin/data-transformation-functions/numbers.md)
- [String transformation methods in Duaer](https://doc.duaer.com/code/builtin/data-transformation-functions/strings.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/code/builtin/data-transformation-functions/dates.md).
# Duaer 日期上的转换方法
Duaer 表达式里,$now 和 $today 是 Luxon 的 DateTime。字符串或数字要先 toDateTime(),再调用 format、plus、setZone。
## 先变成 DateTime
日期运算对象是 DateTime,不是普通的 Date。$now 和 $today 已经是 DateTime。字符串、数字用 toDateTime() 转过去。库本身的差别——包括 Code 节点里要用 toFormat 而不是 format——见[在 Duaer 里用 Luxon 处理日期](/zh/code/cookbook/luxon.md)。
```
{{ $json.createdAt.toDateTime().toFormat("yyyy-MM-dd") }}
```
## DateTime 上常用的方法和属性
- year、month、day、hour、minute、second、millisecond、quarter、weekNumber、weekday:读出那一部分。monthLong、monthShort、weekdayLong、weekdayShort 是文字。
- toFormat 在快捷页用过。format() 是表达式里的格式化扩展。
- plus(数量, 单位)、minus(数量, 单位):加减。startOf(单位)、endOf(单位):取这一单位的开始或结束。
- set({ ... }):改其中一部分。setZone(时区)、toUTC()、toLocal():换时区。
- toISO()、toMillis()、toSeconds()、toString()、toLocaleString()、toRelative():输出成字符串或数字。
- diffTo(另一个时间)、diffToNow():算间隔。equals()、hasSame(单位)、isBetween():比较。
- extract(单位):取出单位。isEmpty()、isNotEmpty()、isInDST、locale、zone:空值、夏令时、语言和时区。
- setLocale(语言):改这份时间的语言,影响月份名字这类输出。
## Questions
### 在 Duaer 里 $now 是什么类型?
在 Duaer 表达式里,$now 和 $today 是 Luxon 的 DateTime。字符串或数字要先 toDateTime(),再调用 toFormat、plus 或 setZone。
### Duaer 表达式的 plus 和 Code 节点的 plus 一样吗?
不一样。Duaer 表达式可以写 plus(7, "days")。Code 节点里的原生 Luxon 要写成 plus({ days: 7 })。表达式的 format() 对应 Code 节点的 toFormat()。
## 相关
- [在 Duaer 里用 Luxon 处理日期](https://doc.duaer.com/zh/code/cookbook/luxon.md)
- [在 Duaer 里使用数据转换方法](https://doc.duaer.com/zh/code/builtin/data-transformation-functions.md)
- [在 Duaer 表达式里使用快捷方法](https://doc.duaer.com/zh/code/builtin/convenience.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/code/builtin/data-transformation-functions/dates.md).
# Date transformation methods in Duaer
In a Duaer expression, $now and $today are Luxon DateTime values. Call toDateTime() on a string or number before format, plus, or setZone.
## Turn a value into a DateTime first
Date math uses a DateTime, not a plain Date. $now and $today are already DateTime values. Call toDateTime() on a string or a number. Library differences—including toFormat instead of format in the Code node—are in [Work with dates using Luxon in Duaer](/code/cookbook/luxon.md).
```
{{ $json.createdAt.toDateTime().toFormat("yyyy-MM-dd") }}
```
## Methods and fields on DateTime
- year, month, day, hour, minute, second, millisecond, quarter, weekNumber, and weekday read one part. monthLong, monthShort, weekdayLong, and weekdayShort are words.
- toFormat is the formatter used on the convenience page. format() is the expression-only formatter.
- plus(amount, unit) and minus(amount, unit) add or subtract. startOf(unit) and endOf(unit) move to the start or end of that unit.
- set({ ... }) changes one part. setZone(zone), toUTC(), and toLocal() change the zone.
- toISO(), toMillis(), toSeconds(), toString(), toLocaleString(), and toRelative() write a string or a number.
- diffTo(other) and diffToNow() measure a gap. equals(), hasSame(unit), and isBetween() compare.
- extract(unit) pulls out a unit. isEmpty(), isNotEmpty(), isInDST, locale, and zone cover emptiness, daylight saving, locale, and zone.
- setLocale(locale) changes the locale of this value, which affects names such as the month.
## Questions
### What type is $now in Duaer?
In a Duaer expression, $now and $today are Luxon DateTime values. Call toDateTime() on a string or number before toFormat, plus, or setZone.
### Is plus in a Duaer expression the same as in the Code node?
No. A Duaer expression can write plus(7, "days"). Native Luxon in the Code node wants plus({ days: 7 }). format() in an expression maps to toFormat() in the Code node.
## Related
- [Work with dates using Luxon in Duaer](https://doc.duaer.com/code/cookbook/luxon.md)
- [Use data transformation methods in Duaer](https://doc.duaer.com/code/builtin/data-transformation-functions.md)
- [Use convenience methods in Duaer expressions](https://doc.duaer.com/code/builtin/convenience.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/code/builtin/data-transformation-functions/numbers.md).
# Duaer 数字上的转换方法
在 Duaer 表达式里,数字方法做取整、奇偶判断,以及转成布尔、字符串或 DateTime。round 取最接近的数,ceil 向上,floor 向下。
## 方法
- abs():绝对值。
- ceil():向上取整。floor():向下取整。round(小数位?):取最接近的数。
- isEven()、isOdd()、isInteger():偶数、奇数、整数。
- isEmpty()、isNotEmpty():空或不空。
- format(样式):按给定样式变成字符串。toLocaleString():按当前语言格式化。toString():普通字符串。
- toBoolean():0 是 false,其他数字是 true。
- toDateTime():当成时间戳转成 DateTime。单位要和你存的毫秒或秒一致,转完用日期那一页的方法格式化。
```
{{ $json.amount.round(2) }}
```
## Questions
### 在 Duaer 里 round、ceil、floor 有什么区别?
在 Duaer 表达式里,round() 取最接近的数,可以带小数位数。ceil() 向上取整。floor() 向下取整。abs() 是绝对值。
### Duaer 的 toBoolean 怎么判断数字?
在 Duaer 表达式里,0 变成 false,其他数字变成 true。
## 相关
- [在 Duaer 里使用数据转换方法](https://doc.duaer.com/zh/code/builtin/data-transformation-functions.md)
- [Duaer 字符串上的转换方法](https://doc.duaer.com/zh/code/builtin/data-transformation-functions/strings.md)
- [Duaer 日期上的转换方法](https://doc.duaer.com/zh/code/builtin/data-transformation-functions/dates.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/code/builtin/data-transformation-functions/numbers.md).
# Number transformation methods in Duaer
In a Duaer expression, number methods round, test even or odd, and convert to a boolean, a string, or a DateTime. round goes to the nearest number; ceil goes up; floor goes down.
## Methods
- abs() is the absolute value.
- ceil() rounds up. floor() rounds down. round(decimalPlaces) rounds to the nearest number.
- isEven(), isOdd(), and isInteger() test even, odd, and integer.
- isEmpty() and isNotEmpty() test emptiness.
- format(pattern) writes a string in that pattern. toLocaleString() uses the current locale. toString() is a plain string.
- toBoolean() is false for 0 and true for any other number.
- toDateTime() treats the number as a timestamp and returns a DateTime. Match milliseconds or seconds to how you stored it, then format with the date methods.
```
{{ $json.amount.round(2) }}
```
## Questions
### How do round, ceil, and floor differ in Duaer?
In a Duaer expression, round() goes to the nearest number and can take a decimal-place count. ceil() rounds up. floor() rounds down. abs() is the absolute value.
### How does toBoolean treat a number in Duaer?
In a Duaer expression, 0 becomes false; any other number becomes true.
## Related
- [Use data transformation methods in Duaer](https://doc.duaer.com/code/builtin/data-transformation-functions.md)
- [String transformation methods in Duaer](https://doc.duaer.com/code/builtin/data-transformation-functions/strings.md)
- [Date transformation methods in Duaer](https://doc.duaer.com/code/builtin/data-transformation-functions/dates.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/code/builtin/data-transformation-functions/objects.md).
# Duaer 对象上的转换方法
在 Duaer 表达式里,对象方法用来判断字段、删字段、合并,以及把对象编成查询字符串。
## 方法
- keys():全部字段名。values():全部值。
- hasField(字段名):有没有这个字段(只看顶层,区分大小写)。
- isEmpty()、isNotEmpty():没有字段算空。
- compact():去掉值为空的字段。
- removeField(字段名):删掉一个字段。
- keepFieldsContaining(文字)、removeFieldsContaining(文字):按字段名是否包含这段文字保留或删除。
- merge(另一个对象):合并。同名字段以后者为准。
- toJsonString():变成 JSON 字符串。
- urlEncode():编成 URL 查询字符串。
```
{{ $json.address.hasField("city") }}
```
## Questions
### 在 Duaer 里 hasField 判断什么?
在 Duaer 表达式里,判断对象有没有该字段(只看顶层,区分大小写)。keys() 返回字段名,values() 返回值。
### Duaer 的 merge 时同名字段听谁的?
在 Duaer 表达式里,merge(另一个对象) 合并字段;两边都有时,以后一个对象为准。
## 相关
- [在 Duaer 里使用数据转换方法](https://doc.duaer.com/zh/code/builtin/data-transformation-functions.md)
- [Duaer 数组上的转换方法](https://doc.duaer.com/zh/code/builtin/data-transformation-functions/arrays.md)
- [在 Duaer 里用 JMESPath 查询 JSON](https://doc.duaer.com/zh/code/cookbook/jmespath.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/code/builtin/data-transformation-functions/objects.md).
# Object transformation methods in Duaer
In a Duaer expression, object methods test fields, drop fields, merge objects, and encode an object as a query string.
## Methods
- keys() returns the field names. values() returns the values.
- hasField(name) says whether that field exists (top-level only, case-sensitive).
- isEmpty() and isNotEmpty() treat an object with no fields as empty.
- compact() drops fields whose values are empty.
- removeField(name) removes one field.
- keepFieldsContaining(text) and removeFieldsContaining(text) keep or drop fields whose names contain that text.
- merge(other) merges another object. The other object wins on a shared field name.
- toJsonString() returns a JSON string.
- urlEncode() encodes the object as a URL query string.
```
{{ $json.address.hasField("city") }}
```
## Questions
### What does hasField test in Duaer?
In a Duaer expression, whether that field exists (top-level only, case-sensitive). keys() returns field names; values() returns the values.
### Which value wins on merge in Duaer when both objects share a field?
In a Duaer expression, merge(other) combines the objects. On a shared field name, the other object’s value wins.
## Related
- [Use data transformation methods in Duaer](https://doc.duaer.com/code/builtin/data-transformation-functions.md)
- [Array transformation methods in Duaer](https://doc.duaer.com/code/builtin/data-transformation-functions/arrays.md)
- [Query JSON with JMESPath in Duaer](https://doc.duaer.com/code/cookbook/jmespath.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/code/builtin/data-transformation-functions/strings.md).
# Duaer 字符串上的转换方法
在 Duaer 表达式里,字符串方法做大小写、截取、判断邮箱和网址,以及 base64 和 URL 编解码。
## 判断和取出
- isEmpty()、isNotEmpty()、length:空、不空、长度。
- includes(文字)、startsWith(文字)、indexOf(文字)、search(文字)、match(正则):是否包含、是否以此开头、位置、搜索、按正则匹配。
- isEmail()、isUrl()、isDomain()、isNumeric():像不像邮箱、网址、域名、数字。
- extractEmail()、extractUrl()、extractUrlPath()、extractDomain():从一段文字里取出邮箱、网址、路径或域名。
## 改写和转换
- toLowerCase()、toUpperCase()、toTitleCase()、toSentenceCase()、toSnakeCase():改大小写或变成蛇形。
- trim():去掉两端空白。replace(找, 换)、replaceAll(找, 换):替换。replaceSpecialChars():处理特殊字符。removeMarkdown()、removeTags():去掉 Markdown 或 HTML 标签。
- slice(起, 止)、substring(起, 止)、split(分隔符)、concat(另一段):截取、拆开、接上。
- quote():加上引号。
- base64Encode()、base64Decode()、urlEncode()、urlDecode()、hash():编码、解码、哈希。
- parseJson():把 JSON 字符串解析成对象。toJsonString():再变成 JSON 字符串。
- toNumber()、toBoolean()、toDateTime():转成数字、布尔或 DateTime。
```
{{ $json.note.extractEmail() }}
```
## Questions
### 在 Duaer 里 extractEmail 做什么?
在 Duaer 表达式里,从一段字符串里取出邮箱。同类还有 extractUrl()、extractUrlPath()、extractDomain()。isEmail() 只判断像不像邮箱,不取出内容。
### 在 Duaer 里字符串怎么解析成 JSON?
在 Duaer 表达式里,parseJson() 把 JSON 字符串解析成对象或数组;toJsonString() 再变回 JSON 字符串。toNumber()、toBoolean()、toDateTime() 分别转成数字、布尔和 DateTime。
## 相关
- [在 Duaer 里使用数据转换方法](https://doc.duaer.com/zh/code/builtin/data-transformation-functions.md)
- [Duaer 数字上的转换方法](https://doc.duaer.com/zh/code/builtin/data-transformation-functions/numbers.md)
- [Duaer 日期上的转换方法](https://doc.duaer.com/zh/code/builtin/data-transformation-functions/dates.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/code/builtin/data-transformation-functions/strings.md).
# String transformation methods in Duaer
In a Duaer expression, string methods change case, slice text, test emails and URLs, and encode or decode base64 and URLs.
## Test and extract
- isEmpty(), isNotEmpty(), and length test emptiness and length.
- includes(text), startsWith(text), indexOf(text), search(text), and match(pattern) test containment, a prefix, a position, a search, and a regular expression.
- isEmail(), isUrl(), isDomain(), and isNumeric() test whether the string looks like an email, a URL, a domain, or a number.
- extractEmail(), extractUrl(), extractUrlPath(), and extractDomain() pull an email, URL, path, or domain out of a longer string.
## Rewrite and convert
- toLowerCase(), toUpperCase(), toTitleCase(), toSentenceCase(), and toSnakeCase() change case or write snake_case.
- trim() drops whitespace at both ends. replace(find, replacement) and replaceAll(find, replacement) replace text. replaceSpecialChars() handles special characters. removeMarkdown() and removeTags() strip Markdown or HTML tags.
- slice(start, end), substring(start, end), split(separator), and concat(other) cut, split, and join.
- quote() wraps the string in quotes.
- base64Encode(), base64Decode(), urlEncode(), urlDecode(), and hash() encode, decode, and hash.
- parseJson() parses a JSON string into a value. toJsonString() writes JSON again.
- toNumber(), toBoolean(), and toDateTime() convert to a number, a boolean, or a DateTime.
```
{{ $json.note.extractEmail() }}
```
## Questions
### What does extractEmail do in Duaer?
In a Duaer expression, it pulls an email out of a string. extractUrl(), extractUrlPath(), and extractDomain() do the same for a URL, path, and domain. isEmail() only tests the shape—it does not extract.
### How does a string become JSON in Duaer?
In a Duaer expression, parseJson() parses a JSON string into an object or array. toJsonString() writes JSON again. toNumber(), toBoolean(), and toDateTime() convert to a number, boolean, or DateTime.
## Related
- [Use data transformation methods in Duaer](https://doc.duaer.com/code/builtin/data-transformation-functions.md)
- [Number transformation methods in Duaer](https://doc.duaer.com/code/builtin/data-transformation-functions/numbers.md)
- [Date transformation methods in Duaer](https://doc.duaer.com/code/builtin/data-transformation-functions/dates.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/code/cookbook/jmespath.md).
# 在 Duaer 里用 JMESPath 查询 JSON
在 Duaer 里用 $jmespath(对象, "查询") 查询 JSON。表达式和 JavaScript Code 节点可用;Python Code 节点没有。
## $jmespath 读哪一份数据
第一个参数是要查的对象,通常是 $json 或前面某个节点的一项。第二个参数是 JMESPath 字符串。查询在这一次执行的数据上计算,不会改原来的项。
点号路径够用时,直接写 $json.body.city。要过滤数组、投影字段时再用 JMESPath。
```
{{ $jmespath($json, "body.city") }}
```
## 哪里能调用
- 表达式里可以调用 $jmespath()。
- JavaScript Code 节点里也可以调用。
- Python Code 节点没有 $jmespath。用 Python 自己的字典和列表来取字段。
## Questions
### 在 Duaer 里 $jmespath 有几个参数?
在 Duaer 里两个:第一个是要查的 JSON(通常是 $json),第二个是 JMESPath 字符串。查询不改原来的项。
### Duaer 的 Python Code 节点能调用 $jmespath 吗?
不能。Duaer 表达式和 JavaScript Code 节点可以用。Python Code 节点用字典和列表读字段。
## 相关
- [在 Duaer 里用表达式转换数据](https://doc.duaer.com/zh/code/expressions.md)
- [Duaer 对象上的转换方法](https://doc.duaer.com/zh/code/builtin/data-transformation-functions/objects.md)
- [在 Duaer 里使用内置方法和变量](https://doc.duaer.com/zh/code/builtin.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/code/cookbook/jmespath.md).
# Query JSON with JMESPath in Duaer
In Duaer, query JSON with $jmespath(object, "query"). Expressions and the JavaScript Code node can call it; the Python Code node cannot.
## What $jmespath reads in Duaer
The first argument is the object to query, usually $json or one item from an earlier node. The second is a JMESPath string. The query runs on this execution’s data and does not change the original item.
When a dot path is enough, write $json.body.city. Use JMESPath when you need to filter an array or project fields.
```
{{ $jmespath($json, "body.city") }}
```
## Where you can call it
- A Duaer expression can call $jmespath().
- A JavaScript Code node can call it too.
- The Python Code node has no $jmespath. Read fields with Python dictionaries and lists.
## Questions
### How many arguments does $jmespath take in Duaer?
In Duaer, two: the JSON to query (usually $json) and a JMESPath string. The query does not change the original item.
### Can a Duaer Python Code node call $jmespath?
No. Duaer expressions and the JavaScript Code node can. In Python, read fields with dictionaries and lists.
## Related
- [Transform data with expressions in Duaer](https://doc.duaer.com/code/expressions.md)
- [Object transformation methods in Duaer](https://doc.duaer.com/code/builtin/data-transformation-functions/objects.md)
- [Use built-in methods and variables in Duaer](https://doc.duaer.com/code/builtin.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/code/cookbook/luxon.md).
# 在 Duaer 里用 Luxon 处理日期
Duaer 表达式里的日期是 Luxon 的 DateTime。$now 和 $today 直接就是。Code 节点用原生 Luxon,format() 和 plus(数量, 单位) 不能照搬。
## 怎么得到一个 DateTime
$now 是现在。$today 是今天的开始。已有的字符串用 DateTime.fromISO,或用值上的 toDateTime()。
```
{{ $now.toFormat("yyyy-MM-dd") }}
{{ $json.createdAt.toDateTime().plus(7, "days").toISO() }}
```
## 和 Code 节点里的 Luxon 不一样
- 表达式里的 format() 是 Duaer 扩展。Code 节点里格式化用 toFormat()。
- 表达式里 plus 和 minus 可以写成 (数量, 单位),例如 plus(7, "days")。Code 节点里的原生 Luxon 要写成 plus({ days: 7 })。写成两个参数不一定报错,但加不上你要的天数。
- 多句计算要用立即执行函数包起来,见[在 Duaer 里用表达式转换数据](/zh/code/expressions.md)。
## Questions
### 在 Duaer 里怎么得到今天的日期字符串?
在 Duaer 表达式里写 {{ $now.toFormat("yyyy-MM-dd") }}。$now 是 Luxon DateTime。要固定时区时先 setZone,再 toFormat。
### 为什么同一句 plus 在 Duaer Code 节点里结果不对?
Duaer 表达式接受 plus(7, "days")。Code 节点用原生 Luxon,要写成 plus({ days: 7 })。两个参数在 Code 节点里可能不报错,也不会加上这 7 天。
## 相关
- [Duaer 日期上的转换方法](https://doc.duaer.com/zh/code/builtin/data-transformation-functions/dates.md)
- [在 Duaer 表达式里使用快捷方法](https://doc.duaer.com/zh/code/builtin/convenience.md)
- [在 Duaer 里用表达式转换数据](https://doc.duaer.com/zh/code/expressions.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/code/cookbook/luxon.md).
# Work with dates using Luxon in Duaer
Dates in a Duaer expression are Luxon DateTime values. $now and $today already are. The Code node uses native Luxon—format() and plus(amount, unit) do not carry over unchanged.
## How a Duaer expression gets a DateTime
$now is the current time. $today is the start of today. An existing string uses DateTime.fromISO, or toDateTime() on the value.
```
{{ $now.toFormat("yyyy-MM-dd") }}
{{ $json.createdAt.toDateTime().plus(7, "days").toISO() }}
```
## Native Luxon in the Code node is different
- format() in an expression is a Duaer extension. In the Code node, format with toFormat().
- In an expression, plus and minus accept (amount, unit), such as plus(7, "days"). Native Luxon in the Code node wants plus({ days: 7 }). Two arguments may not throw, and still will not add the days you wanted.
- Several statements belong in an immediately invoked function. See [Transform data with expressions in Duaer](/code/expressions.md).
## Questions
### How do you get today’s date string in Duaer?
In a Duaer expression, write {{ $now.toFormat("yyyy-MM-dd") }}. $now is a Luxon DateTime. To pin a time zone, call setZone before toFormat.
### Why does the same plus call give the wrong result in the Duaer Code node?
A Duaer expression accepts plus(7, "days"). The Code node uses native Luxon and wants plus({ days: 7 }). Two arguments may not throw, and still will not add those 7 days.
## Related
- [Date transformation methods in Duaer](https://doc.duaer.com/code/builtin/data-transformation-functions/dates.md)
- [Use convenience methods in Duaer expressions](https://doc.duaer.com/code/builtin/convenience.md)
- [Transform data with expressions in Duaer](https://doc.duaer.com/code/expressions.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/code-examples/expressions.md).
# Duaer 表达式示例
这些 Duaer 示例都在表达式模式里:读当前项、补默认值、格式化日期,并在字段很多时改用 Edit Fields(Set)。
## 从 Webhook 正文取一个字段
触发节点把对方发来的 JSON 放在 body 上时,下一个节点这样取城市:
```
{{ $json.body.city }}
```
## 没有值时给一个默认
$ifEmpty 把 undefined、null、空字符串、空数组和空对象换成第二个参数。
```
{{ $ifEmpty($json.body.city, "unknown") }}
```
## 把现在格式化成日期
```
{{ $now.setZone("Asia/Shanghai").toFormat("yyyy-MM-dd HH:mm") }}
```
## 字段多时集中整理
要同时改好几个字段时,加一个 Edit Fields(Set)节点,每个新字段写一条表达式。后面的节点只读整理后的 $json,不再各自重复同一段路径。
## Questions
### 在 Duaer 里怎样从 Webhook 正文取出城市?
在 Duaer 里,下一个节点写 {{ $json.body.city }}。城市可能没有时用 {{ $ifEmpty($json.body.city, "unknown") }}。
### 在 Duaer 里要改很多字段时,表达式写在哪?
在 Duaer 工作流程里加一个 Edit Fields(Set)节点,每个新字段一条表达式。后面的节点读整理后的 $json,不要在每个参数里重复同一条路径。
## 相关
- [在 Duaer 里用表达式转换数据](https://doc.duaer.com/zh/code/expressions.md)
- [在 Duaer 表达式里使用快捷方法](https://doc.duaer.com/zh/code/builtin/convenience.md)
- [在 Duaer 里用 Luxon 处理日期](https://doc.duaer.com/zh/code/cookbook/luxon.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/code-examples/expressions.md).
# Expression examples in Duaer
These Duaer examples run in expression mode. They read the current item, fill a default, format a date, and move a large reshape into Edit Fields (Set).
## Read one field from a webhook body
When the trigger puts the incoming JSON on body, the next node reads the city like this:
```
{{ $json.body.city }}
```
## Supply a default when the value is missing
$ifEmpty replaces undefined, null, an empty string, an empty array, and an empty object with the second argument.
```
{{ $ifEmpty($json.body.city, "unknown") }}
```
## Format the current time
```
{{ $now.setZone("Asia/Shanghai").toFormat("yyyy-MM-dd HH:mm") }}
```
## Prepare many fields in one place
When several fields change together, add an Edit Fields (Set) node and put one expression on each new field. Later nodes read the prepared $json instead of repeating the same path.
## Questions
### How do you read a city from a webhook body in Duaer?
In Duaer, in the next node, write {{ $json.body.city }}. When the city may be missing, use {{ $ifEmpty($json.body.city, "unknown") }}.
### Where should Duaer expressions go when many fields change?
In a Duaer workflow, add an Edit Fields (Set) node and put one expression on each new field. Later nodes read the prepared $json—do not repeat the same path in every parameter.
## Related
- [Transform data with expressions in Duaer](https://doc.duaer.com/code/expressions.md)
- [Use convenience methods in Duaer expressions](https://doc.duaer.com/code/builtin/convenience.md)
- [Work with dates using Luxon in Duaer](https://doc.duaer.com/code/cookbook/luxon.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/code-examples/methods-variables-reference.md).
# Duaer 方法和变量对照
Duaer 表达式里最常用的名字:当前项用 $json,前面的节点用 $("节点名"),变量用 $vars,转换方法按数据类型分到各自的页面。
## 读取数据
- $json.字段:当前项的字段。
- $binary:当前项的文件。
- $("节点名").item、.first()、.last()、.all():前面那个节点里对应的一项、第一项、最后一项或全部。
- $itemIndex、$runIndex:当前项序号、这个节点第几次运行。都从 0 开始。
- $vars.键名:[在 Duaer 里定义自定义变量](/zh/code/variables.md)。
- $execution.id、$workflow.name:这次执行、这个工作流程。
- $pageCount、$request、$response:只在 HTTP Request 分页里。见[在 Duaer 里使用 HTTP 节点分页变量](/zh/code/builtin/http-node-variables.md)。
## 条件和转换
- $if(条件, 甲, 乙)、$ifEmpty(值, 默认值):选择和补默认。
- $now、$today、toDateTime():日期。见[在 Duaer 里用 Luxon 处理日期](/zh/code/cookbook/luxon.md)。
- $jmespath(对象, "查询"):见[在 Duaer 里用 JMESPath 查询 JSON](/zh/code/cookbook/jmespath.md)。
- 字符串、数组、数字、对象、布尔、日期的方法:见[在 Duaer 里使用数据转换方法](/zh/code/builtin/data-transformation-functions.md)。
## Questions
### 在 Duaer 里当前项和前面节点分别用什么?
在 Duaer 表达式里,当前项是 $json,文件是 $binary。前面的节点是 $("节点名").item、first()、last() 或 all()。可复用变量是 $vars.键名。
### Duaer 的 $pageCount 是通用变量吗?
不是。在 Duaer 里,$pageCount、$request、$response 只在 HTTP Request 分页表达式里。其他节点读当前项仍用 $json。
## 相关
- [在 Duaer 表达式里使用快捷方法](https://doc.duaer.com/zh/code/builtin/convenience.md)
- [在 Duaer 里使用数据转换方法](https://doc.duaer.com/zh/code/builtin/data-transformation-functions.md)
- [在 Duaer 里定义自定义变量](https://doc.duaer.com/zh/code/variables.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/code-examples/methods-variables-reference.md).
# Methods and variables reference for Duaer
Names used most often in a Duaer expression: the current item is $json, an earlier node is $("Node name"), variables are $vars, and transformation methods are grouped by data type.
## Reading data
- $json.field is a field on the current item.
- $binary is the file on the current item.
- $("Node name").item, .first(), .last(), and .all() are the linked item, the first item, the last item, or every item from that node.
- $itemIndex and $runIndex are this item’s position and how many times this node has run. Both start at 0.
- $vars.key reads [Define custom variables in Duaer](/code/variables.md).
- $execution.id and $workflow.name are this execution and this workflow.
- $pageCount, $request, and $response exist only in HTTP Request pagination. See [Use HTTP node pagination variables](/code/builtin/http-node-variables.md).
## Conditions and transformations
- $if(condition, a, b) and $ifEmpty(value, default) choose a value or fill a default.
- $now, $today, and toDateTime() are dates. See [Work with dates using Luxon in Duaer](/code/cookbook/luxon.md).
- $jmespath(object, "query") is in [Query JSON with JMESPath in Duaer](/code/cookbook/jmespath.md).
- Methods for strings, arrays, numbers, objects, booleans, and dates are in [Use data transformation methods](/code/builtin/data-transformation-functions.md).
## Questions
### What reads the current item and an earlier node in Duaer?
In a Duaer expression, the current item is $json and its file is $binary. An earlier node is $("Node name").item, first(), last(), or all(). A reusable variable is $vars.key.
### Is $pageCount a general variable in Duaer?
No. In Duaer, $pageCount, $request, and $response exist only in HTTP Request pagination. Other nodes still read the current item with $json.
## Related
- [Use convenience methods in Duaer expressions](https://doc.duaer.com/code/builtin/convenience.md)
- [Use data transformation methods in Duaer](https://doc.duaer.com/code/builtin/data-transformation-functions.md)
- [Define custom variables in Duaer](https://doc.duaer.com/code/variables.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/flow-logic/error-handling.md).
# 在 Duaer 里妥善处理错误
在 Duaer 里设计工作流程时,预先考虑失败,并决定失败后怎么告警或改道。
## 怎么设置错误工作流程
每个工作流程都可以在设置里指定一个错误工作流程。生产执行失败时它会跑起来,例如发邮件或发消息。错误工作流程必须以 Error Trigger 开头。多个工作流程可以共用同一个错误工作流程。
1. 新建一个工作流程,第一个节点用 Error Trigger。
2. 保存,并起一个好认的名字,例如 Error Handler。
3. 打开需要保护的那个工作流程:Options → Settings。
4. 在 Error workflow 里选中刚建的那条,再保存。之后这个工作流程在生产执行中失败时,错误工作流程会启动。
手动在画布上试跑失败,不会启动 Error Trigger。节点上的 On Error(停住、继续、或走错误出口)管的是这一步失败时当前工作流程内部怎么走,和错误工作流程是两层。
## 错误工作流程收到什么
Error Trigger 默认收到的数据类似:
```
[
{
"execution": {
"id": "231",
"url": "https://duaer.example.com/execution/231",
"retryOf": "34",
"error": {
"message": "Example Error Message",
"stack": "Stacktrace"
},
"lastNodeExecuted": "Node With Error",
"mode": "manual"
},
"workflow": {
"id": "1",
"name": "Example workflow"
}
}
]
```
除下列字段外,其余信息一般都会有:execution.id 与 execution.url 需要执行已写入数据库;触发节点本身失败时可能没有这两项。execution.retryOf 只在这次执行是对失败执行的重试时出现。
要用 Stop and Error 主动把执行判失败并触发错误工作流程。Retry On Fail 只是同一节点再试几次,解决短暂故障,不是另一个错误工作流程。
## Questions
### Duaer 里怎么给工作流程接上错误处理?
新建一条以 Error Trigger 开头的工作流程,在目标工作流程的 Settings → Error workflow 里选中它。仅生产执行失败会触发;手动试跑失败不会。节点上的 On Error 管本条运行内部路径,与错误工作流程是两层。
### Duaer 的 Retry On Fail 和错误工作流程一样吗?
不一样。Retry On Fail 是同一节点再试几次。错误工作流程是另一条流程,在生产执行已经失败之后启动。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/flow-logic/error-handling.md).
# Handle errors gracefully in Duaer
How to handle execution errors in Duaer.
## How do you set up an error workflow?
For each workflow, you can set an error workflow in Settings. It runs if a production execution fails. You can, for example, send email or Slack alerts. The error workflow must start with Error Trigger. You can use the same error workflow for several workflows.
1. Create a new workflow with Error Trigger as the first node.
2. Give it a name, for example Error Handler, and select Save.
3. In the workflow that should use it, open Options → Settings.
4. Under Error workflow, select the workflow you just created, then Save. When that workflow fails in production, the error workflow runs.
A failed manual test on the canvas does not start Error Trigger. On Error on a node (stop, continue, or use the error output) controls the path inside the same run. That is separate from the error workflow.
## What data does an error workflow receive?
The default error data received by the Error Trigger is:
```
[
{
"execution": {
"id": "231",
"url": "https://duaer.example.com/execution/231",
"retryOf": "34",
"error": {
"message": "Example Error Message",
"stack": "Stacktrace"
},
"lastNodeExecuted": "Node With Error",
"mode": "manual"
},
"workflow": {
"id": "1",
"name": "Example workflow"
}
}
]
```
All information is usually present, except: execution.id and execution.url require the execution to be saved in the database (they may be missing if the trigger node of the main workflow fails). execution.retryOf is only present when the execution is a retry of a failed execution.
Use Stop and Error to force an execution to fail and start the error workflow. Retry On Fail only retries the same node for short failures. It is not a second error workflow.
## Questions
### How do you attach error handling to a workflow in Duaer?
Create a workflow that starts with Error Trigger, then select it under Settings → Error workflow on the workflow you want to protect. Only failed production executions start it; a failed manual test does not. On Error on a node controls the path inside the same run and is separate from the error workflow.
### Is Retry On Fail the same as an error workflow in Duaer?
No. Retry On Fail retries the same node. An error workflow is a different flow that starts only after a production execution has already failed.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/flow-logic/error-handling/memory-errors.md).
# 修复 Duaer 的内存问题
Duaer 不限制每个节点能取多少数据。执行需要的内存超过可用量时会出错。这一页说明如何识别并避免。
## 怎么认出内存不够
画布上可能出现 Execution stopped at this node 一类提示。自托管时,服务器日志里常见 Allocation failed - JavaScript heap out of memory。
常见原因包括:JSON 条目过多、二进制文件过大、节点过多、Code 等偏重的节点、以及同时跑多个工作流程。手动执行会多拷一份数据给前端,内存更高。
## 先减消耗,再加内存
- 把数据拆小。例如每次执行处理 200 行,而不是一次 10,000 行。用 [Loop Over Items](/zh/flow-logic/looping.md) 分批。
- 能不用 Code 节点就不用。
- 处理大数据时避免手动执行。
- 拆成 [子工作流程](/zh/flow-logic/subworkflows.md),让子工作流程只把少量结果交回父级。
自托管时也可以加大进程堆,或用 [队列模式](/zh/hosting/scaling/queue-mode.md) 把执行分到 worker。详见 [托管侧内存](/zh/hosting/scaling/memory-errors.md)。只重试报错节点,堆还是满的。
## Questions
### Duaer 报 JavaScript heap out of memory 是什么意思?
这次执行把 Node.js 堆用完了。常见原因是一次带了太多条目或大二进制文件。先分批、少带数据,再加大堆或用队列模式。
### Duaer 内存不够时先改什么?
减少每次处理的数据量,用 Loop Over Items 分批,避免手动执行大数据,必要时拆子工作流程。自托管再加大堆或启用队列模式。只重试报错节点通常无效。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/flow-logic/error-handling/memory-errors.md).
# Fix memory issues in Duaer
Duaer does not restrict how much data each node can fetch. When an execution needs more memory than available, it can fail. This page explains how to identify and avoid those errors.
## Identifying out of memory situations
The canvas may show a message such as Execution stopped at this node. When self-hosting, server logs often include Allocation failed - JavaScript heap out of memory.
Typical causes include large JSON item sets, large binary files, many nodes, memory-heavy nodes such as Code, and other workflows running at the same time. Manual executions use more memory because Duaer copies data for the frontend.
## Reduce consumption before you add memory
- Split data into smaller chunks. For example, process 200 rows per execution instead of 10,000. Use [Loop Over Items](/flow-logic/looping.md).
- Avoid the Code node where possible.
- Avoid manual executions when processing larger amounts of data.
- Split into [sub-workflows](/flow-logic/subworkflows.md) and return only a small result set to the parent.
On self-hosted instances you can also raise the process heap, or move executions to workers with [queue mode](/hosting/scaling/queue-mode.md). Refer to [hosting memory](/hosting/scaling/memory-errors.md). Retrying the node that threw still finds a full heap.
## Questions
### What does JavaScript heap out of memory mean in Duaer?
The execution filled the Node.js heap. Common causes are too many items or large binary files in one run. Carry less data first, then raise the heap or use queue mode.
### What should you change first when memory runs out in Duaer?
Reduce data per pass, batch with Loop Over Items, avoid manual runs on large data, and split into sub-workflows when needed. On self-hosted instances, raise the heap or enable queue mode. Retrying the failing node rarely helps.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/flow-logic/looping.md).
# 在 Duaer 里使用循环
需要按多条数据重复处理时,用 Duaer 的循环。多数节点会自动按条目执行;少数情况要自己建循环。
## 只执行一次
Duaer 节点默认对每个输入条目执行一次。上一个节点输出 20 条,这个节点就执行 20 次,每次的 $json 是其中一条。
若只想处理第一条(例如只发一条 Slack 消息),在节点 Settings 里打开 Execute Once。画布提示节点跑了多次时,链的就是这个设置。
## 创建循环
大多数节点会自动遍历条目。少数场景需要显式循环:把某一节点的输出连回前面的节点,并用 IF 决定何时停下。
要用 [Loop Over Items](/zh/flow-logic/looping.md)(节点列表里也叫 Split in Batches)直到全部条目处理完。Batch Size 设为 1 即逐条处理。分批可降低内存、避开接口限流;批次之间可加 Wait。
Loop Over Items 会在条目分完后自行结束,通常不必再加 IF 来停循环。内存报错时,分批通常比 Execute Once 更对症。更多见 [处理内存错误](/zh/flow-logic/error-handling/memory-errors.md)。
## Questions
### Duaer 里节点默认跑一次还是每条跑一次?
默认按每个输入条目跑一次。Settings 里打开 Execute Once 后,无论进来多少条只跑一次。
### Duaer 的 Loop Over Items 和 Execute Once 有什么区别?
Execute Once 把多条收成一次执行。Loop Over Items 分批处理,一批完成再取下一批,用来控制内存与限流。两者解决的问题不同。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/flow-logic/looping.md).
# Use loops in Duaer
Use looping in Duaer when you want to process multiple items or repeat an action. Most nodes iterate automatically; some cases need an explicit loop.
## Executing nodes once
Duaer nodes usually run once for each incoming item. Twenty items out of the previous node means this node runs twenty times, and $json is one item each time.
When you only want the first item (for example one Slack message), turn on Execute Once in the node Settings. When the canvas says this node ran multiple times, that notice links to this setting.
## Creating loops
Most nodes iterate for you. In some cases you create a loop by connecting a node’s output back to an earlier node and using IF to decide when to stop.
Use [Loop Over Items](/flow-logic/looping.md) (also named Split in Batches) until all items are processed. Set Batch Size to 1 to process each item individually. Batching helps with memory and API rate limits; add Wait between batches if you need to slow down.
Loop Over Items stops after every item has been batched, so you usually do not need an IF to end the loop. When the failure is memory, batching is usually the closer fix than Execute Once. Refer to [fix memory issues](/flow-logic/error-handling/memory-errors.md).
## Questions
### Does a node run once, or once per item in Duaer?
By default once per incoming item. Turn on Execute Once in Settings to run a single time no matter how many items arrived.
### How is Loop Over Items different from Execute Once in Duaer?
Execute Once collapses many items into one execution. Loop Over Items processes batches, finishing one batch before the next, to control memory and rate limits. They solve different problems.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/flow-logic/subworkflows.md).
# 在 Duaer 里拆成子工作流程
用「调用工作流程」(Call Workflow)把一段流程拆成可复用的 Duaer 子工作流程。被调用方必须以 Execute Sub-workflow Trigger 开头。
## 怎么调用子工作流程
1. 被调用的那条必须以 Execute Sub-workflow Trigger 开头。
2. 在调用方放「调用工作流程」(Call Workflow),选中同一实例上的那个工作流程。
3. 按需要映射输入;调用方送出条目,并接收子工作流程的输出。
子工作流程内部怎么分支,调用方只看见最终输出。不要把它当成错误处理:失败走 [妥善处理错误](/zh/flow-logic/error-handling.md)。
## 谁可以调用
每个工作流程有调用策略,例如只允许同一项目里的工作流程,或指定列表。v3 会去掉 “Any workflow”。实例检查若发现默认或某条仍停在该选项,会单独提示。
v3 同时去掉「调用工作流程」的 Local File、URL 来源,以及 “Run once for each item”。升级前还在用的,改成实例内工作流程,并改用仍保留的执行方式。
## Questions
### Duaer 里怎么调用另一个工作流程?
被调用的那条以 Execute Sub-workflow Trigger 开头;调用方用「调用工作流程」选中它。调用策略决定谁可以调用。
### Duaer 的子工作流程和错误工作流程一样吗?
不一样。子工作流程由调用方主动执行;错误工作流程由 Error Trigger 在生产失败后启动。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/flow-logic/subworkflows.md).
# Break work into sub-workflows in Duaer
Use Call Workflow in Duaer to split work into reusable sub-workflows. The called workflow must start with Execute Sub-workflow Trigger.
## How to call a sub-workflow
1. The called workflow must start with Execute Sub-workflow Trigger.
2. On the caller, add Call Workflow and select that workflow on the same instance.
3. Map inputs as needed. The caller sends items in and receives the sub-workflow’s output.
Whatever the called workflow branches into, the caller only sees the final output. Do not treat this as error handling. Failures follow [Handle errors gracefully](/flow-logic/error-handling.md).
## Who is allowed to call
Each workflow has a caller policy, for example only workflows in the same project, or a named list. v3 removes “Any workflow”. If the instance check finds the default or a workflow still on that option, it reports it separately.
v3 also removes Local File and URL sources on Call Workflow, and the “Run once for each item” mode. Switch to a workflow on the instance and to an execution mode that remains.
## Questions
### How do you call another workflow in Duaer?
The called one starts with Execute Sub-workflow Trigger. The caller uses Call Workflow to select it. The caller policy decides who may call.
### Is a sub-workflow the same as an error workflow in Duaer?
No. A sub-workflow runs because the caller executes it. An error workflow starts from Error Trigger after a production failure.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/organizations.md).
# Duaer 组织:带上团队一起干活
注册 Duaer 就有一个自己的组织。请同事进来,共用工作流程、数据和积分;别的组织看不到你的任何东西。
## 注册 Duaer,就有一个属于你的组织
注册 Duaer 的那一刻,系统就为你开好了一个组织,你是它的所有者。你搭的工作流程、存的凭证、建的数据表、跑过的执行记录,都放在这个组织里,只有组织里的人看得到。
别的团队也在用 Duaer,但组织和组织之间完全隔开:看不到、搜不到,也改不了对方的任何东西。
## 把同事请进来,分好权限
在 Duaer 设置 › 组织里输入同事的邮箱,选好角色,点「邀请」。已经有 Duaer 账号的人马上就能进来;新同事会收到邀请邮件,收不到也没关系,页面会给你一条邀请链接,复制发过去就行。
角色只有四种:所有者、管理员、成员、员工,谁能做什么一眼就懂。员工只登录 [Duaer 员工端](/zh/organizations/employee-portal.md),不进流程设计后台。详见 [邀请成员与分配角色](/zh/organizations/members.md)。
## 一个钱包,全员共用
在 Duaer 组织里,套餐和积分都记在组织上,不用每个人各自充值。所有者和管理员负责换套餐、买积分;成员在组织的项目里跑工作流程,直接用组织的积分。
钱花到哪了,一查便知:所有者和管理员打开设置 › 花费记录,切到「组织」,就能看到这个月组织一共用了多少积分、每个人各用了多少。
## 用你自己的模型 Key,不花 Duaer 积分
已经在模型服务商那里开了账号、买了额度?把 API Key 填到 Duaer 设置 › 自带模型 Key,组织里调用这家服务的模型就走你自己的账,Duaer 不再扣积分。不想用了随时移除,自动改回 Duaer 平台 Key。详见 [自带模型 Key](/zh/organizations/own-model-keys.md)。
## 项目角色自己定义,所有套餐免费
Duaer 自带的项目角色不够细?比如想让外包同事「能改工作流程,但碰不到凭证」,或者让客户「只能看执行记录」。在 Duaer 设置 › 角色里建一个角色,勾上需要的权限就行,不用升级套餐。详见 [自定义角色](/zh/user-management/rbac/custom-roles.md)。
## 用公司账号登录 Duaer
公司已经在用 Google Workspace、Microsoft Entra ID、Okta 这类统一登录?把它接到你的 Duaer 组织,同事点一下登录链接、用公司账号就能进来,不用再多记一套密码。这项功能免费。详见 [组织 SSO](/zh/organizations/sso.md)。
## 配置存一次,全组织都能用
接口地址、环境名这类公共配置,存成 Duaer 组织变量,组织里所有工作流程都能用 $vars 读到,改一处处处生效。某个项目要用不同的值,就在项目里建一个同名变量,它会优先生效。详见 [变量](/zh/code/variables.md)。
## 标签只属于你们自己
Duaer 里的工作流程标签和执行记录标签都归组织所有。起什么名字都不会和别的组织撞车,改名、删除也只影响你们自己。详见 [分享与标签](/zh/build/share-and-tags.md)。
## API 和 MCP 接入也按组织隔开
在 Duaer 设置 › API 里创建的 Key 只属于当前组织。外部系统拿着这把 Key,只能读写这个组织的数据,碰不到你在其他组织里的东西。
## 同时加入多个 Duaer 组织
加入别人的组织后,你自己的组织还在。左侧栏顶部的「组织」切换器可以随时换过去,工作流程列表、积分和设置都会跟着一起切换。
想把客户项目和公司内部分开管?在切换器里点「新建」,输入组织名称,就多了一个由你当所有者的组织。
## Questions
### Duaer 组织和工作流程是一回事吗?
不是。在 Duaer 里,工作流程是你在画布上搭的自动化流程;组织是装这些流程的团队空间,里面还有成员、积分、凭证和设置。
### 别的 Duaer 组织能看到我的数据吗?
看不到。Duaer 组织之间完全隔开,工作流程、凭证、执行记录、数据表、变量和标签都只在自己的组织里可见,API Key 也只能访问创建它的组织。
### Duaer 自定义角色和组织 SSO 要额外付费吗?
不用。Duaer 的自定义项目角色和组织 SSO 在所有套餐里都免费;自带模型 Key 还能帮你省下调用模型的积分。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/organizations.md).
# Duaer organizations: bring your team along
Every Duaer account comes with its own organization. Invite your team to share workflows, data, and credits — nobody outside can see any of it.
## Sign up for Duaer and you already have an organization
The moment you sign up for Duaer, an organization is set up for you, and you are its owner. The workflows you build, the credentials you save, your data tables, and your execution history all live inside it, visible only to people in that organization.
Other teams use Duaer too, but organizations are fully walled off from each other. Nobody can see, search, or change anything in yours.
## Bring your teammates in, with the right access
In Duaer Settings › Organization, type a teammate’s email, pick a role, and click Invite. People who already have a Duaer account join right away. New people get an invite email — and if it never arrives, the page hands you an invite link to send yourself.
There are only four roles — Owner, Admin, Member, and Employee — so it is obvious who can do what. Employees sign in only to the [Duaer employee portal](/organizations/employee-portal.md), not the workflow editor. Refer to [invite members and set roles](/organizations/members.md).
## One wallet for the whole team
In a Duaer organization, the plan and credits belong to the organization, so nobody tops up on their own. The owner and admins change the plan and buy credits. Members run workflows in the organization’s projects and spend its credits.
You always know where the credits went: the owner and admins open Settings › Spend, switch to Organization, and see this month’s total and how much each person used.
## Use your own model keys and spend no Duaer credits
Already have an account and quota with a model provider? Add its API key under Duaer Settings › Own model keys, and every call to that provider in your organization runs on your own bill — Duaer stops charging credits for it. Remove the key any time to switch back to the Duaer platform key. Refer to [own model keys](/organizations/own-model-keys.md).
## Custom project roles, free on every plan
Need more than the built-in Duaer project roles? Say a contractor should edit workflows but never touch credentials, or a client should only see executions. Create a role in Duaer Settings › Roles, tick the permissions it needs, and you are done — no plan upgrade. Refer to [custom roles](/user-management/rbac/custom-roles.md).
## Sign in to Duaer with your company account
Your company already signs in through Google Workspace, Microsoft Entra ID, or Okta? Connect it to your Duaer organization, and teammates click one sign-in link and come in with their company account — no extra password to remember. It is free. Refer to [organization SSO](/organizations/sso.md).
## Save a setting once, use it everywhere
Store shared settings such as an API base URL or an environment name as Duaer organization variables. Every workflow in the organization reads them through $vars, so one edit updates them all. When a project needs a different value, create a project variable with the same key and it wins. Refer to [variables](/code/variables.md).
## Tags that belong to your team only
Duaer workflow tags and execution tags belong to the organization. Name them however you like without clashing with another organization, and renaming or deleting a tag only affects your team. Refer to [share and tags](/build/share-and-tags.md).
## API and MCP access stays inside the organization
A key you create in Duaer Settings › API belongs to the current organization. An outside system holding that key can only read and write that organization’s data, never what you have in other organizations.
## Belong to several Duaer organizations
Joining someone else’s organization does not remove yours. The Organization switcher at the top of the left sidebar takes you back and forth, and your workflows, credits, and settings switch with it.
Want to keep client work apart from internal work? Click New in the switcher, enter an organization name, and you own a second organization.
## Questions
### Is a Duaer organization the same as a workflow?
No. In Duaer, a workflow is an automation you build on the canvas. An organization is the team space that holds them, together with members, credits, credentials, and settings.
### Can another Duaer organization see my data?
No. Duaer organizations are fully walled off. Workflows, credentials, executions, data tables, variables, and tags are only visible inside their own organization, and an API key only reaches the organization that created it.
### Do Duaer custom roles and organization SSO cost extra?
No. Duaer custom project roles and organization SSO are free on every plan, and own model keys can even save you the credits you would spend on model calls.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/organizations/members.md).
# 在 Duaer 组织里邀请成员、分配角色
输入邮箱就能把同事请进 Duaer 组织。四种角色分清谁管人、谁管钱、谁搭流程、谁只在员工端处理自己的事。
## 三步把同事请进 Duaer 组织
1. 打开 Duaer 设置 › 组织。
2. 输入同事的邮箱,选「成员」「管理员」或「员工」,点「邀请」。
3. 已有 Duaer 账号的人会立刻加入;还没注册的人会收到邀请邮件,名单里先显示「待激活」,对方完成注册后就正式加入。
邀请邮件发不出去时,页面会提示「复制下面的邀请链接发给对方」。点「复制链接」,用微信、飞书或邮件发给他就行。
## Duaer 组织的四种角色
- 所有者:组织的主人,每个组织只有一位,就是创建它的人。能做所有事,也只有所有者能把人设成管理员或撤掉管理员。
- 管理员:帮所有者管事。可以邀请成员、移除成员,换套餐、买积分,管理 API Key、自带模型 Key、自定义角色、组织 SSO 和组织变量。
- 成员:专心干活。在自己加入的项目里搭建和运行工作流程,花的是组织的积分;套餐和积分只能看,不能改。
- 员工:只登录本组织的 [Duaer 员工端](/zh/organizations/employee-portal.md),看工作流程派给自己的任务和自己关注的指标。员工进不了流程设计后台,也不会有自己的组织和项目。所有者和管理员都能邀请员工。
组织角色管的是整个组织的事。某个项目里谁能编辑、谁只能看,由项目角色决定,见 [自定义角色](/zh/user-management/rbac/custom-roles.md)。
## 积分记在 Duaer 组织上
组织的套餐和积分就是所有者的钱包:每月的赠送额度用完后,自动接着用买来的积分,买来的积分不过期。成员在组织的项目里跑工作流程,扣的是组织的积分,不会扣自己的。
所有者和管理员在设置 › 用量与套餐里换套餐、充积分;在设置 › 花费记录里切到「组织」,能看到本月组织一共花了多少、每位成员各花了多少。成员打开用量与套餐,只能查看。
## 移除成员与退出 Duaer 组织
所有者和管理员可以在成员名单里点「移除」;管理员只能移除成员,不能移除其他管理员。被移除的人会失去这个组织团队项目的权限,以及在这里分享给他的内容,但他自己的组织和里面的东西不受影响。
成员和管理员也可以自己点「退出组织」。所有者不能退出自己的组织。
## 在几个 Duaer 组织之间切换
左侧栏顶部的「组织」切换器列出你加入的所有组织,点一下就换过去。页面会回到首页,工作流程、凭证、执行记录、数据表和成员名单都换成那个组织的。
在切换器里点「新建」并输入组织名称,就能再开一个由你当所有者的组织。
## Questions
### Duaer 邀请邮件对方收不到怎么办?
Duaer 发不出邀请邮件时,组织页会直接给出一条邀请链接。点「复制链接」发给对方,对方打开后完成注册就会加入你的组织。
### 加入别人的 Duaer 组织后,我自己的东西还在吗?
在。加入别的 Duaer 组织不会影响你自己的组织,用左侧栏顶部的「组织」切换器随时切回去。
### Duaer 成员花的积分算谁的?
算组织的。成员在 Duaer 组织的项目里运行工作流程,扣的是组织的积分;所有者和管理员可以在花费记录里按成员查看。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/organizations/members.md).
# Invite members and set roles in a Duaer organization
Add teammates to your Duaer organization by email. Four roles make it clear who manages people, who manages money, who builds, and who only works in the employee portal.
## Invite a teammate to your Duaer organization in three steps
1. Open Duaer Settings › Organization.
2. Type the teammate’s email, choose Member, Admin, or Employee, and click Invite.
3. People who already have a Duaer account join right away. New people get an invite email and show as Pending until they finish signing up.
If the invite email cannot be sent, the page says to copy the invite link below and send it to them. Click Copy link and send it over chat or email.
## The four Duaer organization roles
- Owner: the person who created the organization. There is exactly one. The owner can do everything and is the only one who can make someone an admin or take admin away.
- Admin: helps the owner run things. Admins invite and remove members, change the plan, buy credits, and manage API keys, own model keys, custom roles, organization SSO, and organization variables.
- Member: focuses on the work. Members build and run workflows in the projects they belong to and spend the organization’s credits. They can see the plan and credits but not change them.
- Employee: signs in only to the organization’s [Duaer employee portal](/organizations/employee-portal.md) to see the tasks workflows give them and the metrics they follow. Employees cannot open the workflow editor and get no organization or project of their own. The owner and admins can invite employees.
Organization roles cover the organization as a whole. Who can edit or only view inside a project is set by project roles — refer to [custom roles](/user-management/rbac/custom-roles.md).
## Credits belong to the Duaer organization
The organization’s plan and credits are the owner’s wallet: once the monthly allowance runs out, purchased credits kick in automatically, and purchased credits never expire. When members run workflows in the organization’s projects, the organization pays, not the member.
The owner and admins change the plan and top up under Settings › Usage and plan. Under Settings › Spend, switching to Organization shows this month’s total and each member’s share. Members see Usage and plan as read-only.
## Remove a member or leave a Duaer organization
The owner and admins click Remove in the member list. Admins can remove members but not other admins. A removed person loses access to the organization’s team projects and anything shared with them there, while their own organization and its contents stay untouched.
Members and admins can also click Leave organization themselves. The owner cannot leave their own organization.
## Switch between Duaer organizations
The Organization switcher at the top of the left sidebar lists every organization you belong to. Pick one and the page returns to the home screen with that organization’s workflows, credentials, executions, data tables, and people.
Click New in the switcher and enter an organization name to start another organization that you own.
## Questions
### What if the Duaer invite email never arrives?
When Duaer cannot send the invite email, the Organization page gives you an invite link. Click Copy link and send it; once they finish signing up, they join your organization.
### Do I keep my own things after joining another Duaer organization?
Yes. Joining another Duaer organization does not touch your own. Use the Organization switcher at the top of the left sidebar to go back any time.
### Whose credits do Duaer members spend?
The organization’s. When members run workflows in a Duaer organization’s projects, the organization pays, and the owner and admins can see each member’s share under Spend.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/organizations/employee-portal.md).
# 让员工在 Duaer 员工端处理自己的事
Duaer 员工端是每个组织独立的登录地址。员工每天在这里看工作流程推给自己的任务和要拍板的事、自己关注的指标,也可以问 Duaer,不用进流程设计后台。
## Duaer 员工端的地址
每个 Duaer 组织都有自己的员工端,默认地址是 <短名>.duaer.site。所有者和管理员在 Duaer 设置 › 组织的「Duaer 员工端」里复制地址,也可以改短名。改短名后旧地址不再可用。
员工端和流程设计后台分开登录:在一边登录不会把另一边也登录上。
## 邀请员工进 Duaer 员工端
1. 打开 Duaer 设置 › 组织。
2. 输入邮箱,角色选「员工」,点「邀请」。
3. 邀请链接指向本组织的员工端。对方打开后设密码,之后就用邮箱和密码登录员工端。
员工在流程设计后台登录会被拒绝。所有者、管理员和成员两边都能登录。员工要看某个指标,先把他加进对应项目(例如只读),再在 [Duaer 指标目录](/zh/build/duaer-metrics.md) 里把他加为可见人。
## 员工打开 Duaer 员工端看到什么
Duaer 员工端先开口:首页写着今天的日期和「今天有 N 件事等你拍板」,内容全部由工作流程推送,覆盖本组织所有项目。
- 中间是待拍板的队列,按今天不做、代价会不会变大来排。每张卡片写着越过的规则、事实、解读、依据和可选的下一步;把鼠标放到选项上能看到它会做什么。选一个,只执行那一步;拍过的板不能撤回。
- 没有选项的普通任务点「完成」。点「今天先不动」的卡片移到右侧,当天可以「收回」。这张卡片写着事项时,事项路径上会多一步:今天先不动,来源是 Duaer。收回卡片后这一步还在。
- 左侧是「昨晚查过」和「一切正常」:工作流程查了什么、哪些没有问题。再往下是「事项」:这个人的列规则允许的每条事项,按时间从早到晚列出步骤,每步是活动、发生时间和来源。规则挡住的事项不出现,路径里没有文档正文。右侧是「已拍板」:今天的决定,每条标「已执行」。流程在那一步之后写了 detail,这行字就出现在决定下面,例如发出去没有。
- 没有要拍板的事时显示「都正常。」,下面是关注的指标。
怎样推卡片和笔记,见 [Duaer 任务表](/zh/build/duaer-tasks.md)。
## 在 Duaer 员工端问 Duaer
点右上角「问 Duaer」,或在卡片上点「问一问」,右侧打开对话框。Duaer 只根据这个员工自己的卡片、笔记和关注的指标回答,会说明出自哪张卡片或哪条笔记;看不到的内容会直接说 Duaer 没有向他显示。
Duaer 不会自己动手。回答里最多给出几张待拍板卡片上已有的选项,员工点了才执行,和在卡片上点一样。每个问题、回答和所用模型都记在组织的问答日志里,按组织积分计费。
## 给 Duaer 员工端绑定自己的域名
1. 在「Duaer 员工端」的自定义域名里输入域名,例如 work.example.com,点「绑定」。需要 Starter 及以上套餐,每个组织一个。
2. 到域名服务商添加页面列出的两条记录:一条 CNAME 指向本组织的员工端地址,一条 TXT 记录 _duaer-verify.<域名>。
3. 点「验证」。两条记录都查到后显示已生效,之后员工端用这个域名打开,新的员工邀请链接也用它。
## 调整 Duaer 员工端的外观
所有者和管理员可以把 Duaer 员工端换成自己组织的样子,所有套餐都能用。
1. 打开 Duaer 设置 › 组织,在「Duaer 员工端」里找到「外观」。
2. 点「上传 Logo」,选一张 PNG、JPG 或 WebP 图片,不超过 256 KB,方形最好。上传后立即替换首字印章;点「移除 Logo」换回印章。
3. 选一个主题色:朱砂、松绿、靛蓝、紫檀、赭石或墨色。它用在印章、急事卡片左边的线和「越拖越麻烦」的那行字上。
4. 填副标题(组织名下面那一行,最多 40 字)和四个栏目标题(最多 20 字):昨晚查过、一切正常、已拍板、今天先不动。上方预览会跟着变。
5. 点「保存」。员工刷新 Duaer 员工端就能看到,登录页也一样。
留空的地方用默认文字,并跟着员工选的语言切换;自己填的文字中英文界面都显示原样。不接受 SVG 等其他格式。
## 用工作流程给员工派任务
每个 Duaer 项目都自带一张锁定的 Duaer tasks 数据表。工作流程往里插一行,assignee 填员工登录用的邮箱(小写),status 填 open,这条任务就出现在他员工端的首页,过期的标红。填了 actions 就是一张拍板卡片。
要等员工做完再往下走:resume_url 填 {{ $execution.resumeUrl }},后面接 Wait 节点,Resume 选 On Webhook Call、HTTP Method 选 POST。员工点「完成」后,这一行标为 done,工作流程从 Wait 节点继续。也可以直接让 Duaer 设计师按这个方式来搭。完成结果在哪里看,见 [Duaer 任务表](/zh/build/duaer-tasks.md)。
- assignee:员工的登录邮箱,必须完全一致
- title:一句话写清要做什么
- detail、due、link:说明、截止时间、相关链接(http 或 https)
- status:新建时填 open;员工点完成后变成 done
- resume_url:可选,等待中的工作流程的继续地址
- done_at、done_by:员工点完成时由 Duaer 填写
## Questions
### Duaer 员工能进流程设计后台吗?
不能。Duaer 员工角色只能登录本组织的员工端;要搭流程,把他的角色改成成员。
### 为什么员工在 Duaer 员工端看不到我派的任务?
Duaer 按邮箱完全一致来匹配。检查 Duaer tasks 里的 assignee 是否是他登录用的邮箱(小写),以及 status 不是 done。
### 在 Duaer 员工端问 Duaer,它会替员工执行吗?
不会。Duaer 员工端的对话只读,最多把待拍板卡片上已有的选项列出来,员工点了才执行。
### 为什么某条事项没有出现在 Duaer 员工端的事项路径里?
Duaer 只列出这个人的列规则允许的事项。被挡住的事项不出现,路径里也没有文档正文。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/organizations/employee-portal.md).
# Give employees their own Duaer employee portal
The Duaer employee portal is a separate sign-in address for each organization. Employees see the tasks and decisions workflows push to them and the metrics they follow, and can ask Duaer about them, without opening the workflow editor.
## The Duaer employee portal address
Every Duaer organization has its own employee portal, by default at .duaer.site. The owner and admins copy the address under Duaer Settings › Organization › Duaer employee portal, and can change the short name. The old address then stops working.
The portal and the workflow editor have separate sign-ins: signing in to one does not sign you in to the other.
## Invite employees to the Duaer employee portal
1. Open Duaer Settings › Organization.
2. Type the email, choose Employee, and click Invite.
3. The invite link opens your organization’s portal. They set a password there and from then on sign in to the portal with email and password.
Employees are refused by the workflow editor. Owners, admins, and members can sign in to both. To show an employee a metric, add them to the project (for example as viewer), then add them as a viewer in the [Duaer metrics catalog](/build/duaer-metrics.md).
## What employees see in the Duaer employee portal
The Duaer employee portal speaks first: the home page shows today’s date and “N things need your decision today”. Everything on it is pushed by workflows, across every project in the organization.
- The middle is the queue, ordered by what costs more if it waits. Each card shows the rule that was crossed, the facts, a reading, its basis, and the next steps on offer; hovering an option shows what it does. Picking one runs only that step, and a decision cannot be undone.
- A plain task without options has Done. A card put off with Not today moves to the right and can be taken back the same day. When that card names a case, the case path gains a step labeled Not today, from Duaer. Taking the card back leaves the step.
- The left side shows Checked overnight and All normal: what workflows checked and what has no problem. Under that, Cases lists each case this person’s column rule allows, earliest step first. Each step is the activity, when it happened, and the source. A case the rule hides is absent, and the path has no document body. The right side shows Decided: today’s decisions, each marked Done. When the workflow wrote a detail after the step, that line appears under the decision, such as whether a message was sent.
- When nothing needs a decision the page shows “All clear.” with the followed metrics below.
For how to push cards and notes, refer to [the Duaer tasks table](/build/duaer-tasks.md).
## Ask Duaer in the employee portal
Click Ask Duaer at the top, or Ask on a card, to open the dialog on the right. Duaer answers only from that employee’s own cards, notes, and followed metrics, and says which card or note it is citing. When something is not shown to them, Duaer says so.
Duaer never acts on its own. An answer can offer a few options that are already on open cards, and only a click runs one, the same as on the card. Every question, answer, and model used is kept in the organization’s ask log and billed to the organization’s credits.
## Bind your own domain to the Duaer employee portal
1. Under Custom domain in the Duaer employee portal section, enter a domain such as work.example.com and click Bind. This needs the Starter plan or higher, one domain per organization.
2. At your DNS provider, add the two records shown: a CNAME pointing to your organization’s portal address, and a TXT record at _duaer-verify..
3. Click Verify. Once both records are found the domain shows Active, the portal opens on it, and new employee invites use it.
## Change how the Duaer employee portal looks
The owner and admins can make the Duaer employee portal look like their own organization, on every plan.
1. Open Duaer Settings › Organization and find Appearance in the Duaer employee portal section.
2. Click Upload logo and pick a PNG, JPG, or WebP image of at most 256 KB; square works best. It replaces the first-letter seal at once. Click Remove logo to bring the seal back.
3. Pick a theme color: Cinnabar, Pine, Indigo, Plum, Ochre, or Ink. It colors the seal, the line on the left of an urgent card, and the line saying what gets worse if it waits.
4. Fill in the subtitle (the line under the organization name, up to 40 characters) and the four column titles (up to 20 characters each): Checked overnight, All normal, Decided, and Not today. The preview above follows as you type.
5. Click Save. Employees see it the next time they load the Duaer employee portal, including the sign-in page.
Empty fields use the default text, which follows the language the employee picks. Text you write shows as written in both languages. SVG and other formats are not accepted.
## Give employees tasks from a workflow
Every Duaer project comes with a locked Duaer tasks data table. When a workflow inserts a row with assignee set to the employee’s sign-in email (lowercase) and status set to open, the task shows on their portal home page, overdue in red. With actions set, the row is a decision card.
To wait until the employee is done, set resume_url to {{ $execution.resumeUrl }} and follow the insert with a Wait node: Resume On Webhook Call, HTTP Method POST. When the employee clicks Done, the row becomes done and the workflow continues from the Wait node. Duaer Designer can build this for you. For where to see the results, refer to [the Duaer tasks table](/build/duaer-tasks.md).
- assignee: the employee’s sign-in email, matched exactly
- title: one line saying what to do
- detail, due, link: context, deadline, and a related http or https link
- status: open when created; done after the employee clicks Done
- resume_url: optional, the continue address of a waiting workflow
- done_at, done_by: filled in by Duaer when the employee clicks Done
## Questions
### Can a Duaer employee open the workflow editor?
No. The Duaer Employee role signs in only to the organization’s employee portal. To let them build, change their role to Member.
### Why does an employee not see my task in the Duaer employee portal?
Duaer matches the email exactly. Check that assignee in Duaer tasks is the email they sign in with, in lowercase, and that status is not done.
### Does Ask Duaer act for the employee in the Duaer employee portal?
No. The Duaer employee portal dialog is read-only. It can list options already on open cards, and only the employee’s click runs one.
### Why is a case missing from Cases in the Duaer employee portal?
Duaer lists a path only for cases that person’s column rule allows. A hidden case stays off the page, and the path does not include a document body.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/organizations/own-model-keys.md).
# 在 Duaer 组织里用自己的模型 Key
把你在模型服务商的 API Key 填进 Duaer,组织里调用这家的模型就走你自己的账,不再扣 Duaer 积分。
## 已经有模型账号?直接在 Duaer 里用上
很多团队早就在模型服务商那里开了账号、谈好了价格、买好了额度。有了 Duaer 自带模型 Key,这些额度可以直接用在 Duaer 里:组织里的工作流程和数字员工调用这家服务时,走的是你自己的 Key,Duaer 不扣积分。
账单在服务商那边一目了然,Duaer 这边的积分省下来留给别的用途。
## 一分钟填好 Duaer 自带模型 Key
1. 所有者或管理员打开 Duaer 设置 › 自带模型 Key。列表里是 Duaer 已经接入的模型服务,每一家默认用的都是「Duaer 平台 Key」。
2. 在要换的那一家点「使用自带 Key」,粘贴这家服务的 API Key,点「保存」。
3. Duaer 会先用这把 Key 去服务商那里查一下可用的模型。Key 没问题就提示「Key 已保存」,从这一刻起,组织里调用这家服务都走你的 Key。
要换 Key 就点「更换」;不想用了点「移除」,这家服务的调用会改回 Duaer 平台 Key,并重新消耗积分。
## 放心用的几点保证
- Key 加密保存,填完之后页面上只显示打码后的样子。
- 只有组织的所有者和管理员能打开这个页面,成员看不到,也改不了。
- Key 过期或额度用完时,调用会直接返回服务商的报错。Duaer 不会悄悄换回平台 Key 扣你的积分。
- 一把 Key 只在当前组织生效,不会影响你加入的其他 Duaer 组织。
## Duaer 自带模型 Key 的适用范围
每家模型服务填一把 Key,只能给列表里已接入的服务填,不能自己新增服务或改服务地址。用 Model API Key 从外部调用 Duaer,以及声音克隆,仍然走 Duaer 平台 Key。
## Questions
### Duaer 自带模型 Key 填错了会怎样?
Duaer 保存前会先用这把 Key 向服务商查询可用模型,Key 无效就提示保存失败,不会存进去。
### Key 过期或额度用完,Duaer 会自动改用平台 Key 吗?
不会。Duaer 不会悄悄换回平台 Key 扣你的积分,调用会直接返回服务商的报错;换一把新 Key,或者移除自带 Key 改回平台 Key 即可。
### Duaer 组织成员能看到这把 Key 吗?
看不到。只有 Duaer 组织的所有者和管理员能打开自带模型 Key 页面;Key 加密保存,页面上也只显示打码后的样子。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/organizations/own-model-keys.md).
# Use your own model keys in a Duaer organization
Add your own provider API key to Duaer, and calls to that provider in your organization run on your own bill instead of Duaer credits.
## Already have a model account? Use it in Duaer
Many teams already have an account with a model provider, with negotiated pricing and prepaid quota. Duaer own model keys let you use that quota inside Duaer: when workflows and digital employees in your organization call that provider, they use your key, and Duaer charges no credits.
Your provider bill stays clear, and your Duaer credits are saved for everything else.
## Set up a Duaer own model key in a minute
1. As the owner or an admin, open Duaer Settings › Own model keys. The list shows the model providers Duaer already connects, each on the Duaer platform key by default.
2. On the provider you want, click Use own key, paste that provider’s API key, and click Save.
3. Duaer first uses the key to list the provider’s models. If it works, you see Key saved, and from then on every call to that provider in your organization uses your key.
Click Replace to swap in a new key. Click Remove to stop using it — calls to that provider go back to the Duaer platform key and spend credits again.
## What you can count on
- Keys are stored encrypted, and after saving the page only shows a masked version.
- Only the organization’s owner and admins can open this page. Members cannot see or change it.
- When a key expires or runs out of quota, the call returns the provider’s error. Duaer never quietly falls back to the platform key and charges your credits.
- A key only applies to the current organization, not to other Duaer organizations you belong to.
## Where Duaer own model keys apply
You set one key per provider, and only for providers already in the list — you cannot add a new provider or change its address. Calls into Duaer with a Model API key, and voice cloning, still use the Duaer platform key.
## Questions
### What happens if I paste a wrong key into Duaer?
Before saving, Duaer uses the key to list the provider’s models. If the key does not work, saving fails and nothing is stored.
### Does Duaer fall back to the platform key when my key expires?
No. Duaer never quietly switches back to the platform key and charges your credits. The call returns the provider’s error; replace the key, or remove it to go back to the platform key.
### Can members of the Duaer organization see the key?
No. Only the owner and admins of the Duaer organization can open Own model keys. The key is stored encrypted and the page only shows it masked.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/organizations/sso.md).
# 让成员用公司账号登录 Duaer 组织
把公司的统一登录接到 Duaer 组织,同事点一个链接就能进来,不用再记一套密码。所有套餐免费。
## 少记一套密码,入职离职都省心
公司已经在用 Google Workspace、Microsoft Entra ID、Okta,或者其他支持 OpenID Connect 的统一登录?把它接到你的 Duaer 组织,同事点一下登录链接、用公司账号就能进来。
新同事第一次登录就自动加入组织,不用你挨个发邀请;有人离开,把他移出组织,下次就进不来了。
## 准备工作:在身份提供方建一个应用
在你们的身份提供方后台新建一个 OpenID Connect 应用,把 Duaer 页面上的「回调地址(在身份提供方处登记)」填进去。建好后记下三样东西:Discovery 地址(通常以 /.well-known/openid-configuration 结尾,必须是 https)、Client ID 和 Client Secret。
## 在 Duaer 里打开组织 SSO
1. 所有者或管理员打开 Duaer 设置 › 组织 SSO。
2. 填好 Discovery 地址、Client ID 和 Client Secret,勾选「允许通过该身份提供方登录」,点「保存」。Duaer 会先访问一次 Discovery 地址,确认它真的能用。
3. 复制「成员登录链接」,发到团队群里,或者放到公司内网首页。
Client Secret 保存后不会再显示。以后改配置时这一栏留空,就保持原来的值不变。
## 谁能通过公司账号进来
- 已经是组织成员的人:用公司邮箱登录后自动关联到原来的 Duaer 账号。身份提供方需要确认这个邮箱已验证。
- 从没注册过 Duaer 的公司邮箱:自动建一个账号,并以成员身份加入组织。
- 已有 Duaer 账号、但不在这个组织里的人:会被挡在登录页,提示先请组织的所有者或管理员邀请。
- 被移出组织的人:下次用公司账号登录会被拒绝。
谁能用公司账号登录,由你们的身份提供方决定。密码登录照常可用;关掉或移除组织 SSO 后,登录链接失效,成员账号都保留。
## Duaer 组织 SSO 和实例级登录的区别
组织 SSO 只管一个组织的成员,由这个组织的所有者或管理员自己配置,所有套餐免费。自部署 Duaer 时整台服务器的 OIDC、SAML、LDAP 是另一回事,由实例管理员配置,见 [OIDC 角色预配](/zh/user-management/oidc/setup.md) 和 [LDAP](/zh/user-management/ldap.md)。
## Questions
### 开了 Duaer 组织 SSO,密码还能用吗?
能。Duaer 组织 SSO 只是多一种登录方式,成员仍然可以用邮箱和密码登录。
### 不在 Duaer 组织里的人拿到登录链接能进来吗?
已有 Duaer 账号但不属于这个组织的人会被挡在登录页,提示先请所有者或管理员邀请;从没用过 Duaer 的公司邮箱会自动建号并以成员身份加入,所以谁能登录由你们的身份提供方决定。
### Duaer 组织 SSO 和实例级 OIDC、SAML 有什么区别?
Duaer 组织 SSO 只管一个组织的成员,由组织所有者或管理员在设置里自己配置;实例级 OIDC、SAML、LDAP 是自部署 Duaer 时整台服务器的登录方式,由实例管理员配置。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/organizations/sso.md).
# Let members sign in to a Duaer organization with their company account
Connect your company sign-in to your Duaer organization so teammates come in with one link and no extra password. Free on every plan.
## One less password, and easier onboarding and offboarding
Your company already signs in through Google Workspace, Microsoft Entra ID, Okta, or another OpenID Connect provider? Connect it to your Duaer organization, and teammates click one sign-in link and come in with their company account.
New hires join the organization on their first sign-in, so you do not send invites one by one. When someone leaves, remove them from the organization and they can no longer get in.
## Before you start: create an app at your identity provider
In your identity provider’s admin console, create an OpenID Connect app and register the Callback URL shown on the Duaer page. Then note three values: the Discovery URL (it usually ends in /.well-known/openid-configuration and must be https), the Client ID, and the Client secret.
## Turn on Duaer organization SSO
1. As the owner or an admin, open Duaer Settings › Organization SSO.
2. Enter the Discovery URL, Client ID, and Client secret, tick Allow sign-in through this provider, and click Save. Duaer checks the Discovery URL first to make sure it works.
3. Copy the Sign-in link for your members and share it in your team chat or on your intranet home page.
The Client secret is never shown again after saving. Leave the field empty when you edit later to keep the saved value.
## Who gets in with a company account
- Existing members: signing in with their company email links to their existing Duaer account. The identity provider must report the email as verified.
- Company emails that never used Duaer: a new account is created and joins the organization as a member.
- People who have a Duaer account but are not in this organization: they are stopped at sign-in and asked to get an invite from the organization’s owner or an admin.
- People removed from the organization: their next company sign-in is refused.
Your identity provider decides who can sign in with a company account. Password sign-in keeps working. Turning organization SSO off or removing it stops the sign-in link, and every member keeps their account.
## Duaer organization SSO versus instance sign-in
Organization SSO covers the members of one organization, is set up by that organization’s owner or an admin, and is free on every plan. Instance-wide OIDC, SAML, and LDAP on a self-hosted Duaer server are separate and set up by the instance admin — refer to [OIDC role provisioning](/user-management/oidc/setup.md) and [LDAP](/user-management/ldap.md).
## Questions
### Does password sign-in still work with Duaer organization SSO?
Yes. Duaer organization SSO adds a sign-in option; members can still sign in with email and password.
### Can someone outside the Duaer organization use the sign-in link?
People who have a Duaer account but are not in the organization are stopped at sign-in and asked for an invite. Company emails that never used Duaer get a new account and join as members, so your identity provider decides who can sign in.
### How is Duaer organization SSO different from instance OIDC or SAML?
Duaer organization SSO covers the members of one organization and is set up by its owner or an admin in Settings. Instance OIDC, SAML, and LDAP are the sign-in methods of a whole self-hosted Duaer server, set up by the instance admin.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/user-management.md).
# 在 Duaer 里管理用户与访问
在 Duaer 里,团队协作按组织来:邀请同事、分配角色、决定谁能看到什么。
## 在 Duaer 组织里邀请同事
每个 Duaer 账号都有自己的组织。请同事一起干活,打开设置 › 组织,输入邮箱、选好角色、点「邀请」就行;邮件发不出去时,页面会给出一条邀请链接,复制发给对方。完整步骤见 [邀请成员与分配角色](/zh/organizations/members.md),组织能做的事见 [Duaer 组织](/zh/organizations.md)。
## 角色与可见范围
- 组织之间完全隔开:工作流程、凭证、执行记录、数据表、变量和标签都只在自己的 Duaer 组织里可见。
- 组织里有所有者、管理员、成员三种角色,分别管全部、管人管钱、专心干活。
- 项目里再按项目角色细分谁能编辑、谁只能看;需要更细的权限时,见 [自定义角色](/zh/user-management/rbac/custom-roles.md)。
## 登录方式
想让成员用公司账号登录某个 Duaer 组织,见 [组织 SSO](/zh/organizations/sso.md)。两步验证见 [两步验证](/zh/user-management/two-factor-auth.md)。
自部署 Duaer 时,整台服务器还有一层实例:实例所有者在 Settings → Users 管理实例账号,可以接 [LDAP](/zh/user-management/ldap.md)、OIDC 或 SAML。实例邀请信需要先配好 SMTP,见 [自托管用户](/zh/hosting/authentication/user-management-self-hosted.md)。
## Questions
### Duaer 里去哪邀请同事?
在 Duaer 设置 › 组织里输入邮箱、选好角色、点「邀请」。邮件发不出去时,页面会给出邀请链接,复制发给对方即可。
### Duaer 被邀请的人能看到所有工作流程吗?
只能看到所在 Duaer 组织里、自己有权限的项目。别的组织的工作流程和凭证完全看不到。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/user-management.md).
# Manage users and access in Duaer
In Duaer, teamwork happens in organizations: invite teammates, set roles, and decide who sees what.
## Invite teammates to a Duaer organization
Every Duaer account has its own organization. To work with teammates, open Settings › Organization, enter an email, choose a role, and click Invite. If the email cannot be sent, the page gives you an invite link to send yourself. Full steps are in [invite members and set roles](/organizations/members.md), and everything an organization can do is in [Duaer organizations](/organizations.md).
## Roles and visibility
- Organizations are fully walled off: workflows, credentials, executions, data tables, variables, and tags are only visible inside their own Duaer organization.
- Each organization has three roles — Owner, Admin, and Member — for running everything, managing people and money, and doing the work.
- Inside a project, project roles decide who can edit and who can only view. For finer control, refer to [custom roles](/user-management/rbac/custom-roles.md).
## Sign-in options
To let members sign in to a Duaer organization with their company account, refer to [organization SSO](/organizations/sso.md). For two-factor authentication, refer to [two-factor authentication](/user-management/two-factor-auth.md).
On a self-hosted Duaer server there is also an instance layer: the instance owner manages instance accounts in Settings → Users and can connect [LDAP](/user-management/ldap.md), OIDC, or SAML. Instance invite mail needs SMTP first — refer to [self-hosted users](/hosting/authentication/user-management-self-hosted.md).
## Questions
### Where do I invite teammates in Duaer?
In Duaer Settings › Organization: enter an email, choose a role, and click Invite. If the email cannot be sent, the page gives you an invite link to share.
### Can an invited person see every workflow in Duaer?
Only the projects they have access to inside their Duaer organization. Workflows and credentials in other organizations are never visible.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/user-management/ldap.md).
# 把 LDAP 接到 Duaer
在 Duaer 里使用 LDAP。
## 启用 LDAP
1. 打开 Settings → LDAP。
2. 填写目录地址、绑定账号,以及登录时用作用户名的属性。
3. 启用后,登录页走目录,而不是本地 Duaer 密码。
绑定账号只用于查询目录。每个人的密码仍在目录里核对。绑定失败时,是 Duaer 还没连上目录,不是用户密码错了。
组到角色的映射见 [LDAP 角色预配](/zh/user-management/ldap/setup.md)。OIDC 与 SAML 各有 setup 页,不要把 LDAP 组映射填进另一种协议。
## Questions
### Duaer 在哪里打开 LDAP?
Settings → LDAP:填目录地址、绑定账号与登录属性后启用。之后用目录密码登录。
### Duaer LDAP 能和 SAML/OIDC 同时当登录方式吗?
Settings 里选一种协议。LDAP 是目录登录;SAML/OIDC 是另一类 SSO。角色映射在对应协议的 setup 页。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/user-management/ldap.md).
# Connect LDAP to Duaer
Using LDAP with Duaer.
## Enable LDAP
1. Open Settings → LDAP.
2. Enter the directory address, the bind account, and which attribute is the username at sign-in.
3. After you enable it, the sign-in page uses the directory instead of a local Duaer password.
The bind account only lets Duaer query the directory. Each person’s password is still checked in the directory. When the bind fails, Duaer has not reached the directory yet — the user password is not what is wrong.
Role mapping is [LDAP role provisioning](/user-management/ldap/setup.md). OIDC and SAML each have their own setup page. Do not put an LDAP group mapping into another protocol.
## Questions
### Where do you turn on LDAP in Duaer?
Settings → LDAP: enter the directory address, bind account, and login attribute, then enable it. People then sign in with their directory password.
### Can LDAP run together with SAML or OIDC as sign-in in Duaer?
Settings picks one protocol. LDAP is directory sign-in; SAML and OIDC are the other SSO options. Role mapping lives on that protocol’s setup page.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/user-management/ldap/setup.md).
# 为 Duaer LDAP 映射角色
把目录组映射到 Duaer 实例角色或项目角色。
## 映射角色
目录连接在 [LDAP](/zh/user-management/ldap.md)。Settings 里角色预配下拉和确认框链到这一页:把 LDAP 组对应到实例角色或项目角色。
组名必须与目录中真实的组一致。对不上时,人仍能登录,只是落在未映射的默认角色。改映射不会改写目录本身。
## Questions
### Duaer LDAP 角色映射在哪?
LDAP 设置里的角色预配说明链到这一页:把目录组映射到实例或项目角色。登录连接仍在 LDAP 页。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/user-management/ldap/setup.md).
# Map roles for Duaer LDAP
Map directory groups to Duaer instance roles or project roles.
## Map roles
The directory connection is on [LDAP](/user-management/ldap.md). The role-provisioning dropdown and confirm dialog in Settings link here: match an LDAP group to a Duaer instance or project role.
The group name must be a real group in the directory. If it does not match, the person can still sign in and lands on the default role you did not map. Changing the mapping does not edit the directory.
## Questions
### Where is LDAP role mapping in Duaer?
The role-provisioning note on the LDAP settings screen links here: map directory groups to instance or project roles. Sign-in still uses the directory connection on the LDAP page.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/user-management/oidc/setup.md).
# 为 Duaer OIDC 预配角色
完成 OIDC 登录后,把提供方的组映射到 Duaer 角色。
## 先登录,再映射
1. 在 Settings 里将协议选为 OIDC。
2. 在身份提供方配置客户端标识、密钥、签发地址,以及 Duaer 给出的重定向地址。
3. 确认人能从提供方回到 Duaer 后再配置角色预配。
角色预配使用令牌或用户信息里的组。Settings 里角色下拉的文档链到这一页。声明里没有组时,映射表为空,人人停在默认角色。
这一页讲的是自部署 Duaer 实例级的 OIDC。只想让某个 Duaer 组织的成员用公司账号登录,用 [组织 SSO](/zh/organizations/sso.md) 即可,不需要实例管理员。
## Questions
### OIDC 角色预配要配什么?
先完成客户端、重定向与声明,再把提供方的组映射到 Duaer 角色。只配登录不配映射时,人能进来,角色不会按组变。
### 只想让一个 Duaer 组织用公司账号登录,要配这一页吗?
不用。这一页是自部署 Duaer 的实例级 OIDC;单个组织用 Duaer 组织 SSO,由组织所有者或管理员在设置 › 组织 SSO 里配置。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/user-management/oidc/setup.md).
# Provision roles for Duaer OIDC
After OIDC sign-in works, map the provider’s groups to Duaer roles.
## Sign-in first, then mapping
1. In Settings, set the protocol to OIDC.
2. At the identity provider, configure the client id, secret, issuer URL, and the redirect URL Duaer shows.
3. Confirm people can return from the provider to Duaer, then configure role provisioning.
Role provisioning uses groups in the token or userinfo response. The role dropdown in Settings links its docs here. If the claims have no groups, the mapping table is empty and everyone stays on the default role.
This page covers instance-wide OIDC on a self-hosted Duaer server. To let the members of one Duaer organization sign in with their company account, use [organization SSO](/organizations/sso.md) instead — no instance admin needed.
## Questions
### What does OIDC role provisioning need?
Finish the client, redirect, and claims first, then map the provider’s groups to Duaer roles. Sign-in alone does not make roles follow groups.
### Do I need this page to let one Duaer organization sign in with a company account?
No. This page is instance-wide OIDC for self-hosted Duaer. For one organization, use Duaer organization SSO, set up by its owner or an admin under Settings › Organization SSO.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/user-management/saml/setup.md).
# 为 Duaer SAML 预配角色
完成 SAML 登录后,把断言里的组映射到 Duaer 角色。
## 登录与角色预配
SAML 登录需要身份提供方元数据、Duaer 的 ACS 地址,以及用于验断言的证书。这些通了,人才能进来。
角色来自断言里的组属性。在预配里把该组对到实例角色或项目角色。Settings 的角色下拉和确认框链到这一页。属性名与提供方不一致时,登录仍成功,角色不会变。
## Questions
### Duaer SAML 角色预配和登录是一步吗?
不是。先配元数据、ACS 与证书完成登录;再把断言里的组映射到角色。Settings 角色下拉说明打开这一页。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/user-management/saml/setup.md).
# Provision roles for Duaer SAML
After SAML sign-in works, map groups in the assertion to Duaer roles.
## Sign-in and role provisioning
SAML sign-in needs the identity provider metadata, Duaer’s ACS URL, and the certificate that checks the assertion. Until those work, people cannot enter.
Roles come from a group attribute in the assertion. In provisioning, match that group to an instance or project role. The role dropdown and confirm dialog in Settings link here. If the attribute name does not match the provider, sign-in still succeeds and the role does not change.
## Questions
### Is SAML role provisioning the same step as sign-in in Duaer?
No. Configure metadata, ACS, and certificate for sign-in first, then map groups in the assertion to roles. The role dropdown note in Settings opens this page.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/user-management/two-factor-auth.md).
# 在 Duaer 里要求两步验证
如何为 Duaer 账户启用两步验证。
## 个人启用
1. 打开账户设置中的两步验证。
2. 用验证器应用扫描二维码并完成配对。
3. 之后登录时,在密码后再输入动态码。
## 实例要求
管理员可要求全体成员启用两步验证。打开后,未配对的成员下次登录会被挡住,直到配对完成。
这与 LDAP、SAML 不冲突:目录或单点登录通过后,Duaer 仍可再要求动态码。
## Questions
### Duaer 两步验证是账户级还是实例级?
两者都有:个人可在账户设置配对验证器;管理员可要求全体成员启用。实例要求打开后,未配对者下次登录须先配对。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/user-management/two-factor-auth.md).
# Require two-factor auth in Duaer
How to enable 2FA for your Duaer account.
## Enable it for your account
1. Open two-factor authentication in account settings.
2. Pair an authenticator app with the QR code.
3. At the next sign-in, enter the one-time code after your password.
## Require it for the instance
An admin can require two-factor authentication for every member. After that, anyone who has not paired a device is stopped at the next sign-in until they finish pairing.
This does not conflict with LDAP or SAML. After the directory or single sign-on succeeds, Duaer can still ask for the one-time code.
## Questions
### Is two-factor auth per account or for the instance in Duaer?
Both: each person can pair an authenticator in account settings, and an admin can require it for every member. After the instance requires it, anyone without a device pairs at the next sign-in.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/user-management/rbac/custom-roles.md).
# Duaer 里的自定义角色
在 Duaer 组织里按需定制项目角色,所有套餐免费。
## 什么时候需要 Duaer 自定义角色
Duaer 项目自带管理员、编辑者、查看者三种角色。现实中的分工往往更细:外包同事要「能改工作流程,但碰不到凭证」,客户只该「看执行记录」。这时建一个自定义角色,勾上需要的权限,再把它分给对应的人。
## 创建一个自定义角色
1. 组织的所有者或管理员打开 Duaer 设置 › 角色,点「创建」。
2. 起一个好认的名字,勾选这个角色能做的事,保存。
3. 打开项目的成员设置,在角色下拉的「自定义角色」里选中它。
## 自定义角色属于你的 Duaer 组织
- 所有套餐都能用,不用升级。
- 角色只在创建它的组织里出现,也只能分给这个组织里的项目;别的组织看不到。
- 只有所有者和管理员能创建、修改、删除角色,成员看不到这个页面。
执行记录的查看和删除见 [执行权限](/zh/user-management/rbac/execution-permissions.md)。实例角色上的个人空间见 [个人空间](/zh/user-management/rbac/personal-space.md)。外部密钥在 v3 对项目 editor 与 admin 的默认放开见 [外部密钥](/zh/external-secrets.md),那是另一项权限。
## Questions
### Duaer 自定义角色和默认角色有何不同?
Duaer 项目默认有管理员、编辑者、查看者。自定义角色是你按需勾选的一组权限,归你的组织所有,可以分给本组织项目里的任何人。
### Duaer 自定义角色要升级套餐吗?
不用。Duaer 自定义角色在所有套餐里都免费,组织的所有者和管理员在设置 › 角色里直接创建。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/user-management/rbac/custom-roles.md).
# Custom roles in Duaer
Tailor project roles to your team in a Duaer organization, free on every plan.
## When you need a Duaer custom role
Duaer projects come with three roles: Admin, Editor, and Viewer. Real teams often split work more finely — a contractor should edit workflows but never touch credentials, a client should only see executions. Create a custom role, tick the permissions it needs, and assign it to the right people.
## Create a custom role
1. As the organization’s owner or an admin, open Duaer Settings › Roles and click Create.
2. Give the role a clear name, tick what it can do, and save.
3. Open the project’s member settings and pick it under Custom roles in the role dropdown.
## Custom roles belong to your Duaer organization
- Available on every plan, no upgrade needed.
- A role only appears in the organization that created it and can only be assigned in that organization’s projects. Other organizations never see it.
- Only the owner and admins can create, edit, or delete roles. Members do not see the page.
View and delete for executions are under [execution permissions](/user-management/rbac/execution-permissions.md). Personal space on an instance role is under [personal space](/user-management/rbac/personal-space.md). v3 also widens external-secrets access for project editors and admins by default — see [external secrets](/external-secrets.md). That is a different permission.
## Questions
### How do custom roles differ from the default roles in Duaer?
Duaer projects come with Admin, Editor, and Viewer. A custom role is a set of permissions you pick yourself. It belongs to your organization and can be given to anyone in that organization’s projects.
### Do Duaer custom roles need a plan upgrade?
No. Duaer custom roles are free on every plan. The organization’s owner and admins create them in Settings › Roles.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/external-secrets.md).
# 在 Duaer 里使用外部密钥库
把外部密钥库接到 Duaer。
## 把 Duaer 连到密钥库
1. 打开 Settings → External Secrets。
2. 按密钥库要求填写连接信息并保存。
界面帮助链到这一节。连接用的是密钥库访问方式,不是把每条密钥粘贴进 Duaer。未连接时,凭证字段选不到外部密钥,$secrets 也不可用。
## 在凭证里使用密钥
密钥只出现在凭证字段的选择器里。选中后,Duaer 在运行时去取;界面与执行记录都不应出现明文。表达式补全里的 $secrets 同样不展示值,且仅在凭证字段可用。
不要把密钥写进节点参数或 [变量](/zh/code/variables.md)。能打开 Variables 的人就能看见变量值。
## 项目角色的访问
在已许可外部密钥的实例上,v3 让项目 editor 与 admin 默认带上外部密钥范围,并去掉 Settings 里原来的开关。升级前若开关关闭,升级后这些角色会变宽。实例破坏性变更检查会链到这一节。
未许可的实例不受该检查影响。更细的切分仍走 [自定义角色](/zh/user-management/rbac/custom-roles.md)。
## Questions
### 外部密钥会显示在凭证界面上吗?
不会。Duaer 从已连接密钥库取值,只填进凭证字段;界面不显示明文。未连接时 $secrets 不可用。
### Duaer v3 之后谁能用外部密钥?
已许可的实例上,v3 起项目 editor 与 admin 默认带上外部密钥范围,并去掉 Settings 里原来的开关。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/external-secrets.md).
# Use external secret stores in Duaer
Use an external secrets vault with Duaer.
## Connect Duaer to your secrets store
1. Go to Settings → External Secrets.
2. Enter the connection your vault requires, then Save.
The help link on that screen points at this section. The connection is the vault’s access method, not a paste of every secret into Duaer. Until it is connected, credential fields cannot pick an external secret, and $secrets is not available.
## Use secrets in Duaer credentials
A secret only appears in the picker on a credential field. After you pick it, Duaer fetches it at runtime. The screen should not show the value, and the execution record should not contain the plaintext. The $secrets completion hint also hides the value, and it is only available in credential fields.
Do not write a secret into a node parameter or a [variable](/code/variables.md). Anyone who can open Variables can read a variable.
## Access for project roles
On an instance licensed for external secrets, v3 gives project editors and admins the external-secrets scopes by default and removes the old Settings toggle. If that toggle was off before the update, those roles become wider. The breaking-change check links to this section.
On an instance that is not licensed for external secrets, that check does not apply. A finer split still goes through [custom roles](/user-management/rbac/custom-roles.md).
## Questions
### Does an external secret appear on the credential screen?
No. Duaer reads it from a connected vault into credential fields only; the UI does not show plaintext. Without a vault, $secrets is unavailable.
### Who can use external secrets after v3 in Duaer?
On a licensed instance, v3 gives project editors and admins external-secrets scopes by default and removes the old Settings toggle.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/source-control-environments.md).
# 在 Duaer 里使用源代码管理与环境
Duaer 源代码管理与环境概览。
## 仓库里有什么
Duaer 把工作流程、凭证元数据,以及随它们一起走的项目内容推到你自己的 Git 远程。另一环境可以拉取。凭证中的秘密值不在仓库里;另一边需要自己的密钥或重新连接。
实例强制策略(例如隐藏执行数据)不随仓库走。这里的“环境”指另一台实例,不是 [项目](/zh/source-control-environments/understand/environments.md)。
设置见 [连接 Git](/zh/source-control-environments/setup.md)。日常推拉取见 [推送和拉取](/zh/source-control-environments/using/push-pull.md)。
## Questions
### Duaer 源代码管理存什么?
工作流程、凭证元数据及相关项目内容。秘密值与实例强制策略不进仓库。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/source-control-environments.md).
# Use source control and environments in Duaer
Overview of source control and environments in Duaer.
## What is in the repository
Duaer pushes workflows, credential metadata, and related project content to your Git remote. Another environment can pull. Secret values inside credentials are not in the repository; the other side needs its own secrets or a fresh connection.
Instance enforcement (for example hiding execution data) does not travel with the repository. “Environment” here means another instance, not a [project](/source-control-environments/understand/environments.md).
Refer to [set up source control](/source-control-environments/setup.md) and [push and pull](/source-control-environments/using/push-pull.md).
## Questions
### What does source control store in Duaer?
Workflows, credential metadata, and related project content. Secret values and instance enforcement policies do not travel with the repository.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/source-control-environments/setup.md).
# 为 Duaer 设置源代码管理
把 Duaer 实例连到你的 Git 提供方。
## 远程地址
在源代码管理设置里填写 Git 远程。这台实例的推送与拉取都走该远程。开发与生产应是同一远程的不同用法,而不是两个互不相干的仓库。
## 设置部署密钥
1. Duaer 会显示一把部署公钥。
2. 在 Git 主机上把它加为 deploy key,并授予实例需要的读或写权限。
产品里“设置部署密钥”的链接打开这一步。公钥缺失或没有写权限时,远程会拒绝推送。换实例要换钥匙,不要复用私钥。
## Questions
### 部署密钥配在哪一步?
连接远程后,把 Duaer 显示的部署公钥加到 Git 主机。产品里“设置部署密钥”打开这一步。没有公钥,推拉取会被拒绝。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/source-control-environments/setup.md).
# Set up source control in Duaer
Link Duaer to your Git provider.
## Remote URL
Enter the Git remote in source-control settings. Push and pull from this instance both use that remote. Development and production should be two uses of the same remote, not two unrelated repositories.
## Set up a deploy key
1. Duaer shows a deploy public key.
2. Add it as a deploy key on the Git host with the read or write access this instance needs.
The product link about setting up a deploy key opens this step. If the public key is missing, or present without write access, the remote rejects the push. A different instance needs its own key. Do not reuse a private key on another machine.
## Questions
### Where do you add the deploy key?
After you connect the remote, add the deploy public key Duaer shows on the Git host. The “set up a deploy key” link opens this step. Without it, pull and push are rejected.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/source-control-environments/understand/environments.md).
# 在 Duaer 里使用环境
理解 Duaer 里环境背后的概念。
## 环境与项目
典型一对是开发实例与生产实例。在开发实例改工作流程,推到远程,再在生产实例拉取。两边的数据库、加密密钥和用户不是同一份;拉过来的是内容,不是人。
项目决定这一台实例上谁能打开哪个工作流程。在开发实例把某人加进项目,不会在生产实例自动创建该用户。人要在每台实例上单独存在,见 [用户管理](/zh/user-management.md)。
## Questions
### Duaer 环境和项目是一回事吗?
不是。环境是源代码管理里的实例(如开发/生产);项目是单台实例上的权限边界。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/source-control-environments/understand/environments.md).
# Work with environments in Duaer
Understand the concepts behind environments in Duaer.
## Environments and projects
A typical pair is a development instance and a production instance. Change a workflow on development, push to the remote, and pull on production. Databases, encryption keys, and users are not the same copy; the pull brings content, not people.
A project decides who on this instance can open which workflow. Adding someone to a project on development does not create that person on production. People exist separately on each instance. Refer to [user management](/user-management.md).
## Questions
### Are an environment and a project the same in Duaer?
No. An environment is an instance in source control (for example development and production). A project is a permission boundary on one instance.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/source-control-environments/using.md).
# 在 Duaer 里使用 Git
Duaer 里的 Git 概念与限制。
## 保存不等于同步
在画布上保存只写入本机。源代码管理里仍会显示未提交改动。提交后才能推送。推送与拉取见 [推送和拉取](/zh/source-control-environments/using/push-pull.md)。
凭证秘密不会进入提交。另一边拉取后,若没有对应密钥连接,节点会在缺凭证处停下。
## Questions
### Duaer 连上之后日常做什么?
提交已跟踪改动,再推送或拉取。只在画布保存不会出现在另一环境。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/source-control-environments/using.md).
# Use Git in Duaer
Git concepts and limitations in Duaer.
## Saving is not syncing
Saving on the canvas only writes this instance. Source control still shows the change as uncommitted. After you commit, you can push. Refer to [push and pull](/source-control-environments/using/push-pull.md).
Credential secrets do not enter the commit. After the other side pulls, a node stops where a credential is missing if that side has no matching secret connection.
## Questions
### What do you do day to day after connecting in Duaer?
Commit tracked changes, then push or pull. Saving on the canvas alone does not appear in another environment.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/source-control-environments/using/push-pull.md).
# 在 Duaer 里推送与拉取改动
把工作送到 Git,并从 Git 拉回你的 Duaer 实例。
## 推之前、拉之前
1. 推送只包含已提交的改动。还有未提交修改时,先提交或放弃。
2. 远程有本机没有的提交时,先拉取。
3. 冲突时先解决,再推。Duaer 不会把两个环境悄悄并成一份。
部署公钥没有写权限时,即使没有内容冲突,远程也会拒绝推送。见 [设置部署密钥](/zh/source-control-environments/setup.md#step-3-set-up-a-deploy-key)。
## Questions
### 推送或拉取会覆盖另一边吗?
拉取按 Git 更新本机被跟踪内容。冲突要先解决。Duaer 不会把两个环境悄悄并成一份。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/source-control-environments/using/push-pull.md).
# Push and pull changes in Duaer
Send work to Git, and fetch work from Git to your Duaer instance.
## Before you push or pull
1. A push contains only committed changes. If local edits are still uncommitted, commit or discard them first.
2. If the remote has commits this instance does not have, pull first.
3. Resolve conflicts before pushing. Duaer does not quietly merge two environments into one copy.
If the deploy public key cannot write, the remote still rejects the push when there is no content conflict. Refer to [set up a deploy key](/source-control-environments/setup.md#step-3-set-up-a-deploy-key).
## Questions
### Can push or pull overwrite the other side?
A pull updates tracked content on this instance following Git. Resolve conflicts first. Duaer does not silently merge two environments into one copy.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/log-streaming.md).
# 把 Duaer 日志流到外部系统
把 Duaer 事件流到你的日志工具。
## 配置日志流
在 Settings 的日志流中填写外部端点。同一页说明也可用环境变量把日志写到文件或控制台。端点错误时,Duaer 仍在本机运行,只是对面收不到。
执行列表中的运行是另一份数据。隐藏执行数据不会自动变成日志流中的一行。追踪跨度见 [OpenTelemetry](/zh/hosting/logging-monitoring/opentelemetry.md)。
## Questions
### Duaer 日志流和执行记录是一回事吗?
不是。执行记录留在实例里;日志流送到外部端点或文件/控制台。关掉日志流不会删执行记录。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/log-streaming.md).
# Stream logs from Duaer to external systems
Stream events from Duaer to your logging tools.
## Configure log streaming
In Settings, enter the external destination for log streaming. The same page notes that environment variables can write logs to a file or the console. If the destination address is wrong, Duaer still runs locally; the other side receives nothing.
Each run in the execution list is a different record. Hiding execution data does not automatically become a line in the log stream. Refer to [OpenTelemetry](/hosting/logging-monitoring/opentelemetry.md) for spans.
## Questions
### Is log streaming the same as an execution record in Duaer?
No. Execution records stay on the instance. Log streaming sends logs to an external destination or file/console. Turning streaming off does not delete executions.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/insights.md).
# 用 Insights 跟踪 Duaer 用量
Duaer Insights 让实例所有者与管理员看到工作流程一段时间里的表现。
## 汇总,不是单次
Insights 把一段日期内多个工作流程的运行收成可读数字:跑了多少、失败多少、花了多久。单次的条目、栈与输入仍在执行记录里。没有数据时界面说明链到这里。
功能与方案有关。社区版注册标记不是 Insights,见 [社区版](/zh/hosting/community-edition-features.md)。
## Questions
### Duaer Insights 显示什么?
一段时间内的运行汇总(失败、耗时等),不是单次执行的输入输出。没有数据时横幅会链到这一页。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/insights.md).
# Track usage with Insights in Duaer
Duaer Insights gives instance owners and admins visibility into how workflows perform over time.
## A summary, not one run
Insights rolls runs over a date range into numbers: how many ran, how many failed, how long they took. Items, stacks, and input for one run stay on the execution record. When there is no data, the on-screen note links here.
This depends on the plan. The community registration badge is not Insights. Refer to [community edition](/hosting/community-edition-features.md).
## Questions
### What does Insights show in Duaer?
A summary of runs over a period (failures, duration), not one execution’s input and output. When there is no data, the banner links here.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/api.md).
# 使用 Duaer 公开 API
用 API 密钥调用 Duaer 公开 REST API。
## 这一节包含什么
- [身份验证](/zh/api/authentication.md):创建密钥,并用 X-DUAER-API-KEY 调用。
- [端点参考](/zh/api/api-reference.md):对着你的实例阅读 /api/v1,而不是依赖会过期的路由表。
密钥的能力由范围与创建者角色共同决定,不是拿到密钥就能改实例上所有工作流程。
## Questions
### Duaer 公开 API 和画布权限一样吗?
不完全一样。API 用带范围的密钥;能力由范围与创建者角色共同决定。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/api.md).
# Use the Duaer public API
Call the Duaer public REST API with an API key.
## What this section covers
- [Authentication](/api/authentication.md): create a key and call with X-DUAER-API-KEY.
- [Endpoint reference](/api/api-reference.md): read /api/v1 on your instance instead of a route list that would go stale.
What a key can do depends on its scopes and on the role of the person who created it. A key is not a pass to change every workflow on the instance.
## Questions
### Does the public API use the same permissions as the canvas in Duaer?
Not exactly. The API uses a scoped key. What it can do depends on those scopes and on the role of the person who created the key.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/api/authentication.md).
# Duaer 公开 API 的身份验证
Duaer 用 API 密钥鉴权公开 REST API。
## 创建 API 密钥
1. 登录 Duaer。
2. 打开 Settings → API。
3. 选择 Create an API key。
4. 填写 Label,并设置过期时间。
5. 如套餐支持,选择 Scopes。
6. 复制密钥。完整值只显示一次。
## 用密钥调用 API
把密钥放在请求头 `X-DUAER-API-KEY` 里。不要放进 URL。
例如列出处于活动状态的工作流程:
```
curl -X 'GET' \
'/api/v1/workflows?active=true' \
-H 'accept: application/json' \
-H 'X-DUAER-API-KEY: '
```
删除密钥:在 Settings → API 中对该密钥选择 Delete,再确认 Delete Forever。
## Questions
### Duaer API 密钥放在哪个请求头?
放在 `X-DUAER-API-KEY`。完整密钥只在创建时显示一次。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/api/authentication.md).
# Authentication for the Duaer public API
Duaer uses API keys to authenticate public REST API calls.
## Create an API key
1. Log in to Duaer.
2. Go to Settings → API.
3. Select Create an API key.
4. Choose a Label and set an Expiration time for the key.
5. If your plan supports it, choose the Scopes to give the key.
6. Copy the key and use it to authenticate your calls. The full value is shown once.
## Call the API using your key
Send the API key in your API call as a header named `X-DUAER-API-KEY`.
For example, to get all active workflows:
```
curl -X 'GET' \
'/api/v1/workflows?active=true' \
-H 'accept: application/json' \
-H 'X-DUAER-API-KEY: '
```
To delete a key: go to Settings → API, select Delete next to the key, then confirm Delete Forever.
## Questions
### Which header carries the Duaer API key?
Send it as `X-DUAER-API-KEY`. The full key is shown once when you create it.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/api/model-api-key.md).
# 用模型 API 密钥调用 Duaer 模型网关
在 Duaer 里,模型 API 密钥让你在自己的代码里调用 Duaer 模型网关 https://api.duaer.com/v1/*,只能用管理员开放给用户调用的模型。
## 创建模型 API 密钥
1. 在 Duaer 里打开「设置 → 模型 API 密钥」。
2. 点「新建模型 API 密钥」。
3. 填一个名称,例如「CI 流水线」,点保存。
4. 立即复制密钥。完整值只显示这一次。
## 用密钥调用 Duaer 模型网关
把密钥放在请求头 `Authorization: Bearer <密钥>` 里(也接受 `X-API-Key` 或 `X-DUAER-API-KEY`)。例如列出这个密钥能用的模型:
```
curl https://api.duaer.com/v1/models \
-H "Authorization: Bearer $DUAER_API_KEY"
```
加上 `?modality=` 只列某一类模型,可选 text、image、video、audio、music、judgment、transcription、embedding、rerank。每次调用按模型价格扣你的积分。
## Duaer 模型网关的接口
- 文本:`POST /v1/chat/completions`、`POST /v1/responses`、`POST /v1/messages`,`GET /v1/chat/models` 列出对话模型。
- 图片:`POST /v1/images/generations`。
- 向量与重排:`POST /v1/embeddings`、`POST /v1/rerank`。
- 语音:`POST /v1/audio/speech` 朗读,`POST /v1/audio/transcriptions` 转写;`GET /v1/audio/voices` 和 `GET /v1/audio/voice-options` 查看可用声音。
- 视频:`POST /v1/videos/generations` 提交任务,再用 `GET /v1/videos/generations/<任务 ID>` 查询、`…/content` 取文件。
- 音乐:`POST /v1/music/generations` 提交,`GET /v1/music/generations/<任务 ID>` 查询,`GET /v1/music/models` 列出模型。
- 判断:`POST /v1/judgments` 同步返回结论。
- Duaer 数据:`GET /v1/data/<数据名>`,数据名见 [Duaer 数据市场](/zh/getting-started/data-market.md),每次成功检索 1 额度。
视频和音乐是异步任务:提交后拿到任务 ID,轮询到完成再取结果。
## 查看可调用的模型和用量
页面下方的「可调用的模型」列出管理员为用户开放的模型。列表为空时,请管理员在模型池里为至少一个模型开启用户调用。
密钥列表显示每把密钥的最近使用、调用次数和已用积分,「调用记录」列出最近的调用。
## 轮换或撤销 Duaer 模型 API 密钥
- 轮换:撤销这把密钥并生成一把同名的新密钥。旧密钥立即失效,新密钥同样只显示一次。
- 撤销:用这把密钥的脚本和集成立即停止工作,不能恢复。
## 模型 API 密钥和账号级 API 密钥的区别
「设置 → API」里的账号级 API 密钥可以调用所有已启用的模型,也能调用 [Duaer 公开 API](/zh/api/authentication.md)。Duaer 模型 API 密钥只能调模型网关里开放给用户的模型,适合交给脚本或第三方。
## Questions
### Duaer 模型 API 密钥和「设置 → API」里的密钥有什么区别?
Duaer 模型 API 密钥只能调用模型网关里管理员开放给用户的模型;账号级 API 密钥能调用所有已启用的模型,也能调用 Duaer 公开 API。
### 为什么 Duaer 模型 API 密钥调不到某个模型?
管理员还没在 Duaer 模型池里为这个模型开启用户调用。「设置 → 模型 API 密钥」下方的「可调用的模型」就是这把密钥能用的全部模型。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/api/model-api-key.md).
# Call the Duaer model gateway with a Model API Key
In Duaer, a Model API Key lets your own code call Duaer's model gateway at https://api.duaer.com/v1/*, limited to the models an admin allows for user calls.
## Create a Model API Key
1. In Duaer, open Settings › Model API Key.
2. Select Create a Model API Key.
3. Enter a Label, for example "CI pipeline", and save.
4. Copy the key now. The full value is shown only once.
## Call the Duaer model gateway with your key
Send the key as `Authorization: Bearer ` (`X-API-Key` or `X-DUAER-API-KEY` also work). For example, to list the models this key can call:
```
curl https://api.duaer.com/v1/models \
-H "Authorization: Bearer $DUAER_API_KEY"
```
Add `?modality=` to list one kind of model: text, image, video, audio, music, judgment, transcription, embedding, or rerank. Each call is charged to your credits at the model price.
## Duaer model gateway endpoints
- Text: `POST /v1/chat/completions`, `POST /v1/responses`, `POST /v1/messages`. `GET /v1/chat/models` lists chat models.
- Images: `POST /v1/images/generations`.
- Embeddings and rerank: `POST /v1/embeddings`, `POST /v1/rerank`.
- Speech: `POST /v1/audio/speech` reads text aloud, `POST /v1/audio/transcriptions` transcribes. `GET /v1/audio/voices` and `GET /v1/audio/voice-options` list voices.
- Video: `POST /v1/videos/generations` submits a task. Poll `GET /v1/videos/generations/`, then fetch `…/content`.
- Music: `POST /v1/music/generations` submits, `GET /v1/music/generations/` polls, `GET /v1/music/models` lists models.
- Judgments: `POST /v1/judgments` answers synchronously.
- Duaer Data: `GET /v1/data/`. Names are in the [Duaer data market](/getting-started/data-market.md). Each successful search uses 1 credit.
Video and music are asynchronous: submit, keep the task ID, and poll until it finishes before fetching the result.
## See the models you can call and your usage
Models you can call, lower on the page, lists the models an admin opened to users. If it is empty, ask an admin to allow at least one model for user calls in the model pool.
The key list shows each key's last use, calls, and credits used. Recent calls lists the latest calls.
## Rotate or revoke a Duaer Model API Key
- Rotate: revokes the key and creates a new one with the same label. The old key stops working at once, and the new key is also shown only once.
- Revoke: scripts and integrations using the key stop working at once. This cannot be undone.
## Model API Key versus account API key
The account API key under Settings › API can call every enabled model and the [Duaer public API](/api/authentication.md). A Duaer Model API Key reaches only the gateway models opened to users, so it is the one to hand to scripts or third parties.
## Questions
### How is a Duaer Model API Key different from the key under Settings › API?
A Duaer Model API Key reaches only the gateway models an admin opened to users. The account API key can call every enabled model and the Duaer public API.
### Why can't my Duaer Model API Key call a model?
An admin has not allowed that model for user calls in the Duaer model pool. Models you can call, under Settings › Model API Key, lists every model the key can use.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/api/api-reference.md).
# Duaer 公开 API 端点参考
对照你这台 Duaer 实例上的公开 REST API。文档站不另存一份会过期的路由表。
## 对着实例看
在浏览器或 HTTP 客户端访问本机 `/api/v1`,并带上 [密钥](/zh/api/authentication.md)。没有密钥的请求不会得到业务数据。
不同版本的路由会增减。文档站不维护第二份会过期的路由表。自动化应对准这台实例实际回答的接口。
## Questions
### Duaer 文档站有完整路由表吗?
没有。对着实例的 /api/v1 看;路由随版本与密钥范围变化。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/api/api-reference.md).
# Endpoint reference for the Duaer public API
Endpoint reference for the Duaer public REST API on your instance. This docs site does not keep a second route list that would go stale.
## Read it on the instance
Open `/api/v1` on this instance from a browser or HTTP client, and send the [key](/api/authentication.md). A request without a key does not get business data.
Routes appear and disappear between versions. The docs site does not keep a second route list that would go stale. For automation, call the interface this instance actually answers.
## Questions
### Does the docs site keep a full route list in Duaer?
No. Read /api/v1 on your instance. Routes change with version and key scopes.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/changelog.md).
# Duaer 变更日志
Duaer 版本说明入口。破坏性变更另有专页。
## 界面链到这里
产品内的 changelog 与 release notes 分别打开这一页和 [发行说明](/zh/changelog/release-notes.md)。文档站不贴上游完整提交清单。
行为变化见 [2.0](/zh/2-0-breaking-changes.md) 与 [v3](/zh/changelog/v30-breaking-changes.md)。更早版本先看 [1.0 迁移清单](/zh/1-0-migration-checklist.md)。
## Questions
### 产品更新说明打开哪一页?
在 Duaer 里,打开 doc.duaer.com 的版本页(changelog / release notes)。行为变化另有破坏性变更页。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/changelog.md).
# Duaer changelog
Entry point for Duaer version notes. Breaking changes have their own pages.
## The product links here
Changelog and release notes in the product open this page and [release notes](/changelog/release-notes.md). The docs site does not paste the upstream commit list.
For behavior changes, read [2.0](/2-0-breaking-changes.md) and [v3](/changelog/v30-breaking-changes.md). Coming from something older, start with the [1.0 migration checklist](/1-0-migration-checklist.md).
## Questions
### Which page does the product open for updates?
In Duaer, the version pages on doc.duaer.com (changelog / release notes). Behavior-changing upgrades have separate breaking-change pages.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/changelog/release-notes.md).
# Duaer 发行说明
这一版 Duaer 带来了什么,以及升级时要核对的项。
## 新增与必须核对的变化
Duaer 现在的对外版本是 0.02。发行说明按版本号列出新增与修复,0.01 是最早的一版。决定是否升级前,先看是否触及你在用的节点或设置。
[破坏性变更](/zh/changelog/v30-breaking-changes.md) 更窄,不重复每一个修复。实例检查报了某一条,就打开对应小节。升级步骤见 [更新](/zh/hosting/installation/updating.md)。文档站不贴上游完整提交清单。
## Duaer 0.02:计划、频道和 Microsoft
- 智能体对话里会列出计划:标题,以及完成了几项。计划改动被拒绝时,展开该步骤可看原因。见 [打开 Agents](/zh/advanced-ai/agents.md#plan)。
- 智能体可以接 WhatsApp。接上 WhatsApp Business 凭证后,把回调地址和验证令牌填进 Meta,智能体就能在 24 小时客服窗口内收消息并回复。见 [打开 Agents](/zh/advanced-ai/agents.md#whatsapp)。
- Microsoft SharePoint Trigger 在文档库里的文件,或列表里的条目,发生变化或被删除时启动工作流程。凭证用 Microsoft OAuth2(Graph)或 Entra 服务主体。见 [Microsoft SharePoint Trigger](/zh/integrations/builtin/trigger-nodes/duaer-nodes-base.microsoftsharepointtrigger.md)。
- Microsoft Foundry Chat Model 在 Foundry 凭证下列出部署;经典 Azure OpenAI 凭证要按 id 填写部署名。只走 Responses API 的部署要打开 Use Responses API。见 [Microsoft Foundry Chat Model](/zh/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatazureopenai.md)。
- WhatsApp Business Cloud 的模板下拉会载入全部模板。见 [在 Duaer 里用 WhatsApp 发模板消息](/zh/build/whatsapp.md)。
## Duaer 0.01:凭证、Agents 和节点
- 工作流程用了你不能用的凭证时,执行和发布会停住,并写明凭证和所有者。你仍可以编辑,并换成自己能用的凭证。见 [创建和编辑凭证](/zh/credentials.md)。
- 删除社区凭证时,会等到删除完成。
- 签发给一种用途的令牌不能拿去当另一种用。升级后如果会话被拒绝,重新登录即可。没有受众的邀请链接在过期前仍然有效。
- 表达式里的 replace() 与数组方法有大小上限,超过上限时改走回退。见 [表达式](/zh/code/expressions.md)。
- 设置 › Agents 为整台实例打开或关闭 Agents。关掉后新运行进不去,排队消息取消,已经在跑的可以跑完。Agents 与 Duaer 设计师 共用沙箱。见 [打开 Agents](/zh/advanced-ai/agents.md)。
- 智能体可以放到 Duaer Chat,供该项目里的人使用,描述可选。用量与限额里可以设每月预算、提醒百分比和单次会话费用上限。
- Supabase 节点除了密钥凭证,还可以用 Supabase OAuth2,同一份 OAuth 凭证可以给 MCP 复用。见 [Supabase 凭证](/zh/integrations/builtin/credentials/supabase.md)。
- Google Calendar Trigger 按日历日期处理全天事件,时区用日历的时区。Event Started 和 Event Ended 都包含全天事件,结束日期不含当天。见 [Google Calendar Trigger](/zh/integrations/builtin/trigger-nodes/duaer-nodes-base.googlecalendartrigger.md)。
- 工作流程历史的清理作为可恢复的系统任务运行。执行引擎 v2 上,从主界面停止运行仍然有效。
- OAuth 同意页只在服务端提供图标时才显示客户图标。全局成员可以在 API 密钥上授予变量范围。分享对话框在保存分享变更之前保持打开。
## Duaer 0.01:Agent、迁移报告和节点
- 在 Agent 的一项能力上打开菜单,可以选择启用、停用或移除。
- Agent 对话里排队的下一条消息可以拖动排序,也可以用上下方向键移动。排好的顺序就是接下来发送的顺序。
- Brevo 节点 1.1 按 Recipients、CC、BCC 的正确拼写读取收件人。仍停在 1.0 的工作流程继续用原来的字段名,邮件照常发出。见 [Brevo](/zh/integrations/builtin/app-nodes/duaer-nodes-base.brevo.md)。
- 迁移报告顶部的概览改从已保存的检查结果读取。保存或发布一个工作流程后,这个工作流程的检查结果会更新。见 [迁移报告](/zh/changelog/migration-report.md)。
- 数据共享关掉时,Duaer 设计师 进入受限模式:看不到节点参数和执行数据,也不能新建或修改工作流程。在 AI 用量设置里打开数据共享后,这些能力恢复。见 [云上的 Duaer 设计师](/zh/manage-cloud/ai-assistant.md)。
- MCP 按一家供应商列出模型时,一次最多返回 50 个。名单被截断时,带上查询词,按模型 id 过滤。不指定供应商时,只返回各供应商的摘要。
- Agent 配置可以选开预算护栏:单次会话的美元上限、每月预算,以及提醒百分比。提醒百分比要先有每月预算。关掉之后,已填的金额保留,但这次不生效。
- `import:workflow` 在导入文件没有工作流程 id 时会补上一个。
- 执行引擎 v2 上,Webhook 和触发器可以把文件带进这次运行。
- 任务运行器遇到未处理的 Promise 拒绝时继续运行。执行记录清理里的软删除作为可恢复的系统任务运行。
- 绑定到某一个 Duaer 组织的 API 或 MCP 密钥,列出和读取凭证时只看到该组织的凭证。见 [每个组织各自开关](/zh/advanced-ai/mcp/accessing-duaer-mcp-server.md#per-organization-access)。
## Duaer 0.01:组织与团队
- 注册即有自己的组织,可以邀请成员并分成所有者、管理员、成员;积分和套餐按组织结算。见 [Duaer 组织](/zh/organizations.md)。
- 组织可以填自己的模型 Key,调用这家服务不再扣 Duaer 积分。见 [自带模型 Key](/zh/organizations/own-model-keys.md)。
- 自定义项目角色归组织所有,所有套餐免费。见 [自定义角色](/zh/user-management/rbac/custom-roles.md)。
- 组织可以接自己的 OpenID Connect 统一登录。见 [组织 SSO](/zh/organizations/sso.md)。
- 变量和标签按组织隔开:没有项目的变量就是组织变量,标签名只需在本组织内不重复。见 [变量](/zh/code/variables.md) 与 [分享与标签](/zh/build/share-and-tags.md)。
## Duaer 0.01:Duaer 设计师 和数字员工
- Duaer 设计师 修改工作流程时,没有改过的节点保持原样。语言、拒绝的附件和凭证说明见 [Duaer 设计师 如何改](/zh/advanced-ai/assistant-edits.md)。
- 数字员工的自定义 cron 会显示可读说明。见 [定时任务](/zh/advanced-ai/digital-employee-schedules.md)。
- 数字员工可以读到 Telegram 图片。先打开下载,见 [Telegram](/zh/flow-logic/telegram-trigger.md)。
- Duaer 设计师 用你确认的验收样例核对结果,全部对上才说验证通过;交付消息可以点赞或点踩并写原因。见 [核对并评价 Duaer 设计师 的交付](/zh/advanced-ai/orgifydesk-delivery.md)。
## Duaer 0.01:市场、套餐和访问
- 员工市场:雇佣别人上架的数字员工,按次付积分。已于 2026-10-08 下线。
- Starter 及以上套餐可以把自己的子域名绑定到已发布的工作流程,打开就是它的表单页或对话页。见 [绑定自己的域名](/zh/build/custom-domain.md)。
- 数据市场可以按关键词搜索。见 [Duaer 数据市场](/zh/getting-started/data-market.md#search)。
- 设置 › 套餐 在 Duaer 里直接换套餐;积分包新增 220,000 积分 $999。见 [套餐与积分](/zh/manage-cloud/plans.md)。
- 模型网关新增重排、转写、视频、音乐和判断接口。见 [模型网关的接口](/zh/api/model-api-key.md#endpoints)。
- 实例级 Duaer(MCP 访问)改为每个 Duaer 组织由所有者或管理员自己开关。见 [每个组织各自开关](/zh/advanced-ai/mcp/accessing-duaer-mcp-server.md#per-organization-access)。
## Duaer 0.01:权限和节点
- 项目角色的执行记录有查看和删除。见 [执行权限](/zh/user-management/rbac/execution-permissions.md)。
- 实例角色列出个人空间权限。能关的是发布和共享,见 [个人空间](/zh/user-management/rbac/personal-space.md)。
- 受限节点出现在搜索里,替换时面板标题是「替换此步骤」。见 [受限节点](/zh/hosting/security/restricted-nodes.md)。
## Duaer 0.01:运行和集成
- MCP 可以安装已验证的社区节点。见 [安装社区节点](/zh/advanced-ai/mcp/install-community-nodes.md)。
- Databricks 增加 Embeddings 子节点。见 [Embeddings Databricks](/zh/advanced-ai/embeddings-databricks.md)。
- MiniMax 的输出长度在 Maximum Number of Tokens。见 [MiniMax](/zh/advanced-ai/minimax.md)。
- 窄屏时,节点的输入和输出面板仍然可见。见 [节点详情](/zh/flow-logic/node-details.md)。
- 已取消的执行不会被再次写成别的状态。见 [取消执行](/zh/flow-logic/canceled-executions.md)。
## Questions
### Duaer 发行说明和破坏性变更有何区别?
发行说明讲这一版新增与修复;破坏性变更只列升级后行为会变、需要你核对的项。
### Duaer 0.02 的新增写在哪里?
在 Duaer 发行说明这一页最上面的 0.02 小节,包括智能体计划、WhatsApp 频道、Microsoft SharePoint Trigger 和 Microsoft Foundry。更早的内容在 0.01 小节。这里不列上游提交清单。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/changelog/release-notes.md).
# Duaer release notes
What this Duaer version adds, and what to check on upgrade.
## What is new, and what you must check
The Duaer public version is 0.02. Release notes list additions and fixes under a version number. 0.01 was the first. Before you upgrade, see whether that version touches a node or setting you use.
[Breaking changes](/changelog/v30-breaking-changes.md) are narrower and do not repeat every fix. When the instance check reports a rule, open that section. Refer to [updating](/hosting/installation/updating.md) for upgrade steps. The docs site does not paste the upstream commit list.
## Duaer 0.02: plans, channels, and Microsoft
- An agent chat lists a plan with its title and how many tasks are done. When a plan change is rejected, expand that step for the reason. Refer to [turn Agents on](/advanced-ai/agents.md#plan).
- An agent can use WhatsApp. After you connect a WhatsApp Business credential, paste the callback URL and verify token into Meta. The agent can then receive messages and reply inside the 24-hour customer service window. Refer to [turn Agents on](/advanced-ai/agents.md#whatsapp).
- Microsoft SharePoint Trigger starts a workflow when a file in a document library, or an item in a list, changes or is deleted. The credential is Microsoft OAuth2 (Graph) or an Entra service principal. Refer to [Microsoft SharePoint Trigger](/integrations/builtin/trigger-nodes/duaer-nodes-base.microsoftsharepointtrigger.md).
- Microsoft Foundry Chat Model lists deployments when the credential is a Foundry endpoint. A classic Azure OpenAI credential takes the deployment name by id. A deployment that only serves the Responses API needs Use Responses API turned on. Refer to [Microsoft Foundry Chat Model](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatazureopenai.md).
- The WhatsApp Business Cloud template dropdown loads the full template list. Refer to [send a WhatsApp template in Duaer](/build/whatsapp.md).
## Duaer 0.01: credentials, Agents, and nodes
- Execute and Publish stop when a workflow uses a credential you cannot use, and Duaer names that credential and its owner. You can still edit it and switch to a credential you can use. Refer to [create and edit credentials](/credentials.md).
- Deleting a community credential waits until the delete finishes.
- A token signed for one purpose cannot be used for another. After an upgrade, sign in again if Duaer rejects the session. An invite link that was sent without an audience still works until it expires.
- replace() and array methods in an expression stop at a size cap and fall back past that cap. Refer to [expressions](/code/expressions.md).
- Settings > Agents turns Agents on or off for the instance. Turning it off blocks new runs and cancels pending messages. A run already going can finish. Agents and Duaer Designer share the sandbox. Refer to [turn Agents on](/advanced-ai/agents.md).
- An agent can be offered in Duaer Chat to everyone in the project, with an optional description. Usage and limits can set a monthly budget, an alert percent, and a cost cap per session.
- The Supabase node can use Supabase OAuth2 as well as the secret-key credential. The same OAuth credential can be reused for MCP. Refer to [Supabase credentials](/integrations/builtin/credentials/supabase.md).
- Google Calendar Trigger treats an all-day event by its calendar date, in the calendar time zone. Event Started and Event Ended include all-day events. The end date is exclusive. Refer to [Google Calendar Trigger](/integrations/builtin/trigger-nodes/duaer-nodes-base.googlecalendartrigger.md).
- Workflow history pruning runs as a durable system task. On execution engine v2, stopping a run from the main screen still works.
- The OAuth consent screen shows a client icon only when the server provides one. A global member can grant variable scopes on an API key. The share dialog stays open until the share changes are saved.
## Duaer 0.01: agents, the migration report, and nodes
- Open the menu on an agent capability to activate it, deactivate it, or remove it.
- In an agent chat, drag a queued message to reorder it, or move it with the Up and Down keys. That order is the order the messages are sent.
- Brevo node 1.1 reads recipients, CC, and BCC under the corrected field names. A workflow still on 1.0 keeps the older field names and still sends. Refer to [Brevo](/integrations/builtin/app-nodes/duaer-nodes-base.brevo.md).
- The migration report overview is read from the stored findings. Saving or publishing a workflow refreshes that workflow’s findings. Refer to [the migration report](/changelog/migration-report.md).
- With data sharing off, Duaer Designer stays in limited mode: it cannot see node parameter values or execution data, and it cannot create or edit workflows. Turn data sharing on under AI usage settings to restore those actions. Refer to [Duaer Designer on cloud](/manage-cloud/ai-assistant.md).
- When MCP lists models for one provider, it returns at most 50. If the list is cut off, pass a query and filter by model id. With no provider, the reply is a summary of providers.
- An agent configuration can turn on a budget guardrail: a per-session cap in US dollars, a monthly budget, and an alert percent. The alert percent needs a monthly budget. Turning the guardrail off keeps the saved amounts and does not apply them.
- The `import:workflow` command assigns an id when the imported file has none.
- On execution engine v2, a webhook or a trigger can pass a file into the run.
- The task runner keeps running after an unhandled promise rejection. Soft-delete during execution pruning runs as a durable system task.
- An API or MCP key bound to one Duaer organization lists and reads only that organization’s credentials. Refer to [each organization has its own switch](/advanced-ai/mcp/accessing-duaer-mcp-server.md#per-organization-access).
## Duaer 0.01: organizations and teams
- Every account gets its own organization. Invite members as Owner, Admin, or Member; credits and plans are billed per organization. Refer to [Duaer organizations](/organizations.md).
- An organization can add its own model keys, so calls to that provider no longer spend Duaer credits. Refer to [own model keys](/organizations/own-model-keys.md).
- Custom project roles belong to the organization and are free on every plan. Refer to [custom roles](/user-management/rbac/custom-roles.md).
- An organization can connect its own OpenID Connect sign-in. Refer to [organization SSO](/organizations/sso.md).
- Variables and tags are scoped to the organization: a variable without a project is an organization variable, and a tag name only has to be unique inside your organization. Refer to [variables](/code/variables.md) and [share and tags](/build/share-and-tags.md).
## Duaer 0.01: Duaer Designer and digital employees
- When Duaer Designer edits a workflow, nodes you did not name stay as they were. Language, rejected attachments, and credential descriptions are under [how Duaer Designer edits](/advanced-ai/assistant-edits.md).
- A custom cron on a digital employee shows a readable sentence. Refer to [schedules](/advanced-ai/digital-employee-schedules.md).
- A digital employee can read a Telegram photo after download is on. Refer to [Telegram](/flow-logic/telegram-trigger.md).
- Duaer Designer checks a build against acceptance samples you confirm and calls it verified only when all match. Rate a delivery with thumbs up or down and say why. Refer to [check and rate Duaer Designer deliveries](/advanced-ai/orgifydesk-delivery.md).
## Duaer 0.01: markets, plans, and access
- Employee market: hire digital employees others list and pay credits per call. Retired on 2026-10-08.
- On Starter and higher, bind your own subdomain to a published workflow; it opens its form or chat page. Refer to [bind your own domain](/build/custom-domain.md).
- The data market has a search box. Refer to [Duaer data market](/getting-started/data-market.md#search).
- Settings > Plans changes plans inside Duaer, and a 220,000 credits for $999 pack joins the credit packs. Refer to [plans and credits](/manage-cloud/plans.md).
- The model gateway adds rerank, transcription, video, music, and judgment endpoints. Refer to [model gateway endpoints](/api/model-api-key.md#endpoints).
- Instance level Duaer (MCP access) is now switched per Duaer organization by its owner or an admin. Refer to [each organization has its own switch](/advanced-ai/mcp/accessing-duaer-mcp-server.md#per-organization-access).
## Duaer 0.01: permissions and nodes
- Project roles gain View and Delete under Executions. Refer to [execution permissions](/user-management/rbac/execution-permissions.md).
- An instance role lists personal-space permissions. What you can turn off is publishing and sharing. Refer to [personal space](/user-management/rbac/personal-space.md).
- Restricted nodes appear in search. Replace uses the title Replace this step. Refer to [restricted nodes](/hosting/security/restricted-nodes.md).
## Duaer 0.01: runs and integrations
- MCP can install a verified community node. Refer to [install community nodes](/advanced-ai/mcp/install-community-nodes.md).
- Databricks adds an Embeddings sub-node. Refer to [Embeddings Databricks](/advanced-ai/embeddings-databricks.md).
- MiniMax output length is Maximum Number of Tokens. Refer to [MiniMax](/advanced-ai/minimax.md).
- On a narrow screen, a node’s input and output panels stay visible. Refer to [node details](/flow-logic/node-details.md).
- A canceled execution is not written over with another status. Refer to [canceled executions](/flow-logic/canceled-executions.md).
## Questions
### How do release notes differ from breaking changes in Duaer?
Release notes cover what a version adds and fixes. Breaking-change pages list only behavior that changes on upgrade and that you must check.
### Where are the Duaer 0.02 additions written?
At the top of this Duaer release notes page, in the 0.02 section: agent plans, the WhatsApp channel, Microsoft SharePoint Trigger, and Microsoft Foundry. Earlier notes stay in the 0.01 sections. The page does not list upstream commits.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/changelog/v30-breaking-changes.md).
# Duaer v3 破坏性变更
升级到 Duaer v3 后会改变的行为。
## Chat hub 默认关闭
v3 默认关闭 Chat hub,界面 Chat 区消失。实例检查若发现用过 Chat hub,会链到这一页。可用环境变量 DUAER_ENABLED_MODULES 暂时打开;v4 会移除该功能。
## 权限、调用与部署
已许可外部密钥的实例上,项目 editor 与 admin 默认获得外部密钥范围,Settings 开关去掉。见 [项目角色的访问](/zh/external-secrets.md#access-for-project-roles)。
调用策略 “Any workflow” 移除。「调用工作流程」的本地文件、URL 来源与按条目各跑一次的模式一并去掉。
Docker 成为唯一支持的部署方式。任务运行器默认超时缩短到 1 分钟。未验证社区包默认禁用。从 URL 导入去掉。内存中二进制存储去掉,见 [二进制数据](/zh/hosting/scaling/binary-data.md)。
## 升级前先看迁移报告
Duaer 的迁移报告会列出上面哪些变更影响你的工作流程和实例,部分问题可以一键迁移。见 [迁移报告](/zh/changelog/migration-report.md)。
## Questions
### v3 里 Chat hub 还默认出现吗?
在 Duaer 里,不默认。可用 DUAER_ENABLED_MODULES 暂时打开;v4 会移除。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/changelog/v30-breaking-changes.md).
# Duaer v3 breaking changes
Behavior that changes when you upgrade to Duaer v3.
## Chat hub is off by default
v3 turns Chat hub off by default, and the Chat section leaves the UI. If the instance check finds that this install used Chat hub, it links here. You can turn it back on temporarily with DUAER_ENABLED_MODULES. v4 removes the feature.
## Permissions, callers, and deployment
On an instance licensed for external secrets, project editors and admins get those scopes by default, and the Settings toggle is removed. Refer to [access for project roles](/external-secrets.md#access-for-project-roles).
The “Any workflow” caller policy is removed. Call Workflow also loses its local-file source, URL source, and run-once-per-item mode.
Docker becomes the only supported deployment method. The default task-runner timeout drops to one minute. Unverified community packages are disabled by default. Import from URL is removed. In-memory binary storage is removed. Refer to [binary data](/hosting/scaling/binary-data.md).
## Check the migration report before upgrading
The Duaer migration report lists which of these changes affect your workflows and instance, and fixes some of them for you. Refer to [the migration report](/changelog/migration-report.md).
## Questions
### Does Chat hub still appear by default in v3?
In Duaer, no. You can turn it on temporarily with DUAER_ENABLED_MODULES; v4 removes it.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/changelog/migration-report.md).
# 用迁移报告检查 Duaer 能否升级
在 Duaer 里,迁移报告会扫描所有工作流程和实例配置,列出升级到下一个主版本之前要处理的问题。
## 打开迁移报告
Duaer 实例的所有者或管理员在「管理 → 迁移报告」打开,地址是 /admin/migration-report;旧的设置页地址会自动跳到这里。顶部一句话写着有多少个工作流程已经兼容目标版本,例如「你的 40 个工作流程中已有 36 个与版本 3.0.0 兼容」。目标是让剩下的工作流程和实例配置都没有问题。
每一项变更的说明见 [Duaer v3 破坏性变更](/zh/changelog/v30-breaking-changes.md)。保存或发布一个工作流程后,这个工作流程在报告里的检查结果会更新。
## 看懂 Duaer 迁移报告的问题
问题分在两个标签页:「工作流程问题」列出影响具体工作流程的变更,「实例问题」列出影响整个实例的配置。每个问题都有标题、说明、文档链接和影响类别,列表按下面的顺序排:
- 阻塞升级:不修好就无法继续更新;实例问题可能让实例在更新后起不来。
- 执行失败:受影响的工作流程在更新后会执行失败,要更新或替换受影响的节点。
- 行为变化:工作流程仍会运行,但行为会变。更新前检查并测试。
- 能力移除:执行不受影响,但某项能力在更新后不再可用。
## 处理工作流程问题
1. 从「阻塞升级」和「执行失败」开始,点问题下方的「N 个工作流程」,打开受影响的工作流程列表。
2. 列表显示名称、是否已发布、受影响的节点、执行次数、上次执行和上次更新时间。点受影响的节点会直接打开那个节点。
3. 按问题的文档链接修改工作流程,先在测试环境里跑一遍。
4. 有的问题带「迁移」按钮,可以一键改好。迁移把改动存成新版本,已发布的版本照常运行;确认无误后点「发布」上线,或点「跳过发布」稍后再发。
## 处理实例问题并复查
实例问题要改环境变量或部署方式,按每个问题的文档链接处理。都改完后点「刷新」重新扫描,直到两个标签页都显示没有问题,再按 [更新 Duaer](/zh/hosting/installation/updating.md) 升级。
## Questions
### 谁能看到 Duaer 的迁移报告?
Duaer 实例的所有者和管理员,在「管理 → 迁移报告」里。普通成员看不到这一项。
### Duaer 迁移报告里的「迁移」会马上改动线上吗?
不会。在 Duaer 里,迁移只把改动存成新版本,已发布的版本照常运行,要再点「发布」才上线。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/changelog/migration-report.md).
# Check Duaer upgrade readiness with the migration report
In Duaer, the migration report scans every workflow and the instance configuration, and lists what to fix before you upgrade to the next major version.
## Open the migration report
The owner or an admin of the Duaer instance opens Admin › Migration report at /admin/migration-report; old Settings links redirect there. The top line says how many workflows are already compatible with the target version, for example "36 of your 40 workflows are already compatible with version 3.0.0". The goal is to leave no problems in the rest or in the instance configuration.
For each change, refer to [Duaer v3 breaking changes](/changelog/v30-breaking-changes.md). Saving or publishing a workflow refreshes that workflow’s findings on the report.
## Read Duaer migration report issues
Issues sit on two tabs: Workflow issues affect specific workflows, and Instance issues affect the whole instance. Each issue has a title, a description, a documentation link, and an impact category, listed in this order:
- Upgrade blocked: the update cannot proceed until you fix it; an instance issue may stop the instance from starting after the update.
- Executions fail: affected workflows fail after the update. Update or replace the affected nodes.
- Behavior changes: workflows keep running, but their behavior changes. Review and test before updating.
- Capability removed: executions are not affected, but a capability is no longer available after the update.
## Fix workflow issues
1. Start with Upgrade blocked and Executions fail. Select the workflows count under an issue to open the affected list.
2. The list shows the name, whether it is published, the nodes affected, the number of executions, and when it last ran and was last updated. Select an affected node to open it directly.
3. Update the workflow as the issue documentation describes, and test it in a development environment first.
4. Some issues have a Migrate button that fixes the workflow for you. Migrate saves the change as a new version while the published version keeps running; when it looks right, select Publish, or Skip publishing to publish later.
## Fix instance issues and check again
Instance issues need environment variable or deployment changes; follow each issue's documentation link. When you are done, select Refresh to scan again. Once both tabs show no issues, upgrade as described in [updating Duaer](/hosting/installation/updating.md).
## Questions
### Who can see the Duaer migration report?
The owner and admins of the Duaer instance, under Admin › Migration report. Members do not see it.
### Does Migrate in the Duaer migration report change the live version?
No. In Duaer, Migrate saves the change as a new version and the published version keeps running until you select Publish.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/1-0-migration-checklist.md).
# Duaer 1.0 迁移清单
从 Duaer 1.0 之前迁上来时要核对的项。
## 不要从提交清单开始
先认定当前版本,再看目标版本丢掉了什么。1.0 是这条产品线收稳用法的一档。后来的 2.0 检查会标 Start 节点已移除。
跨 2.0 看 [2.0 破坏性变更](/zh/2-0-breaking-changes.md)。跨 v3 看 [v3](/zh/changelog/v30-breaking-changes.md)。任何升级都要留住加密密钥与数据库,见 [更新](/zh/hosting/installation/updating.md)。
## Questions
### Duaer 从很早的版本升上来先看哪?
先看这一页,再打开目标主版本的破坏性变更。以实例版本检查点名为准。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/1-0-migration-checklist.md).
# Duaer 1.0 migration checklist
What to check when moving up from before Duaer 1.0.
## Do not start from the commit list
Name the version you are on, then see what the version you are moving to drops. 1.0 is where this product line settled those habits. Later 2.0 checks mark the Start node as removed.
Crossing 2.0 means [2.0 breaking changes](/2-0-breaking-changes.md). Crossing v3 means [v3](/changelog/v30-breaking-changes.md). Keep the encryption key and the database on every upgrade. Refer to [updating](/hosting/installation/updating.md).
## Questions
### Which page do you read first from a very old version in Duaer?
Read this page, then the breaking-change page for the major version you are moving to. Follow what the instance version check names.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/2-0-breaking-changes.md).
# Duaer 2.0 破坏性变更
升级到 Duaer 2.0 后会改变的行为。
## 移除 --tunnel 选项
2.0 去掉命令行 --tunnel。再带上该参数会被忽略,隧道不会启动。实例检查标为低严重度并打开这一节。对外访问请用自己的反向代理或部署方式。
## 升级 dotenv
dotenv 升级后,.env 中的引号、注释与多行可能与旧版不同。存在 .env 时,检查会链到这一节。拿一件你依赖的值试启动,确认读到的仍是你写入的字符串。写法见 [配置方式](/zh/hosting/environment-variables/configuration-methods.md)。
## 同时收紧的几项
表达式与 Code 节点不能再读 process.env。二进制内存模式去掉。ExecuteCommand 与 LocalFileTrigger 默认禁用。Pyodide Python Code 去掉。设置文件权限强制。QUEUE_WORKER_MAX_STALLED_COUNT 去掉。update:workflow 被替换,见 [命令行](/zh/hosting/cli-commands.md)。OAuth 回调默认要求登录。文件访问收紧。主镜像不再带 task runner。Start 节点移除。
以实例检查点名为准。检查未点名的项,不必按名单猜测。
## Questions
### Duaer 2.0 之后 --tunnel 还能用吗?
不能。参数会被忽略,隧道不会启动。检查链到 remove-n8n-tunnel-option 小节。
### Duaer 为什么提到 dotenv?
dotenv 已升级,.env 解析可能变化。有 .env 时检查会提示核对引号、注释与多行。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/2-0-breaking-changes.md).
# Duaer 2.0 breaking changes
Behavior that changes when you upgrade to Duaer 2.0.
## Remove --tunnel option
2.0 removes the --tunnel command-line flag. If you still pass it, Duaer ignores it and does not start a tunnel. The instance check marks this as low severity and opens this section. To reach the instance from outside, use your own reverse proxy or deployment.
## Upgrade dotenv
After the dotenv upgrade, quotes, comments, and multiline values in .env may differ. When the instance has a .env file, the check sends you here. Start once with a value you depend on and confirm the process still reads the string you wrote. Refer to [configuration methods](/hosting/environment-variables/configuration-methods.md).
## What else gets tighter
Reading process.env from an expression or Code node is blocked. In-memory binary mode is removed. ExecuteCommand and LocalFileTrigger are disabled by default. Pyodide-based Python in the Code node is removed. Settings-file permissions are enforced. QUEUE_WORKER_MAX_STALLED_COUNT is removed. The update:workflow command is replaced — see [the command line](/hosting/cli-commands.md). OAuth callbacks require authentication by default. File access is tighter. The main image no longer includes the task runner. The Start node is removed.
Take each item from the instance check. If the check does not name it, do not walk this list guessing.
## Questions
### Does --tunnel still work after 2.0 in Duaer?
No. The flag is ignored and the tunnel does not start. The check links to the remove-n8n-tunnel-option section.
### Why mention dotenv in Duaer?
dotenv was upgraded, so .env parsing may differ. If the instance has a .env file, the check asks you to verify quotes, comments, and multiline values.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/hosting/scaling/queue-mode.md).
# 在 Duaer 里启用队列模式
按需要用不同模式跑 Duaer。队列模式可扩展性最好。
## 怎么工作
队列模式下有多个 Duaer 实例:主实例接收触发并生成执行(但不跑),worker 执行。中间用 Redis 维护待执行队列。
流程:主实例处理定时与 webhook → 把执行 ID 交给 Redis → worker 领取 → 从数据库取工作流程信息并执行 → 写回结果并通知主实例。
数据库请用 Postgres,不要让多个进程写同一 SQLite 文件。见 [数据库](/zh/hosting/configuration/supported-databases-settings.md)。
## 为 worker 设置加密密钥
主实例的加密密钥必须与所有 worker 相同,否则 worker 解不开数据库中的凭证。
```
export DUAER_ENCRYPTION_KEY=
```
完整写法见 [设置自定义加密密钥](/zh/hosting/configuration/configuration-examples/encryption-key.md)。
## 查看正在运行的 worker
开启队列模式后,Duaer 实例的所有者和管理员可以在「设置 → 工作节点」查看连到这个实例的每个 worker:主机名、版本、运行时长、负载、所属 pool 和队列,展开后还能看到正在跑的执行、网络接口、内存和性能曲线。页面会自动刷新。
列表为空或少了 worker,说明它没启动或连不上 Redis。这时执行会停在排队,主进程仍可能显示在线。确认 worker 与主进程使用同一加密密钥与数据库配置。
较新版本中,手动执行也会放到 worker。内存与并发见 [并发](/zh/hosting/scaling/concurrency-control.md) 与 [内存](/zh/hosting/scaling/memory-errors.md)。
## Questions
### 队列模式和普通模式差在哪?
在 Duaer 里,普通模式在同一进程接请求并执行。队列模式把执行交给 worker,主进程排队,中间用 Redis。所有 worker 须同一 DUAER_ENCRYPTION_KEY。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/hosting/scaling/queue-mode.md).
# Enable queue mode in Duaer
You can run Duaer in different modes depending on your needs. Queue mode provides the best scalability.
## How it works
In queue mode you run multiple Duaer instances: one main instance receives triggers and generates executions (but does not run them); workers perform the executions. Redis maintains the queue of pending executions.
Flow: the main instance handles timers and webhooks → passes an execution ID to Redis → a worker picks it up → loads digital-organization data from the database and runs → writes results and notifies the main instance.
Use Postgres. Do not let several processes write one SQLite file. Refer to [databases](/hosting/configuration/supported-databases-settings.md).
## Set encryption key for workers
The main instance encryption key must be shared with every worker so workers can decrypt credentials stored in the database.
```
export DUAER_ENCRYPTION_KEY=
```
Refer to [Set a custom encryption key](/hosting/configuration/configuration-examples/encryption-key.md) for the full example.
## View running workers
With queue mode on, the owner and admins of the Duaer instance see every worker connected to it under Settings › Workers: host name, version, uptime, load, pool, and queue. Expand a worker to see its running executions, network interfaces, memory, and performance charts. The page refreshes by itself.
If the list is empty or a worker is missing, that worker is down or cannot reach Redis. Executions then sit in the queue while the main process still looks online. Confirm workers use the same encryption key and database settings as the main process.
On newer versions, manual executions also run on workers. Refer to [concurrency](/hosting/scaling/concurrency-control.md) and [memory](/hosting/scaling/memory-errors.md).
## Questions
### How is queue mode different from regular mode?
In Duaer, regular mode accepts and runs in one process. Queue mode hands executions to workers; the main process queues work through Redis. Every worker needs the same DUAER_ENCRYPTION_KEY.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/hosting/scaling/concurrency-control.md).
# 控制 Duaer 并发
限制自托管 Duaer 同时跑多少生产执行。
## 为什么要限制
普通模式下,Duaer 默认不限制同时进行的生产执行数量。触发来得太快时,过多并发会拖垮事件循环,实例变慢甚至无响应。
设置并发上限后,超出的生产执行会排队等待,而不是立刻再开一轮。可与 [队列模式](/zh/hosting/scaling/queue-mode.md) 一起用;未开队列时,限制仍作用在本进程。
## 适用范围
- 只作用于生产执行(webhook 或触发节点启动的)。不作用于手动执行、子工作流程执行、错误工作流程执行,或从命令行启动的执行。
- 不能重试已排队的执行。取消或删除排队中的执行也会把它移出队列。
- 实例启动时,Duaer 会按上限恢复排队中的执行,其余重新入队。
- 上限不是画布节点数,也不是一个工作流程内的条目数。条目过多仍可能撑满单次执行的内存,见 [循环](/zh/flow-logic/looping.md)。
## Questions
### Duaer 的并发控制限制什么?
限制同一时间在跑的生产执行数量(webhook 或触发启动的)。达不到手动执行、子工作流程或命令行启动。达到上限后新执行排队,而不是再开一轮把内存打满。可与队列模式一起用。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/hosting/scaling/concurrency-control.md).
# Control concurrency in Duaer
Limit how many production executions may run at the same time on self-hosted Duaer.
## Why limit concurrency
In regular mode, Duaer does not limit how many production executions may run at the same time. When triggers arrive faster than the machine can run them, too many concurrent executions thrash the event loop and the instance becomes slow or unresponsive.
With a concurrency limit, production executions over the cap wait in a queue instead of starting immediately. You can combine it with [queue mode](/hosting/scaling/queue-mode.md). Without queue mode, the cap still applies to this process.
## What it applies to
- Only production executions started from a webhook or trigger node. It does not apply to manual executions, sub-workflow executions, error workflow executions, or executions started from the CLI.
- You cannot retry queued executions. Cancelling or deleting a queued execution also removes it from the queue.
- On instance startup, Duaer resumes queued executions up to the concurrency limit and re-enqueues the rest.
- The cap is not a node count, and not the item count inside one workflow. Too many items can still fill memory inside a single execution — see [looping](/flow-logic/looping.md).
## Questions
### What does concurrency control limit in Duaer?
How many production executions (started from a webhook or trigger) run at the same time. It does not apply to manual runs, sub-workflows, or CLI starts. Past the cap, new executions wait instead of starting another wave that fills memory. You can combine it with queue mode.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/hosting/scaling/memory-errors.md).
# 修复自托管 Duaer 的内存问题
自托管 Duaer 的内存相关错误:如何识别与避免。
## 识别与应对
报错正文仍是 JavaScript heap out of memory。工作流程侧如何少带数据见 [流程内存错误](/zh/flow-logic/error-handling/memory-errors.md)。这一页讲进程堆大小,以及队列模式是否把执行分到其他进程。
加大 Node.js 堆能撑过偶然峰值,挡不住每次执行都在变大。不要使用已移除的二进制内存模式,见 [二进制数据](/zh/hosting/scaling/binary-data.md)。每个 worker 有自己的堆,不会互相借用空闲内存。
可用 `NODE_OPTIONS=--max-old-space-size=SIZE` 提高旧生代上限。
## Questions
### Duaer 托管页和流程页的内存错误是两回事吗?
现象相同:堆满。流程页讲少带数据;这一页讲进程堆与 worker。两边都要看。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/hosting/scaling/memory-errors.md).
# Fix memory issues on self-hosted Duaer
Memory-related errors when self-hosting Duaer: how to identify and avoid them.
## Identify and respond
The error text is still JavaScript heap out of memory. How a workflow carries less data is covered under [flow memory errors](/flow-logic/error-handling/memory-errors.md). This page covers process heap size and whether queue mode moved executions to other processes.
A larger Node.js heap helps with occasional peaks. It does not stop every execution from growing. Do not use the removed in-memory binary mode — refer to [binary data](/hosting/scaling/binary-data.md). Each worker has its own heap and does not borrow free memory from another.
You can raise the V8 old-space limit with `NODE_OPTIONS=--max-old-space-size=SIZE`.
## Questions
### Are the hosting and flow memory pages different failures in Duaer?
Same failure: a full heap. The flow page covers carrying less data; this page covers process heap and workers. Change both sides.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/hosting/scaling/binary-data.md).
# 在 Duaer 里处理二进制数据
处理大文件而不拖慢 Duaer。
## 用文件系统或数据库,不要用内存
节点产出文件时,Duaer 把内容写到配置的二进制存储,执行数据里留下引用;下游需要时再读。这样堆里不必同时驻留每一份附件。
内存模式在 2.0 与 v3 检查中均标为移除。仍设为内存模式时,大文件会直接撑满堆。多进程部署要把存储放在大家都能读到的位置。
队列模式下优先用数据库模式;不要把仅本机可见的临时盘当唯一存储。更多见 [环境变量](/zh/hosting/configuration/environment-variables.md)。
## Questions
### Duaer 二进制数据还放在内存里吗?
默认不放。写到文件系统或数据库,执行里只留引用。内存模式已移除。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/hosting/scaling/binary-data.md).
# Handle binary data in Duaer
How to handle large files without degrading Duaer’s performance.
## Use filesystem or database, not memory
When a node produces a file, Duaer writes the bytes to configured binary storage and leaves a reference on the execution. Later nodes read the bytes when needed. The heap does not have to hold every attachment at once.
In-memory mode is marked removed in both the 2.0 and v3 checks. An instance still set to memory mode fills the heap with large files. Multi-process deployments need storage all processes can read.
In queue mode prefer database mode; do not rely on one container’s temporary disk alone. Refer to [environment variables](/hosting/configuration/environment-variables.md).
## Questions
### Does Duaer keep binary data in memory?
Not by default. It writes to the filesystem or database and keeps a reference on the execution. In-memory mode is removed.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/hosting/community-edition-features.md).
# 比较 Duaer 版本
比较自托管 Duaer 的社区版、注册社区版、Business 与 Enterprise。
## 已注册社区版
注册标记说明实例完成了社区注册,出现在 Usage and Plan 一类标题旁。它不增加席位,也不等于 Insights、自定义角色或外部密钥已许可。
那些功能仍看方案。没有方案时,邀请来的人看不到别人的工作流程和凭证,见 [用户管理](/zh/user-management.md)。
## Questions
### Duaer 注册标记代表什么?
实例完成了社区注册,不是企业许可,也不等于打开全部付费功能。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/hosting/community-edition-features.md).
# Compare Duaer editions
Compare the self-hosted Duaer plans and editions: Community, Registered Community, Business, and Enterprise.
## Registered community edition
The registered badge means this instance finished community registration. It sits beside headings such as Usage and Plan. The badge does not add seats, and it does not mean Insights, custom roles, or external secrets are licensed.
Those still follow the plan. Without the plan, invited people do not see other people’s workflows and credentials. Refer to [user management](/user-management.md).
## Questions
### What does the registered badge mean in Duaer?
This instance finished community registration. It is not an enterprise license and does not turn on every paid feature.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/hosting/authentication/user-management-self-hosted.md).
# 为自托管 Duaer 配置用户管理
配置自托管 Duaer 以支持用户管理,并开始邀请用户。
## 先配置 SMTP
1. 在设置中填写 SMTP 主机、端口、账号与发件人。
2. 发送测试信确认。
3. 再到 Users 页发送邀请。
账号模型见 [用户管理](/zh/user-management.md)。登录可以是本地密码、[LDAP](/zh/user-management/ldap.md) 或 SAML/OIDC。发信失败不阻止创建本地所有者,但会阻止邀请邮件。
## Questions
### Duaer 自托管邀请用户先配什么?
先配 SMTP。没有发信服务器就发不出邀请。用户与角色仍在 Settings。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/hosting/authentication/user-management-self-hosted.md).
# Configure user management on self-hosted Duaer
Configure your self-hosted Duaer instance to support user management, and start inviting users.
## Configure SMTP first
1. Enter the SMTP host, port, account, and from-address in settings.
2. Send a test message.
3. Then invite people from the Users page.
Refer to [user management](/user-management.md) for the account model. Sign-in can be a local password, [LDAP](/user-management/ldap.md), or SAML/OIDC. A mail failure does not stop you from creating the local owner; it does stop invite mail.
## Questions
### What do you configure before inviting people on self-hosted in Duaer?
Configure SMTP first. Without a mail server, invites cannot send. Users and roles stay in Settings.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/hosting/configuration/encryption-keys.md).
# Duaer 加密密钥
Duaer 用加密密钥保护写入数据库的凭证。首次启动会自动生成;也可用 DUAER_ENCRYPTION_KEY。
## 自动生成与自定义
Duaer 首次启动会自动生成随机加密密钥,并保存在实例数据目录的设置文件中。保存凭证前用该钥匙加密。
若设置文件里还没有密钥,可设置环境变量 DUAER_ENCRYPTION_KEY,让 Duaer 使用你的自定义密钥,而不是再生成一把。密钥丢失或更换后,已存凭证解不开;工作流程还在,账号要重新保存。
[队列模式](/zh/hosting/scaling/queue-mode.md) 下,所有 worker 都必须设置同一把加密密钥。写法见 [设置自定义加密密钥](/zh/hosting/configuration/configuration-examples/encryption-key.md)。
## Questions
### 加密密钥从哪来?
在 Duaer 里,首次启动自动生成并写入实例数据目录;也可用 DUAER_ENCRYPTION_KEY 指定。丢失或更换后已存凭证解不开。不要写进 Git。
### 队列模式对密钥有什么要求?
在 Duaer 里,所有 worker 必须设置同一把 DUAER_ENCRYPTION_KEY。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/hosting/configuration/encryption-keys.md).
# Encryption keys in Duaer
Duaer encrypts credentials before saving them to the database. It creates a key on first launch; DUAER_ENCRYPTION_KEY overrides that.
## Auto-generated and custom keys
Duaer creates a random encryption key automatically on first launch and saves it in the settings file in the instance data directory. Duaer uses that key to encrypt credentials before they are saved to the database.
If the key is not yet in the settings file, set the environment variable DUAER_ENCRYPTION_KEY so Duaer uses your custom key instead of generating a new one. If the key is lost or changed, saved credentials cannot be decrypted. Workflows remain; connected accounts have to be saved again.
In [queue mode](/hosting/scaling/queue-mode.md), you must set the encryption key environment variable for every worker. Refer to [Set a custom encryption key](/hosting/configuration/configuration-examples/encryption-key.md).
## Questions
### Where does the encryption key come from?
On first launch Duaer creates one in the instance data directory. You can set DUAER_ENCRYPTION_KEY instead. If you lose or change it, stored credentials cannot be decrypted. Do not commit the key to Git.
### What does queue mode require for the key?
In Duaer, every worker must set the same DUAER_ENCRYPTION_KEY.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/hosting/configuration/configuration-examples/encryption-key.md).
# 为 Duaer 设置自定义加密密钥
为 Duaer 设置自定义加密密钥,用于安全加密凭证。
## 用环境变量指定密钥
Duaer 首次启动会自动生成随机加密密钥,并保存在实例数据目录。若设置文件里还没有密钥,可设置环境变量,让 Duaer 使用你的自定义密钥,而不是再生成一把。
队列模式下,所有 worker 都必须设置该环境变量。
```
export DUAER_ENCRYPTION_KEY=
```
更多说明见 [环境变量](/zh/hosting/configuration/environment-variables.md)。
## Questions
### 怎么为 Duaer 设置自定义加密密钥?
在环境里执行 export DUAER_ENCRYPTION_KEY=,或写进 .env / 容器注入后重启。值要足够长的随机串。每个实例用自己的值;生产与开发不要共用。队列模式的所有 worker 也要设同一把。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/hosting/configuration/configuration-examples/encryption-key.md).
# Set a custom encryption key for Duaer
Set a custom encryption key for Duaer to securely encrypt credentials.
## Set the key with an environment variable
Duaer creates a random encryption key automatically on the first launch and saves it in the instance data directory. If the key is not yet in the settings file, set an environment variable so Duaer uses your custom key instead of generating a new one.
In queue mode, you must specify the encryption key environment variable for all workers.
```
export DUAER_ENCRYPTION_KEY=
```
Refer to [environment variables](/hosting/configuration/environment-variables.md) for more information on this variable.
## Questions
### How do you set a custom encryption key for Duaer?
Export DUAER_ENCRYPTION_KEY=, or put it in .env / container injection and restart. Use a long random string. Each instance gets its own value; do not share production with development. In queue mode every worker needs the same key.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/hosting/configuration/environment-variables.md).
# Duaer 环境变量
用环境变量配置自托管 Duaer 进程。
## 进程配置,不是 $vars
DUAER_ENCRYPTION_KEY、执行模式、日志和功能开关写在环境里。Duaer 启动时读一次。[画布变量](/zh/code/variables.md) 存在实例或项目中,运行时从 $vars 读;两边互不改写。
2.0 起,表达式与 Code 节点不能再读 process.env。要给工作流程一个值,用变量或凭证。可写在哪些地方见 [配置方式](/zh/hosting/environment-variables/configuration-methods.md)。
## Questions
### Duaer 环境变量和画布 $vars 一样吗?
不一样。环境变量属于托管进程;$vars 给工作流程读,存在实例或项目里。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/hosting/configuration/environment-variables.md).
# Environment variables for Duaer
Configure the self-hosted Duaer process with environment variables.
## Process configuration, not $vars
DUAER_ENCRYPTION_KEY, the execution mode, logging, and feature switches live in the environment. Duaer reads them at startup. [Canvas variables](/code/variables.md) are stored on the instance or the project and read as $vars. Neither side overwrites the other.
From 2.0, expressions and the Code node cannot read process.env. To give a workflow a value, use a variable or a credential. Refer to [configuration methods](/hosting/environment-variables/configuration-methods.md).
## Questions
### Are environment variables the same as canvas $vars in Duaer?
No. Environment variables belong to the host process. $vars are read by workflows and stored on the instance or project.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/hosting/environment-variables/configuration-methods.md).
# 用环境变量管理 Duaer 设置
从进程环境、.env 或容器注入配置自托管 Duaer。
## 三处入口,同一次启动
直接跑进程时,可导出变量或在工作目录放 .env。容器编排中注入同名变量,不要把 .env 打进镜像层。同名时以进程实际拿到的值为准。
Duaer 不会在运行中途重读 .env。改完重启主进程;队列模式还要重启 worker。dotenv 在 2.0 的解析变化见 [upgrade-dotenv](/zh/2-0-breaking-changes.md#upgrade-dotenv)。
## 加密密钥
凭证加密用环境变量 DUAER_ENCRYPTION_KEY。首次启动也可自动生成并写入实例数据目录。队列模式的所有 worker 必须同一把钥匙。完整写法见 [设置自定义加密密钥](/zh/hosting/configuration/configuration-examples/encryption-key.md)。
## Questions
### Duaer 环境变量可以写在哪里?
进程环境、.env 或容器注入。启动时读取;改完须重启。2.0 后核对 dotenv 解析。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/hosting/environment-variables/configuration-methods.md).
# Manage Duaer settings with environment variables
Configure self-hosted Duaer from the process environment, a .env file, or container injection.
## Three places, one startup
When you run the process directly, export the variables or place a .env file in the working directory. In a container, inject the same names from the orchestrator. Do not bake a .env file into an image layer. When a name is set twice, the value the process actually receives is the one that counts.
Duaer does not re-read .env mid-run. Restart the main process after a change. In queue mode, restart workers too. The dotenv parse change in 2.0 is [upgrade dotenv](/2-0-breaking-changes.md#upgrade-dotenv).
## Encryption key
Credential encryption uses the environment variable DUAER_ENCRYPTION_KEY. On first launch Duaer can also generate a key into the instance data directory. In queue mode every worker must use the same key. Refer to [Set a custom encryption key](/hosting/configuration/configuration-examples/encryption-key.md).
## Questions
### Where can you set environment variables in Duaer?
Process environment, .env, or container injection. Read at startup; restart after changes. After 2.0, recheck dotenv parsing.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/hosting/configuration/supported-databases-settings.md).
# Duaer 支持的数据库
自托管 Duaer 可用 SQLite 或 Postgres。
## SQLite 或 Postgres
SQLite 把数据放在一个文件里,适合单进程。备份即拷贝该文件;拷贝时不要有进程在写。
队列模式的主进程与 worker 要读同一份执行与工作流程,请用 Postgres。不要让多个进程写同一 SQLite 文件。连接串放在环境变量里,并与 [加密密钥](/zh/hosting/configuration/encryption-keys.md) 一起备份。
## Questions
### Duaer 可以用哪些数据库?
SQLite(单进程)与 Postgres(队列模式或多进程共享数据)。不要多进程写同一 SQLite 文件。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/hosting/configuration/supported-databases-settings.md).
# Supported databases for Duaer
Self-hosted Duaer can use SQLite or Postgres.
## SQLite or Postgres
SQLite keeps data in one file and fits a single process. A backup is a copy of that file; do not copy while a process is writing.
In queue mode the main process and workers all read the same executions and workflows — use Postgres. Do not let several processes write one SQLite file. Put the connection string in the environment and back it up with the [encryption key](/hosting/configuration/encryption-keys.md).
## Questions
### Which databases can you use in Duaer?
SQLite for a single process, Postgres when queue mode or several processes share data. Do not let several processes write one SQLite file.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/hosting/configuration/task-runners.md).
# 为 Duaer 设置 task runners
配置 Duaer task runners,用内部或外部进程执行任务。
## 与主进程分开
Code 节点若跑在主进程里,一段脚本可能拖住整个 Duaer。Task runner 把这类工作放到旁边的进程。2.0 起主 Docker 镜像不再自带 runner:单独跑 runner,并让主进程知道如何连接。
v3 把默认任务超时降到 1 分钟。需要更久就显式加大超时。runner 与主进程、worker 一样,需要能解开凭证的同一套配置。产品里的弃用说明会链到对应的托管文档。
## Questions
### Duaer task runner 做什么?
在单独进程跑 Code 等任务。较新主镜像不再内置 runner;v3 默认超时 1 分钟。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/hosting/configuration/task-runners.md).
# Set up task runners for Duaer
How to configure Duaer task runners to execute tasks using internal or external runner processes.
## Apart from the main process
If a Code node runs inside the main process, one script can stall all of Duaer. A task runner puts that work in a process beside it. From 2.0 the main Docker image no longer includes the runner: run a runner yourself and tell the main process how to reach it.
v3 lowers the default task timeout to one minute. Raise the timeout explicitly if work needs longer. The runner, like the main process and workers, needs configuration that can decrypt credentials. Deprecation notes in the product link to the matching hosting docs.
## Questions
### What does a task runner do in Duaer?
It runs work such as the Code node in a separate process. Newer main images do not include the runner; v3 defaults the timeout to one minute.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/hosting/logging-monitoring/opentelemetry.md).
# 用 OpenTelemetry 追踪 Duaer 执行
把 Duaer 工作流程与节点执行的追踪发到 OpenTelemetry 采集端。
## 配置采集端
在监控设置中打开 OpenTelemetry,并填写采集端地址。追踪描述步骤跨度,不是节点输入全文。采集端拒绝连接时,运行仍会完成,只是采集端看不到。
日志事件走 [日志流](/zh/log-streaming.md)。单次输入输出仍在执行记录里。三者可同时开启,互不替代。
## Questions
### Duaer OpenTelemetry 和日志流有何不同?
OpenTelemetry 发送追踪跨度;日志流发送日志事件。都不是画布上的执行记录。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/hosting/logging-monitoring/opentelemetry.md).
# Trace Duaer executions with OpenTelemetry
Send workflow and node execution traces from Duaer to an OpenTelemetry collector.
## Configure a collector
Turn on OpenTelemetry in monitoring settings and enter the collector address. A trace describes spans, not the full node input. If the collector refuses the connection, the run still finishes; you just do not see it on the collector.
Log events go through [log streaming](/log-streaming.md). Input and output of one run stay on the execution record. All three can be on at once; none replaces the others.
## Questions
### How is OpenTelemetry different from log streaming in Duaer?
OpenTelemetry sends trace spans; log streaming sends log events. Neither is the execution record on the canvas.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/hosting/cli-commands.md).
# 使用 Duaer 命令行
自托管 Duaer 内置命令行可用的命令。
## 以本版帮助为准
在安装目录执行带 `--help` 的命令,查看本版真正注册的子命令。2.0 检查会点名 update:workflow:它已被替换,旧脚本需改用当前导入命令。`--tunnel` 会被忽略,见 [2.0](/zh/2-0-breaking-changes.md#remove-n8n-tunnel-option)。
命令行导入导出时,加密密钥必须与当初保存凭证时相同。钥匙不对时,命令仍可能写入数据库,但凭证解不开。
import:workflow、import:credentials、execute 和 execute-batch 与服务端执行同样的策略检查:受限节点或凭证类型会被拒绝,不会写入或运行。见 [受限节点](/zh/hosting/security/restricted-nodes.md)。
## Questions
### Duaer update:workflow 还在吗?
不在。2.0 起用替换后的导入命令;--tunnel 也被忽略。以本版 --help 为准。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/hosting/cli-commands.md).
# Use the Duaer command line
Commands available in the built-in Duaer command-line interface.
## Use this version’s help
Run the command with `--help` in the install directory to see the subcommands this version actually registers. The 2.0 check names update:workflow: it has been replaced, and old scripts need the current import command. `--tunnel` is ignored if you still pass it. Refer to [2.0](/2-0-breaking-changes.md#remove-n8n-tunnel-option).
When import or export runs from the command line, the encryption key must be the one that saved the credentials. With the wrong key, the command can still write the database while credentials stay unreadable.
import:workflow, import:credentials, execute, and execute-batch apply the same policy checks as the Duaer server: content with a restricted node or credential type is refused instead of written or run. Refer to [restricted nodes](/hosting/security/restricted-nodes.md).
## Questions
### Does update:workflow still exist in Duaer?
No. From 2.0 use the replacement import command; --tunnel is ignored too. Take subcommands from this version’s --help.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/hosting/installation/updating.md).
# 更新 Duaer
更新自托管 Duaer 的最佳实践。
## 更新步骤
1. 备份 DUAER_ENCRYPTION_KEY 与数据库。升级不会替你轮换密钥。
2. 阅读你要跨过的 [2.0](/zh/2-0-breaking-changes.md) 或 [v3](/zh/changelog/v30-breaking-changes.md)。
3. 停止主进程与 worker,换到新版本,再启动。
队列模式中,worker 与主进程必须同一版本。密钥说明见 [加密密钥](/zh/hosting/configuration/encryption-keys.md)。
## Questions
### 升级前要留住什么?
在 Duaer 里,DUAER_ENCRYPTION_KEY 与数据库。先读破坏性变更,再停进程、换版本、启动。队列模式保持主进程与 worker 同版本。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/hosting/installation/updating.md).
# Update Duaer
Best practices for updating your self-hosted Duaer.
## Update steps
1. Back up DUAER_ENCRYPTION_KEY and the database. The upgrade does not rotate the key for you.
2. Read [2.0](/2-0-breaking-changes.md) or [v3](/changelog/v30-breaking-changes.md) for the versions you are crossing.
3. Stop the main process and workers, switch to the new version, and start again.
In queue mode, workers and the main process need the same version. Refer to [encryption keys](/hosting/configuration/encryption-keys.md).
## Questions
### What do you keep before updating?
In Duaer, dUAER_ENCRYPTION_KEY and the database. Read breaking changes, then stop, switch version, and start. In queue mode keep main and workers on the same version.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/hosting/securing/security-audit.md).
# 在 Duaer 上运行安全审计
对你的 Duaer 实例运行安全审计。
## 怎么在 Duaer 里跑安全审计
可对 Duaer 实例跑安全审计,检测常见安全问题。报告只读:不改画布,不轮换钥匙,也不打印 [外部密钥](/zh/external-secrets.md) 的值。
- 命令行:在安装目录执行审计子命令(以本版 `--help` 为准)。
- 公开 API:对 `/audit` 发 `POST`,须以实例所有者身份鉴权,见 [身份验证](/zh/api/authentication.md)。
- 也可在工作流程里用实例节点生成审计(若当前版本提供该操作)。
## 报告里有什么
审计通常覆盖几类风险:未使用或长期未用的凭证、SQL 节点里用了表达式的查询字段、会碰文件系统的节点、以及实例设置里偏松的项。
报告中的一项表示配置值得核对,不表示已被攻破。改完配置后再跑一次,确认修改仍在。
## Questions
### Duaer 的安全审计会改工作流程吗?
不会。Duaer 安全审计是只读检查,可用命令行或公开 API(所有者鉴权)跑。报告列出凭证、节点和实例设置里值得看的项,不自动改节点,也不显示密钥。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/hosting/securing/security-audit.md).
# Run security audits on Duaer
Run a security audit on your Duaer instance.
## How do you run a security audit in Duaer?
You can run a security audit on your Duaer instance to detect common security issues. The report is read-only: it does not edit the canvas, rotate keys, or print [external secret](/external-secrets.md) values.
- CLI: run the audit subcommand in the install directory (check this version’s `--help`).
- Public API: make a `POST` call to `/audit`. Authenticate as the instance owner. Refer to [authentication](/api/authentication.md).
- You can also generate an audit from a workflow with the instance node when your version exposes that operation.
## What is in the security audit report?
The audit typically covers unused or long-idle credentials, expressions in SQL Execute Query fields, nodes that touch the file system, and loose instance settings.
An item in the report means that configuration is worth checking, not that someone already got in. Change that configuration, then run the audit again to confirm the change is still in place.
## Questions
### Does a Duaer security audit change workflows?
No. A Duaer security audit is read-only. Run it from the CLI or the public API (owner auth). It lists credentials, nodes, and instance settings worth checking. It does not edit nodes or reveal secret values.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/advanced-ai/intro-tutorial.md).
# 在 Duaer 里跑通第一个 AI Agent
在 Duaer 里用 AI Agent 接上聊天模型,再按需要接工具。这一页是最小可跑通的工作流程。
## 先让模型回一句话
1. 在画布上放一个触发方式(聊天触发或手动执行)。
2. 加上 AI Agent,并接上 Duaer Chat Model,在 Model 下拉框里选一个模型。见 [在 Duaer Chat Model 里选模型](/zh/build/duaer-chat-model.md)。
3. 先不要接工具。保存后执行,确认凭证和模型名称是对的。
Agent 用模型决定下一步;普通链按你排好的顺序跑。Agent 节点上的提示链到这一页。若还不会保存和执行工作流程,先回到画布基础。
## 再加上工具
模型能回答之后,再给 Agent 接工具节点。工具参数里若要由模型填写,用 [$fromAI](/zh/advanced-ai/examples/using-the-fromai-function.md)。需要按自己的文档回答时,看 [RAG](/zh/advanced-ai/rag-in-duaer.md)。
这一页不展开每个嵌入模型或向量库的字段。目标是:Agent 能跑、工具能被叫到、你知道下一步文档在哪。
## Questions
### Duaer 的 AI 入门从哪里开始?
从 AI Agent 节点开始。先接聊天模型,确认能回一句话,再按需要接工具。这一页是最小可跑通的工作流程,不是每个模型供应商的凭证手册。
### Duaer 里 Agent 和普通聊天模型链有什么不同?
Agent 用模型决定下一步用哪个工具;普通链按你排好的顺序跑。产品里 Agent 节点的提示链到这一页,因为多数人第一次碰到 AI 就是从 Agent 开始的。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/advanced-ai/intro-tutorial.md).
# Build your first AI Agent in Duaer
Connect a chat model to an AI Agent in Duaer, then add tools when you need them. This page is the smallest workflow that runs.
## Get one model reply first
1. Place a trigger on the canvas (chat trigger or a manual run).
2. Add an AI Agent, connect Duaer Chat Model, and pick a model from its Model dropdown. Refer to [Pick a model in Duaer Chat Model](/build/duaer-chat-model.md).
3. Skip tools at first. Save and run so you know the credential and model name are right.
An Agent uses the model to decide the next step. A plain chain follows the order you wired. The tip on the Agent node links here. If you do not yet know how to save and run a workflow, learn that on the canvas first.
## Then add tools
After the model answers, connect tool nodes to the Agent. When a tool parameter should be filled by the model, use [$fromAI](/advanced-ai/examples/using-the-fromai-function.md). When answers should come from your own documents, read [RAG](/advanced-ai/rag-in-duaer.md).
This page does not expand every embedding or vector-store field. The goal is: the Agent runs, a tool can be called, and you know which doc is next.
## Questions
### Where does the Duaer AI intro start?
At the AI Agent node. Connect a chat model first and confirm one reply, then add tools when you need them. This page is the smallest workflow that runs. It is not the credential guide for every model vendor.
### How is a Duaer Agent different from a plain chat-model chain?
An Agent uses the model to decide which tool to call next. A plain chain follows the order you wired. The tip on the Agent node links here because that is where most people first meet Duaer’s AI features.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/advanced-ai/agents.md).
# 在 Duaer 里打开 Agents
Duaer 的设置 › Agents 为整台实例打开 Agents,并显示与 Duaer 设计师 共用的沙箱。
## 为实例打开 Agents
1. 打开设置 › Agents。
2. 打开「启用智能体」。
关掉之后,新的运行进不去,排队中的消息会被取消。已经在跑的可以跑完。已保存的智能体和历史还在,再次打开后仍可用。
## 共用沙箱
Agents 和 Duaer 设计师 用同一套沙箱连接。在这一页改沙箱,两边一起变。
Duaer 设计师 关着时,用环境变量配置沙箱,或先打开 Duaer 设计师 再在这里管理。
## 单个智能体的用量
1. 打开该智能体的用量与限额。
2. 设置每月预算、提醒百分比,以及单次会话费用上限。
达到每月预算或单次会话上限后,该智能体停止。预算提醒要先有每月预算。
## 放到 Duaer Chat
把智能体设为可用后,该项目里的人都能在 Duaer Chat 里找到它。描述可选,用来说明它能帮什么。
## 对话里的计划
智能体在 Duaer 里列出计划时,对话里显示标题,以及完成了几项。一项可以是待处理、进行中、完成、失败或已取消。
计划改动被拒绝时,这一步会写明被拒绝。展开它可看原因,也可以打开追踪。
## 用 WhatsApp 收消息
1. 给该智能体接上 WhatsApp Business 凭证。
2. 发布之后,复制回调地址和验证令牌。
3. 在 Meta 应用后台打开 WhatsApp → Configuration,粘贴这两项,点 Verify and save,并订阅 messages。
智能体在 Meta 的 24 小时客服窗口内接收并回复。WABA ID 和访问令牌在 WhatsApp → API Setup,应用密钥在 App Settings → Basic。
## Questions
### 在 Duaer 里关掉 Agents 之后,正在跑的会停吗?
已经开始的运行可以跑完。新的运行进不去,排队中的消息会被取消。已保存的智能体和历史还在。
### Duaer 的 Agents 和 Duaer 设计师 是不是共用沙箱?
是。设置 › Agents 里改沙箱,Duaer 设计师 也用这一套。
### Duaer 的智能体怎样接收 WhatsApp 消息?
接上 WhatsApp Business 凭证,发布后把回调地址和验证令牌填进 Meta 的 WhatsApp Configuration,并订阅 messages。回复限制在 24 小时客服窗口内。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/advanced-ai/agents.md).
# Turn Agents on in Duaer
In Duaer, Settings > Agents turns Agents on for the instance and shows the sandbox shared with Duaer Designer.
## Turn Agents on for the instance
1. Open Settings > Agents.
2. Turn on Enable Agents.
Turning it off blocks new runs and cancels pending messages. A run that has already started can finish. Saved agents and history stay, and they are available again when you turn Agents back on.
## Shared sandbox
Agents and Duaer Designer use the same sandbox connection. A change on this page affects both.
When Duaer Designer is off, set the sandbox with environment variables, or turn Duaer Designer on and manage the sandbox here.
## Limits on one agent
1. Open Usage and limits on that agent.
2. Set a monthly budget, an alert percent, and a cost cap per session.
The agent stops when it reaches the monthly budget or the session cap. The budget alert needs a monthly budget.
## Offer the agent in Duaer Chat
After you make the agent available, everyone in that project can find it in Duaer Chat. The description is optional. Use it to say what the agent can help with.
## A plan in the chat
When an agent lists a plan in Duaer, the chat shows the title and how many tasks are done. A task can be pending, in progress, done, failed, or canceled.
When a plan change is rejected, that step says so. Expand it for the reason, or open the trace.
## Receive messages on WhatsApp
1. Connect a WhatsApp Business credential to the agent.
2. After you publish, copy the callback URL and the verify token.
3. In the Meta App Dashboard, open WhatsApp, then Configuration. Paste both values, choose Verify and save, and subscribe to messages.
The agent receives messages and replies inside Meta’s 24-hour customer service window. The WABA ID and access token are under WhatsApp, then API Setup. The app secret is under App Settings, then Basic.
## Questions
### Does a running agent stop when you turn Agents off in Duaer?
A run that has already started can finish. New runs are blocked and pending messages are canceled. Saved agents and history stay.
### Do Agents and Duaer Designer share a sandbox?
Yes. The sandbox on Settings > Agents is the one Duaer Designer uses too.
### How does an agent in Duaer receive WhatsApp messages?
Connect a WhatsApp Business credential, publish, then paste the callback URL and verify token into WhatsApp Configuration in Meta and subscribe to messages. Replies stay inside the 24-hour customer service window.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/advanced-ai/chat-hub.md).
# 在 Duaer 里使用 Chat hub
Chat hub 给人一个对话入口,不必进画布。Duaer v3 起默认关闭,可用 DUAER_ENABLED_MODULES 暂时打开。
## 对话入口,不是画布
Chat hub 让人用对话使用已接好的能力,而不必打开工作流程编辑器。它和单次执行记录、Insights 汇总不是同一块界面。
1. 在导航里打开 Chat(模块已启用时)。
2. 选择模型或可用的工作流程 Agent。
3. 开始对话。
Duaer v3 默认关掉 Chat hub,Chat 区从界面消失。要临时保留,把 chat-hub 写进环境变量 DUAER_ENABLED_MODULES。v4 会去掉这个功能。见 [v3 破坏性变更](/zh/changelog/v30-breaking-changes.md)。
## Chat 用户角色
Chat 用户角色面向主要只使用 Chat、不必改工作流程的人。产品里关于 Chat 用户的说明链到这一节。把某人设成这个角色,不等于给他画布上的管理员权限。
没有 Chat hub(或模块未启用)时,这个角色没有对应的入口可用。
## Questions
### Duaer 的 Chat hub 在 v3 之后还默认开着吗?
不默认开。Duaer v3 起 Chat hub 默认关闭,界面上的 Chat 区会消失。把 chat-hub 写进 DUAER_ENABLED_MODULES 才能再打开。v4 会去掉这个功能。
### Duaer 的 Chat 用户角色能改工作流程吗?
默认不能。Chat 用户主要只通过 Chat hub 对话,进不了画布去改工作流程或凭证。没有 Chat hub(或模块未启用)时,这个角色没有对应入口。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/advanced-ai/chat-hub.md).
# Use Chat hub in Duaer
Chat hub gives people a chat entry without the canvas. From Duaer v3 it is off by default. You can turn it on temporarily with DUAER_ENABLED_MODULES.
## A chat entry, not the canvas
Chat hub lets people use connected capabilities through conversation, without opening the digital-organization editor. It is not the same screen as one execution record or Insights.
1. Open Chat in the navigation (when the module is enabled).
2. Pick a model or an available digital-organization Agent.
3. Start the conversation.
Duaer v3 turns Chat hub off by default, and the Chat section leaves the UI. To keep it for a while, add chat-hub to DUAER_ENABLED_MODULES. v4 removes the feature. See [v3 breaking changes](/changelog/v30-breaking-changes.md).
## Chat user role
The Chat user role is for people who mainly use Chat and do not need to edit workflows. Product notes about Chat users link to this section. Giving someone this role is not the same as making them a canvas admin.
Without Chat hub (or with the module disabled), that role has no matching entry point.
## Questions
### Is Chat hub still on by default after Duaer v3?
No. From Duaer v3, Chat hub is off by default and the Chat section leaves the UI. Add chat-hub to DUAER_ENABLED_MODULES to turn it back on. v4 removes the feature.
### Can a Duaer Chat user edit workflows?
Not by default. A Chat user mainly talks through Chat hub and does not get the canvas to edit workflows or credentials. Without Chat hub (or with the module off), that role has no matching entry.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/advanced-ai/rag-in-duaer.md).
# 在 Duaer 里用 RAG 检索相关上下文
把文档写入向量库,提问时再检索片段交给模型。Duaer 的 RAG 通常分成加载和检索两条分支。
## 什么是 RAG
RAG 把语言模型和外部资料合在一起用。提问时先取出相关片段,再交给模型,而不是只靠模型训练时见过的内容。向量库按语义相近检索,不是简单关键词匹配。
## 写入向量库
1. 用节点取到源文件或文本。
2. 加上向量存储节点,操作为插入文档。
3. 接上嵌入模型,把文本变成向量。
4. 用数据加载器切块;需要时给块加上元数据。
## 检索
在 Agent 上把同一向量库当工具接上,并使用写入时同一套嵌入模型;或直接用向量存储节点的查询操作。设好返回条数,需要时打开包含元数据。
不要把整份长文每次都塞进提示。换了嵌入模型却不重写库,检索会答非所问。模板说明链到这一页。
## Questions
### Duaer 里的 RAG 指什么?
先把文档写入向量库,提问时再检索相关片段,交给模型当上下文。它不是把整份文件塞进每一次提示。
### Duaer 里换了嵌入模型要不要重建向量库?
要。写入和检索必须用同一套嵌入模型。换了模型却不重写库,检索会答非所问。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/advanced-ai/rag-in-duaer.md).
# Retrieve relevant context with RAG in Duaer
Write documents into a vector store, then retrieve pieces for the model when someone asks. Duaer RAG usually has a load branch and a retrieve branch.
## What RAG is
RAG combines a language model with external material. On a question, relevant pieces are retrieved and handed to the model, instead of relying only on what the model saw in training. A vector store searches by semantic closeness, not simple keyword match.
## Insert into the vector store
1. Fetch the source files or text with nodes.
2. Add a vector-store node and choose insert documents.
3. Connect an embedding model that turns text into vectors.
4. Split into chunks with a data loader. Add metadata to chunks when you need it.
## Retrieve
Attach the same vector store as a tool on an Agent, using the same embedding model you used on insert, or query with the vector-store node directly. Set how many chunks to return, and include metadata when you need it.
Do not stuff a whole long document into every prompt. If you change the embedding model and do not rebuild the store, retrieval answers the wrong thing. Template notes link here.
## Questions
### What does RAG mean in Duaer?
Write documents into a vector store, retrieve matching pieces when someone asks, and give those pieces to the model as context. It is not stuffing the whole file into every prompt.
### In Duaer, do you rebuild the vector store when you change the embedding model?
Yes. Insert and retrieve must use the same embedding model. If you change the model and do not rebuild the store, retrieval answers the wrong thing.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/advanced-ai/examples/using-the-fromai-function.md).
# 在 Duaer 里用 $fromAI 填工具参数
在 Duaer 里,$fromAI 标出由 AI Agent 在调用工具时填写的参数。键名只能含字母、数字、下划线和连字符。
## 让模型填参数
接到 AI Agent 的工具节点上,许多字段可以由模型根据任务上下文填写。字段旁的自动填充会写出表达式;也可以自己写 $fromAI。
$fromAI 只用于接到 Agent 的工具。它不是普通画布变量,也不会去读 [$vars](/zh/code/variables.md)。
## 写法和示例
最小写法:
```
$fromAI('email')
```
带说明、类型和默认值:
```
$fromAI('name', "The commenter's name", 'string', 'Jane Doe')
```
键名长度 1–64,只能含字母、数字、下划线和连字符,不能有空格。不合规则表达式会报错。
## 模型要求动态参数时
Google Gemini、Vertex 等在带工具时,要求至少有一个参数是动态的。一个 $fromAI 都没有,节点会提示你打开这一页。先给真正该由模型填的字段加上 $fromAI,不要为了过检查而乱加无意义的键。
## Questions
### Duaer 的 $fromAI 用在什么地方?
用在接到 AI Agent 的工具节点参数上。写法是 $fromAI('键名'),还可以带说明、类型和默认值。键名只能含字母、数字和下划线。
### 为什么 Duaer 里有的模型要求至少一个动态参数?
Google Gemini、Vertex 等在带工具调用时,要求至少有一个参数由模型填写。用 $fromAI 标出那个参数。一个都没有时,节点会链到这一页。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/advanced-ai/examples/using-the-fromai-function.md).
# Use $fromAI for tool parameters in Duaer
In Duaer: $fromAI marks a parameter the AI Agent fills when it calls a tool. Keys may only use letters, numbers, underscores, and hyphens.
## Let the model fill the parameter
On tool nodes connected to an AI Agent, many fields can be filled by the model from the task context. The auto-fill control on a field writes the expression for you. You can also write $fromAI yourself.
$fromAI is only for tools connected to an Agent. It is not an ordinary canvas variable, and it does not read [$vars](/code/variables.md).
## Syntax and examples
The smallest form:
```
$fromAI('email')
```
With a description, type, and default:
```
$fromAI('name', "The commenter's name", 'string', 'Jane Doe')
```
The key must be 1–64 characters and may only use letters, numbers, underscores, and hyphens. Spaces are not allowed. An invalid key throws from the expression.
## When the model requires a dynamic parameter
Google Gemini, Vertex, and similar setups require at least one dynamic parameter when tools are used. With no $fromAI at all, the node tells you to open this page. Add $fromAI on fields the model should really fill. Do not invent a meaningless key only to pass the check.
## Questions
### Where do you use $fromAI in Duaer?
On parameters of tool nodes connected to an AI Agent. Write $fromAI('key'). You can add a description, a type, and a default. The key may only use letters, numbers, and underscores.
### Why do some models in Duaer require at least one dynamic parameter?
Google Gemini, Vertex, and similar setups need at least one parameter filled by the model when tools are used. Mark that parameter with $fromAI. With none at all, the node links here.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/advanced-ai/evaluations/overview.md).
# 在 Duaer 里理解为什么要做评估
在 Duaer 里,用评估对照已知测试样例,确认 AI 工作流程在多种输入下仍然可靠。
## 评估是什么
评估是检查 AI 工作流程是否可靠的方法。它可以把脆弱的演示做成能上线的流程。搭建阶段和发布之后都需要。
评估的基础是把一份测试集跑过工作流程。测试集里有多条用例;每条至少有一份输入,常常还带期望输出。
- 在多种输入下试跑,看到边界情况表现如何
- 改提示或模型时更有把握,避免修好一处坏了别处
- 对照不同模型或提示的表现
## 为什么需要评估
模型不像普通代码那样可推演。它们像黑箱,只能靠多条真实输入跑出来再看输出。
只有覆盖生产里会遇到的边界样例之后,才能相信这个工作流程在线上也稳。
## 两种评估
轻量评估(上线前):先手写少量样例就够迭代到可发布或可演示。并排看输出即可,不必先上正式指标。步骤见 [轻量评估](/zh/advanced-ai/evaluations/light-evaluations.md)。
基于指标的评估(上线后):用生产执行补大测试集。发现 bug 就把那次输入加进集;修好后再整集回归。样例太多时用数字指标汇总质量,并在评估页追踪变化。见 [用指标衡量质量](/zh/advanced-ai/evaluations/metric-based-evaluations.md)。
## 两种方式怎么对照
- 每次改动的提升:轻量阶段通常很大;指标阶段通常较小
- 测试集规模:轻量小;指标大
- 数据来源:轻量多为手写或少量生成;指标常来自生产执行,也可再生成
- 实际输出:两种都需要
- 期望输出:轻量可选;指标通常需要
- 评估指标:轻量可选;指标必需
接线卡壳或结果空着时,先看 [常见问题](/zh/advanced-ai/evaluations/tips-and-common-issues.md)。画布「评测」页的「更多信息」也指到这一页。
## Questions
### Duaer 里的评估是做什么的?
在 Duaer 里,评估用测试集反复跑同一条 AI 工作流程,对照输出是否可靠。构建期和上线后都要用。
### 轻量评估和基于指标的评估怎么选?
样本少、还在改提示时用轻量评估,肉眼对照输出即可。样本变多、要回归时改用指标评估,把分数记进评估页。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/advanced-ai/evaluations/overview.md).
# Understand why to evaluate in Duaer
In Duaer, use evaluations against known test cases so AI workflows stay reliable across inputs.
## What evaluations are
Evaluation is how you check that an AI workflow in Duaer is reliable. It is often what turns a flaky demo into something you can ship. You need it while building and after you go live.
The foundation is running a test dataset through the workflow. The dataset has many cases. Each case has a sample input, and often the expected output too.
- Try a range of inputs so you see edge-case behavior
- Change prompts or models with more confidence, without breaking something else
- Compare performance across models or prompts
## Why evaluation is needed
Models are not like ordinary code you can reason about. They are black boxes. You measure them by running real inputs and reading the outputs.
You only gain confidence after enough cases that match the edge cases production will see.
## Two types of evaluation
Light evaluation (before go-live): a handful of hand-written examples is often enough to reach a releasable or proof-of-concept state. Compare outputs side by side without formal metrics yet. Steps are in [light evaluations](/advanced-ai/evaluations/light-evaluations.md).
Metric-based evaluation (after go-live): grow the set from production runs. When you find a bug, add that input. After a fix, rerun the whole set as a regression. When there are too many rows to read one by one, score quality with metrics and track them on the evaluations view. See [use metrics to measure quality](/advanced-ai/evaluations/metric-based-evaluations.md).
## How the two types compare
- Gain per iteration: large in light evaluation; smaller once you use metrics
- Dataset size: small for light; large for metrics
- Dataset sources: mostly hand-written (or lightly generated) for light; often production executions for metrics, plus optional generated rows
- Actual outputs: required for both
- Expected outputs: optional for light; usually required for metrics
- Evaluation metric: optional for light; required for metrics
When wiring fails or scores stay empty, start with [common issues](/advanced-ai/evaluations/tips-and-common-issues.md). The Evaluations tab “More info” link also points here.
## Questions
### What are evaluations in Duaer?
In Duaer, evaluations run an AI workflow over a test set so you can see whether outputs stay reliable. Use them while building and after you go live.
### When should I use light vs metric-based evaluation in Duaer?
Use light evaluation while the set is small and you are still changing prompts—compare outputs by eye. Switch to metric-based evaluation when the set grows and you need regression scores on the evaluations view.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/advanced-ai/evaluations/light-evaluations.md).
# 在 Duaer 里做轻量评估
在 Duaer 里,开发阶段用少量已知样例跑工作流程,并排查看输出,先不必上正式指标。
## 轻量评估做什么
搭工作流程时,先用几条样例感受表现并迭代。这一阶段并排看输出通常就够,正式打分的收益还不抵成本。
轻量评估会按测试集一行一行跑工作流程,并把实际输出写回数据集,方便和期望输出对照。
## 怎么做
1. 建数据集:在项目数据表或 Google 表格里放少量样例。列要有输入、可选的期望输出,以及留给实际输出的空列。用 Google 表格时先配好 Sheets 凭证。
2. 接上评估触发器:放 Evaluation Trigger,让它一次吐出一行。点「全部评估」会对每一行依次跑整个工作流程。接线时若只想跑一行,把「最多处理行数」设为 1,或只执行该触发器节点。
3. 把触发器接到后面:至少把输入列接到后面节点。若还有生产触发器,先把两路整理成同一 JSON 形状再合并,见 [组合多个触发器](/zh/advanced-ai/evaluations/tips-and-common-issues.md#combining-multiple-triggers)。
4. 写回输出:在已经算出结果的位置后加 Evaluation 节点的 Set outputs,把字段映射到数据集的实际输出列。
5. 运行评估:从评估触发器一侧执行工作流程。每一行都会跑一遍。在数据表或表格里看输出;需要细节时打开执行列表。
样例变多之后,改用 [基于指标的评估](/zh/advanced-ai/evaluations/metric-based-evaluations.md) 看汇总分数。概念说明见 [评估概览](/zh/advanced-ai/evaluations/overview.md)。
## Questions
### Duaer 的轻量评估做什么?
用少量测试行逐条跑工作流程,把实际输出写回数据表或表格,方便并排查看。这时通常还不需要正式分数。
### 测试集可以放在哪里?
用项目里的数据表,或接好凭证的 Google 表格。列里要有输入、可选的期望输出,以及留给实际输出的空列。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/advanced-ai/evaluations/light-evaluations.md).
# Run light evaluations in Duaer
In Duaer, during development run a workflow against a few known cases and compare outputs side by side before you add formal metrics.
## What light evaluations are
While you build a workflow, a handful of examples is often enough to see how it behaves and to improve it. At that stage, reading the outputs side by side is usually enough. Formal scoring is not worth the setup yet.
Light evaluation runs each test row through the workflow and writes the actual outputs back into the dataset so you can compare them to expected outputs when you have them.
## How to run one
1. Create a dataset: put a few examples in a project data table or Google Sheet. Include input columns, optional expected outputs, and empty columns for actual outputs. For Sheets, add a Google Sheets credential first.
2. Wire Evaluation Trigger: add Evaluation Trigger so each run emits one row. Evaluate all runs the workflow once per row. While wiring, set Max rows to process to 1, or execute only the trigger node, if you want a single row.
3. Connect it to the rest: use at least the input columns later in the flow. If you also have a production trigger, reshape both branches to the same JSON and merge them. See [combining multiple triggers](/advanced-ai/evaluations/tips-and-common-issues.md#combining-multiple-triggers).
4. Write outputs back: after the workflow produces the values you care about, add the Evaluation node’s Set outputs action and map those fields into the actual-output columns.
5. Run the evaluation: execute from the evaluation trigger side. Each dataset row runs once. Review outputs in the table or sheet; open Executions when you need detail.
When the set grows past a handful of rows, move to [metric-based evaluation](/advanced-ai/evaluations/metric-based-evaluations.md) for summary scores. Concepts are in the [evaluations overview](/advanced-ai/evaluations/overview.md).
## Questions
### What does a light evaluation do in Duaer?
It runs a small set of test rows through the workflow one by one and writes actual outputs back to a data table or sheet so you can compare them side by side. Formal scores are usually optional at this stage.
### Where can the test dataset live?
In a project data table, or in Google Sheets after you add a Sheets credential. Include input columns, optional expected outputs, and empty columns for actual outputs.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/advanced-ai/evaluations/metric-based-evaluations.md).
# 在 Duaer 里用指标衡量质量
在 Duaer 里,按测试集跑 AI 工作流程,把算好的分数记进评估结果,用来对照不同版本。
## 测试集和评估节点
用 Evaluation Trigger(或文档所说的测试数据来源)一次取一行测试数据。工作流程跑完后,Evaluation 节点收集分数。分数出现在评估页,不一定写回表格。
## 计算指标
1. 在 Evaluation 节点之前,用 Code、对比节点或 Set Metrics 算出正确率、相关性等字段。
2. 把这些字段映射进 Evaluation 节点。
3. 打开评估页,点运行测试,对照汇总分数。
节点上“查看指标示例”链到这一节。映射的名字要和前面算出来的字段一致,否则评估页是空的或错的。生产运行里若不想算指标,可先用“是否在评估”分支包住指标逻辑。概念见 [评估概览](/zh/advanced-ai/evaluations/overview.md);样例还少时先做 [轻量评估](/zh/advanced-ai/evaluations/light-evaluations.md)。
## Questions
### Duaer 的基于指标的评估做什么?
按测试集跑工作流程,把你算好的分数记进评估结果。分数在评估页看。指标要在 Evaluation 节点之前算好,再映射进去。
### Duaer 评估里的指标从哪里来?
从你在工作流程里算出来的字段来,也可以用 Evaluation 节点的 Set Metrics。Duaer 不会替你发明和业务无关的分数。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/advanced-ai/evaluations/metric-based-evaluations.md).
# Use metrics to measure quality in Duaer
In Duaer: Run an AI workflow against a test set and record scores you calculated, so you can compare versions over time.
## Test set and Evaluation node
Use Evaluation Trigger (or the test-data source the docs name) to take one test row at a time. After the workflow runs, the Evaluation node collects scores. Scores show on the evaluations view. They do not have to be written back to a sheet.
## Calculate metrics
1. Before the Evaluation node, use Code, comparison nodes, or Set Metrics to produce fields such as accuracy or relevance.
2. Map those fields into the Evaluation node.
3. Open the evaluations view, run a test, and compare the summary scores.
The “view metric examples” note on the node links to this section. Mapped names must match the fields you calculated earlier. Otherwise the evaluations view is empty or wrong. In production, wrap metric logic behind a check-if-evaluating branch when you do not want to score every live run. Concepts are in the [evaluations overview](/advanced-ai/evaluations/overview.md). For a small set, start with [light evaluations](/advanced-ai/evaluations/light-evaluations.md).
## Questions
### What does a metric-based evaluation do in Duaer?
It runs the workflow against a test set and records scores you calculated. Scores show on the evaluations view. Calculate metrics before the Evaluation node, then map them in.
### Where do evaluation metrics in Duaer come from?
From fields you calculate in the workflow, or from Set Metrics on the Evaluation node. Duaer does not invent a score that has nothing to do with your work.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/advanced-ai/evaluations/tips-and-common-issues.md).
# 在 Duaer 里修好评估里常见问题
在 Duaer 里,多个触发器、字段对不上、或聊天输出被评估节点抢走时,先查接线。
## 组合多个触发器
1. 先执行生产或手动触发,复制它的输出 JSON 形状。
2. 在 Evaluation Trigger 后面用 Set 节点,把测试行改成同一形状。
3. 用 No Operation 把两路合并,后面的节点只引用这一处输出。
评估跑起来时,应由 Evaluation Trigger 拉测试行。其它触发器若同时开火,会出现“有时像评估、有时像生产”的混乱。Evaluation Trigger 上的接线提示链到这一节。
## 行进了,分数却空
先确认测试行的字段名和后面节点读的名字一致。再确认指标在 [计算指标](/zh/advanced-ai/evaluations/metric-based-evaluations.md#2-calculate-metrics) 那一步真的算出来了。一个工作流程只能有一个 Evaluation Trigger;要测不同部分,拆成 [子工作流程](/zh/flow-logic/subworkflows.md)。
## Questions
### Duaer 评估工作流程里能不能有多个触发器?
可以,但评估跑的时候应由 Evaluation Trigger 拉测试行。其它触发器不要同时开火。把两路合成同一格式后再往下接。
### Duaer 里一个工作流程能配几套评估?
一套。每个工作流程只能有一个 Evaluation Trigger。要测不同部分,把它们拆成子工作流程分别评估。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/advanced-ai/evaluations/tips-and-common-issues.md).
# Fix common evaluation issues in Duaer
In Duaer, when triggers, field maps, or chat output fight the evaluation nodes, check the wiring first.
## Combining multiple triggers
1. Run the production or manual trigger once and copy its output JSON shape.
2. After Evaluation Trigger, use a Set node so each test row matches that shape.
3. Merge both branches with No Operation. Later nodes read only that shared output.
While an evaluation runs, Evaluation Trigger should pull the test rows. If another trigger fires at the same time, runs look sometimes like evaluation and sometimes like production. The wiring tip on Evaluation Trigger links to this section.
## The row arrived, but scores are empty
Confirm the test-row field names match what later nodes read. Confirm the metrics were really calculated in [calculate metrics](/advanced-ai/evaluations/metric-based-evaluations.md#2-calculate-metrics). Each workflow may have only one Evaluation Trigger. To test different parts, split them into [sub-workflows](/flow-logic/subworkflows.md).
## Questions
### Can a Duaer evaluation workflow have more than one trigger?
Yes, but Evaluation Trigger should pull the test rows while an evaluation runs. Other triggers should not fire at the same time. Merge both branches into one shape before later nodes.
### How many evaluations can one Duaer workflow have?
One. Each workflow may have only one Evaluation Trigger. To test different parts, put them in sub-workflows and evaluate each one.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/advanced-ai/mcp/accessing-duaer-mcp-server.md).
# 打开 Duaer MCP 服务端
在 Duaer 里,把实例暴露为 MCP 服务端,让外部客户端按授权操作工作流程。先在实例里打开访问。
## 实例侧先开
1. 打开 Duaer 的 Settings › 实例级 Duaer。
2. 点「启用 Duaer 访问」。
3. 在「连接详情」里记下客户端要用的地址和鉴权材料。
打开之前,外部客户端没有可连的服务端。云上新用户引导也会把文档指到这里。客户端怎么填,见 [连接 MCP](/zh/connect/connect-to-duaer-mcp-server.md)。云上入口也可能写作 [MCP 访问](/zh/manage-cloud/mcp-access.md)。
## 每个 Duaer 组织各自开关
在 Duaer 里,实例级 Duaer 的开关和「自动开放新工作流程」按 Duaer 组织分开保存。组织所有者或管理员可以为自己的组织打开或关闭,别的组织不受影响。普通成员看到的开关是灰的,悬停会说明只有 Duaer 组织所有者或管理员可以修改。
从没设置过的组织沿用实例原来的全局值,所以升级后什么都不会变。自动开放只作用于本组织新建的工作流程。
- API 密钥按它绑定的组织检查;OAuth 令牌和授权页按用户当前所在的组织检查。绑定到某一个 Duaer 组织的密钥,列出和读取凭证时只看到该组织的凭证。
- 组织关闭时,它的密钥和令牌收到「MCP access is disabled」。
- 允许的回调 URL 和「所有已连接客户端」仍只由平台所有者管理。
- 设置了 `DUAER_MCP_MANAGED_BY_ENV` 时,开关被锁定,`DUAER_MCP_ACCESS_ENABLED` 的值作用于所有组织。
## 流程数据
授权里勾选「流程」(`process:read`) 后,客户端可以用三个只读工具读流程数据,范围和员工门户里这个人能看到的一样:
- `get_process_overview`:事项数和事件数、各步骤有多少事项、最常走的几条路径,以及最忙的步骤间等待的中位和 P90 时长。
- `list_process_findings`:这个人能看到完整流程的数据来源上的流程发现,包括瓶颈、等待、可能超时、在等下一级、返工和 SOP 偏离,附事项数、超时占比、状态和可能原因;可能超时还附有过去超时的占比。
- `get_process_case`:按编号读一个事项:对象类型、每一步和时间、当前步骤、是否可能超时、上级和下一级事项。看不到或不存在的编号都只返回 found: false。
组织需要打开「流程」功能;流程发现还需要打开「流程发现」。工具只读,不会改动任何数据。
## Questions
### 在 Duaer 打开 MCP 服务端之后外部能做什么?
支持 MCP 的客户端可以按授权创建或执行工作流程。开通在实例的 MCP 访问设置里。客户端怎么填地址见连接页。
### Duaer 这一页和连接 MCP 客户端页有什么区别?
这一页讲在 Duaer 里打开访问。连接客户端、鉴权和工具列表见连接页。两边都要配好,客户端才能调到实例。
### 谁能为 Duaer 组织打开 MCP 访问?
Duaer 组织的所有者或管理员,在 Settings › 实例级 Duaer 里为自己的组织开关。别的组织不受影响;没设置过的组织沿用实例原来的全局值。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/advanced-ai/mcp/accessing-duaer-mcp-server.md).
# Turn on the Duaer MCP server
In Duaer, expose the instance as an MCP server so outside clients operate workflows with permission. Turn access on in the instance first.
## Turn it on on the instance first
1. In Duaer, open Settings › Instance level Duaer.
2. Select Enable Duaer access.
3. Under Connection details, note the URL and auth material the client needs.
Until it is on, an outside client has no server to reach. Cloud onboarding for new users also points docs here. How the client fills in the URL and auth is [connect to MCP](/connect/connect-to-duaer-mcp-server.md). On cloud, the entry may also be labelled [MCP access](/manage-cloud/mcp-access.md).
## Each Duaer organization has its own switch
In Duaer, the Instance level Duaer switch and Auto-expose new workflows are saved per Duaer organization. The owner or an admin turns access on or off for their own organization; other organizations are unaffected. Members see the switch disabled with “Only the Duaer organization owner or an admin can change this”.
An organization that never chose follows the old instance-wide value, so nothing changes on upgrade. Auto-expose applies only to new workflows in that organization.
- An API key is checked against the organization it is bound to. An OAuth token and the consent screen are checked against the user’s current organization. A key bound to one Duaer organization lists and reads only that organization’s credentials.
- When an organization is off, its keys and tokens get “MCP access is disabled”.
- Allowed callback URLs and All connected clients stay with the platform owner.
- With `DUAER_MCP_MANAGED_BY_ENV` set, the switch is locked and `DUAER_MCP_ACCESS_ENABLED` applies to every organization.
## Process data
With Process (`process:read`) granted, a client can read process data through three read-only tools, as far as the person sees it on the employee portal:
- `get_process_overview`: how many cases and events, how many cases reach each step, the most common paths, and the median and p90 hours of the busiest connections.
- `list_process_findings`: findings on the sources whose whole process the person sees: bottlenecks, waiting, likely late, waiting on a lower level, rework and SOP breaches, with cases, share over the limit, status and likely cause; likely late adds the share of comparable cases that went over.
- `get_process_case`: one case by its id: object type, each step with its time, the current step, whether it is likely late, its parent and lower-level cases. An id the person cannot see, or that does not exist, returns found: false.
The organization needs Process on, and Process findings on for findings. The tools only read; they change nothing.
## Questions
### What can an outside client do after the Duaer MCP server is on?
An MCP-capable client can, with permission, create or run workflows. You turn access on in the instance MCP settings. How the client fills in the URL is on the connect page.
### How is this Duaer page different from the connect-an-MCP-client page?
This page turns MCP access on inside Duaer. Connecting a client, authentication, and the tool list are on the connect page. Both sides must be set before the client can reach the instance.
### Who can turn on MCP access for a Duaer organization?
The owner or an admin of that Duaer organization, under Settings › Instance level Duaer. Other organizations are unaffected, and an organization that never chose follows the old instance-wide value.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/advanced-ai/ai-workflow-builder.md).
# 用 AI 起草 Duaer 工作流程
在 Duaer 里,用自然语言描述目标,构建器生成或修改工作流程节点。仍要你在画布上确认。
## 怎么用构建器
1. 描述要自动化的事,或选一条示例提示。
2. 看着构建器选节点、连线并填参数。
3. 在画布上核对凭证、表达式和触发,再保存。
它不会在未确认时把生产触发直接上线。产出的仍是普通工作流程,可以用 [评估](/zh/advanced-ai/evaluations/overview.md) 去测。自托管要先配好 [Duaer 设计师](/zh/deploy/host-duaer/configure-duaer/set-up-ai-assistant.md);云上见 [云上的 Duaer 设计师](/zh/manage-cloud/ai-assistant.md)。
## Questions
### Duaer 的 AI 构建器会自动上线生产触发吗?
不会。它根据描述起草或改工作流程,仍要你在画布上确认凭证、参数和触发。构建结果仍是普通工作流程节点。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/advanced-ai/ai-workflow-builder.md).
# Draft Duaer workflows with AI
In Duaer, describe your goal in plain language. The builder generates or edits digital-organization nodes. You still confirm on the canvas.
## Work with the builder
1. Describe the automation, or pick an example prompt.
2. Watch the builder choose nodes, connect them, and fill parameters.
3. On the canvas, check credentials, expressions, and the trigger, then save.
It does not put a production trigger live without confirmation. The result is still an ordinary workflow. You can test it with [evaluations](/advanced-ai/evaluations/overview.md). Self-hosted setups configure [Duaer Designer](/deploy/host-duaer/configure-duaer/set-up-ai-assistant.md) first. On cloud, see [Duaer Designer on cloud](/manage-cloud/ai-assistant.md).
## Questions
### Does the Duaer AI builder put a production trigger live by itself?
No. It drafts or edits a workflow from your description. You still confirm credentials, parameters, and the trigger on the canvas. The result is still ordinary digital-organization nodes.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/connect/connect-to-duaer-mcp-server.md).
# 把 MCP 客户端连到 Duaer
在 Duaer 打开 MCP 访问后,把连接地址和鉴权写进客户端配置。
## 地址和鉴权
1. 确认实例侧已 [打开 MCP](/zh/advanced-ai/mcp/accessing-duaer-mcp-server.md)。
2. 从 MCP 访问设置复制地址和鉴权材料。
3. 粘进 Cursor、Claude Desktop 或其它 MCP 客户端的配置。
鉴权落在某个用户或令牌的权限里。客户端不能靠 MCP 绕过角色去改没有权限的工作流程。路径在产品里可能不带末尾斜杠,和带斜杠是同一页。
## Questions
### 怎么把客户端连到 Duaer 的 MCP?
在 Duaer 打开 MCP 访问,拿到连接地址和鉴权,写进客户端的 MCP 配置。产品里的 MCP 文档链接打开这一页。
### Duaer MCP 用的是用户权限还是万能钥匙?
按实例配置的鉴权来,通常落在某个用户或令牌的权限范围内。不能靠 MCP 绕过角色去改没有权限的工作流程。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/connect/connect-to-duaer-mcp-server.md).
# Connect an MCP client to Duaer
After MCP access is on in Duaer, put the connection URL and auth into the client config.
## URL and auth
1. Confirm instance access is [turned on](/advanced-ai/mcp/accessing-duaer-mcp-server.md).
2. Copy the URL and auth material from MCP access settings.
3. Paste them into Cursor, Claude Desktop, or another MCP client config.
Auth stays inside a user’s or token’s scopes. An MCP client cannot bypass roles to edit workflows it cannot access. The product may omit the trailing slash; it is the same page.
## Questions
### How do you connect a client to Duaer’s MCP?
Turn on MCP access in Duaer, take the connection URL and auth, and put them in the client’s MCP config. The MCP docs link in the product opens this page.
### Does Duaer MCP use a user’s permissions, or a master key?
It follows the auth the instance configures. That usually stays inside one user’s or token’s scopes. An MCP client cannot bypass roles to edit workflows it cannot access.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/manage-cloud/ai-assistant.md).
# 在 Duaer 云上使用 Duaer 设计师
Duaer 设计师 在云上的 Settings 里开关,用来协助改工作流程。
## 云上开关
1. 打开云实例的 Settings。
2. 打开或关闭 Duaer 设计师。
3. 回到编辑器,确认 Duaer 设计师 可用。
说明文字里的文档链接指向这一页。Duaer 设计师 能读你当前在做的工作流程上下文,具体能力以该实例方案为准。自己托管走 [自托管配置](/zh/deploy/host-duaer/configure-duaer/set-up-ai-assistant.md),不要和这一页混用。
## 数据共享关掉时的受限模式
在 AI 用量设置里关掉数据共享后,Duaer 设计师 进入受限模式。它看不到节点参数和执行数据,也不能新建或修改工作流程。打开数据共享后,这些能力恢复。
## Questions
### Duaer 云上的 Duaer 设计师 和自托管是一回事吗?
不完全是。云上在 Settings 里开关 Duaer 设计师,文档链到这一页。自托管要配模型、沙箱和环境变量,见 set-up-ai-assistant。
### Duaer 设计师 为什么不能改工作流程?
数据共享关掉时,Duaer 设计师 在受限模式里,看不到节点参数,也不能新建或修改工作流程。在 AI 用量设置里打开数据共享后恢复。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/manage-cloud/ai-assistant.md).
# Use Duaer Designer on cloud
Duaer Designer on cloud is toggled in Settings and helps edit workflows.
## The cloud toggle
1. Open Settings on the cloud instance.
2. Turn Duaer Designer on or off.
3. Return to the editor and confirm Duaer Designer responds.
The docs link in that copy points here. Duaer Designer can use the workflow you are working on. Exact capability follows the plan on that instance. A self-hosted instance uses [self-hosted setup](/deploy/host-duaer/configure-duaer/set-up-ai-assistant.md). Do not mix that page with this one.
## Limited mode when data sharing is off
When data sharing is off under AI usage settings, Duaer Designer stays in limited mode. It cannot see node parameter values or execution data, and it cannot create or edit workflows. Turn data sharing on to restore those actions.
## Questions
### Is Duaer Designer on cloud the same setup as self-hosted?
Not exactly. On cloud you toggle Duaer Designer in Settings, and docs link here. Self-hosted setups configure models, sandbox, and environment variables on the set-up-ai-assistant page.
### Why can Duaer Designer not edit a workflow?
With data sharing off, Duaer Designer stays in limited mode. It cannot see node parameters, and it cannot create or edit workflows. Turn data sharing on under AI usage settings.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/manage-cloud/mcp-access.md).
# 管理 Duaer 云上的 MCP 访问
在 Duaer 云实例上打开 MCP 访问后,外部客户端才能连接。
## 云上的入口
1. 以 Duaer 组织所有者或管理员身份打开 Settings › 实例级 Duaer。
2. 点「启用 Duaer 访问」,在「连接详情」里查看连接信息。
3. 按 [连接页](/zh/connect/connect-to-duaer-mcp-server.md) 配置客户端。
这与 [在实例打开 MCP](/zh/advanced-ai/mcp/accessing-duaer-mcp-server.md) 是同一类能力,只是云上的文档入口用了 manage-cloud 路径。开关按 Duaer 组织保存,只影响你当前所在的组织,见 [每个 Duaer 组织各自开关](/zh/advanced-ai/mcp/accessing-duaer-mcp-server.md#per-organization-access)。
## Questions
### Duaer 云上的 MCP 访问在哪里开?
在 Duaer 的 Settings › 实例级 Duaer 里,由 Duaer 组织所有者或管理员为本组织打开。打开之后,本组织的密钥和令牌才能连接。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/manage-cloud/mcp-access.md).
# Manage MCP access on Duaer cloud
After you turn on MCP access on a Duaer cloud instance, outside clients can connect.
## The cloud entry
1. As the owner or an admin of the Duaer organization, open Settings › Instance level Duaer.
2. Select Enable Duaer access, then view Connection details.
3. Configure the client from the [connect page](/connect/connect-to-duaer-mcp-server.md).
This is the same kind of capability as [turning MCP on](/advanced-ai/mcp/accessing-duaer-mcp-server.md), with a manage-cloud docs path on cloud. The switch is saved per Duaer organization and affects only your current organization. Refer to [each Duaer organization has its own switch](/advanced-ai/mcp/accessing-duaer-mcp-server.md#per-organization-access).
## Questions
### Where do you turn on MCP access on Duaer cloud?
In Duaer, under Settings › Instance level Duaer. The owner or an admin of a Duaer organization turns it on for that organization; after that, its keys and tokens can connect.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/deploy/host-duaer/configure-duaer/set-up-ai-assistant.md).
# 在自托管 Duaer 里配置 Duaer 设计师
自托管 Duaer 在 Settings 的实例 AI 向导里配置 Duaer 设计师,可选沙箱和网页搜索。环境变量要在启动前准备好。
## 向导和环境变量
1. 打开 Settings,进入 Duaer 设计师 的配置向导。
2. 按向导启用,或先写入模型相关环境变量。
3. 重启 Duaer,确认 Duaer 设计师 出现并能回复。
云上的说明在 [云上的 Duaer 设计师](/zh/manage-cloud/ai-assistant.md),不要和这一页混用。
## 配置沙箱提供方
沙箱让 Duaer 设计师 在隔离环境里执行需要试跑的步骤。向导里配置沙箱提供方时,说明链到这一节。可选 Daytona 或实例提供的沙箱类型,以界面列出的为准。
没配沙箱时,依赖沙箱的操作会不可用或显示警告。这不等于整个 Duaer 设计师 都坏了。
## 打开网页搜索
需要 Duaer 设计师 检索公开网页时,在向导里启用网页搜索。说明链到这一节。打开之后,Duaer 设计师 才能发起搜索类工具调用;关掉则不会。
## 员工对话的模型
Duaer 员工端的问 Duaer 和对话可以用和 Duaer 设计师不同的模型。管理员在 Settings 的 Duaer 设计师页面点“员工对话”,选一个已有连接,或设置新连接,再选模型。保存前会先测试这个模型,不能回复就不会保存。
新连接会存成单独的凭证,不会改动 Duaer 设计师 自己的连接和模型。没设置时,员工端的对话仍用 Duaer 设计师 的模型,问 Duaer 仍用 Duaer 模型池。要回到原样,在对话框里点“改用 Duaer 设计师的模型”。
## Questions
### 自托管的 Duaer 怎么打开 Duaer 设计师?
在 Settings 里打开 Duaer 设计师 的配置向导,或先设好模型相关环境变量再重启。沙箱和网页搜索是可选项,界面说明分别链到对应小节。
### Duaer 设计师 的沙箱是做什么的?
让 Duaer 设计师 在隔离环境里试代码或命令,而不是直接在宿主机上执行。没配沙箱时,依赖沙箱的步骤会不可用或给出警告。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/deploy/host-duaer/configure-duaer/set-up-ai-assistant.md).
# Set up Duaer Designer on a self-hosted instance
Self-hosted Duaer configures Duaer Designer in its setup wizard in Settings. Sandbox and web search are optional. Prepare environment variables before startup.
## Wizard and environment variables
1. Open Settings and go to the Duaer Designer setup wizard.
2. Enable it with the wizard, or preset the model environment variables first.
3. Restart Duaer and confirm Duaer Designer appears and responds.
Cloud notes live under [Duaer Designer on cloud](/manage-cloud/ai-assistant.md). Do not mix that page with this one.
## Configure a sandbox provider
The sandbox lets Duaer Designer run steps that need a trial execution in isolation. When the wizard configures a sandbox provider, its note links here. Choose Daytona or the sandbox type the UI lists.
Without a sandbox, actions that need one are unavailable or show a warning. That does not mean all of Duaer Designer is broken.
## Enable web search
When Duaer Designer should search the public web, turn on web search in the wizard. The note links here. After it is on, Duaer Designer can make search tool calls. When it is off, it does not.
## Model for employee conversations
Ask Duaer and conversations on the Duaer employee portal can use a different model from Duaer Designer. An admin opens Settings, goes to Duaer Designer, and selects Employee conversations. Choose an existing connection or set up a new one, then choose the model. Duaer tests the model before saving and does not save one that does not answer.
A new connection is saved as its own credential and never changes Duaer Designer's connection or model. While none is set, portal conversations keep the Duaer Designer model and Ask Duaer keeps the Duaer model pool. To go back, select Use the Duaer Designer model in the dialog.
## Questions
### How do you turn on Duaer Designer on a self-hosted instance?
Open the Duaer Designer setup wizard in Settings, or set the model environment variables and restart. Sandbox and web search are optional. UI notes link to those sections.
### What is the sandbox for Duaer Designer?
It lets Duaer Designer try code or commands in an isolated environment instead of on the host. Without a sandbox, steps that need one are unavailable or show a warning.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/deploy/host-duaer.md).
# 用 Docker 托管 Duaer
Duaer v3 起,Docker 是唯一支持的部署方式。实例检查若发现没在容器里跑,会打开这一页。
## 容器是支持边界
1. 停掉在容器外直接跑的进程。
2. 用官方镜像或你维护的同源镜像启动。
3. 带上原来的 [加密密钥](/zh/hosting/configuration/encryption-keys.md) 和数据库。
在容器外直接跑已标成不支持。升级检查和弃用提示都会链到这里。队列模式、task runner、环境变量等细节仍在 [托管](/zh/hosting/scaling/queue-mode.md) 与 deploy 子页。这一页只回答:该不该继续在裸机进程里跑。
## Questions
### Duaer v3 之后还支持在容器外直接跑吗?
不作为支持的部署方式。Duaer v3 起 Docker 是唯一支持的部署方式。实例检查如果发现没在容器里跑,会链到这一页。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/deploy/host-duaer.md).
# Host Duaer with Docker
From Duaer v3, Docker is the only supported deployment. If the instance check finds you are not in a container, it opens this page.
## Containers are the support boundary
1. Stop any process that runs Duaer outside a container.
2. Start from the official image or an image you maintain from the same source.
3. Bring the [encryption key](/hosting/configuration/encryption-keys.md) and database with you.
Running Duaer directly outside a container is marked unsupported. Upgrade checks and deprecation notes link here. Queue mode, task runners, and environment variables stay under [hosting](/hosting/scaling/queue-mode.md) and the deploy child pages. This page only answers whether you should keep running as a bare process.
## Questions
### Does Duaer still support running outside a container after v3?
Not as a supported deployment. From Duaer v3, Docker is the only supported way to deploy. If the instance check finds you are not in a container, it links here.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/deploy/host-duaer/configure-duaer/set-up-task-runners.md).
# 在 Duaer 里把 task runner 设成外部进程
Duaer 弃用内部 task runner。应单独跑 runner,设为 external,并与启动器共享 DUAER_RUNNERS_AUTH_TOKEN。
## 为什么要用 external
Task runner 在隔离进程里跑 Code 节点一类用户代码。internal 模式把 runner 当子进程拉起,与主进程同用户同主机,已弃用且不适合生产。仍用 internal 时,升级或日志会提示并链到这一页。
## 切到 external
主进程与 runner 至少要共享这些变量(值按你的部署改):
```
DUAER_RUNNERS_ENABLED=true
DUAER_RUNNERS_MODE=external
DUAER_RUNNERS_AUTH_TOKEN=your-secret-here
```
用启动器单独跑 runner,并把同一令牌配给两边。默认超时、镜像是否自带 runner,见 [task runners 托管说明](/zh/hosting/configuration/task-runners.md)。这一页管部署切法,托管页管行为细节。
## Questions
### 为什么 Duaer 提示不要再用 internal task runner?
内部模式已弃用且不安全:runner 和主进程同用户同主机。应设成 external,单独跑 runner,并共享 DUAER_RUNNERS_AUTH_TOKEN。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/deploy/host-duaer/configure-duaer/set-up-task-runners.md).
# Set up task runners as an external process in Duaer
Duaer deprecates the internal task runner. Run the runner separately, set it to external, and share DUAER_RUNNERS_AUTH_TOKEN with the launcher.
## Why external mode
Task runners execute user code such as the Code node in an isolated process. Internal mode launches the runner as a child process that shares the same user and host as the main process. That mode is deprecated and not for production. If you still use internal, upgrades or logs warn and link here.
## Switch to external
Give the main process and the runner at least these variables (change the values for your deploy):
```
DUAER_RUNNERS_ENABLED=true
DUAER_RUNNERS_MODE=external
DUAER_RUNNERS_AUTH_TOKEN=your-secret-here
```
Run the runner with the launcher as its own process, and share the same token on both sides. Default timeouts and whether the image includes a runner are under [task runners in hosting](/hosting/configuration/task-runners.md). This page is the deployment cut-over; the hosting page is the behavior detail.
## Questions
### Why does Duaer say not to keep using the internal task runner?
Internal mode is deprecated and insecure: the runner shares the same user and host as the main process. Set external mode, run the runner separately, and share DUAER_RUNNERS_AUTH_TOKEN.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/deploy/host-duaer/configure-duaer/basic-configuration/use-environment-variables/binary-data.md).
# 在 Duaer 里用环境变量配置二进制存储
在 Duaer 里,用环境变量指定二进制数据的存储模式和路径。主进程和 worker 必须同一套配置。
## 模式和路径
按部署文档设置二进制存储相关变量,让主进程和 worker 读到同一套配置。队列模式里二进制读失败时,错误文案会指向这一页。
概念说明见 [二进制数据](/zh/hosting/scaling/binary-data.md)。改完重启进程。不要再使用已移除的内存模式,也不要给每个进程各写各的临时目录。
## Questions
### Duaer 的二进制环境变量管什么?
管二进制数据的存储模式和路径。主进程和 worker 必须同一套配置。内存模式已移除,不要再设回内存。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/deploy/host-duaer/configure-duaer/basic-configuration/use-environment-variables/binary-data.md).
# Configure binary storage with environment variables in Duaer
In Duaer, use environment variables for binary storage mode and path. The main process and workers must share one configuration.
## Mode and path
Set the binary-storage variables from your deploy docs so the main process and workers share one configuration. When binary reads fail in queue mode, the error copy points here.
Concepts are under [binary data](/hosting/scaling/binary-data.md). Restart after a change. Do not use the removed in-memory mode, and do not give each process its own temporary directory.
## Questions
### What do Duaer’s binary environment variables control?
Binary storage mode and path. The main process and workers must share one configuration. In-memory mode is removed. Do not set it back to memory.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/deploy/host-duaer/configure-duaer/basic-configuration/use-environment-variables/security.md).
# 在 Duaer 里配置安全相关环境变量
在 Duaer 里,SSRF 等安全开关可通过环境变量配置。v3 起默认拦截的 IP 段更宽,检查会链到这一页。
## SSRF 默认列表
开启 SSRF 保护且仍使用内置 default 列表时,v3 会拦下更多共享地址段和 IPv6 过渡段。以前能访问的内网式地址可能开始失败。实例检查链到这里。
若必须访问某一段,按安全文档显式配置允许或调整列表,不要只是关掉整份保护。策略入口还见 [安全策略](/zh/deploy/host-duaer/configure-duaer/security/manage-security-policies.md)。
## Questions
### Duaer v3 的 SSRF 默认拦截变严了吗?
变严了。内置默认列表会拦更多共享地址和 IPv6 过渡段。开着 SSRF 保护且仍用默认列表时,对这些地址的请求会开始失败。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/deploy/host-duaer/configure-duaer/basic-configuration/use-environment-variables/security.md).
# Configure security environment variables in Duaer
In Duaer, security switches such as SSRF are configured with environment variables. From v3 the default blocked IP ranges are wider, and the check links here.
## The default SSRF list
With SSRF protection on and still using the built-in default list, v3 blocks more shared address space and IPv6 transition ranges. Addresses that used to look reachable on a private network may start failing. The instance check links here.
If you must reach a range, configure allow rules or adjust the list from the security docs. Do not only turn the whole protection off. Policy entry points are also under [security policies](/deploy/host-duaer/configure-duaer/security/manage-security-policies.md).
## Questions
### Did Duaer v3 make the default SSRF blocks stricter?
Yes. The built-in default list blocks more shared address space and IPv6 transition ranges. With SSRF protection on and still on the default list, requests to those hosts start failing.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/deploy/host-duaer/configure-duaer/basic-configuration/use-environment-variables/workflows.md).
# 在 Duaer 里配置工作流程相关环境变量
在 Duaer 里,可用环境变量设默认调用策略等行为。默认仍是 any 时,v3 检查会报并打开这一页。
## 默认调用策略
DUAER_WORKFLOW_CALLER_POLICY_DEFAULT_OPTION 影响新建工作流程的默认调用策略。值还停在 any 时,与 v3 移除 “Any workflow” 冲突,检查会链到这一页。
```
DUAER_WORKFLOW_CALLER_POLICY_DEFAULT_OPTION=workflowsFromSameOwner
```
已经存在的工作流程要在 [工作流程设置](/zh/build/manage-workflows/configure-workflow-settings.md#this-workflow-can-be-called-by) 里改。环境变量改的是默认,不是批量改写每一条。
## Questions
### Duaer 里和调用工作流程有关的环境变量是哪一类?
例如默认调用策略。DUAER_WORKFLOW_CALLER_POLICY_DEFAULT_OPTION 若还停在 any,v3 检查会报并链到这一页。单条上的策略在工作流程设置里改。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/deploy/host-duaer/configure-duaer/basic-configuration/use-environment-variables/workflows.md).
# Configure digital-organization environment variables in Duaer
In Duaer, environment variables can set behavior such as the default caller policy. If the default is still any, the v3 check reports it and opens this page.
## Default caller policy
DUAER_WORKFLOW_CALLER_POLICY_DEFAULT_OPTION sets the default caller policy for new workflows. If the value is still any, it conflicts with removing “Any workflow” in v3, and the check links here.
```
DUAER_WORKFLOW_CALLER_POLICY_DEFAULT_OPTION=workflowsFromSameOwner
```
Existing workflows change under [digital-organization settings](/build/manage-workflows/configure-workflow-settings.md#this-workflow-can-be-called-by). The environment variable changes the default. It does not rewrite every workflow in bulk.
## Questions
### Which environment variables in Duaer relate to calling workflows?
Ones such as the default caller policy. If DUAER_WORKFLOW_CALLER_POLICY_DEFAULT_OPTION is still any, the v3 check reports it and links here. The policy on one workflow is changed in its settings.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/deploy/host-duaer/configure-duaer/security/manage-security-policies.md).
# 在 Duaer 里管理安全策略
在 Duaer 里,Settings 的安全页把文档指到这里,说明实例级安全策略入口。
## 策略入口
在这里查看与安全策略、拦截和相关开关有关的说明入口。Settings 安全页的文档 URL 就是这一页。
要一次性只读扫凭证和节点,用 [安全审计](/zh/hosting/securing/security-audit.md)。SSRF 环境变量见 [security 环境变量](/zh/deploy/host-duaer/configure-duaer/basic-configuration/use-environment-variables/security.md)。
## Questions
### Duaer 的安全策略页管什么?
实例级安全相关开关和策略入口。Settings 的安全页文档链到这里。一次性只读扫凭证和节点,用托管里的安全审计页。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/deploy/host-duaer/configure-duaer/security/manage-security-policies.md).
# Manage security policies in Duaer
In Duaer, the security page in Settings points docs here for instance-level security policy entry points.
## Policy entry points
Use this page as the docs entry for security policies, blocks, and related switches. The docs URL on the Settings security page is this path.
For a one-shot read-only scan of credentials and nodes, use the [security audit](/hosting/securing/security-audit.md). SSRF environment variables are under [security environment variables](/deploy/host-duaer/configure-duaer/basic-configuration/use-environment-variables/security.md).
## Questions
### What does the Duaer security-policies page cover?
Instance-level security switches and policy entry points. The security page in Settings links its docs here. For a one-shot read-only scan of credentials and nodes, use the security audit under hosting.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/credentials.md).
# 在 Duaer 里创建和编辑凭证
在 Duaer 里,凭证保存在实例里并用加密密钥保护。节点引用凭证,不把密钥写进参数。
## 创建凭证
1. 用创建入口选择 Credential,或在节点的凭证下拉里新建。
2. 若实例支持项目,选个人空间或某个项目。
3. 选服务,填入该服务要求的字段,保存。Duaer 会测试连接。
密钥经 [加密密钥](/zh/hosting/configuration/encryption-keys.md) 保护。谁能看到、编辑凭证,跟项目和角色走。外部密钥库见 [外部密钥](/zh/external-secrets.md)。嵌入场景下的覆盖见 [credential overwrites](/zh/embed/configuration.md#credential-overwrites)。
## 用别人分享的凭证运行或发布
在 Duaer 里,工作流程用了你不能用的凭证时,执行和发布会停住,并写明这份凭证和它的所有者。你仍可以编辑工作流程,并换成自己能用的凭证。
删除社区凭证时,会等到删除完成。
## Questions
### Duaer 的凭证存在哪里?
存在这台实例里,用加密密钥保护。节点引用凭证,不把密钥写进参数。谁能看到、编辑跟项目和角色走。
### Duaer 工作流程用了别人的凭证,还能执行吗?
执行和发布会停住,并写明这份凭证和它的所有者。你仍可以编辑工作流程,并换成自己能用的凭证。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/credentials.md).
# Create and edit credentials in Duaer
In Duaer, credentials are stored on the instance and protected by the encryption key. Nodes reference a credential instead of putting secrets in parameters.
## Create a credential
1. Use Create and choose Credential, or create one from the credential dropdown on a node.
2. If the instance supports projects, choose personal space or a project.
3. Pick the service, fill the fields it requires, and save. Duaer tests the connection.
Secrets are protected by the [encryption key](/hosting/configuration/encryption-keys.md). Who can see or edit a credential follows projects and roles. External vaults are under [external secrets](/external-secrets.md). Overwrites in embedded setups are under [credential overwrites](/embed/configuration.md#credential-overwrites).
## Run or publish with a shared credential
In Duaer, Execute and Publish stop when the workflow uses a credential you cannot use. Duaer names that credential and its owner. You can still edit the workflow and switch to a credential you can use.
Deleting a community credential waits until the delete finishes.
## Questions
### Where does Duaer store credentials?
On this instance, protected by the encryption key. Nodes reference a credential. They do not put the secret in a parameter. Who can see or edit follows projects and roles.
### Can you run a Duaer workflow that uses someone else’s credential?
Execute and Publish stop, and Duaer names the credential and its owner. You can still edit the workflow and switch to a credential you can use.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/administer/manage-credentials/end-user-credentials.md).
# 在 Duaer 里使用终端用户凭证
在 Duaer 里,终端用户凭证属于最终使用者自己的连接。运行时用触发者的账号,而不是共享那一把。
## 边界
终端用户用自己的账号授权应用时,凭证记在用户侧可用的范围里。管理员去“帮忙登录”或导出这些密钥,会打破授权边界。
实例级或共享给项目的凭证是另一类,见 [凭证](/zh/credentials.md)。嵌入时用覆盖注入的,见 [embed](/zh/embed/configuration.md)。
## Questions
### Duaer 里终端用户凭证和管理员凭证有什么不同?
终端用户凭证属于最终使用者自己的连接,管理员不应代填或拿走。运行时用触发者自己的账号,而不是共享那一把。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/administer/manage-credentials/end-user-credentials.md).
# Use end-user credentials in Duaer
In Duaer, end-user credentials belong to the end user’s own connections. At runtime the triggerer’s account is used, not one shared secret.
## The boundary
When an end user authorizes an app with their own account, that credential stays in the scope available to that user. An admin “helping by signing in” or exporting those secrets breaks the consent boundary.
Instance-level or project-shared credentials are a different class. See [credentials](/credentials.md). Overwrites injected when embedding are under [embed](/embed/configuration.md).
## Questions
### How do end-user credentials differ from admin credentials in Duaer?
End-user credentials belong to the end user’s own connections. An admin should not fill them in or take them away. At runtime the triggerer’s account is used, not one shared secret.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/build/manage-workflows/configure-workflow-settings.md).
# 在 Duaer 里配置工作流程设置
在 Duaer 里,设置里包括时区、错误处理和调用策略等。v3 去掉 “Any workflow” 后,检查会链到可被谁调用这一节。
## 设置里有什么
每个工作流程有自己的设置:时区、超时、错误时是否继续、以及谁可以调用它。改的是这一条,不是整个实例。实例默认见 [workflows 环境变量](/zh/deploy/host-duaer/configure-duaer/basic-configuration/use-environment-variables/workflows.md)。
Duaer Starter 及以上套餐在这里还能给工作流程绑定自己的域名,见 [绑定自己的域名](/zh/build/custom-domain.md)。
## 这个工作流程可被谁调用
调用策略决定哪些工作流程可以用「调用工作流程」调它。v3 移除 “Any workflow”。仍设成任何人可调用时,实例检查会打开这一节。
改成同一项目、指定列表或其它仍支持的选项。子工作流程概念见 [子工作流程](/zh/flow-logic/subworkflows.md)。
## Questions
### Duaer 工作流程设置里的“可被谁调用”是什么?
调用策略:哪些工作流程可以用「调用工作流程」调它。v3 去掉了 “Any workflow”。实例检查若发现还停在这项,会链到这一节。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/build/manage-workflows/configure-workflow-settings.md).
# Configure digital-organization settings in Duaer
In Duaer, settings include timezone, error handling, and caller policy. After v3 removes “Any workflow”, the check links to the who-can-call section.
## What the settings cover
Each workflow has its own settings: timezone, timeouts, whether to continue on error, and who may call it. Changes apply to this workflow, not the whole instance. Instance defaults are under [workflows environment variables](/deploy/host-duaer/configure-duaer/basic-configuration/use-environment-variables/workflows.md).
On Duaer Starter and higher, the settings also bind your own domain to the workflow. Refer to [Bind your own domain](/build/custom-domain.md).
## Who can call this workflow
The caller policy decides which workflows may call it with Call Workflow. v3 removes “Any workflow”. If it is still set so anyone can call, the instance check opens this section.
Switch to the same project, a named list, or another option that remains. Sub-workflows are under [subworkflows](/flow-logic/subworkflows.md).
## Questions
### What does “who can call this” mean in Duaer digital-organization settings?
The caller policy: which workflows may call it with Call Workflow. v3 removes “Any workflow”. If the instance check finds that option still in use, it links to this section.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/embed/configuration.md).
# 在 Duaer 里配置嵌入部署
把 Duaer 嵌进其它产品时,可用配置覆盖凭证等行为。
## 凭证覆盖
嵌入场景下,宿主可以把终端用户看不到的凭证值注入实例,避免用户进入凭证编辑页。Worker 是否启用覆盖端点,文档链到这一节。
只在真正的嵌入部署打开。普通自托管把这个端点开给公网,等于增加一条改凭证的攻击面。终端用户自己的连接边界见 [终端用户凭证](/zh/administer/manage-credentials/end-user-credentials.md)。
## Questions
### Duaer 嵌入时的凭证覆盖是什么?
宿主用配置注入凭证值,终端用户不必进凭证编辑页。只在真正的嵌入部署打开覆盖端点;普通自托管不要开给公网。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/embed/configuration.md).
# Configure an embedded deployment in Duaer
When you embed Duaer in another product, configuration can overwrite credentials and related behavior.
## Credential overwrites
In an embedded setup, the host can inject credential values the end user never edits, so they do not enter the credential editor. Whether the worker enables the overwrites endpoint is documented with a link to this section.
Turn it on only for a real embedded deployment. Opening that endpoint to the public internet on ordinary self-hosting adds a way to change credentials. End-user connection boundaries are under [end-user credentials](/administer/manage-credentials/end-user-credentials.md).
## Questions
### What are credential overwrites when you embed Duaer?
The host injects credential values so the end user never opens the credential editor. Enable the overwrites endpoint only for a real embedded deployment. Do not open it to the public internet on ordinary self-hosting.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/courses.md).
# 在 Duaer 里打开课程入口
在 Duaer 里,产品里的 Courses 链接打开这一页。这里是练习说明的入口,不是单独的录播平台。
## 从产品点进来
Duaer 界面和示例工作流程里的课程链接指向 doc.duaer.com/courses/。章节按各自路径打开,例如 [二级第一章](/zh/courses/level-two/chapter-1.md) 讲条目数据结构。
课程文案沿用仍适用于 Duaer 画布的练习顺序。节点名称若与旧教程不一致,以你实例上的节点列表为准。
## Questions
### Duaer 文档站上的课程是完整网课吗?
不是录播平台。这一页是产品里 Courses 链接的入口,指向仍适用于 Duaer 的练习说明。具体章节按各自路径打开。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/courses.md).
# Open the courses entry in Duaer
In Duaer, the Courses link in the product opens this page. It is an entry to practice notes, not a separate video school.
## Opened from the product
Course links in the Duaer UI and sample workflows point at doc.duaer.com/courses/. Chapters open on their own paths. [Level-two chapter one](/courses/level-two/chapter-1.md), for example, covers the item data structure.
The course copy keeps a practice order that still fits the Duaer canvas. If a node name differs from an older tutorial, trust the node list on your instance.
## Questions
### Are the courses on the Duaer docs site a full video school?
No. This page is the entry the product’s Courses link opens. It points at practice notes that still apply to Duaer. Individual chapters open on their own paths.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/courses/level-two/chapter-1.md).
# 在 Duaer 里理解条目如何流动
在 Duaer 里,这一章说明一条输入是什么结构,以及多条目时节点默认怎么执行。
## 条目的数据结构
Duaer 在节点之间传递的是条目列表。一条通常含 json 对象,还可能有二进制。下一节点默认对每个条目执行一次,这与 [按条目执行](/zh/flow-logic/looping.md#executing-nodes-once) 是同一件事。
看执行结果时,先分清“这一条”和“全部条目”。把数组当成单条 json 里的字段,和把数组拆成多条,后面的节点行为会不一样。节点说明里的 data structure 链接打开的就是这一节。
## Questions
### Duaer 二级课程第一章在讲什么?
条目怎么在节点之间流动:一条输入是什么结构,多个条目时节点默认怎么跑。节点说明里提到 data structure 时,链的就是这一节。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/courses/level-two/chapter-1.md).
# Understand how items flow in Duaer
In Duaer, this chapter explains what one input looks like and how a node runs with many items.
## The item data structure
Duaer passes a list of items between nodes. One item usually holds a json object and may hold binary data. The next node runs once per item by default. That is the same idea as [run per item](/flow-logic/looping.md#executing-nodes-once).
When you read an execution, separate “this item” from “all items”. Keeping an array as a field on one json object behaves differently from splitting that array into many items. Node notes that mention the data structure open this section.
## Questions
### What does Duaer level-two chapter one cover?
How items move between nodes: what one input looks like, and how a node runs when there are many items. When a node note mentions the data structure, it links to this section.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/key-concepts/looping.html.md).
# 在 Duaer 里循环说明已搬家
在 Duaer 里,旧地址。按条目执行和 Execute Once 的说明在流程文档的循环页。
## 请打开新地址
带 .html 的路径是旧文档留下的。请改看 [按条目跑还是只跑一次](/zh/flow-logic/looping.md)。画布上提示节点跑了多次时,也应打开那一页。
## Questions
### 为什么 Duaer 还有带 .html 的循环说明地址?
那是旧链接。按条目执行和只执行一次的说明在 /flow-logic/looping/。打开旧地址时以那一页为准。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/key-concepts/looping.html.md).
# Looping docs moved in Duaer
In Duaer, legacy URL. Per-item execution and Execute Once are on the flow-logic looping page.
## Open the current page
Paths that end in .html are leftovers from older docs. Read [run per item or once](/flow-logic/looping.md) instead. When the canvas says a node ran multiple times, that notice should open that page too.
## Questions
### Why does Duaer still have a looping URL that ends in .html?
It is a legacy link. How Duaer runs per item or once is at /flow-logic/looping/. Use that page when you open the old address.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/nodes/legacy-function.md).
# 在 Duaer 里改用 Code 节点
在 Duaer 里,Function 节点已移除。在 Code 节点里写 JavaScript。保留此地址以免旧链接落空。
## Function 已移除
旧工作流程若还停着 Function 节点,升级检查会要求你改掉。用 Code 节点承接同样的脚本逻辑。表达式和内置方法见 [表达式与代码](/zh/code/expressions.md)。
## Questions
### Duaer 里还有 Function 节点吗?
没有。旧的 Function 节点已移除。写 JavaScript 用 Code 节点。保留这个地址,是为了旧链接不要落到空白页。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/nodes/legacy-function.md).
# Use the Code node instead in Duaer
In Duaer, the Function node is removed. Write JavaScript in the Code node. This URL remains so old links are not empty.
## Function is removed
If an old workflow still has a Function node, the upgrade check asks you to replace it. Use the Code node for the same script logic. Expressions and built-ins are under [expressions and code](/code/expressions.md).
## Questions
### Does Duaer still ship the Function node?
No. The old Function node is removed. Write JavaScript in the Code node. This docs URL stays so old links do not land on an empty page.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/integrations/builtin.md).
# Duaer 的内置集成
Duaer 的内置触发器、操作和凭证。触发器启动工作流程,操作在启动之后执行某一步。
## 触发器和操作
Duaer 节点面板里,触发器是启动工作流程的那一步,例如定时、Webhook 或某个应用的事件。操作是工作流程已经启动之后执行的步骤,例如读写表格、发消息。
内置集成不需要再装社区包。每个应用通常还有一份凭证文档,告诉你在 Duaer 里怎么保存密钥或 OAuth。
## 找不到要的接口时
应用节点没有暴露的接口,可以用 [自定义操作](/zh/integrations/custom-operations.md):HTTP Request 复用该应用的认证。社区节点另有风险与排障说明。
## Questions
### Duaer 里触发器和操作有什么差别?
在 Duaer 里,触发器启动工作流程。操作在启动之后执行某一步。定时、Webhook 和应用事件属于触发器;往表格写一行、发一条消息属于操作。
### Duaer 内置集成要不要装社区包?
不要。Duaer 内置集成随实例提供。社区节点是额外安装的包,有单独的风险说明。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/integrations/builtin.md).
# Built-in integrations in Duaer
Built-in triggers, actions, and credentials in Duaer. Triggers start a workflow. Actions run a step after it has started.
## Triggers and actions
In the Duaer node panel, a trigger is the step that starts a workflow, such as a schedule, a webhook, or an app event. An action is a step that runs after the workflow has already started, such as reading a sheet or sending a message.
Built-in integrations do not need a community package. Most apps also have a credential page that explains how to store a key or OAuth in Duaer.
## When the app node cannot call the API you need
Use [custom operations](/integrations/custom-operations.md): HTTP Request reuses that app’s authentication. Community nodes have separate risk and troubleshooting notes.
## Questions
### How do triggers differ from actions in Duaer?
In Duaer, a trigger starts a workflow. An action runs a step after it has started. Schedules, webhooks, and app events are triggers. Writing a sheet row or sending a message is an action.
### Do Duaer built-in integrations need a community package?
No. Built-in integrations ship with the instance. Community nodes are extra packages and have their own risk notes.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/integrations/community-nodes/risks.md).
# Duaer 社区节点的风险
在 Duaer 里安装社区节点前,要清楚代码来自实例管理员信任的来源,并了解权限范围。
## 你在信任什么
社区节点的代码不由 Duaer 产品本体维护。安装等于允许那段代码在实例权限内运行。只从你信任的来源安装,并限制谁能装包。
未验证的社区包在较新版本里可能默认禁用,见版本破坏性变更说明。
## Questions
### Duaer 社区节点安全吗?
Duaer 不会替你审计每一个社区包。安全取决于来源和实例权限。只安装你信任的包,并限制安装权限。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/integrations/community-nodes/risks.md).
# Risks of community nodes in Duaer
Before you install a community node in Duaer, know the code comes from a source the instance admin trusts, and know what permissions it gets.
## What you are trusting
Community node code is not maintained as part of the Duaer product core. Installing it allows that code to run with the instance’s permissions. Install only from sources you trust, and limit who can install packages.
Unverified community packages may be disabled by default on newer versions. See the breaking-change notes for that version.
## Questions
### Are Duaer community nodes safe?
Duaer does not audit every community package for you. Safety depends on the source and on instance permissions. Install only packages you trust, and limit who can install.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/integrations/community-nodes/troubleshooting.md).
# Duaer 社区节点排障
Duaer 社区节点装不上或跑失败时,先核对版本、权限和节点文档,再查实例日志。
## 先核对这几项
确认节点版本与当前 Duaer 版本兼容,凭证字段是否按该节点文档填写,以及实例是否允许社区包。
仍失败时看执行错误和实例日志。不要把社区节点的失败当成核心节点的通用故障。
## Questions
### Duaer 社区节点装失败先看什么?
先看 Duaer 是否允许社区包、节点版本是否匹配、凭证是否按该节点要求填写,再查执行错误和日志。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/integrations/community-nodes/troubleshooting.md).
# Troubleshoot community nodes in Duaer
When a Duaer community node will not install or run, check the version, permissions, and node docs, then the instance logs.
## Check these first
Confirm the node version matches this Duaer version, that credential fields follow that node’s docs, and that the instance allows community packages.
If it still fails, read the execution error and the instance logs. Do not treat a community-node failure as a generic core-node outage.
## Questions
### What should you check first when a Duaer community node will not install?
Check whether Duaer allows community packages, whether the node version matches, and whether credentials follow that node’s requirements. Then read the execution error and the logs.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/integrations/custom-operations.md).
# 在 Duaer 里对应用做自定义 API 调用
当 Duaer 某个应用节点没有你要的接口时,用 HTTP Request,并复用该应用已保存的认证。
## 复用应用认证
Duaer 应用节点覆盖常见操作。若你要的 REST 路径节点上没有,打开 HTTP Request,在认证里选 Predefined Credential Type,再选这个应用已保存的凭证。
Duaer 会带上该凭证的认证头或签名,你只需填方法和路径。节点设置里的说明链到这一页。
## Questions
### 为什么 Duaer 还要我用 HTTP Request?
因为应用节点只封装了常用操作。Duaer 用 HTTP Request 加上该应用已保存的凭证,让你调用节点上没有的接口,而不必再贴一遍密钥。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/integrations/custom-operations.md).
# Make custom API calls for an app in Duaer
When a Duaer app node does not expose the API you need, use HTTP Request and reuse that app’s saved authentication.
## Reuse the app credential
Duaer app nodes cover common operations. If the REST path you need is not on the node, open HTTP Request, choose Predefined Credential Type for authentication, and pick the credential you already saved for that app.
Duaer attaches that credential’s auth headers or signature. You fill in the method and path. The note in node settings links here.
## Questions
### Why does Duaer still ask for HTTP Request?
Because an app node only wraps common operations. Duaer uses HTTP Request with that app’s saved credential so you can call an API the node does not expose, without pasting the secret again.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/integrations.md).
# Duaer 里的集成入口
Duaer 内置触发器、动作与凭证。社区节点是额外包。自定义操作用 HTTP Request 复用已保存的认证。
## 从这里往下走
- [内置集成](/zh/integrations/builtin.md):随实例提供的触发器与动作。
- [内置凭证目录](/zh/integrations/builtin/credentials.md):按服务列出凭证字段。
- [自定义操作](/zh/integrations/custom-operations.md):应用节点没有的接口,用 HTTP Request。
- [社区节点风险](/zh/integrations/community-nodes/risks.md):安装社区包前先读。
## 和创建凭证总览的关系
在实例里怎么新建、保存凭证,见 [创建和编辑凭证](/zh/credentials.md)。本目录侧重「这个服务要填哪些字段」。
## Questions
### Duaer 的内置集成和社区节点有什么区别?
内置集成随实例一起提供,不用再装包。社区节点是额外包,要先看风险说明再安装。
### 找不到某个应用接口时怎么办?
先查内置节点。没有对应操作时,用自定义操作:HTTP Request 复用该应用已保存的认证。
## 相关
- [Duaer 的内置集成](https://doc.duaer.com/zh/integrations/builtin.md)
- [Duaer 内置凭证目录](https://doc.duaer.com/zh/integrations/builtin/credentials.md)
- [在 Duaer 里对应用做自定义 API 调用](https://doc.duaer.com/zh/integrations/custom-operations.md)
- [Duaer 社区节点的风险](https://doc.duaer.com/zh/integrations/community-nodes/risks.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/integrations.md).
# Integrations in Duaer
Built-in triggers, actions, and credentials in Duaer. Community nodes are extra packages. Custom operations reuse saved authentication with HTTP Request.
## Where to go next
- [Built-in integrations](/integrations/builtin.md): triggers and actions that ship with the instance.
- [Built-in credentials hub](/integrations/builtin/credentials.md): per-service credential fields.
- [Custom operations](/integrations/custom-operations.md): HTTP Request when the app node lacks an operation.
- [Community node risks](/integrations/community-nodes/risks.md): read before installing a community package.
## Related to Create and edit credentials
How to create and save a credential on the instance is under [Create and edit credentials](/credentials.md). This section focuses on per-service fields.
## Questions
### How do built-in integrations differ from community nodes in Duaer?
Built-in integrations ship with the instance. Community nodes are extra packages — read the risk notes before you install them.
### What if Duaer has no node for the API I need?
Check built-in nodes first. If the operation is missing, use custom operations: HTTP Request can reuse that app’s saved authentication.
## Related
- [Built-in integrations in Duaer](https://doc.duaer.com/integrations/builtin.md)
- [Built-in credentials in Duaer](https://doc.duaer.com/integrations/builtin/credentials.md)
- [Make custom API calls for an app in Duaer](https://doc.duaer.com/integrations/custom-operations.md)
- [Risks of community nodes in Duaer](https://doc.duaer.com/integrations/community-nodes/risks.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/integrations/builtin/credentials.md).
# Duaer 内置凭证目录
按服务列出 Duaer 内置凭证说明。创建流程见凭证总览;节点文档会链到对应服务页。
## 怎么用这个目录
每个服务一页,路径形如 /integrations/builtin/credentials/<服务>/。产品里的「文档」链接通常直接打开对应服务页。
先在 [创建和编辑凭证](/zh/credentials.md) 里学会新建与保存,再回到这里核对字段、OAuth 范围或密钥位置。
## 找不到服务时
- 确认 slug 与节点文档里的路径一致(大小写敏感时以下划线或小写为准)。
- 若服务只有节点、没有单独凭证页,看节点页里的认证说明,或用 [自定义操作](/zh/integrations/custom-operations.md)。
## Questions
### 凭证页和「创建凭证」总览有什么关系?
总览讲怎么在 Duaer 里新建、保存凭证。本目录按服务列出每一种凭证的字段与注意点。节点文档会链到对应服务页。
### 打不开某个凭证链接怎么办?
确认路径是 /integrations/builtin/credentials/<服务 slug>/。通用创建流程见 /credentials/。
## 相关
- [在 Duaer 里创建和编辑凭证](https://doc.duaer.com/zh/credentials.md)
- [Duaer 的内置集成](https://doc.duaer.com/zh/integrations/builtin.md)
- [Duaer 里的集成入口](https://doc.duaer.com/zh/integrations.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/integrations/builtin/credentials.md).
# Built-in credentials in Duaer
Per-service credential notes for Duaer built-ins. The create flow is in the credentials overview; node docs link to the matching service page.
## How to use this hub
One page per service, under /integrations/builtin/credentials//. In-product documentation links usually open that service page directly.
Learn create-and-save under [Create and edit credentials](/credentials.md), then return here for fields, OAuth scopes, or where to put the key.
## If you cannot find a service
- Match the slug to the path in the node docs (often lowercase).
- If there is only a node page, read its authentication notes, or use [custom operations](/integrations/custom-operations.md).
## Questions
### How does this hub relate to Create and edit credentials?
That overview covers creating and saving credentials in Duaer. This directory lists per-service credential fields. Node docs link to the matching service page.
### What if a credential deep link 404s?
Use /integrations/builtin/credentials//. The general create flow is under /credentials/.
## Related
- [Create and edit credentials in Duaer](https://doc.duaer.com/credentials.md)
- [Built-in integrations in Duaer](https://doc.duaer.com/integrations/builtin.md)
- [Integrations in Duaer](https://doc.duaer.com/integrations.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/flow-logic.md).
# Duaer 里的流程逻辑
失败怎么走、循环、以及子工作流程。画布上最常见的流程问题从这三页开始。
## 先读这三页
- [节点失败之后怎么走](/zh/flow-logic/error-handling.md):On Error、重试、Error Trigger。
- [循环](/zh/flow-logic/looping.md):逐条处理与显式循环。
- [子工作流程](/zh/flow-logic/subworkflows.md):用「调用工作流程」拆分可复用步骤。
## 和内存问题的关系
一次跑进太多数据时,先看 [内存错误](/zh/flow-logic/error-handling/memory-errors.md),再考虑拆分与批处理。
## Questions
### 流程逻辑里先看哪几页?
失败怎么走、循环、以及子工作流程。这三块覆盖画布上最常见的流程问题。
## 相关
- [在 Duaer 里妥善处理错误](https://doc.duaer.com/zh/flow-logic/error-handling.md)
- [在 Duaer 里使用循环](https://doc.duaer.com/zh/flow-logic/looping.md)
- [在 Duaer 里拆成子工作流程](https://doc.duaer.com/zh/flow-logic/subworkflows.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/flow-logic.md).
# Flow logic in Duaer
Error handling, looping, and sub-workflows. Start here for the most common canvas flow questions in Duaer.
## Start with these three
- [Where a failed node goes](/flow-logic/error-handling.md): On Error, retries, and Error Trigger.
- [Looping](/flow-logic/looping.md): per-item work and explicit loops.
- [Sub-workflows](/flow-logic/subworkflows.md): use Call Workflow to split reusable steps.
## Related to memory issues
When a run pulls too much data, read [memory errors](/flow-logic/error-handling/memory-errors.md), then split or batch the work.
## Questions
### Where should I start in flow logic?
Error handling, looping, and sub-workflows. Those three cover the most common canvas flow questions.
## Related
- [Handle errors gracefully in Duaer](https://doc.duaer.com/flow-logic/error-handling.md)
- [Use loops in Duaer](https://doc.duaer.com/flow-logic/looping.md)
- [Break work into sub-workflows in Duaer](https://doc.duaer.com/flow-logic/subworkflows.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/hosting/configuration.md).
# 配置自托管 Duaer
加密密钥、环境变量、数据库与任务运行器。生产环境优先 Postgres,并固定 DUAER_ENCRYPTION_KEY。
## 配置入口
- [加密密钥](/zh/hosting/configuration/encryption-keys.md):凭证落库前加密;队列模式所有 worker 同一把钥匙。
- [环境变量](/zh/hosting/configuration/environment-variables.md):进程、`.env` 或容器注入。
- [支持的数据库](/zh/hosting/configuration/supported-databases-settings.md):SQLite 或 Postgres。
- [任务运行器](/zh/hosting/configuration/task-runners.md):内部或外部 runner。
- [配置示例](/zh/hosting/configuration/configuration-examples.md):可直接套用的完整写法。
## Questions
### 自托管 Duaer 最先要配什么?
加密密钥、数据库(生产用 Postgres)、以及你会改的环境变量。队列模式还要让所有 worker 共用同一把密钥。
## 相关
- [Duaer 加密密钥](https://doc.duaer.com/zh/hosting/configuration/encryption-keys.md)
- [Duaer 环境变量](https://doc.duaer.com/zh/hosting/configuration/environment-variables.md)
- [Duaer 支持的数据库](https://doc.duaer.com/zh/hosting/configuration/supported-databases-settings.md)
- [Duaer 配置示例](https://doc.duaer.com/zh/hosting/configuration/configuration-examples.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/hosting/configuration.md).
# Configure self-hosted Duaer
Encryption keys, environment variables, databases, and task runners. Prefer Postgres in production and pin DUAER_ENCRYPTION_KEY.
## Configuration entry points
- [Encryption keys](/hosting/configuration/encryption-keys.md): credentials are encrypted at rest; every queue-mode worker needs the same key.
- [Environment variables](/hosting/configuration/environment-variables.md): process env, `.env`, or container injection.
- [Supported databases](/hosting/configuration/supported-databases-settings.md): SQLite or Postgres.
- [Task runners](/hosting/configuration/task-runners.md): internal or external runners.
- [Configuration examples](/hosting/configuration/configuration-examples.md): copy-ready setups.
## Questions
### What should I configure first on self-hosted Duaer?
The encryption key, the database (Postgres in production), and the environment variables you will change. In queue mode every worker must share the same encryption key.
## Related
- [Encryption keys in Duaer](https://doc.duaer.com/hosting/configuration/encryption-keys.md)
- [Environment variables for Duaer](https://doc.duaer.com/hosting/configuration/environment-variables.md)
- [Supported databases for Duaer](https://doc.duaer.com/hosting/configuration/supported-databases-settings.md)
- [Duaer configuration examples](https://doc.duaer.com/hosting/configuration/configuration-examples.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/hosting/configuration/configuration-examples.md).
# Duaer 配置示例
可直接套用的自托管配置写法。先从自定义加密密钥开始。
## 示例
- [设置自定义加密密钥](/zh/hosting/configuration/configuration-examples/encryption-key.md):固定 DUAER_ENCRYPTION_KEY,避免轮换后凭证无法解密。
变量含义见 [环境变量](/zh/hosting/configuration/environment-variables.md)。密钥概念见 [加密密钥](/zh/hosting/configuration/encryption-keys.md)。
## Questions
### 这里和「环境变量」总览有什么不同?
总览列变量含义。示例页给出可直接套用的完整写法,例如自定义加密密钥。
## 相关
- [为 Duaer 设置自定义加密密钥](https://doc.duaer.com/zh/hosting/configuration/configuration-examples/encryption-key.md)
- [Duaer 加密密钥](https://doc.duaer.com/zh/hosting/configuration/encryption-keys.md)
- [Duaer 环境变量](https://doc.duaer.com/zh/hosting/configuration/environment-variables.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/hosting/configuration/configuration-examples.md).
# Duaer configuration examples
Copy-ready self-hosted configuration examples. Start with a custom encryption key.
## Examples
- [Set a custom encryption key](/hosting/configuration/configuration-examples/encryption-key.md): pin DUAER_ENCRYPTION_KEY so credential ciphertext stays readable across rollouts.
Variable meanings: [environment variables](/hosting/configuration/environment-variables.md). Concepts: [encryption keys](/hosting/configuration/encryption-keys.md).
## Questions
### How do examples differ from the environment variables overview?
The overview explains what variables mean. Examples give copy-ready setups, such as a custom encryption key.
## Related
- [Set a custom encryption key for Duaer](https://doc.duaer.com/hosting/configuration/configuration-examples/encryption-key.md)
- [Encryption keys in Duaer](https://doc.duaer.com/hosting/configuration/encryption-keys.md)
- [Environment variables for Duaer](https://doc.duaer.com/hosting/configuration/environment-variables.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/Duaer-Organizations/create-nodes.md).
# 在 Duaer 里扩展节点能力
多数工作用内置节点即可。不够时先用自定义操作;只有要长期复用时,再考虑自定义节点或社区包。
## 优先顺序
1. 在节点面板搜索内置触发器与动作。
2. 应用节点没有的接口:用 [自定义操作](/zh/integrations/custom-operations.md)(HTTP Request + 已保存认证)。
3. 仍不够且要长期复用:评估社区节点(先读 [风险](/zh/integrations/community-nodes/risks.md)),或按实例支持的方式开发自定义节点。
## 和画布节点的关系
节点怎么连线、怎么传数据,见 [在画布上使用节点](/zh/Duaer-Organizations/components/nodes.md)。本页只回答「能力不够时往哪扩展」。
## Questions
### 普通用户要自己写节点吗?
多数情况不需要。先用内置节点与自定义操作。只有内置能力不够、又要长期复用时,才考虑自定义节点或社区包。
## 相关
- [Duaer 的内置集成](https://doc.duaer.com/zh/integrations/builtin.md)
- [在 Duaer 里对应用做自定义 API 调用](https://doc.duaer.com/zh/integrations/custom-operations.md)
- [Duaer 社区节点的风险](https://doc.duaer.com/zh/integrations/community-nodes/risks.md)
- [在 Duaer 里使用节点](https://doc.duaer.com/zh/Duaer-Organizations/components/nodes.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/Duaer-Organizations/create-nodes.md).
# Extend nodes in Duaer
Most work uses built-in nodes. Prefer custom operations first; build a custom node or install a community package only when you will reuse the step.
## Preferred order
1. Search built-in triggers and actions in the node panel.
2. When an app node lacks an API: use [custom operations](/integrations/custom-operations.md) (HTTP Request + saved auth).
3. If you still need a reusable step: evaluate a community node (read [risks](/integrations/community-nodes/risks.md) first) or develop a custom node the way your instance supports.
## Related to canvas nodes
How nodes connect and pass data is under [Work with nodes](/Duaer-Organizations/components/nodes.md). This page only answers where to extend when built-ins are not enough.
## Questions
### Do most Duaer users need to create nodes?
Usually no. Prefer built-in nodes and custom operations. Build a custom node or install a community package only when built-ins are not enough and you will reuse the step.
## Related
- [Built-in integrations in Duaer](https://doc.duaer.com/integrations/builtin.md)
- [Make custom API calls for an app in Duaer](https://doc.duaer.com/integrations/custom-operations.md)
- [Risks of community nodes in Duaer](https://doc.duaer.com/integrations/community-nodes/risks.md)
- [Work with nodes in Duaer](https://doc.duaer.com/Duaer-Organizations/components/nodes.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/advanced-ai/assistant-edits.md).
# Duaer 设计师 如何改工作流程
Duaer 设计师 只改你点名的节点,并按侧栏里选的界面语言回复。拒绝的附件会从对话里去掉。
## 没点名的节点保持原样
在画布上打开 Duaer 设计师,说明要改哪一个节点、改什么。保存之后,只核对该节点的参数和连线。其余节点、凭证引用和你没提到的连线保持原样。
这不是开关。Duaer 设计师 不会因为改了一个节点就把整个工作流程重写一遍。Builder 起草新工作流程时仍会新建节点;你在画布上确认后再保存。见 [用 AI 起草](/zh/advanced-ai/ai-workflow-builder.md)。
## 界面语言
1. 打开左侧底部的设置。
2. 在 Language 里选 EN 或 中。
3. 回到 Duaer 设计师 或 Builder,下一条回复使用你刚选的语言。
语言跟着这台浏览器里的 Duaer 界面走,不跟着模型供应商的默认语言走。自托管要先配好 [Duaer 设计师](/zh/deploy/host-duaer/configure-duaer/set-up-ai-assistant.md)。
## 拒绝附件
Duaer 设计师 提出要带上的附件,你拒绝之后,这段对话后面的回合不再带着它。没有单独的设置项。要它重新出现,就在后面的消息里再提供一次。
## 凭证说明
Duaer 设计师 和 MCP 列出凭证时,每条带回凭证上的说明预览,最长 512 字,不带回密钥。同一类型有两把凭证时,用说明写清用途,例如「只读报表库」和「写入告警频道」。说明为空时,列表里这一项是空的。
连接表单里填的仍是服务要求的密钥。说明存在凭证记录上,给 Duaer 设计师 和 MCP 分辨用。工作流程自己的说明是另一处:画布右上角菜单的 Edit description and tags,或 [实例级 Duaer](/zh/manage-cloud/mcp-access.md) 里已暴露工作流程的 Edit description。
## Questions
### Duaer 设计师 改一个节点时,别的节点会不会被重写?
不会。Duaer 设计师 只改你点名的节点。没提到的节点、凭证引用和连线保持原样。
### Duaer 设计师 用哪种语言回复?
用你在左侧设置菜单的 Language 里选的界面语言。选中文,下一条回复用中文。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/advanced-ai/assistant-edits.md).
# How Duaer Designer edits a workflow
Duaer Designer changes only the nodes you named, and it replies in the interface language selected in the sidebar. Attachments you reject leave the conversation.
## Nodes you did not name stay as they were
Open Duaer Designer on the canvas and say which node to change, and what to change. After you save, check that node’s parameters and connections. Every other node, credential reference, and connection you did not mention stays as it was.
There is no switch for this. Duaer Designer does not rewrite the whole workflow because one node changed. When Builder drafts a new workflow it still adds nodes; you confirm on the canvas before saving. Refer to [draft with AI](/advanced-ai/ai-workflow-builder.md).
## Interface language
1. Open Settings at the bottom of the left sidebar.
2. Under Language, choose EN or Chinese.
3. Return to Duaer Designer or Builder. The next reply uses the language you just chose.
The language follows the Duaer interface in this browser, not the model vendor’s default. A self-hosted instance configures [Duaer Designer](/deploy/host-duaer/configure-duaer/set-up-ai-assistant.md) first.
## Reject an attachment
When you reject an attachment Duaer Designer offered, later turns in that conversation do not keep it. There is no separate setting. To use the file again, provide it in a later message.
## Credential descriptions
When Duaer Designer or MCP lists credentials, each row includes a preview of the description stored on that credential, up to 512 characters. The secret is not included. When two credentials share a type, write the description so the use is obvious, for example “read-only reporting database” and “alerts channel”. An empty description comes back empty.
The connection form still holds the secret fields the service requires. The description sits on the credential record so Duaer Designer and MCP can tell the rows apart. A workflow’s own description is a different field: Edit description and tags in the canvas menu, or Edit description on an exposed workflow under [Instance-level Duaer](/manage-cloud/mcp-access.md).
## Questions
### Does Duaer Designer rewrite other nodes when it edits one?
No. Duaer Designer changes the node you named. Nodes, credential references, and connections you did not mention stay as they were.
### Which language does Duaer Designer reply in?
The interface language you pick under Language in the Settings menu on the left. Choose Chinese and the next reply is in Chinese.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/advanced-ai/orgifydesk-delivery.md).
# 核对并评价 Duaer 设计师 的交付
Duaer 设计师 用你确认的验收样例核对搭好的工作流程,全部对上才说验证通过。交付后可以点赞或点踩,点踩可写原因。
## Duaer 设计师 的验收样例
Duaer 设计师 第一次搭好工作流程并试跑成功后,会提出 1–3 个「输入 → 期望结果」样例。每个样例写明触发输入、结果节点和期望:条数、必须有的字段、字段值(等于、包含、约等于),也可以加一条文字要求。
样例只有经你确认才算数。Duaer 设计师 不能自己放宽样例来让结果通过。
1. 在对话里看 Duaer 设计师 给出的样例卡片。
2. 对上你的预期就点「就用这些样例」。
3. 不对就点「我要修改」,写出要改的地方。Duaer 设计师 改好后再问一次。
4. 不想用样例就跳过。这次不做样例核对,也就不会说验证通过。
## Duaer 设计师 怎么核对
每次验证试跑成功后,Duaer 设计师 用同一套模拟方式跑每个样例,读取结果节点的完整输出。先查条数、字段和值;这些都对了,才让 AI 判断文字要求。
每个样例的结果是:通过、不符(列出差异)或未核对。结果节点被模拟、或不存在的样例会被拒绝。
- 全部通过:验证通过。
- 有一个不符:验证失败,并列出哪条、哪个字段、期望什么、实际是什么。
- 有未核对的:不会说验证通过。常见原因是隐私设置隐藏了执行数据,或 AI 判断暂时不可用。
出现不符时,Duaer 设计师 会在原有的修复次数内(2 轮)自动修改工作流程。仍然不符,就停下来告诉你具体差在哪里。同一段对话里重新搭同一个工作流程时,样例会沿用,核对结果重新计算。
## 评价 Duaer 设计师 的交付
1. 在 Duaer 设计师 最新的交付消息下点赞或点踩。
2. 点赞立即保存。
3. 点踩后出现原因框「Duaer 设计师 哪里没做好?(可选)」。写好点「发送」,或点「跳过」只保存点踩。
评价存在这段对话上。重新打开对话时显示「已反馈:满意」或「已反馈:不满意」,不会再问。只有最新一条交付可以评价;别人看不到、也不能改你对话里的评价。
## Questions
### Duaer 设计师 说「验证通过」是什么意思?
Duaer 设计师 只在试跑成功、并且你确认的每个验收样例都对上时才说验证通过。没有样例或有样例未核对时,不会这样说。
### Duaer 设计师 的点踩原因必须填吗?
不必。点踩后可以点「跳过」,Duaer 设计师 只保存点踩;写了原因就一起保存。
## 相关
- [Duaer 设计师 如何改工作流程](https://doc.duaer.com/zh/advanced-ai/assistant-edits.md)
- [用 AI 起草 Duaer 工作流程](https://doc.duaer.com/zh/advanced-ai/ai-workflow-builder.md)
- [在 Duaer 里验收交付](https://doc.duaer.com/zh/getting-started/accept-deliverables.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/advanced-ai/orgifydesk-delivery.md).
# Check and rate what Duaer Designer delivers
Duaer Designer checks a built workflow against acceptance samples you confirm, and calls it verified only when every sample matches. After delivery, rate the reply with thumbs up or down and say what went wrong.
## Duaer Designer acceptance samples
After Duaer Designer first builds a workflow and a test run succeeds, it proposes 1–3 “input → expected result” samples. Each sample names the trigger input, the result node, and what to expect: item count, required fields, field values (equals, contains, near), and optionally a text criterion.
A sample counts only after you confirm it. Duaer Designer cannot relax a sample to make a result pass.
1. Read the sample card Duaer Designer shows in the conversation.
2. If it matches what you expect, select Use these samples.
3. If not, select Change them and type what should change. Duaer Designer revises the samples and asks again.
4. To skip samples, skip the question. Nothing is saved, and the build is not called verified.
## How Duaer Designer checks the result
After each successful verification run, Duaer Designer runs every sample with the same simulation plan and reads the full output of the result node. It checks item count, fields, and values first. Only when those pass does an AI judge read the text criterion.
Each sample ends as passed, mismatch (with the differences), or unchecked. A sample whose result node is simulated or missing is refused.
- Every sample passed: verified.
- Any mismatch: failed, with the item, field, expected value, and actual value listed.
- Any sample unchecked: not verified. Common causes are execution data hidden by a privacy setting, or the AI judge being unavailable.
On a mismatch, Duaer Designer repairs the workflow within the existing repair budget (2 rounds). If the result still differs, it stops and tells you exactly what differs. When the same workflow is rebuilt in the conversation, the samples carry over and the results are checked again.
## Rate a Duaer Designer delivery
1. Under the latest Duaer Designer delivery message, select thumbs up or thumbs down.
2. Thumbs up is saved at once.
3. Thumbs down opens the box “What did Duaer Designer get wrong? (optional)”. Type a reason and select Send, or select Skip to save the rating alone.
The rating is stored on the conversation. When you reopen it, the message shows Rated: satisfied or Rated: not satisfied instead of asking again. Only the latest delivery can be rated. Other users cannot read or change the ratings in your conversation.
## Questions
### What does “verified” mean in Duaer Designer?
Duaer Designer calls a workflow verified only when the test run succeeds and every acceptance sample you confirmed matches. Without samples, or with a sample unchecked, it does not say verified.
### Do I have to give a reason when I rate a Duaer Designer reply thumbs down?
No. Select Skip and Duaer Designer saves the thumbs down alone. If you type a reason, it is saved with the rating.
## Related
- [How Duaer Designer edits a workflow](https://doc.duaer.com/advanced-ai/assistant-edits.md)
- [Draft Duaer workflows with AI](https://doc.duaer.com/advanced-ai/ai-workflow-builder.md)
- [Accept deliverables in Duaer](https://doc.duaer.com/getting-started/accept-deliverables.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/advanced-ai/digital-employee-schedules.md).
# 给 Duaer 数字员工排定时任务
在 Duaer 里,数字员工的定时任务可以按小时、天、周、月或 cron 运行。自定义 cron 会显示一句可读说明和下次执行时间。
## 添加定时任务
1. 打开数字员工。还没有时,先见 [在 Duaer 里创建第一名数字员工](/zh/getting-started/first-digital-employee.md)。
2. 在「定时任务」里点「添加定时任务」。
3. 填写名称和目标。
4. 在「计划」里选频率:每小时、每天、每周、每月,或「自定义(cron)」。
5. 选时区。列表与工作流程设置里的时区相同。保存。
## 自定义 cron 的可读说明
频率选「自定义(cron)」并写一条合法表达式后,Duaer 在下次执行时间旁边显示一句人话,例如每天上午 9 点。摘要形如「可读说明 · 下次执行 …」。
表达式不合法时,界面写「This schedule isn't valid」,不显示说明,也不能保存。这不是单独的开关。暂停已有任务时,摘要改为执行已暂停,说明不再冒充下一次会跑。
## Questions
### Duaer 数字员工的 cron 说明在哪里看?
在定时任务的计划里选「自定义(cron)」。表达式合法时,说明出现在下次执行时间旁边。
### Duaer 里不合法的 cron 会怎样?
界面提示日程无效,不显示可读说明,任务也不能保存。
## 相关
- [在 Duaer 里创建第一名数字员工](https://doc.duaer.com/zh/getting-started/first-digital-employee.md)
- [Duaer 里会碰到的词](https://doc.duaer.com/zh/getting-started/glossary.md)
- [在 Duaer 里做出第一个工作流程](https://doc.duaer.com/zh/getting-started/first-organization.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/advanced-ai/digital-employee-schedules.md).
# Schedule a task for a Duaer digital employee
In Duaer, a digital employee task can run hourly, daily, weekly, monthly, or on a cron expression. A custom cron shows a readable sentence and the next run time.
## Add a schedule
1. Open the digital employee. If you do not have one yet, refer to [Create your first digital employee in Duaer](/getting-started/first-digital-employee.md).
2. Under Schedules, select Add schedule.
3. Enter a name and the Objective.
4. Under Schedule, pick a frequency: Hourly, Daily, Weekly, Monthly, or Custom (cron).
5. Pick a timezone. The list is the same one workflow settings use. Save.
## A readable line for a custom cron
When the frequency is Custom (cron) and the expression is valid, Duaer shows a sentence next to the next run time, for example every day at 9:00 AM. The summary looks like “readable sentence · Next execution …”.
An invalid expression shows “This schedule isn't valid”, hides the sentence, and cannot be saved. There is no separate switch. When an existing task is paused, the summary says execution is paused and does not pretend a next run is coming.
## Questions
### Where does Duaer show the cron sentence for a digital employee?
On the task, set Schedule to Custom (cron). When the expression is valid, the sentence appears beside the next run time.
### What happens with an invalid cron in Duaer?
The form says the schedule is not valid, hides the readable sentence, and does not save the task.
## Related
- [Create your first digital employee in Duaer](https://doc.duaer.com/getting-started/first-digital-employee.md)
- [Key concepts in Duaer](https://doc.duaer.com/getting-started/glossary.md)
- [Build your first workflow in Duaer](https://doc.duaer.com/getting-started/first-organization.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/advanced-ai/mcp/install-community-nodes.md).
# 用 Duaer MCP 安装已验证的社区节点
在 Duaer 里,已连接的 MCP 客户端可以安装已验证的社区节点。客户端要先有这项权限,并在安装前向你确认。
## 先打开实例级 Duaer
1. 打开设置 → 实例级 Duaer。
2. 启用访问,并按 [连接页](/zh/connect/connect-to-duaer-mcp-server.md) 接上客户端。
3. 在已连接的客户端里,确认该项访问包含「Install verified community nodes」。没有这项,客户端不能代你安装。
## 安装与安装之后
1. 让客户端搜索节点。未安装的已验证社区节点会单独标出来。
2. 客户端应先问你是否安装。同意之后,它安装注册表上该包的已验证版本。
3. 打开设置 → 社区节点,确认包已出现。然后才能在画布上使用其中的节点,并创建它需要的凭证。
这一条只安装已验证的包。未验证的社区包不会从 MCP 装上。也可以在节点面板里安装已验证包,装好的包同样出现在社区节点设置里。环境变量接管社区包时,设置页变为只读,见该页上的提示。
## Questions
### Duaer 的 MCP 客户端能安装任意社区包吗?
不能。在 Duaer 里,它只能安装已验证的社区节点,而且要先征得你同意。未验证的包不会从这条路径装上。
### 装好的社区节点在 Duaer 哪里看?
设置 → 社区节点。包出现在那里之后,画布才能使用其中的节点。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/advanced-ai/mcp/install-community-nodes.md).
# Install verified community nodes with Duaer MCP
In Duaer, a connected MCP client can install a verified community node. The client needs that permission, and it asks you before it installs.
## Turn on Instance-level Duaer first
1. Open Settings → Instance-level Duaer.
2. Enable access, and connect the client from the [connect page](/connect/connect-to-duaer-mcp-server.md).
3. On the connected client, confirm its access includes Install verified community nodes. Without that scope, the client cannot install for you.
## Install, then use the node
1. Ask the client to search nodes. Verified community nodes that are not installed are listed apart from nodes already on the instance.
2. The client should ask before it installs. After you agree, it installs the verified version the registry publishes.
3. Open Settings → Community nodes and confirm the package is there. Only then can the canvas use its nodes and create the credentials they need.
This path installs verified packages only. An unverified community package is not installed from MCP. You can also install a verified package from the nodes panel; it shows up in Community nodes either way. When environment variables manage community packages, that settings page is read-only, as the page itself says.
## Questions
### Can a Duaer MCP client install any community package?
No. In Duaer it can install a verified community node, and only after you agree. An unverified package is not installed on this path.
### Where do installed community nodes show up in Duaer?
Settings → Community nodes. The canvas can use the nodes after the package is listed there.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/user-management/rbac/execution-permissions.md).
# 在 Duaer 项目角色里开放执行记录
在 Duaer 里,项目角色的「执行记录」有查看和删除。查看跟着工作流程的查看走,不能单独勾上。
## 在项目角色里勾选
1. 打开设置 → 角色 → 项目角色。
2. 点「创建项目角色」,或打开一个已有的自定义项目角色。
3. 在「工作流程」里勾上「查看」。同一张表的「执行记录」里,「查看」会一并勾上,而且这个勾选框是锁住的。
4. 需要让该角色删掉项目里的执行时,再勾「执行记录」的「删除」。勾删除会同时带上查看。
5. 保存,并把角色赋给项目里的人。
关掉「工作流程」的「查看」时,执行记录的查看和删除一起关掉。角色概览见 [自定义角色](/zh/user-management/rbac/custom-roles.md)。方案不含自定义角色时,设置里没有创建入口。
## 这两项分别允许什么
查看:查看项目内工作流程的执行。它包含在工作流程的「查看」里。
删除:删除项目内工作流程的执行。没有查看,就不能单独留下删除。
## Questions
### Duaer 里能只给执行记录的查看、不给工作流程的查看吗?
不能。执行记录的查看锁在工作流程的查看上。勾上后者,前者一起出现。
### Duaer 项目角色的删除执行在哪里?
设置 → 角色 → 项目角色,打开角色后在「执行记录」里勾「删除」。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/user-management/rbac/execution-permissions.md).
# Grant execution access on a Duaer project role
In Duaer, a project role’s Executions section has View and Delete. View follows Workflow View and cannot be turned on by itself.
## Set it on the project role
1. Open Settings → Roles → Project roles.
2. Select Create project role, or open a custom project role that already exists.
3. Under Workflows, turn on View. Under Executions on the same form, View turns on with it, and that checkbox stays locked.
4. When this role should delete executions in the project, also turn on Delete under Executions. Turning Delete on also turns View on.
5. Save, and assign the role to people in the project.
Turning off View under Workflows turns off both execution permissions. The overview is [custom roles](/user-management/rbac/custom-roles.md). When the plan does not include custom roles, Settings has no create entry.
## What each permission allows
View: view executions of workflows in the project. It is included with Workflow View.
Delete: delete executions of workflows in the project. Delete does not remain on after View is off.
## Questions
### Can a Duaer project role view executions without viewing workflows?
No. Execution View is locked to Workflow View. Turning the latter on turns the former on.
### Where is Delete executions on a Duaer project role?
Settings → Roles → Project roles. Open the role and turn on Delete under Executions.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/user-management/rbac/personal-space.md).
# 看懂 Duaer 实例角色里的个人空间
在 Duaer 里,每个实例角色都会列出个人空间权限,那些勾选不能在角色上关掉。能关的是安全与策略里的发布和共享。
## 角色上只能看
1. 打开设置 → 角色 → 实例角色。
2. 打开一个自定义实例角色,或点「创建实例角色」。
3. 展开 Personal space 下的 View 和 Manage。
两组都是勾上且不能改:工作流程、凭证、数据表、代理、文件夹、执行记录。每个人都有自己的个人空间,所以这里是提醒,不是授权开关。项目里的执行权限见 [执行记录](/zh/user-management/rbac/execution-permissions.md)。
## 到安全与策略里关掉一部分
1. 还在实例角色页时,按 Personal space 说明里的链接,或直接打开设置 → 安全与策略。
2. 找到「个人空间」。
3. 按需要关掉「发布工作流程」或「共享工作流程和凭证」。
关掉发布不会取消已经发布的工作流程。关掉共享不会拆掉已经存在的共享。方案不含个人空间策略时,这两个开关锁住,提示你升级。
## Questions
### Duaer 实例角色上的个人空间勾选能取消吗?
不能。那些勾选是固定的。要限制发布或共享,去设置 → 安全与策略 → 个人空间。
### 关掉 Duaer 个人空间的发布后,已发布的工作流程会下线吗?
不会。在 Duaer 里,关掉之后只是不能再从个人空间新发布。已经发布的保持发布。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/user-management/rbac/personal-space.md).
# Read personal space on a Duaer instance role
In Duaer, every instance role lists personal-space permissions, and those checkboxes cannot be cleared on the role. What you can turn off is publishing and sharing under Security & policies.
## The role only shows the block
1. Open Settings → Roles → Instance roles.
2. Open a custom instance role, or select Create instance role.
3. Expand View and Manage under Personal space.
Both groups are checked and cannot be edited: Workflows, Credentials, Data tables, Agents, Folders, and Executions. Everyone has a personal space, so this block is a reminder, not the grant. Project execution permissions are under [executions](/user-management/rbac/execution-permissions.md).
## Turn part of it off under Security & policies
1. From the instance role, follow the link in the Personal space note, or open Settings → Security & policies directly.
2. Find Personal space.
3. Turn off Publishing workflows or Sharing workflows and credentials when you need to.
Turning publishing off does not unpublish workflows that are already published. Turning sharing off does not remove shares that already exist. When the plan does not include personal space policies, both switches stay locked and the page tells you to upgrade.
## Questions
### Can you clear the personal-space checkboxes on a Duaer instance role?
No. Those checkboxes are fixed. To limit publishing or sharing, go to Settings → Security & policies → Personal space.
### Does turning off personal-space publishing in Duaer unpublish what is already live?
No. In Duaer, turning it off stops new publishes from a personal space. Workflows that are already published stay published.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/hosting/security/restricted-nodes.md).
# 在 Duaer 里看到受限节点并换成可用的
在 Duaer 里,被策略挡住的节点仍出现在搜索里,但不能加到画布。替换步骤时,面板标题是「替换此步骤」。
## 在节点面板里怎么出现
1. 在画布上打开节点面板,用搜索找节点。
2. 受限节点排在还能用的结果后面,行是禁用的。标题为「此节点受限」,并写明是整台实例受限,还是当前项目受限。
3. 点击或回车不会把它加到画布上。需要使用时,从弹出层联系实例管理员。
不搜索、只按分类浏览时,受限节点不出现,空掉的分类也会收起。这和用环境变量完全不加载某个节点不同:没加载的节点不会出现在搜索里。
## 在工具选择器里怎么出现
给数字员工加工具时,和在 Chat hub 的「工具」里挑工具时,受限的工具节点同样排在可用工具后面,带一把锁,没有「添加」。
已经配好的工具后来被策略挡住时,会标成受限,但移除等操作还在。设置界面开着时工具刚好变成受限,Duaer 会提示,并且不会把它加进去。
## 换成还能用的节点
1. 在画布上对已有步骤选择替换。
2. 面板标题变为「替换此步骤」。
3. 搜索里仍能看到受限节点,选一个未被禁用的节点完成替换。
受限节点在替换搜索里也点不上去。实例或项目上的节点类型策略由管理员配置;编辑器设置里没有一份可逐项勾选的节点清单。未配置策略时,节点按可用处理。对照这台实例的接口见 [端点参考](/zh/api/api-reference.md)。
## Questions
### Duaer 搜索里看得到、却加不进画布的节点是什么?
受限节点。策略把它挡住了。浏览分类时它不出现,搜索时排在可用节点后面,而且不能添加。
### Duaer 里怎么把受限节点换掉?
对画布上的步骤选择替换。面板标题是「替换此步骤」。选一个没有被禁用的节点。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/hosting/security/restricted-nodes.md).
# Find a restricted node in Duaer and replace it
In Duaer, a node blocked by policy still appears in search, and it cannot be added to the canvas. When you replace a step, the panel title is Replace this step.
## How it shows in the nodes panel
1. On the canvas, open the nodes panel and search.
2. Restricted nodes are listed after the nodes you can use, and the row is disabled. The title is “This node is restricted”, and it says whether the block is the whole instance or this project.
3. Click or Enter does not add it to the canvas. When you need it, contact an instance admin from the popover.
While you browse by category and are not searching, restricted nodes are hidden, and a category that would be empty is dropped. That is separate from excluding a node with an environment variable: a node that is not loaded does not appear in search at all.
## How it shows in tool pickers
When you add a tool to a digital employee, or pick tools under Tools in Chat hub, a restricted tool node is listed after the tools you can use, with a lock and no Add.
A tool you already configured that a policy later blocks is marked restricted, and its actions such as Remove stay. If a tool becomes restricted while its settings view is open, Duaer warns you and adds nothing.
## Replace it with a node you can use
1. On an existing step, choose replace.
2. The panel title becomes Replace this step.
3. Search still lists the restricted node. Select a row that is not disabled to finish the replacement.
A restricted node cannot be chosen from the replace search either. An admin configures the node-type policy on the instance or on a project. Settings in the editor does not offer a checkbox per node. With no policy, nodes stay available. Read the interface on this instance under [endpoint reference](/api/api-reference.md).
## Questions
### What is a node you can search for in Duaer but cannot drop on the canvas?
A restricted node. A policy blocked it. Category browse hides it. Search lists it after usable nodes, and adding it does nothing.
### How do you replace a restricted node in Duaer?
Choose replace on the step. The panel title is Replace this step. Pick a row that is not disabled.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/flow-logic/telegram-trigger.md).
# 让 Duaer 读到 Telegram 图片
在 Duaer 里,Telegram Trigger 要打开下载图片和文件,数字员工才能读到图片内容,而不只是一条文字更新。
## 打开下载
1. 打开工作流程里的 Telegram Trigger。
2. 在 Additional Fields 里打开 Download Images/Files。
3. 需要指定尺寸时,再设 Image Size:Small、Medium、Large 或 Extra Large。不设时,下载默认用大图。
4. 保存后发一张图片做一次试跑。输出里应有二进制数据,而不只是文件编号。
没开下载时,触发器不会把图片文件交给后面的节点或数字员工。一组多张图片时,每张会单独触发,可用 media_group_id 认出它们属于同一组。
## Questions
### Duaer 的 Telegram Trigger 为什么只有文字、没有图片?
Additional Fields 里的 Download Images/Files 没开。打开后,图片会以二进制数据出现在输出里。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/flow-logic/telegram-trigger.md).
# Let Duaer read a Telegram photo
In Duaer, Telegram Trigger has to download images and files before a digital employee can read the photo, not only the text update.
## Turn on download
1. Open Telegram Trigger in the workflow.
2. Under Additional Fields, turn on Download Images/Files.
3. When you need a size, set Image Size to Small, Medium, Large, or Extra Large. If you leave it unset, the download uses the large image.
4. Save, then send a photo as a test run. The output should include binary data, not only a file id.
With download off, the trigger does not hand the image file to later nodes or to a digital employee. When several photos arrive as one group, each photo triggers separately. media_group_id marks them as the same group.
## Questions
### Why does Telegram Trigger in Duaer show text and no photo?
Download Images/Files under Additional Fields is off. Turn it on and the photo arrives as binary data on the output.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/advanced-ai/embeddings-databricks.md).
# 在 Duaer 里接上 Databricks Embeddings
在 Duaer 里,Embeddings Databricks 是挂在 AI 节点上的子节点,用来把文本变成向量。
## 加上子节点
1. 打开要做向量的 AI 节点,在子节点里选 Embeddings Databricks。
2. 接上 Databricks 凭证。
3. Model 用 From List 选一个模型,或切到 ID 填模型标识。
4. 需要时在 Options 里设 Batch Size、Strip New Lines、Timeout、Max Retries。
Batch Size 是每次请求最多送多少段文本。Strip New Lines 会去掉输入里的换行。Timeout 的单位是毫秒。第一个 AI 节点怎么接,见 [入门](/zh/advanced-ai/intro-tutorial.md)。
## Questions
### Duaer 的 Databricks Embeddings 加在哪里?
加在 AI 节点的子节点上,节点名是 Embeddings Databricks。它不是一条独立的主流程节点。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/advanced-ai/embeddings-databricks.md).
# Connect Databricks Embeddings in Duaer
In Duaer, Embeddings Databricks is a sub-node on an AI node. It turns text into vectors.
## Add the sub-node
1. Open the AI node that should embed text, and choose Embeddings Databricks as a sub-node.
2. Attach a Databricks credential.
3. For Model, pick From List, or switch to ID and enter the model id.
4. When you need them, set Batch Size, Strip New Lines, Timeout, and Max Retries under Options.
Batch Size is how many documents go in one request. Strip New Lines removes line breaks from the input. Timeout is in milliseconds. How the first AI node is wired is the [intro](/advanced-ai/intro-tutorial.md).
## Questions
### Where do you add Databricks Embeddings in Duaer?
As a sub-node on the AI node. The node name is Embeddings Databricks. It is not a standalone step on the main path.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/advanced-ai/minimax.md).
# 在 Duaer 里设置 MiniMax 的输出长度
在 Duaer 里,MiniMax 聊天模型的输出长度在节点 Options 的 Maximum Number of Tokens。上限随所选模型走。
## 在子节点里设置
1. 在 AI 节点上接上 MiniMax 聊天模型子节点。
2. 填好 MiniMax 凭证,并选模型。
3. 打开 Options,找到 Maximum Number of Tokens。
4. 留默认 -1 时,用该模型自己的默认长度。要更长的回答时,填一个不超过该模型上限的正数。
说明写着:生成长度的上限取决于所选模型。Duaer 0.01 提高了这里能用的输出长度上限,具体数字以你选的模型为准,不在文档站再写一份会过期的表。Hide Thinking 默认打开,会去掉思考过程,只留下最终回答。
## Questions
### Duaer 的 MiniMax 输出长度在哪个字段?
在 MiniMax 聊天模型子节点的 Options 里,字段名是 Maximum Number of Tokens。-1 表示用模型默认值。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/advanced-ai/minimax.md).
# Set MiniMax output length in Duaer
In Duaer, MiniMax chat-model output length is Maximum Number of Tokens under the node’s Options. The ceiling follows the model you select.
## Set it on the sub-node
1. Attach the MiniMax chat model as a sub-node on the AI node.
2. Fill in the MiniMax credential and select a model.
3. Open Options and find Maximum Number of Tokens.
4. Leave the default -1 to use that model’s own default length. For a longer answer, enter a positive number that stays within the model’s ceiling.
The field says the limit depends on the selected model. Duaer 0.01 raises the output length you can use here. The number follows the model you picked. This docs site does not keep a second table that would go stale. Hide Thinking is on by default and strips the reasoning, leaving the final answer.
## Questions
### Which field sets MiniMax output length in Duaer?
Maximum Number of Tokens under Options on the MiniMax chat-model sub-node. -1 uses the model default.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/flow-logic/node-details.md).
# 在窄屏上查看 Duaer 节点的输入和输出
在 Duaer 里,打开节点后,窗口变窄时输入面板和输出面板仍然留在画面上。没有单独的开关。
## 打开节点即可
1. 在画布上双击节点,或从节点打开详情。
2. 把浏览器窗口拉窄。
3. 确认左侧输入和右侧输出仍在,而不是整栏消失。需要看数据时切换面板里的展示方式。
面板有最小宽度,所以窄屏时会挤在一起,但不会把输入或输出整个拿掉。这是 Duaer 0.01 的显示方式,不用在设置里打开。
## Questions
### Duaer 窗口变窄后,节点输出还在吗?
在。打开节点详情后,输入和输出面板在窄屏上仍然可见。没有单独的设置项。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/flow-logic/node-details.md).
# Keep a Duaer node’s input and output visible on a narrow screen
In Duaer, after you open a node, the input panel and the output panel stay on screen when the window is narrow. There is no separate switch.
## Open the node
1. Double-click a node on the canvas, or open its details from the node.
2. Make the browser window narrower.
3. Confirm input on one side and output on the other are still there, rather than a whole column disappearing. Switch the display mode inside a panel when you need a different view of the data.
The panels keep a minimum width, so a narrow window crowds them and does not remove input or output. This is how Duaer 0.01 lays the node out. You do not turn it on in Settings.
## Questions
### Does a Duaer node still show its output when the window is narrow?
Yes. After you open the node, the input and output panels stay visible. There is no separate setting.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/flow-logic/canceled-executions.md).
# 在 Duaer 里取消执行后状态保持取消
在 Duaer 里,你取消的执行会停在已取消。之后的写入不会把它改成成功或失败。
## 在执行列表里看
1. 打开该工作流程的执行列表。
2. 对一条正在跑的执行选择取消。
3. 刷新列表。状态应仍是已取消。
没有开关。取消是终态:后面到达的完成或失败结果不会覆盖它。要再跑一遍,从画布重新执行,那是另一条执行记录。
## Questions
### Duaer 里已取消的执行会不会后来变成成功?
不会。取消之后,状态保持已取消,不会被另一次写入盖成成功或失败。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/flow-logic/canceled-executions.md).
# Keep a canceled Duaer execution canceled
In Duaer, an execution you cancel stays canceled. A later write does not turn it into success or error.
## Check it in the execution list
1. Open the execution list for the workflow.
2. Cancel a run that is still going.
3. Refresh the list. The status should still be canceled.
There is no switch. Canceled is final: a completion or a failure that arrives later does not overwrite it. To run again, start a new execution from the canvas. That is a different row.
## Questions
### Can a canceled execution in Duaer later show as success?
No. After you cancel it, the status stays canceled. Another write does not replace it with success or error.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started.md).
# 怎么开始用 Duaer
Duaer 可以开在 www.duaer.com 上,也可以用 Docker 自己托管。套餐决定每月执行次数和 AI 积分。
## 数字员工与可验收交付
Duaer 数字员工按明确验收项交付,你可以接受或打回。Skill 是调用手段,不是产品本身。
- 主链:[产品](https://www.duaer.com)
- 辅链:[技能主场](https://skills.duaer.com)
- 文档仍在 [doc.duaer.com](https://doc.duaer.com)
## 先决定谁管机器
- 马上用:打开 [套餐页](https://www.duaer.com/pricing),注册后就是 Hobby。不用安装。
- 自己管机器:从 Duaer v3 起只支持容器。见 [用 Docker 托管 Duaer](/zh/deploy/host-duaer.md)。
两种都是同一套 Duaer。工作流程、节点和凭证的用法一样。差别是谁升级、谁备份数据库。
## 再说清要交付什么
- 交付与验收:见 [在 Duaer 里创建第一名数字员工](/zh/getting-started/first-digital-employee.md)。
- 正式运行的交付物:见 [在 Duaer 里查看数据池](/zh/getting-started/data-pool.md)。
- Duaer 能取的数据目录:见 [在 Duaer 里使用数据市场](/zh/getting-started/data-market.md)。
- 节点创建器里的 Duaer 数据分类:见 [在 Duaer 里用 Duaer 数据分类加节点](/zh/getting-started/duaer-data.md)。
- 画布上跑通流程:见 [在 Duaer 里做出第一个工作流程](/zh/getting-started/first-organization.md)。
- 两个词怎么分:见 [Duaer 里会碰到的词](/zh/getting-started/glossary.md)。
## 再选套餐
线上账号在套餐页切换 Hobby、Starter、Pro、Business。价格和额度以那一页为准,这一页只把当前公开的数字记下来,方便对照。详见 [Duaer 套餐与积分](/zh/manage-cloud/plans.md)。
## Questions
### Duaer 不装软件就能用吗?
可以。在 www.duaer.com 注册就是线上实例,套餐从 Hobby 开始。
## 相关
- [在 Duaer 里创建第一名数字员工](https://doc.duaer.com/zh/getting-started/first-digital-employee.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
- [在 Cursor、Claude Code 和 Codex 里安装 Duaer 技能](https://doc.duaer.com/zh/getting-started/install-skills.md)
- [在 Duaer 里用 Duaer 数据分类加节点](https://doc.duaer.com/zh/getting-started/duaer-data.md)
- [在 Duaer 里做出第一个工作流程](https://doc.duaer.com/zh/getting-started/first-organization.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started.md).
# Choose how to use Duaer
Duaer runs on www.duaer.com, or you host it yourself with Docker. The plan sets monthly executions and AI credits.
## Digital employees & acceptable delivery
Duaer digital employees deliver work you can accept or reject against clear checks. Skills are how agents and teams invoke that workflow — not the product itself.
- Primary: [Product](https://www.duaer.com)
- Secondary: [Skills home](https://skills.duaer.com)
- Docs stay on [doc.duaer.com](https://doc.duaer.com)
## Decide who runs the machine
- Start now: open the [pricing page](https://www.duaer.com/pricing) and register. That account is Hobby. Nothing to install.
- Run it yourself: from Duaer v3 the supported deployment is a container. Refer to [Host Duaer with Docker](/deploy/host-duaer.md).
Both are the same Duaer. Workflows, nodes, and credentials work the same way. The difference is who upgrades and who backs up the database.
## Then name what to deliver
- Delivery and acceptance: refer to [Create your first digital employee in Duaer](/getting-started/first-digital-employee.md).
- Production deliverables: refer to [View the Duaer data pool](/getting-started/data-pool.md).
- Catalog of data Duaer can fetch: refer to [Use the Duaer data market](/getting-started/data-market.md).
- Duaer Data category in the node creator: refer to [Add a node from the Duaer Data category](/getting-started/duaer-data.md).
- Run a flow on the canvas: refer to [Build your first workflow in Duaer](/getting-started/first-organization.md).
- How the two words differ: refer to [Key concepts in Duaer](/getting-started/glossary.md).
## Then pick a plan
On the hosted account, switch Hobby, Starter, Pro, or Business on the pricing page. Prices and limits there win. This page only records the public numbers so you can compare them. Refer to [Duaer plans and credits](/manage-cloud/plans.md).
## Questions
### Can I use Duaer without installing it?
Yes. Register at www.duaer.com. That hosted instance starts on Hobby.
## Related
- [Create your first digital employee in Duaer](https://doc.duaer.com/getting-started/first-digital-employee.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
- [Install Duaer skills in Cursor, Claude Code, and Codex](https://doc.duaer.com/getting-started/install-skills.md)
- [Add a node from the Duaer Data category](https://doc.duaer.com/getting-started/duaer-data.md)
- [Build your first workflow in Duaer](https://doc.duaer.com/getting-started/first-organization.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/first-digital-employee.md).
# 在 Duaer 里创建第一名数字员工
在 Duaer 里新建一名数字员工:写清指令、选好模型、发布后开一次对话验收结果。界面按钮可能写「智能体」。
## 先说清满意的结果
Duaer 的主路径是:你说清要什么,数字员工去做,你来验收。这一页只写产品里已有的创建与发布步骤。界面可能写「智能体」或「Agent」,文档里一律叫数字员工。
实例要已启用 Agents 模块。没有创建按钮时,先确认角色有创建权限,再确认模块已开。
## 新建
1. 登录 Duaer,打开项目的 Agents 列表(页头是 Agents)。
2. 点「创建智能体」,或空列表上的「创建你的第一个智能体」。项目菜单里也可能是「新建智能体」。
3. 进入构建器。第一次改名称、模型或指令时,Duaer 才会真正保存这名数字员工。还没改名时它叫「未命名」,在列表里以浅色斜体显示。
## 写指令并选模型
1. 打开「模型与指令」。
2. 在「名称」里起名。
3. 在「指令」里写清这名数字员工应完成的事,例如总结某个频道里的新工单。
4. 在「模型」里选一个模型。若该模型需要凭证,按「创建凭证」或「连接到 …」接上。
指令对应你要验收的结果。先写清楚,再考虑定时或工具。
## 发布并用对话验收
1. 点「发布」。发布前必须已有指令和模型;缺一项时按钮不可用。
2. 在列表或构建器里开「新建聊天」。
3. 发一条消息,看数字员工的回复是否达到你写的结果。满意才算交付。
要按钟点反复跑同一目标,见 [给 Duaer 数字员工排定时任务](/zh/advanced-ai/digital-employee-schedules.md)。已启用的定时任务在发布后才会开始跑。
若你要先在画布上跑通节点连线,那是工作流程,见 [在 Duaer 里做出第一个工作流程](/zh/getting-started/first-organization.md)。
## Questions
### Duaer 界面写「智能体」,文档写「数字员工」,是不是两样东西?
不是。构建器按钮写智能体或 Agent;Duaer 文档和官网把这名交付叫数字员工。
### Duaer 数字员工一定要先画工作流程吗?
不用。这一页只要求指令、模型和发布,再用对话验收。画布流程是另一条入门,见第一个工作流程。
## 相关
- [Duaer 里会碰到的词](https://doc.duaer.com/zh/getting-started/glossary.md)
- [在 Duaer 里做出第一个工作流程](https://doc.duaer.com/zh/getting-started/first-organization.md)
- [在 Duaer 里查看数据池](https://doc.duaer.com/zh/getting-started/data-pool.md)
- [给 Duaer 数字员工排定时任务](https://doc.duaer.com/zh/advanced-ai/digital-employee-schedules.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/first-digital-employee.md).
# Create your first digital employee in Duaer
In Duaer, create a digital employee: write instructions, pick a model, publish, then open a chat and accept the result. The UI may label the control Agent.
## Name the result you will accept
Duaer’s main path is: you name the outcome, a digital employee does the work, and you accept it. This page covers only create and publish steps that exist in the product. The UI may say Agent; this doc always says digital employee.
The instance must have the Agents module on. If there is no create control, check that your role can create agents and that the module is enabled.
## Create one
1. Sign in to Duaer and open the project Agents list (the heading is Agents).
2. Select Create agent, or Create your first agent on an empty list. The project menu may also show New agent.
3. The builder opens. Duaer saves the digital employee on the first edit to the name, model, or instructions. Until you rename it, it is called Untitled and shows in light italics on the list.
## Write instructions and pick a model
1. Open Model & instructions.
2. Enter a Name.
3. Under Instructions, write what this digital employee should do—for example, summarize new tickets in a support channel.
4. Under Model, select a model. If that model needs a credential, use Create credential or Connect to …
Instructions are the result you will accept. Write them before schedules or tools.
## Publish and accept in chat
1. Select Publish. Publish needs instructions and a model; the button stays off until both are set.
2. Open New chat from the list or the builder.
3. Send a message and judge whether the reply matches the outcome you wrote. Acceptance is the delivery.
To run the same objective on a clock, refer to [Schedule a task for a Duaer digital employee](/advanced-ai/digital-employee-schedules.md). Enabled schedules start after you publish.
If you need to wire nodes on a canvas first, that is a workflow. Refer to [Build your first workflow in Duaer](/getting-started/first-organization.md).
## Questions
### The Duaer UI says Agent. Is that different from a digital employee?
No. Builder controls say Agent; Duaer docs and the site call that delivery a digital employee.
### Must I build a workflow before a Duaer digital employee?
No. This page only needs instructions, a model, publish, and a chat to accept the result. The canvas path is a different getting-started page.
## Related
- [Key concepts in Duaer](https://doc.duaer.com/getting-started/glossary.md)
- [Build your first workflow in Duaer](https://doc.duaer.com/getting-started/first-organization.md)
- [View the Duaer data pool](https://doc.duaer.com/getting-started/data-pool.md)
- [Schedule a task for a Duaer digital employee](https://doc.duaer.com/advanced-ai/digital-employee-schedules.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/first-organization.md).
# 在 Duaer 里做出第一个工作流程
在 Duaer 里把画布流程跑通:手动触发、Edit Fields、执行一次。这不是数字员工的交付验收主路径。
## 这一页在教什么
工作流程是画布上的节点流程。这一页只教最短的一次手动跑通,方便你确认触发、表达式和执行列表怎么工作。
想让数字员工按你写下的结果交付、你来验收,见 [在 Duaer 里创建第一名数字员工](/zh/getting-started/first-digital-employee.md)。两个词的定义见 [Duaer 里会碰到的词](/zh/getting-started/glossary.md)。
## 新建
1. 登录 Duaer。
2. 在工作流程列表里新建一个空白工作流程。
3. 选择从空白开始,不要先套模板。
## 放一个触发节点
1. 选择添加第一步。
2. 搜索 Manual,加上手动触发。以后要定时跑,再换成 Schedule。
3. 关掉节点详情,回到画布。
## 用表达式写一个字段
1. 从手动触发的加号接上 Edit Fields。
2. 添加一个字符串字段,名字用 checkedAt。
3. 把值切到表达式,填入 {{ $now.toISO() }}。
4. 在该节点上执行一步。输出里应有 checkedAt,值是当前时间。
表达式在 Duaer 里读取已有数据或当前时间。语法见 [在 Duaer 里用表达式转换数据](/zh/code/expressions.md)。
## 整张跑一遍并保存
1. 回到画布,执行整个工作流程。
2. 两个节点都成功后,保存。
3. 需要对外自动跑时再发布。没发布时,只有你在画布上点执行才会跑。
## Questions
### Duaer 里第一个工作流程必须接外部账号吗?
不用。手动触发加上 Edit Fields 就能跑通,凭证留到下一步再加。
### 这一页和「数字员工交付、你来验收」是一回事吗?
不是。这一页是画布流程入门。交付与验收见创建第一名数字员工。
## 相关
- [在 Duaer 里创建第一名数字员工](https://doc.duaer.com/zh/getting-started/first-digital-employee.md)
- [Duaer 里会碰到的词](https://doc.duaer.com/zh/getting-started/glossary.md)
- [在 Duaer 里用表达式转换数据](https://doc.duaer.com/zh/code/expressions.md)
- [怎么开始用 Duaer](https://doc.duaer.com/zh/getting-started.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/first-organization.md).
# Build your first workflow in Duaer
In Duaer, run a canvas flow once: manual trigger, Edit Fields, execute. This is not the digital-employee delivery path.
## What this page teaches
A workflow is the node flow on the canvas. This page is the shortest manual run so you can see triggers, expressions, and the executions list.
Duaer’s main pitch is a digital employee that delivers a result you accept. For that path, refer to [Create your first digital employee in Duaer](/getting-started/first-digital-employee.md). Definitions: [Key concepts in Duaer](/getting-started/glossary.md).
## Create one
1. Sign in to Duaer.
2. Create a blank workflow from the list.
3. Start from scratch. Skip templates for this pass.
## Add a trigger
1. Choose add first step.
2. Search for Manual and add the manual trigger. Switch it to Schedule later if it should run on a clock.
3. Close the node and return to the canvas.
## Write one field with an expression
1. From the manual trigger connector, add Edit Fields.
2. Add a string field named checkedAt.
3. Switch the value to an expression and enter {{ $now.toISO() }}.
4. Execute that step. The output should include checkedAt set to the current time.
An expression in Duaer reads existing data or the current time. Refer to [Transform data with expressions in Duaer](/code/expressions.md).
## Run the whole canvas and save
1. Back on the canvas, execute the workflow.
2. After both nodes succeed, save.
3. Publish when it should run without you. Until then it runs only when you execute it on the canvas.
## Questions
### Does the first Duaer workflow need an outside account?
No. A manual trigger plus Edit Fields is enough. Add a credential on a later node.
### Is this the Duaer “digital employee delivers, you accept” path?
No. This page is canvas-flow getting started. For delivery and acceptance, create your first digital employee.
## Related
- [Create your first digital employee in Duaer](https://doc.duaer.com/getting-started/first-digital-employee.md)
- [Key concepts in Duaer](https://doc.duaer.com/getting-started/glossary.md)
- [Transform data with expressions in Duaer](https://doc.duaer.com/code/expressions.md)
- [Choose how to use Duaer](https://doc.duaer.com/getting-started.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/data-pool.md).
# 在 Duaer 里查看数据池
在 Duaer 里,数据池汇总数字员工正式运行成功后的交付物。侧栏在「数字员工」下方;手动试跑不会写入。
## 数据池里有什么
一次正式运行成功结束后,Duaer 把交付节点输出的条目写入项目数据池。交付节点是这次运行里最后一个成功完成的主节点;模型、记忆、解析器一类 AI 子节点不算。
只记正式运行:触发、Webhook、重试、CLI,以及被另一个工作流程调用的运行。画布手动试跑、错误工作流程、聊天、智能体对话和评测运行不写入。单次最多 500 条;过大的条目会存成截断标记。
实例要已启用 data-pool 模块。侧栏入口打开的是个人「数字员工」空间下的数据池。
## 打开并浏览
1. 左侧在「数字员工」下方点「数据池」。页标题是「数据池」。
2. 用「全部数字员工」筛选某一名员工,或看全部;也可用验收状态筛选待验收、已通过、已打回。
3. 表头有时间、数字员工、交付节点、验收,以及条目字段。待验收行可「通过」或填写原因后「打回」。
4. 列表按时间从新到旧。点时间打开对应执行记录。还有更多时点「加载更多」。
空状态写:还没有数据。正式运行成功的交付物会出现在这里,待你通过或打回。
验收步骤详见 [在 Duaer 里验收交付](/zh/getting-started/accept-deliverables.md)。
执行记录被清理后,数据池里的记录仍在。删掉项目会一并删掉池里的记录。
侧栏「数据池」正下方是 [数据市场](/zh/getting-started/data-market.md),列出 Duaer 能取的数据,不是池里已存的交付物。
## 和数据表、执行记录的差别
- 数据池:自动收下正式运行的交付物,用来查看与按员工筛选。当前不能在池里改、删单条或导出。
- 数据表:你在项目里建表,用 Data table 节点读写。见 [在 Duaer 里用数据表留下结果](/zh/build/data-tables.md)。
- 执行记录:每一次运行的历史,含手动试跑。见 [在 Duaer 里查看执行记录](/zh/build/executions.md)。
## Questions
### 为什么我在画布上点执行后,Duaer 数据池还是空的?
手动试跑不写入数据池。要发布后用触发、Webhook 等正式方式跑成功,交付物才会出现。
### Duaer 数据池和数据表是同一个东西吗?
不是。数据池自动收正式运行的交付物;数据表是你建的表,用节点读写。
## 相关
- [在 Duaer 里验收交付](https://doc.duaer.com/zh/getting-started/accept-deliverables.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
- [Duaer 里会碰到的词](https://doc.duaer.com/zh/getting-started/glossary.md)
- [在 Duaer 里创建第一名数字员工](https://doc.duaer.com/zh/getting-started/first-digital-employee.md)
- [在 Duaer 里用数据表留下结果](https://doc.duaer.com/zh/build/data-tables.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/data-pool.md).
# View the Duaer data pool
In Duaer, the data pool lists deliverables from successful production runs of digital employees. The sidebar item sits under Digital employees. Manual test runs do not write here.
## What the data pool holds
After a successful production run, Duaer stores the output items of the deliverable node in the project data pool. The deliverable is the last main node that finished successfully; AI sub-nodes such as models, memories, and parsers never count.
Only production runs are stored: trigger, webhook, retry, CLI, and runs called by another workflow. Manual canvas tests, error workflows, chat, agent, and evaluation runs are skipped. At most 500 items per run; oversized items are stored as a truncation marker.
The instance must have the data-pool module on. The sidebar opens the pool for the personal Digital employees space.
## Open and browse
1. In the left sidebar, under Digital employees, select Data pool. The page title is Data pool.
2. Filter by digital employee and by acceptance status (pending, accepted, rejected).
3. Columns include Time, Digital employee, Deliverable node, Acceptance, plus item fields. Pending rows offer Accept or Reject (reject needs a short note).
4. Rows are newest first. Select the time to open that execution. When more remain, select Load more.
The empty state says deliverables from successful production runs appear here pending acceptance.
Acceptance steps: [Accept deliverables in Duaer](/getting-started/accept-deliverables.md).
Records stay after executions are pruned or deleted. Deleting the project deletes its pool records.
Directly under Data pool in the sidebar is the [data market](/getting-started/data-market.md): a catalog of data Duaer can fetch, not the deliverables already stored in the pool.
## How it differs from data tables and executions
- Data pool: automatic deliverables from production runs, for viewing and filtering by digital employee. There is no edit, delete-one, or export in the pool today.
- Data table: a table you create in the project and read or write with the Data table node. Refer to [Keep rows in a Duaer data table](/build/data-tables.md).
- Executions: every run history, including manual tests. Refer to [Read executions in Duaer](/build/executions.md).
## Questions
### Why is the Duaer data pool empty after Execute on the canvas?
Manual test runs do not write to the pool. Publish and run successfully via a trigger, webhook, or other production path so deliverables appear.
### Is the Duaer data pool the same as a data table?
No. The data pool collects production deliverables automatically. A data table is a table you create and access with the Data table node.
## Related
- [Accept deliverables in Duaer](https://doc.duaer.com/getting-started/accept-deliverables.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
- [Key concepts in Duaer](https://doc.duaer.com/getting-started/glossary.md)
- [Create your first digital employee in Duaer](https://doc.duaer.com/getting-started/first-digital-employee.md)
- [Keep rows in a Duaer data table](https://doc.duaer.com/build/data-tables.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/accept-deliverables.md).
# 在 Duaer 里验收交付
在 Duaer 里,数据池里的正式交付物默认为待验收;通过或打回后才算完成「满意才算交付」。
## 验收是什么
Duaer 把正式运行成功后的交付物写入数据池,状态为待验收。
你在数据池里点「通过」或填写原因后「打回」。只有待验收行可以操作。
可先走 [生命科学文献简报](/zh/getting-started/life-research-brief.md) 产出一份待验收简报再练验收。
## 怎么做
1. 打开侧栏「数据池」。
2. 用验收状态筛「待验收」。
3. 确认内容后点「通过」;不满意则填写打回原因后点「打回」。
打回原因会写在该条记录上,便于对照修改后再跑。
## Questions
### Duaer 数据池里不点通过可以吗?
可以只浏览;未通过的仍是待验收,不算完成验收。
### 打回后还能再通过吗?
不能对已打回的行再操作。修好数字员工后重新正式运行,会有新的待验收条目。
## 相关
- [在 Duaer 里查看数据池](https://doc.duaer.com/zh/getting-started/data-pool.md)
- [在 Duaer 里用模板创建生命科学文献简报员工](https://doc.duaer.com/zh/getting-started/life-research-brief.md)
- [在 Duaer 里创建第一名数字员工](https://doc.duaer.com/zh/getting-started/first-digital-employee.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/accept-deliverables.md).
# Accept deliverables in Duaer
In Duaer, production deliverables in the data pool start as pending. Accept or reject them so delivery is complete.
## What acceptance means
Duaer writes successful production deliverables to the data pool as pending.
Accept them, or reject with a short note. Only pending rows can change.
Try [Create the life research brief employee in Duaer](/getting-started/life-research-brief.md) to produce a pending brief first.
## How to accept or reject
1. Open Data pool in the sidebar.
2. Filter Acceptance to Pending.
3. Select Accept, or enter a reject reason and select Reject.
The reject reason stays on the record so you can fix and run again.
## Questions
### Can I leave Duaer deliverables pending?
Yes. Pending means not yet accepted.
### Can I accept a rejected row?
No. Run the digital employee again in production to get a new pending row.
## Related
- [View the Duaer data pool](https://doc.duaer.com/getting-started/data-pool.md)
- [Create the life research brief employee in Duaer](https://doc.duaer.com/getting-started/life-research-brief.md)
- [Create your first digital employee in Duaer](https://doc.duaer.com/getting-started/first-digital-employee.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/life-research-brief.md).
# 在 Duaer 里用模板创建生命科学文献简报员工
在 Duaer 里用模板创建「生命科学文献简报」数字员工:检索论文与基因/变异,产出可验收简报,正式运行写入数据池待验收。
## 这名员工做什么
Duaer 模板「生命科学文献简报」是一名可对话的数字员工:先检索论文,再查基因与可选变异,整理成结构化简报。
正式对话成功后,交付物进入数据池,状态为待验收。你在数据池里通过或打回。
## 怎么创建并调用
1. 打开模板,选用「生命科学文献简报」。
2. 发布该数字员工。
3. 打开侧栏 Skill:确认「可调用」清单(已发布、对话 URL;可选 Webhook / MCP),并复制技能。
4. 用正式对话或技能发起提问(例如 BRAF 与黑色素瘤)。每次成功的数据检索扣 1 额度。
5. 打开数据池,对待验收简报点「通过」或填写原因后「打回」。
## Questions
### Duaer 生命科学文献简报要配第三方密钥吗?
不需要。它用 Duaer Chat Model 与 Duaer Data;扣的是套餐执行次数与数据额度。
### 和单独的论文检索模板有何不同?
论文模板只搜论文。生命科学文献简报把论文、基因、变异串成一份可验收简报,并引导走数据池验收。
## 相关
- [在 Duaer 里创建第一名数字员工](https://doc.duaer.com/zh/getting-started/first-digital-employee.md)
- [在 Duaer 里验收交付](https://doc.duaer.com/zh/getting-started/accept-deliverables.md)
- [在 Duaer 里查看数据池](https://doc.duaer.com/zh/getting-started/data-pool.md)
- [在 Duaer 里检索论文](https://doc.duaer.com/zh/getting-started/papers.md)
- [在 Duaer 里检索基因](https://doc.duaer.com/zh/getting-started/genes.md)
- [在 Duaer 里检索变异](https://doc.duaer.com/zh/getting-started/variants.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/life-research-brief.md).
# Create the life research brief employee in Duaer
In Duaer, create the Life research brief digital employee from Templates: papers plus genes/variants into an acceptable brief. Production runs land in the data pool as pending.
## What this employee does
Duaer’s Life research brief template is a chat digital employee: papers first, then genes and optional variants, as a structured brief.
After a successful production chat, the deliverable enters the data pool as pending. Accept or reject it there.
## Create and call
1. Open Templates and choose Life research brief.
2. Publish the digital employee.
3. Open Skill: confirm the Callable checklist (Published, Chat URL; optional Webhook / MCP), then copy the skill.
4. Ask via production chat or the skill (for example BRAF and melanoma). Each successful data search uses 1 credit.
5. Open Data pool and Accept the pending brief, or Reject with a short note.
## Questions
### Does the Duaer life research brief need third-party OAuth?
No. It uses the Duaer Chat Model and Duaer Data. Charges are plan executions and data credits.
### How is it different from the papers research template?
Papers research only searches papers. Life research brief chains papers, genes, and variants into one acceptable brief and points you to data-pool acceptance.
## Related
- [Create your first digital employee in Duaer](https://doc.duaer.com/getting-started/first-digital-employee.md)
- [Accept deliverables in Duaer](https://doc.duaer.com/getting-started/accept-deliverables.md)
- [View the Duaer data pool](https://doc.duaer.com/getting-started/data-pool.md)
- [Search papers in Duaer](https://doc.duaer.com/getting-started/papers.md)
- [Search genes in Duaer](https://doc.duaer.com/getting-started/genes.md)
- [Search variants in Duaer](https://doc.duaer.com/getting-started/variants.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/data-market.md).
# 在 Duaer 里使用数据市场
在 Duaer 里,数据市场列出能取到的数据、能拿到什么、以及价格,可以按关键词搜索。侧栏在数据池正下方。打开目录不会发起检索。
## 数据市场是什么
Duaer 数据市场是一份目录:每一行写清数据名称、能拿到什么、价格。和数据池不同——数据池收正式运行的交付物;数据市场说明 Duaer 还能去取哪些外部数据。
实例要已启用 data-pool 模块。侧栏在「数字员工」下先看到「数据池」,紧挨其下是「数据市场」。打开这一页不会扣额度,也不会真正去搜。
## 打开目录
1. 左侧在「数字员工」下方,点「数据池」正下方的「数据市场」。页标题是「数据市场」。
2. 表头是:数据、能拿到什么、价格。
3. 当前条目:论文、基因和蛋白、临床试验、化合物和药物、蛋白结构、疾病、物种、关键词、亚细胞定位、基因本体、通路、基因、变异、结构域、预印本、基金、互作、表达、靶点关联、同源基因、生物活性、组织图谱、适应症、作用机制、GEO、实验测定、专利、AlphaFold、细胞系、药–基因、反应、复合物、代谢物、药品标签。每项一次成功查询 1 额度。
4. 每一行下方有可复制的英文调用技能。专题步骤见 [论文](/zh/getting-started/papers.md)、[基因和蛋白](/zh/getting-started/proteins.md)、[临床试验](/zh/getting-started/trials.md)、[化合物和药物](/zh/getting-started/compounds.md)、[蛋白结构](/zh/getting-started/structures.md)、[疾病](/zh/getting-started/diseases.md)、[物种](/zh/getting-started/organisms.md)、[关键词](/zh/getting-started/keywords.md)、[亚细胞定位](/zh/getting-started/locations.md)、[基因本体](/zh/getting-started/gene-ontology.md)、[通路](/zh/getting-started/pathways.md)、[基因](/zh/getting-started/genes.md)、[变异](/zh/getting-started/variants.md)、[结构域](/zh/getting-started/domains.md)、[预印本](/zh/getting-started/preprints.md)、[基金](/zh/getting-started/grants.md)、[互作](/zh/getting-started/interactions.md)、[表达](/zh/getting-started/expression.md)、[靶点关联](/zh/getting-started/targets.md)、[同源基因](/zh/getting-started/orthologs.md)、[生物活性](/zh/getting-started/activities.md)、[组织图谱](/zh/getting-started/atlas.md)、[适应症](/zh/getting-started/indications.md)、[作用机制](/zh/getting-started/mechanisms.md)、[GEO](/zh/getting-started/geo.md)、[实验测定](/zh/getting-started/assays.md)、[专利](/zh/getting-started/patents.md)、[AlphaFold](/zh/getting-started/alphafold.md)、[细胞系](/zh/getting-started/cell-lines.md)、[药–基因](/zh/getting-started/drug-gene.md)、[反应](/zh/getting-started/reactions.md)、[复合物](/zh/getting-started/complexes.md)、[代谢物](/zh/getting-started/metabolites.md)、[药品标签](/zh/getting-started/drug-labels.md)、[不良反应](/zh/getting-started/adverse-events.md)、[GWAS](/zh/getting-started/gwas.md)、[RxNorm](/zh/getting-started/rxnorm.md)、[MeSH](/zh/getting-started/mesh.md)、[表型](/zh/getting-started/phenotypes.md)、[交叉引用](/zh/getting-started/crossrefs.md)、[药品召回](/zh/getting-started/drug-recalls.md)、[配体](/zh/getting-started/ligands.md)、[ChEMBL](/zh/getting-started/chembl.md), [Ensembl](/zh/getting-started/ensembl.md)、[KEGG](/zh/getting-started/kegg.md)、[Monarch](/zh/getting-started/monarch.md)、[HGNC](/zh/getting-started/hgnc.md)、[PRIDE](/zh/getting-started/pride.md)、[Uberon](/zh/getting-started/uberon.md)、[BioStudies](/zh/getting-started/biostudies.md)、[Orphanet](/zh/getting-started/orphanet.md)、[EFO](/zh/getting-started/efo.md)、[RNAcentral](/zh/getting-started/rnacentral.md)、[Mondo](/zh/getting-started/mondo.md)、[Cell Ontology](/zh/getting-started/cell-ontology.md)、[MP](/zh/getting-started/mp.md)、[MyDisease](/zh/getting-started/mydisease.md)、[Metabolomics](/zh/getting-started/metabolomics.md)、[IntAct](/zh/getting-started/intact.md)、[BioSamples](/zh/getting-started/biosamples.md)、[ENCODE](/zh/getting-started/encode.md)、[Pathway Commons](/zh/getting-started/pathway-commons.md)、[Alliance](/zh/getting-started/alliance.md)、[ClinVar](/zh/getting-started/clinvar.md)、[dbSNP](/zh/getting-started/dbsnp.md)、[JASPAR](/zh/getting-started/jaspar.md)、[cBioPortal](/zh/getting-started/cbioportal.md)、[GDC](/zh/getting-started/gdc.md)、[Expression Atlas](/zh/getting-started/expression-atlas.md)、[Single Cell Atlas](/zh/getting-started/single-cell-atlas.md)、[NDC](/zh/getting-started/ndc.md)、[Device events](/zh/getting-started/device-events.md)、[Sequence Ontology](/zh/getting-started/sequence-ontology.md)、[DOID](/zh/getting-started/doid.md)、[NCBI Taxonomy](/zh/getting-started/ncbi-taxon.md)、[GlyGen](/zh/getting-started/glygen.md)、[ChEBI](/zh/getting-started/chebi.md)、[NCIt](/zh/getting-started/ncit.md)、[Pfam](/zh/getting-started/pfam.md)、[EMDB](/zh/getting-started/emdb.md)、[UniParc](/zh/getting-started/uniparc.md)、[Europe PMC](/zh/getting-started/europe-pmc.md)、[ORCID](/zh/getting-started/orcid.md)、[Protein Ontology](/zh/getting-started/protein-ontology.md)、[OBI](/zh/getting-started/obi.md)、[MPATH](/zh/getting-started/mpath.md)、[Crossref](/zh/getting-started/crossref.md)、[MyChem](/zh/getting-started/mychem.md)、[Drugs@FDA](/zh/getting-started/drugs-fda.md)、[UniRef](/zh/getting-started/uniref.md)、[UniRule](/zh/getting-started/unirule.md)、[Proteomes](/zh/getting-started/proteomes.md)、[ENA](/zh/getting-started/ena.md)、[EMPIAR](/zh/getting-started/empiar.md)、[BMRB](/zh/getting-started/bmrb.md)、[Swiss-Model](/zh/getting-started/swiss-model.md)、[Lipid Maps](/zh/getting-started/lipid-maps.md)、[MGnify](/zh/getting-started/mgnify.md)、[BV-BRC](/zh/getting-started/bv-brc.md)、[ClinPGx](/zh/getting-started/clinpgx.md)、[DailyMed](/zh/getting-started/daily-med.md)、[RxClass](/zh/getting-started/rxclass.md)、[OpenFDA 510(k)](/zh/getting-started/device-510k.md)、[OpenFDA Food](/zh/getting-started/food-enforcement.md)、[Zenodo](/zh/getting-started/zenodo.md)、[Figshare](/zh/getting-started/figshare.md)、[Dryad](/zh/getting-started/dryad.md)、[ProteomeXchange](/zh/getting-started/proteomexchange.md)、[Omnipath](/zh/getting-started/omnipath.md)、[OMA](/zh/getting-started/oma.md)、[OrthoDB](/zh/getting-started/orthodb.md)、[PANTHER](/zh/getting-started/panther.md)、[PATO](/zh/getting-started/pato.md)、[EDAM](/zh/getting-started/edam.md)、[BAO](/zh/getting-started/bao.md)、[BTO](/zh/getting-started/bto.md)、[PW](/zh/getting-started/pw.md)、[VO](/zh/getting-started/vo.md)、[OncoTree](/zh/getting-started/oncotree.md)、[IDR](/zh/getting-started/idr.md)、[HCA](/zh/getting-started/hca.md)、[UCSC](/zh/getting-started/ucsc.md)、[Harmonizome](/zh/getting-started/harmonizome.md)、[PubTator](/zh/getting-started/pubtator.md)、[iCite](/zh/getting-started/icite.md)、[ROR](/zh/getting-started/ror.md)、[OpenAlex Authors](/zh/getting-started/openalex-authors.md)、[OpenAlex Institutions](/zh/getting-started/openalex-institutions.md)、[OpenAlex Topics](/zh/getting-started/openalex-topics.md)、[Crossref Funders](/zh/getting-started/crossref-funders.md)、[NSF Awards](/zh/getting-started/nsf-awards.md)、[EVA](/zh/getting-started/eva.md)、[Ensembl VEP](/zh/getting-started/ensembl-vep.md)、[NCBI Datasets](/zh/getting-started/ncbi-datasets.md)、[4DN](/zh/getting-started/4dn.md)、[RGD](/zh/getting-started/rgd.md)、[SGD](/zh/getting-started/sgd.md)、[Nextstrain](/zh/getting-started/nextstrain.md)、[MedlinePlus](/zh/getting-started/medlineplus.md)、[ICD-10](/zh/getting-started/icd10.md)、[Bioregistry](/zh/getting-started/bioregistry.md)、[bio.tools](/zh/getting-started/bio-tools.md)、[Dockstore](/zh/getting-started/dockstore.md)、[WorkflowHub](/zh/getting-started/workflowhub.md)、[DOAJ](/zh/getting-started/doaj.md)、[Wikidata](/zh/getting-started/wikidata.md)、[NodeNorm](/zh/getting-started/node-norm.md)、[NameResolver](/zh/getting-started/name-resolver.md)、[GBIF](/zh/getting-started/gbif.md)、[ITIS](/zh/getting-started/itis.md)、[WoRMS](/zh/getting-started/worms.md)、[iNaturalist](/zh/getting-started/inaturalist.md)、[DisProt](/zh/getting-started/disprot.md)、[LOTUS](/zh/getting-started/lotus.md)、[LINCS](/zh/getting-started/lincs.md)、[CELLxGENE](/zh/getting-started/cellxgene.md)、[MG-RAST](/zh/getting-started/mgrast.md)、[Galaxy](/zh/getting-started/galaxy.md)、[nf-core](/zh/getting-started/nf-core.md)、[re3data](/zh/getting-started/re3data.md)、[arXiv](/zh/getting-started/arxiv.md)、[HAL](/zh/getting-started/hal.md)、[Hugging Face](/zh/getting-started/huggingface.md)、[OpenAIRE](/zh/getting-started/openaire.md)、[Harvard Dataverse](/zh/getting-started/harvard-dataverse.md)、[DOAJ Journals](/zh/getting-started/doaj-journals.md)、[OpenAlex Sources](/zh/getting-started/openalex-sources.md)、[OpenAlex Funders](/zh/getting-started/openalex-funders.md)、[OpenAlex Publishers](/zh/getting-started/openalex-publishers.md)、[OpenAlex Concepts](/zh/getting-started/openalex-concepts.md)、[OpenFDA Device UDI](/zh/getting-started/device-udi.md)、[OpenFDA Device PMA](/zh/getting-started/device-pma.md)、[OpenFDA Device Recall](/zh/getting-started/device-recall.md)、[OpenFDA Device Class](/zh/getting-started/device-classification.md)、[OpenFDA Animal Events](/zh/getting-started/animal-events.md)、[OpenFDA Food Events](/zh/getting-started/food-events.md)、[OpenFDA Tobacco](/zh/getting-started/tobacco.md)、[RxTerms](/zh/getting-started/rxterms.md)、[NCBI Assembly](/zh/getting-started/ncbi-assembly.md)、[NCBI BioProject](/zh/getting-started/ncbi-bioproject.md)、[NCBI SRA](/zh/getting-started/ncbi-sra.md)、[NCBI GTR](/zh/getting-started/ncbi-gtr.md)、[NCBI MedGen](/zh/getting-started/ncbi-medgen.md)、[NCBI Variation](/zh/getting-started/ncbi-variation.md)、[dbVar](/zh/getting-started/dbvar.md)、[HomoloGene](/zh/getting-started/homologene.md)、[GTEx eQTL](/zh/getting-started/gtex-eqtl.md)、[SCOP](/zh/getting-started/scop.md)、[PomBase](/zh/getting-started/pombase.md)、[MGI](/zh/getting-started/mgi.md)、[CLO](/zh/getting-started/clo.md)、[ECTO](/zh/getting-started/ecto.md)、[RO](/zh/getting-started/ro.md)、[FBbt](/zh/getting-started/fbbt.md)、[ZFA](/zh/getting-started/zfa.md)、[WBbt](/zh/getting-started/wbbt.md)、[XAO](/zh/getting-started/xao.md)、[ENVO](/zh/getting-started/envo.md)、[FOODON](/zh/getting-started/foodon.md)、[OAE](/zh/getting-started/oae.md)、[IDO](/zh/getting-started/ido.md)、[CIDO](/zh/getting-started/cido.md)、[AGRO](/zh/getting-started/agro.md)、[PO](/zh/getting-started/po.md)、[TO](/zh/getting-started/to.md)、[CHMO](/zh/getting-started/chmo.md)、[MS](/zh/getting-started/ms.md)、[STATO](/zh/getting-started/stato.md)、[DUO](/zh/getting-started/duo.md)、[IAO](/zh/getting-started/iao.md)、[SIO](/zh/getting-started/sio.md)、[CHEMINF](/zh/getting-started/cheminf.md)、[Enrichr](/zh/getting-started/enrichr.md)、[Unpaywall](/zh/getting-started/unpaywall.md)、[DataCite](/zh/getting-started/datacite.md)、[CPIC](/zh/getting-started/cpic.md)、[OSF](/zh/getting-started/osf.md)、[UKRI](/zh/getting-started/ukri.md)、[Cellosaurus](/zh/getting-started/cellosaurus.md)、[BindingDB](/zh/getting-started/bindingdb.md)、[IEDB](/zh/getting-started/iedb.md)、[MAXO](/zh/getting-started/maxo.md)、[ECO](/zh/getting-started/eco.md)、[Rfam](/zh/getting-started/rfam.md)、[ChecklistBank](/zh/getting-started/checklistbank.md)、[TogoVar](/zh/getting-started/togovar.md)、[PubMed](/zh/getting-started/pubmed.md)、[PECO](/zh/getting-started/peco.md)、[NBO](/zh/getting-started/nbo.md)、[GENO](/zh/getting-started/geno.md)、[SYMP](/zh/getting-started/symp.md)、[uPheno](/zh/getting-started/upheno.md)、[FMA](/zh/getting-started/fma.md)、[LOINC](/zh/getting-started/loinc.md)、[CORE](/zh/getting-started/core.md)、[Open Tree](/zh/getting-started/opentree.md)、[Europe PMC Annotations](/zh/getting-started/europe-pmc-annotations.md)、[BiGG](/zh/getting-started/bigg.md)、[gnomAD](/zh/getting-started/gnomad.md)、[miRNA](/zh/getting-started/mirna.md)、[HumanMine](/zh/getting-started/humanmine.md)、[RegulomeDB](/zh/getting-started/regulomedb.md)。
## 搜索 Duaer 数据市场
Duaer 数据市场现有 396 项数据,分 18 组:文献与资助、基因与蛋白、表达与模型、化学与药物、临床与疾病、词表、地球与环境、经济与政务、材料、软件与安全、航天与天文、文化与艺术、法律与政策、金融与市场、地图与交通、新闻与趋势、影视与体育、参考工具。
1. 在页首的「搜索 Duaer 数据」框里输入,列表随输入即时筛选。
2. 用空格分开多个词时,每个词都要出现在数据的 ID、名称、说明或分组名里,不分大小写。例如输入 massbank 只剩「MassBank 谱图」。
3. 没有匹配的组会隐藏;一项都没有时显示「没有匹配的 Duaer 数据。」清空搜索框就恢复全部分组。
搜索只在当前页面里筛选,不会发起检索,也不扣额度。
## 和数据池、数据表的差别
- 数据市场:目录 + 价格 + 调用方式。打开页面不检索。
- 数据池:正式运行成功后自动收下的交付物。见 [在 Duaer 里查看数据池](/zh/getting-started/data-pool.md)。
- 数据表:你建的表,用节点读写。见 [在 Duaer 里用数据表留下结果](/zh/build/data-tables.md)。
## Questions
### 打开 Duaer 数据市场会扣额度吗?
不会。只有成功检索才扣 1 额度。打开目录或复制技能都不扣。
### Duaer 数据市场和数据池有什么不同?
数据市场是「能取什么」的目录;数据池是正式运行后已经收下的交付物。
### 生命科学数据怎么搜?
见本页链接的专题(从论文到药品标签);也可在节点创建器的 Duaer 数据分类里选类型。
## 相关
- [在 Cursor、Claude Code 和 Codex 里安装 Duaer 技能](https://doc.duaer.com/zh/getting-started/install-skills.md)
- [在 Duaer 里检索论文](https://doc.duaer.com/zh/getting-started/papers.md)
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里检索临床试验](https://doc.duaer.com/zh/getting-started/trials.md)
- [在 Duaer 里检索化合物和药物](https://doc.duaer.com/zh/getting-started/compounds.md)
- [在 Duaer 里检索蛋白结构](https://doc.duaer.com/zh/getting-started/structures.md)
- [在 Duaer 里检索疾病](https://doc.duaer.com/zh/getting-started/diseases.md)
- [在 Duaer 里检索物种](https://doc.duaer.com/zh/getting-started/organisms.md)
- [在 Duaer 里检索关键词](https://doc.duaer.com/zh/getting-started/keywords.md)
- [在 Duaer 里检索亚细胞定位](https://doc.duaer.com/zh/getting-started/locations.md)
- [在 Duaer 里检索基因本体](https://doc.duaer.com/zh/getting-started/gene-ontology.md)
- [在 Duaer 里检索通路](https://doc.duaer.com/zh/getting-started/pathways.md)
- [在 Duaer 里检索基因](https://doc.duaer.com/zh/getting-started/genes.md)
- [在 Duaer 里检索变异](https://doc.duaer.com/zh/getting-started/variants.md)
- [在 Duaer 里检索结构域](https://doc.duaer.com/zh/getting-started/domains.md)
- [在 Duaer 里检索预印本](https://doc.duaer.com/zh/getting-started/preprints.md)
- [在 Duaer 里检索基金](https://doc.duaer.com/zh/getting-started/grants.md)
- [在 Duaer 里检索互作](https://doc.duaer.com/zh/getting-started/interactions.md)
- [在 Duaer 里检索表达](https://doc.duaer.com/zh/getting-started/expression.md)
- [在 Duaer 里检索靶点关联](https://doc.duaer.com/zh/getting-started/targets.md)
- [在 Duaer 里检索同源基因](https://doc.duaer.com/zh/getting-started/orthologs.md)
- [在 Duaer 里检索生物活性](https://doc.duaer.com/zh/getting-started/activities.md)
- [在 Duaer 里检索组织图谱](https://doc.duaer.com/zh/getting-started/atlas.md)
- [在 Duaer 里检索适应症](https://doc.duaer.com/zh/getting-started/indications.md)
- [在 Duaer 里检索作用机制](https://doc.duaer.com/zh/getting-started/mechanisms.md)
- [在 Duaer 里检索 GEO](https://doc.duaer.com/zh/getting-started/geo.md)
- [在 Duaer 里检索实验测定](https://doc.duaer.com/zh/getting-started/assays.md)
- [在 Duaer 里检索专利](https://doc.duaer.com/zh/getting-started/patents.md)
- [在 Duaer 里查询 AlphaFold 预测结构](https://doc.duaer.com/zh/getting-started/alphafold.md)
- [在 Duaer 里检索细胞系](https://doc.duaer.com/zh/getting-started/cell-lines.md)
- [在 Duaer 里检索药–基因互作](https://doc.duaer.com/zh/getting-started/drug-gene.md)
- [在 Duaer 里检索生化反应](https://doc.duaer.com/zh/getting-started/reactions.md)
- [在 Duaer 里检索蛋白复合物](https://doc.duaer.com/zh/getting-started/complexes.md)
- [在 Duaer 里检索代谢物](https://doc.duaer.com/zh/getting-started/metabolites.md)
- [在 Duaer 里检索药品标签](https://doc.duaer.com/zh/getting-started/drug-labels.md)
- [在 Duaer 里检索不良反应](https://doc.duaer.com/zh/getting-started/adverse-events.md)
- [在 Duaer 里检索 GWAS](https://doc.duaer.com/zh/getting-started/gwas.md)
- [在 Duaer 里检索 RxNorm](https://doc.duaer.com/zh/getting-started/rxnorm.md)
- [在 Duaer 里检索 MeSH](https://doc.duaer.com/zh/getting-started/mesh.md)
- [在 Duaer 里检索表型](https://doc.duaer.com/zh/getting-started/phenotypes.md)
- [在 Duaer 里检索交叉引用](https://doc.duaer.com/zh/getting-started/crossrefs.md)
- [在 Duaer 里检索药品召回](https://doc.duaer.com/zh/getting-started/drug-recalls.md)
- [在 Duaer 里检索配体](https://doc.duaer.com/zh/getting-started/ligands.md)
- [在 Duaer 里检索 ChEMBL](https://doc.duaer.com/zh/getting-started/chembl.md)
- [在 Duaer 里检索 Ensembl](https://doc.duaer.com/zh/getting-started/ensembl.md)
- [在 Duaer 里检索 KEGG](https://doc.duaer.com/zh/getting-started/kegg.md)
- [在 Duaer 里检索 Monarch](https://doc.duaer.com/zh/getting-started/monarch.md)
- [在 Duaer 里检索 HGNC](https://doc.duaer.com/zh/getting-started/hgnc.md)
- [在 Duaer 里检索 PRIDE](https://doc.duaer.com/zh/getting-started/pride.md)
- [在 Duaer 里检索 Uberon](https://doc.duaer.com/zh/getting-started/uberon.md)
- [在 Duaer 里检索 BioStudies](https://doc.duaer.com/zh/getting-started/biostudies.md)
- [在 Duaer 里检索 Orphanet](https://doc.duaer.com/zh/getting-started/orphanet.md)
- [在 Duaer 里检索 EFO](https://doc.duaer.com/zh/getting-started/efo.md)
- [在 Duaer 里检索 RNAcentral](https://doc.duaer.com/zh/getting-started/rnacentral.md)
- [在 Duaer 里检索 Mondo](https://doc.duaer.com/zh/getting-started/mondo.md)
- [在 Duaer 里检索 Cell Ontology](https://doc.duaer.com/zh/getting-started/cell-ontology.md)
- [在 Duaer 里检索 MP](https://doc.duaer.com/zh/getting-started/mp.md)
- [在 Duaer 里检索 MyDisease](https://doc.duaer.com/zh/getting-started/mydisease.md)
- [在 Duaer 里检索代谢组学研究](https://doc.duaer.com/zh/getting-started/metabolomics.md)
- [在 Duaer 里检索 IntAct](https://doc.duaer.com/zh/getting-started/intact.md)
- [在 Duaer 里检索 BioSamples](https://doc.duaer.com/zh/getting-started/biosamples.md)
- [在 Duaer 里检索 ENCODE](https://doc.duaer.com/zh/getting-started/encode.md)
- [在 Duaer 里检索 Pathway Commons](https://doc.duaer.com/zh/getting-started/pathway-commons.md)
- [在 Duaer 里检索 Alliance 基因](https://doc.duaer.com/zh/getting-started/alliance.md)
- [在 Duaer 里检索 ClinVar](https://doc.duaer.com/zh/getting-started/clinvar.md)
- [在 Duaer 里检索 dbSNP](https://doc.duaer.com/zh/getting-started/dbsnp.md)
- [在 Duaer 里检索 JASPAR](https://doc.duaer.com/zh/getting-started/jaspar.md)
- [在 Duaer 里检索 cBioPortal](https://doc.duaer.com/zh/getting-started/cbioportal.md)
- [在 Duaer 里检索 GDC](https://doc.duaer.com/zh/getting-started/gdc.md)
- [在 Duaer 里检索 Expression Atlas](https://doc.duaer.com/zh/getting-started/expression-atlas.md)
- [在 Duaer 里检索单细胞表达图谱](https://doc.duaer.com/zh/getting-started/single-cell-atlas.md)
- [在 Duaer 里检索 NDC](https://doc.duaer.com/zh/getting-started/ndc.md)
- [在 Duaer 里检索器械不良事件](https://doc.duaer.com/zh/getting-started/device-events.md)
- [在 Duaer 里检索 Sequence Ontology](https://doc.duaer.com/zh/getting-started/sequence-ontology.md)
- [在 Duaer 里检索 DOID](https://doc.duaer.com/zh/getting-started/doid.md)
- [在 Duaer 里检索 NCBI Taxonomy](https://doc.duaer.com/zh/getting-started/ncbi-taxon.md)
- [在 Duaer 里检索 GlyGen](https://doc.duaer.com/zh/getting-started/glygen.md)
- [在 Duaer 里检索 Pfam](https://doc.duaer.com/zh/getting-started/pfam.md)
- [在 Duaer 里检索 Drugs@FDA](https://doc.duaer.com/zh/getting-started/drugs-fda.md)
- [在 Duaer 里检索 iNaturalist](https://doc.duaer.com/zh/getting-started/inaturalist.md)
- [在 Duaer 里检索 CHEMINF](https://doc.duaer.com/zh/getting-started/cheminf.md)
- [在 Duaer 里检索 Cellosaurus](https://doc.duaer.com/zh/getting-started/cellosaurus.md)
- [在 Duaer 里检索 PubMed](https://doc.duaer.com/zh/getting-started/pubmed.md)
- [在 Duaer 里检索 Europe PMC Annotations](https://doc.duaer.com/zh/getting-started/europe-pmc-annotations.md)
- [在 Duaer 里检索 RegulomeDB](https://doc.duaer.com/zh/getting-started/regulomedb.md)
- [在 Duaer 里检索 HumanMine](https://doc.duaer.com/zh/getting-started/humanmine.md)
- [在 Duaer 里检索 miRNA](https://doc.duaer.com/zh/getting-started/mirna.md)
- [在 Duaer 里检索 gnomAD](https://doc.duaer.com/zh/getting-started/gnomad.md)
- [在 Duaer 里检索 BiGG](https://doc.duaer.com/zh/getting-started/bigg.md)
- [在 Duaer 里检索 CIViC](https://doc.duaer.com/zh/getting-started/civic.md)
- [在 Duaer 里检索 OmicsDI](https://doc.duaer.com/zh/getting-started/omicsdi.md)
- [在 Duaer 里检索 GTEx expression](https://doc.duaer.com/zh/getting-started/gtex-expression.md)
- [在 Duaer 里检索 BioModels](https://doc.duaer.com/zh/getting-started/biomodels.md)
- [在 Duaer 里检索 Open Targets drugs](https://doc.duaer.com/zh/getting-started/ot-drugs.md)
- [在 Duaer 里检索 WikiPathways](https://doc.duaer.com/zh/getting-started/wikipathways.md)
- [在 Duaer 里检索 PanelApp](https://doc.duaer.com/zh/getting-started/panelapp.md)
- [在 Duaer 里检索 GO 注释](https://doc.duaer.com/zh/getting-started/goa.md)
- [在 Duaer 里检索 PubChem Assay](https://doc.duaer.com/zh/getting-started/pubchem-assay.md)
- [在 Duaer 里检索 MassIVE](https://doc.duaer.com/zh/getting-started/massive.md)
- [在 Duaer 里检索 InterPro](https://doc.duaer.com/zh/getting-started/interpro.md)
- [在 Duaer 里检索 Rhea](https://doc.duaer.com/zh/getting-started/rhea.md)
- [在 Duaer 里检索 PROSITE](https://doc.duaer.com/zh/getting-started/prosite.md)
- [在 Duaer 里检索 DGIdb](https://doc.duaer.com/zh/getting-started/dgidb.md)
- [在 Duaer 里检索 Mutalyzer](https://doc.duaer.com/zh/getting-started/mutalyzer.md)
- [在 Duaer 里检索 VariantValidator](https://doc.duaer.com/zh/getting-started/variant-validator.md)
- [在 Duaer 里检索 MetaboLights](https://doc.duaer.com/zh/getting-started/metabolights.md)
- [在 Duaer 里检索 ModelSEED](https://doc.duaer.com/zh/getting-started/modelseed.md)
- [在 Duaer 里检索 USDA FoodData Central](https://doc.duaer.com/zh/getting-started/usda-fdc.md)
- [在 Duaer 里检索 AlphaFill](https://doc.duaer.com/zh/getting-started/alphafill.md)
- [在 Duaer 里检索 PDBe](https://doc.duaer.com/zh/getting-started/pdbe.md)
- [在 Duaer 里检索 Open Food Facts](https://doc.duaer.com/zh/getting-started/open-food-facts.md)
- [在 Duaer 里检索 MetaCyc](https://doc.duaer.com/zh/getting-started/metacyc.md)
- [在 Duaer 里检索 STRING enrichment](https://doc.duaer.com/zh/getting-started/string-enrichment.md)
- [在 Duaer 里检索 Foldseek](https://doc.duaer.com/zh/getting-started/foldseek.md)
- [在 Duaer 里检索 Ensembl homology](https://doc.duaer.com/zh/getting-started/ensembl-homology.md)
- [在 Duaer 里检索 EBI OLS](https://doc.duaer.com/zh/getting-started/ols.md)
- [在 Duaer 里检索 RefMet](https://doc.duaer.com/zh/getting-started/refmet.md)
- [在 Duaer 里检索 WormBase](https://doc.duaer.com/zh/getting-started/wormbase.md)
- [在 Duaer 里检索 FlyBase](https://doc.duaer.com/zh/getting-started/flybase.md)
- [在 Duaer 里检索 ZFIN](https://doc.duaer.com/zh/getting-started/zfin.md)
- [在 Duaer 里检索 bioRxiv](https://doc.duaer.com/zh/getting-started/biorxiv.md)
- [在 Duaer 里检索 medRxiv](https://doc.duaer.com/zh/getting-started/medrxiv.md)
- [在 Duaer 里检索 miRBase](https://doc.duaer.com/zh/getting-started/mirbase.md)
- [在 Duaer 里查天气预报](https://doc.duaer.com/zh/getting-started/weather.md)
- [在 Duaer 里查历史天气](https://doc.duaer.com/zh/getting-started/weather-history.md)
- [在 Duaer 里查空气质量](https://doc.duaer.com/zh/getting-started/air-quality.md)
- [在 Duaer 里查海浪预报](https://doc.duaer.com/zh/getting-started/marine.md)
- [在 Duaer 里查河流流量](https://doc.duaer.com/zh/getting-started/river-flow.md)
- [在 Duaer 里查地震](https://doc.duaer.com/zh/getting-started/earthquakes.md)
- [在 Duaer 里查自然灾害事件](https://doc.duaer.com/zh/getting-started/natural-events.md)
- [在 Duaer 里查世界银行指标](https://doc.duaer.com/zh/getting-started/world-bank.md)
- [在 Duaer 里查 IMF 经济指标](https://doc.duaer.com/zh/getting-started/imf.md)
- [在 Duaer 里查 SEC 公司公告](https://doc.duaer.com/zh/getting-started/sec-filings.md)
- [在 Duaer 里查 SEC 全文检索](https://doc.duaer.com/zh/getting-started/sec-search.md)
- [在 Duaer 里查法人机构识别码(LEI)](https://doc.duaer.com/zh/getting-started/lei.md)
- [在 Duaer 里查汇率](https://doc.duaer.com/zh/getting-started/exchange-rates.md)
- [在 Duaer 里查国际贸易](https://doc.duaer.com/zh/getting-started/trade.md)
- [在 Duaer 里查欧盟开放数据](https://doc.duaer.com/zh/getting-started/eu-open-data.md)
- [在 Duaer 里查晶体结构(COD)](https://doc.duaer.com/zh/getting-started/cod.md)
- [在 Duaer 里查 Materials Project](https://doc.duaer.com/zh/getting-started/materials-project.md)
- [在 Duaer 里查 JARVIS-DFT](https://doc.duaer.com/zh/getting-started/jarvis.md)
- [在 Duaer 里查 NOMAD](https://doc.duaer.com/zh/getting-started/nomad.md)
- [在 Duaer 里查 INSPIRE-HEP](https://doc.duaer.com/zh/getting-started/inspire-hep.md)
- [在 Duaer 里查 Open Library 图书](https://doc.duaer.com/zh/getting-started/open-library.md)
- [在 Duaer 里查 OpenReview](https://doc.duaer.com/zh/getting-started/openreview.md)
- [在 Duaer 里查 OpenCitations 引用](https://doc.duaer.com/zh/getting-started/opencitations.md)
- [在 Duaer 里查维基百科](https://doc.duaer.com/zh/getting-started/wikipedia.md)
- [在 Duaer 里查 IMPC 小鼠表型](https://doc.duaer.com/zh/getting-started/impc.md)
- [在 Duaer 里查 SIGNOR 信号通路](https://doc.duaer.com/zh/getting-started/signor.md)
- [在 Duaer 里查 PGS 多基因评分](https://doc.duaer.com/zh/getting-started/pgs-catalog.md)
- [在 Duaer 里查 WHO 卫生统计](https://doc.duaer.com/zh/getting-started/who-gho.md)
- [在 Duaer 里查地名查询](https://doc.duaer.com/zh/getting-started/geocoding.md)
- [在 Duaer 里查海拔高程](https://doc.duaer.com/zh/getting-started/elevation.md)
- [在 Duaer 里查太阳辐射与气候(NASA POWER)](https://doc.duaer.com/zh/getting-started/nasa-power.md)
- [在 Duaer 里查美国天气预警](https://doc.duaer.com/zh/getting-started/weather-alerts.md)
- [在 Duaer 里查欧盟统计局数据](https://doc.duaer.com/zh/getting-started/eurostat.md)
- [在 Duaer 里查美国联邦公报](https://doc.duaer.com/zh/getting-started/federal-register.md)
- [在 Duaer 里查联合国可持续发展目标指标](https://doc.duaer.com/zh/getting-started/un-sdg.md)
- [在 Duaer 里查美国联邦机构预算](https://doc.duaer.com/zh/getting-started/usaspending.md)
- [在 Duaer 里查AFLOW](https://doc.duaer.com/zh/getting-started/aflow.md)
- [在 Duaer 里查Alexandria](https://doc.duaer.com/zh/getting-started/alexandria.md)
- [在 Duaer 里查美国医疗服务者登记(NPI)](https://doc.duaer.com/zh/getting-started/npi.md)
- [在 Duaer 里查美国医院(CMS)](https://doc.duaer.com/zh/getting-started/cms-hospitals.md)
- [在 Duaer 里查Materials Cloud MC3D](https://doc.duaer.com/zh/getting-started/materials-cloud.md)
- [在 Duaer 里查2DMatpedia 二维材料](https://doc.duaer.com/zh/getting-started/matpedia-2d.md)
- [在 Duaer 里查MPDD 材料描述符数据库](https://doc.duaer.com/zh/getting-started/mpdd.md)
- [在 Duaer 里查Open Materials Database](https://doc.duaer.com/zh/getting-started/omdb.md)
- [在 Duaer 里查OSV 开源漏洞](https://doc.duaer.com/zh/getting-started/osv.md)
- [在 Duaer 里查NVD 漏洞库](https://doc.duaer.com/zh/getting-started/nvd.md)
- [在 Duaer 里查CISA 已被利用漏洞](https://doc.duaer.com/zh/getting-started/cisa-kev.md)
- [在 Duaer 里查npm 软件包](https://doc.duaer.com/zh/getting-started/npm.md)
- [在 Duaer 里查PyPI 软件包](https://doc.duaer.com/zh/getting-started/pypi.md)
- [在 Duaer 里查域名注册信息(RDAP)](https://doc.duaer.com/zh/getting-started/rdap.md)
- [在 Duaer 里查美国财政部财政数据](https://doc.duaer.com/zh/getting-started/treasury.md)
- [在 Duaer 里查欧洲央行统计](https://doc.duaer.com/zh/getting-started/ecb.md)
- [在 Duaer 里查国际清算银行统计](https://doc.duaer.com/zh/getting-started/bis.md)
- [在 Duaer 里查Our World in Data](https://doc.duaer.com/zh/getting-started/owid.md)
- [在 Duaer 里查美国潮汐预报](https://doc.duaer.com/zh/getting-started/tides.md)
- [在 Duaer 里查日出日落](https://doc.duaer.com/zh/getting-started/sunrise.md)
- [在 Duaer 里查气候预估](https://doc.duaer.com/zh/getting-started/climate-projection.md)
- [在 Duaer 里查小行星与彗星(JPL)](https://doc.duaer.com/zh/getting-started/small-bodies.md)
- [在 Duaer 里查小行星近地掠过](https://doc.duaer.com/zh/getting-started/close-approaches.md)
- [在 Duaer 里查系外行星](https://doc.duaer.com/zh/getting-started/exoplanets.md)
- [在 Duaer 里查空间天气预警](https://doc.duaer.com/zh/getting-started/space-weather.md)
- [在 Duaer 里查全球地磁 Kp 指数](https://doc.duaer.com/zh/getting-started/kp-index.md)
- [在 Duaer 里查大都会艺术博物馆藏品](https://doc.duaer.com/zh/getting-started/met-museum.md)
- [在 Duaer 里查芝加哥艺术博物馆藏品](https://doc.duaer.com/zh/getting-started/art-institute.md)
- [在 Duaer 里查克利夫兰艺术博物馆藏品](https://doc.duaer.com/zh/getting-started/cleveland-art.md)
- [在 Duaer 里查美国护理院(CMS)](https://doc.duaer.com/zh/getting-started/cms-nursing-homes.md)
- [在 Duaer 里查美国临床医生(CMS)](https://doc.duaer.com/zh/getting-started/cms-clinicians.md)
- [在 Duaer 里查美国疾控中心开放数据](https://doc.duaer.com/zh/getting-started/cdc-data.md)
- [在 Duaer 里查NIH RePORTER 科研资助](https://doc.duaer.com/zh/getting-started/nih-reporter.md)
- [在 Duaer 里查NASA 每日天文图](https://doc.duaer.com/zh/getting-started/apod.md)
- [在 Duaer 里查NASA 太阳耀斑](https://doc.duaer.com/zh/getting-started/solar-flares.md)
- [在 Duaer 里查美国人口普查 ACS](https://doc.duaer.com/zh/getting-started/census.md)
- [在 Duaer 里查美国电价(EIA)](https://doc.duaer.com/zh/getting-started/eia-electricity.md)
- [在 Duaer 里查原油与燃油现货价(EIA)](https://doc.duaer.com/zh/getting-started/eia-petroleum.md)
- [在 Duaer 里查美国国会法案](https://doc.duaer.com/zh/getting-started/congress-bills.md)
- [在 Duaer 里查美国国会议员](https://doc.duaer.com/zh/getting-started/congress-members.md)
- [在 Duaer 里查美国联邦法规文件](https://doc.duaer.com/zh/getting-started/regulations.md)
- [在 Duaer 里查FBI 犯罪统计](https://doc.duaer.com/zh/getting-started/fbi-crime.md)
- [在 Duaer 里查美国大学记分卡](https://doc.duaer.com/zh/getting-started/college-scorecard.md)
- [在 Duaer 里查史密森尼博物馆藏品](https://doc.duaer.com/zh/getting-started/smithsonian.md)
- [在 Duaer 里查充电站与替代燃料站](https://doc.duaer.com/zh/getting-started/ev-stations.md)
- [在 Duaer 里查光伏发电估算](https://doc.duaer.com/zh/getting-started/solar-estimate.md)
- [在 Duaer 里查加密货币行情](https://doc.duaer.com/zh/getting-started/crypto-prices.md)
- [在 Duaer 里查上市公司财务(SEC)](https://doc.duaer.com/zh/getting-started/company-financials.md)
- [在 Duaer 里查上市公司排名(SEC)](https://doc.duaer.com/zh/getting-started/sec-frames.md)
- [在 Duaer 里查附近地点](https://doc.duaer.com/zh/getting-started/places-nearby.md)
- [在 Duaer 里查驾车路线](https://doc.duaer.com/zh/getting-started/driving-route.md)
- [在 Duaer 里查实时航班](https://doc.duaer.com/zh/getting-started/live-flights.md)
- [在 Duaer 里查车辆召回](https://doc.duaer.com/zh/getting-started/vehicle-recalls.md)
- [在 Duaer 里查车架号解码](https://doc.duaer.com/zh/getting-started/vin-decode.md)
- [在 Duaer 里查邮政编码](https://doc.duaer.com/zh/getting-started/postal-codes.md)
- [在 Duaer 里查维基百科浏览量](https://doc.duaer.com/zh/getting-started/wiki-pageviews.md)
- [在 Duaer 里查Hacker News 讨论](https://doc.duaer.com/zh/getting-started/hacker-news.md)
- [在 Duaer 里查GitHub 仓库](https://doc.duaer.com/zh/getting-started/github-repos.md)
- [在 Duaer 里查英国电网碳强度](https://doc.duaer.com/zh/getting-started/grid-carbon.md)
- [在 Duaer 里查EPA 企业环保合规](https://doc.duaer.com/zh/getting-started/epa-facilities.md)
- [在 Duaer 里查温室气体浓度](https://doc.duaer.com/zh/getting-started/greenhouse-gases.md)
- [在 Duaer 里查海洋数据集(NOAA)](https://doc.duaer.com/zh/getting-started/ocean-datasets.md)
- [在 Duaer 里查香港天气](https://doc.duaer.com/zh/getting-started/hk-weather.md)
- [在 Duaer 里查MusicBrainz 音乐库](https://doc.duaer.com/zh/getting-started/musicbrainz.md)
- [在 Duaer 里查V&A 博物馆藏品](https://doc.duaer.com/zh/getting-started/vam-museum.md)
- [在 Duaer 里查美国法院判决](https://doc.duaer.com/zh/getting-started/court-opinions.md)
- [在 Duaer 里查英国议会法案](https://doc.duaer.com/zh/getting-started/uk-bills.md)
- [在 Duaer 里查英国议会议员](https://doc.duaer.com/zh/getting-started/uk-mps.md)
- [在 Duaer 里查美国非营利机构](https://doc.duaer.com/zh/getting-started/nonprofits.md)
- [在 Duaer 里查英国街区犯罪](https://doc.duaer.com/zh/getting-started/uk-street-crime.md)
- [在 Duaer 里查新加坡两小时天气预报](https://doc.duaer.com/zh/getting-started/sg-forecast.md)
- [在 Duaer 里查新加坡组屋停车场](https://doc.duaer.com/zh/getting-started/sg-carparks.md)
- [在 Duaer 里查新加坡附近空闲出租车](https://doc.duaer.com/zh/getting-started/sg-taxis.md)
- [在 Duaer 里查航天新闻](https://doc.duaer.com/zh/getting-started/space-news.md)
- [在 Duaer 里查电视剧集](https://doc.duaer.com/zh/getting-started/tv-shows.md)
- [在 Duaer 里查Apple 目录检索](https://doc.duaer.com/zh/getting-started/apple-search.md)
- [在 Duaer 里查F1 比赛成绩](https://doc.duaer.com/zh/getting-started/f1-results.md)
- [在 Duaer 里查公共假期](https://doc.duaer.com/zh/getting-started/public-holidays.md)
- [在 Duaer 里查英文找词](https://doc.duaer.com/zh/getting-started/word-finder.md)
- [在 Duaer 里查词语释义](https://doc.duaer.com/zh/getting-started/word-definitions.md)
- [在 Duaer 里查中国节假日与调休](https://doc.duaer.com/zh/getting-started/cn-holidays.md)
- [在 Duaer 里查香港九巴到站](https://doc.duaer.com/zh/getting-started/hk-bus-eta.md)
- [在 Duaer 里查香港港铁下一班车](https://doc.duaer.com/zh/getting-started/hk-mtr.md)
- [在 Duaer 里查香港银行同业利率](https://doc.duaer.com/zh/getting-started/hk-interbank.md)
- [在 Duaer 里查维基共享资源素材](https://doc.duaer.com/zh/getting-started/commons-media.md)
- [在 Duaer 里查图标](https://doc.duaer.com/zh/getting-started/icons.md)
- [在 Duaer 里查Pexels 图片与视频](https://doc.duaer.com/zh/getting-started/pexels.md)
- [在 Duaer 里查Pixabay 图片与视频](https://doc.duaer.com/zh/getting-started/pixabay.md)
- [在 Duaer 里查Freesound 音效](https://doc.duaer.com/zh/getting-started/freesound.md)
- [在 Duaer 里查Jamendo 音乐](https://doc.duaer.com/zh/getting-started/jamendo.md)
- [在 Duaer 里查美国竞选候选人资金](https://doc.duaer.com/zh/getting-started/fec-candidates.md)
- [在 Duaer 里查美国 GovInfo 文献](https://doc.duaer.com/zh/getting-started/govinfo.md)
- [在 Duaer 里查美国国家公园](https://doc.duaer.com/zh/getting-started/national-parks.md)
- [在 Duaer 里查美国流感活动](https://doc.duaer.com/zh/getting-started/flu-activity.md)
- [在 Duaer 里查高德地点搜索](https://doc.duaer.com/zh/getting-started/amap-poi.md)
- [在 Duaer 里查高德地理编码](https://doc.duaer.com/zh/getting-started/amap-geocode.md)
- [在 Duaer 里查高德路线规划](https://doc.duaer.com/zh/getting-started/amap-route.md)
- [在 Duaer 里查高德天气](https://doc.duaer.com/zh/getting-started/amap-weather.md)
- [在 Duaer 里检索 Open Tree](https://doc.duaer.com/zh/getting-started/opentree.md)
- [在 Duaer 里检索 CORE](https://doc.duaer.com/zh/getting-started/core.md)
- [在 Duaer 里检索 LOINC](https://doc.duaer.com/zh/getting-started/loinc.md)
- [在 Duaer 里检索 FMA](https://doc.duaer.com/zh/getting-started/fma.md)
- [在 Duaer 里检索 uPheno](https://doc.duaer.com/zh/getting-started/upheno.md)
- [在 Duaer 里检索 SYMP](https://doc.duaer.com/zh/getting-started/symp.md)
- [在 Duaer 里检索 GENO](https://doc.duaer.com/zh/getting-started/geno.md)
- [在 Duaer 里检索 NBO](https://doc.duaer.com/zh/getting-started/nbo.md)
- [在 Duaer 里检索 PECO](https://doc.duaer.com/zh/getting-started/peco.md)
- [在 Duaer 里检索 TogoVar](https://doc.duaer.com/zh/getting-started/togovar.md)
- [在 Duaer 里检索 ChecklistBank](https://doc.duaer.com/zh/getting-started/checklistbank.md)
- [在 Duaer 里检索 Rfam](https://doc.duaer.com/zh/getting-started/rfam.md)
- [在 Duaer 里检索 ECO](https://doc.duaer.com/zh/getting-started/eco.md)
- [在 Duaer 里检索 MAXO](https://doc.duaer.com/zh/getting-started/maxo.md)
- [在 Duaer 里检索 IEDB](https://doc.duaer.com/zh/getting-started/iedb.md)
- [在 Duaer 里检索 BindingDB](https://doc.duaer.com/zh/getting-started/bindingdb.md)
- [在 Duaer 里检索 UKRI](https://doc.duaer.com/zh/getting-started/ukri.md)
- [在 Duaer 里检索 OSF](https://doc.duaer.com/zh/getting-started/osf.md)
- [在 Duaer 里检索 CPIC](https://doc.duaer.com/zh/getting-started/cpic.md)
- [在 Duaer 里检索 DataCite](https://doc.duaer.com/zh/getting-started/datacite.md)
- [在 Duaer 里检索 Unpaywall](https://doc.duaer.com/zh/getting-started/unpaywall.md)
- [在 Duaer 里检索 Enrichr](https://doc.duaer.com/zh/getting-started/enrichr.md)
- [在 Duaer 里检索 SIO](https://doc.duaer.com/zh/getting-started/sio.md)
- [在 Duaer 里检索 IAO](https://doc.duaer.com/zh/getting-started/iao.md)
- [在 Duaer 里检索 DUO](https://doc.duaer.com/zh/getting-started/duo.md)
- [在 Duaer 里检索 STATO](https://doc.duaer.com/zh/getting-started/stato.md)
- [在 Duaer 里检索 MS](https://doc.duaer.com/zh/getting-started/ms.md)
- [在 Duaer 里检索 CHMO](https://doc.duaer.com/zh/getting-started/chmo.md)
- [在 Duaer 里检索 TO](https://doc.duaer.com/zh/getting-started/to.md)
- [在 Duaer 里检索 PO](https://doc.duaer.com/zh/getting-started/po.md)
- [在 Duaer 里检索 AGRO](https://doc.duaer.com/zh/getting-started/agro.md)
- [在 Duaer 里检索 CIDO](https://doc.duaer.com/zh/getting-started/cido.md)
- [在 Duaer 里检索 IDO](https://doc.duaer.com/zh/getting-started/ido.md)
- [在 Duaer 里检索 OAE](https://doc.duaer.com/zh/getting-started/oae.md)
- [在 Duaer 里检索 FOODON](https://doc.duaer.com/zh/getting-started/foodon.md)
- [在 Duaer 里检索 ENVO](https://doc.duaer.com/zh/getting-started/envo.md)
- [在 Duaer 里检索 XAO](https://doc.duaer.com/zh/getting-started/xao.md)
- [在 Duaer 里检索 WBbt](https://doc.duaer.com/zh/getting-started/wbbt.md)
- [在 Duaer 里检索 ZFA](https://doc.duaer.com/zh/getting-started/zfa.md)
- [在 Duaer 里检索 FBbt](https://doc.duaer.com/zh/getting-started/fbbt.md)
- [在 Duaer 里检索 RO](https://doc.duaer.com/zh/getting-started/ro.md)
- [在 Duaer 里检索 ECTO](https://doc.duaer.com/zh/getting-started/ecto.md)
- [在 Duaer 里检索 CLO](https://doc.duaer.com/zh/getting-started/clo.md)
- [在 Duaer 里检索 MGI](https://doc.duaer.com/zh/getting-started/mgi.md)
- [在 Duaer 里检索 PomBase](https://doc.duaer.com/zh/getting-started/pombase.md)
- [在 Duaer 里检索 SCOP](https://doc.duaer.com/zh/getting-started/scop.md)
- [在 Duaer 里检索 GTEx eQTL](https://doc.duaer.com/zh/getting-started/gtex-eqtl.md)
- [在 Duaer 里检索 HomoloGene](https://doc.duaer.com/zh/getting-started/homologene.md)
- [在 Duaer 里检索 dbVar](https://doc.duaer.com/zh/getting-started/dbvar.md)
- [在 Duaer 里检索 NCBI Variation](https://doc.duaer.com/zh/getting-started/ncbi-variation.md)
- [在 Duaer 里检索 NCBI MedGen](https://doc.duaer.com/zh/getting-started/ncbi-medgen.md)
- [在 Duaer 里检索 NCBI GTR](https://doc.duaer.com/zh/getting-started/ncbi-gtr.md)
- [在 Duaer 里检索 NCBI SRA](https://doc.duaer.com/zh/getting-started/ncbi-sra.md)
- [在 Duaer 里检索 NCBI BioProject](https://doc.duaer.com/zh/getting-started/ncbi-bioproject.md)
- [在 Duaer 里检索 NCBI Assembly](https://doc.duaer.com/zh/getting-started/ncbi-assembly.md)
- [在 Duaer 里检索 RxTerms](https://doc.duaer.com/zh/getting-started/rxterms.md)
- [在 Duaer 里检索 OpenFDA Tobacco](https://doc.duaer.com/zh/getting-started/tobacco.md)
- [在 Duaer 里检索 OpenFDA Food Events](https://doc.duaer.com/zh/getting-started/food-events.md)
- [在 Duaer 里检索 OpenFDA Animal Events](https://doc.duaer.com/zh/getting-started/animal-events.md)
- [在 Duaer 里检索 OpenFDA Device Class](https://doc.duaer.com/zh/getting-started/device-classification.md)
- [在 Duaer 里检索 OpenFDA Device Recall](https://doc.duaer.com/zh/getting-started/device-recall.md)
- [在 Duaer 里检索 OpenFDA Device PMA](https://doc.duaer.com/zh/getting-started/device-pma.md)
- [在 Duaer 里检索 OpenFDA Device UDI](https://doc.duaer.com/zh/getting-started/device-udi.md)
- [在 Duaer 里检索 OpenAlex Concepts](https://doc.duaer.com/zh/getting-started/openalex-concepts.md)
- [在 Duaer 里检索 OpenAlex Publishers](https://doc.duaer.com/zh/getting-started/openalex-publishers.md)
- [在 Duaer 里检索 OpenAlex Funders](https://doc.duaer.com/zh/getting-started/openalex-funders.md)
- [在 Duaer 里检索 OpenAlex Sources](https://doc.duaer.com/zh/getting-started/openalex-sources.md)
- [在 Duaer 里检索 DOAJ Journals](https://doc.duaer.com/zh/getting-started/doaj-journals.md)
- [在 Duaer 里检索 Harvard Dataverse](https://doc.duaer.com/zh/getting-started/harvard-dataverse.md)
- [在 Duaer 里检索 OpenAIRE](https://doc.duaer.com/zh/getting-started/openaire.md)
- [在 Duaer 里检索 Hugging Face](https://doc.duaer.com/zh/getting-started/huggingface.md)
- [在 Duaer 里检索 HAL](https://doc.duaer.com/zh/getting-started/hal.md)
- [在 Duaer 里检索 arXiv](https://doc.duaer.com/zh/getting-started/arxiv.md)
- [在 Duaer 里检索 re3data](https://doc.duaer.com/zh/getting-started/re3data.md)
- [在 Duaer 里检索 nf-core](https://doc.duaer.com/zh/getting-started/nf-core.md)
- [在 Duaer 里检索 Galaxy](https://doc.duaer.com/zh/getting-started/galaxy.md)
- [在 Duaer 里检索 MG-RAST](https://doc.duaer.com/zh/getting-started/mgrast.md)
- [在 Duaer 里检索 CELLxGENE](https://doc.duaer.com/zh/getting-started/cellxgene.md)
- [在 Duaer 里检索 LINCS](https://doc.duaer.com/zh/getting-started/lincs.md)
- [在 Duaer 里检索 LOTUS](https://doc.duaer.com/zh/getting-started/lotus.md)
- [用 Duaer 注释未知特征(代谢暗物质)](https://doc.duaer.com/zh/getting-started/metabolic-dark-matter.md)
- [在 Duaer 里匹配 MassBank 谱图](https://doc.duaer.com/zh/getting-started/massbank.md)
- [在 Duaer 里查 MoNA 参考谱图](https://doc.duaer.com/zh/getting-started/mona.md)
- [在 Duaer 里列出质量候选物](https://doc.duaer.com/zh/getting-started/mass-candidates.md)
- [在 Duaer 里按 USI 取谱](https://doc.duaer.com/zh/getting-started/spectrum.md)
- [在 Duaer 里用 MASST 搜谱图](https://doc.duaer.com/zh/getting-started/masst.md)
- [在 Duaer 里检索 DisProt](https://doc.duaer.com/zh/getting-started/disprot.md)
- [在 Duaer 里检索 WoRMS](https://doc.duaer.com/zh/getting-started/worms.md)
- [在 Duaer 里检索 ITIS](https://doc.duaer.com/zh/getting-started/itis.md)
- [在 Duaer 里检索 GBIF](https://doc.duaer.com/zh/getting-started/gbif.md)
- [在 Duaer 里检索 NameResolver](https://doc.duaer.com/zh/getting-started/name-resolver.md)
- [在 Duaer 里检索 NodeNorm](https://doc.duaer.com/zh/getting-started/node-norm.md)
- [在 Duaer 里检索 Wikidata](https://doc.duaer.com/zh/getting-started/wikidata.md)
- [在 Duaer 里检索 DOAJ](https://doc.duaer.com/zh/getting-started/doaj.md)
- [在 Duaer 里检索 WorkflowHub](https://doc.duaer.com/zh/getting-started/workflowhub.md)
- [在 Duaer 里检索 Dockstore](https://doc.duaer.com/zh/getting-started/dockstore.md)
- [在 Duaer 里检索 bio.tools](https://doc.duaer.com/zh/getting-started/bio-tools.md)
- [在 Duaer 里检索 Bioregistry](https://doc.duaer.com/zh/getting-started/bioregistry.md)
- [在 Duaer 里检索 ICD-10](https://doc.duaer.com/zh/getting-started/icd10.md)
- [在 Duaer 里检索 MedlinePlus](https://doc.duaer.com/zh/getting-started/medlineplus.md)
- [在 Duaer 里检索 Nextstrain](https://doc.duaer.com/zh/getting-started/nextstrain.md)
- [在 Duaer 里检索 SGD](https://doc.duaer.com/zh/getting-started/sgd.md)
- [在 Duaer 里检索 RGD](https://doc.duaer.com/zh/getting-started/rgd.md)
- [在 Duaer 里检索 4DN](https://doc.duaer.com/zh/getting-started/4dn.md)
- [在 Duaer 里检索 NCBI Datasets](https://doc.duaer.com/zh/getting-started/ncbi-datasets.md)
- [在 Duaer 里检索 Ensembl VEP](https://doc.duaer.com/zh/getting-started/ensembl-vep.md)
- [在 Duaer 里检索 EVA](https://doc.duaer.com/zh/getting-started/eva.md)
- [在 Duaer 里检索 NSF Awards](https://doc.duaer.com/zh/getting-started/nsf-awards.md)
- [在 Duaer 里检索 Crossref Funders](https://doc.duaer.com/zh/getting-started/crossref-funders.md)
- [在 Duaer 里检索 OpenAlex Topics](https://doc.duaer.com/zh/getting-started/openalex-topics.md)
- [在 Duaer 里检索 OpenAlex Institutions](https://doc.duaer.com/zh/getting-started/openalex-institutions.md)
- [在 Duaer 里检索 OpenAlex Authors](https://doc.duaer.com/zh/getting-started/openalex-authors.md)
- [在 Duaer 里检索 ROR](https://doc.duaer.com/zh/getting-started/ror.md)
- [在 Duaer 里检索 iCite](https://doc.duaer.com/zh/getting-started/icite.md)
- [在 Duaer 里检索 PubTator](https://doc.duaer.com/zh/getting-started/pubtator.md)
- [在 Duaer 里检索 Harmonizome](https://doc.duaer.com/zh/getting-started/harmonizome.md)
- [在 Duaer 里检索 UCSC](https://doc.duaer.com/zh/getting-started/ucsc.md)
- [在 Duaer 里检索 HCA](https://doc.duaer.com/zh/getting-started/hca.md)
- [在 Duaer 里检索 IDR](https://doc.duaer.com/zh/getting-started/idr.md)
- [在 Duaer 里检索 OncoTree](https://doc.duaer.com/zh/getting-started/oncotree.md)
- [在 Duaer 里检索 VO](https://doc.duaer.com/zh/getting-started/vo.md)
- [在 Duaer 里检索 PW](https://doc.duaer.com/zh/getting-started/pw.md)
- [在 Duaer 里检索 BTO](https://doc.duaer.com/zh/getting-started/bto.md)
- [在 Duaer 里检索 BAO](https://doc.duaer.com/zh/getting-started/bao.md)
- [在 Duaer 里检索 EDAM](https://doc.duaer.com/zh/getting-started/edam.md)
- [在 Duaer 里检索 PATO](https://doc.duaer.com/zh/getting-started/pato.md)
- [在 Duaer 里检索 PANTHER](https://doc.duaer.com/zh/getting-started/panther.md)
- [在 Duaer 里检索 OrthoDB](https://doc.duaer.com/zh/getting-started/orthodb.md)
- [在 Duaer 里检索 OMA](https://doc.duaer.com/zh/getting-started/oma.md)
- [在 Duaer 里检索 Omnipath](https://doc.duaer.com/zh/getting-started/omnipath.md)
- [在 Duaer 里检索 ProteomeXchange](https://doc.duaer.com/zh/getting-started/proteomexchange.md)
- [在 Duaer 里检索 Dryad](https://doc.duaer.com/zh/getting-started/dryad.md)
- [在 Duaer 里检索 Figshare](https://doc.duaer.com/zh/getting-started/figshare.md)
- [在 Duaer 里检索 Zenodo](https://doc.duaer.com/zh/getting-started/zenodo.md)
- [在 Duaer 里检索 OpenFDA Food](https://doc.duaer.com/zh/getting-started/food-enforcement.md)
- [在 Duaer 里检索 OpenFDA 510(k)](https://doc.duaer.com/zh/getting-started/device-510k.md)
- [在 Duaer 里检索 RxClass](https://doc.duaer.com/zh/getting-started/rxclass.md)
- [在 Duaer 里检索 DailyMed](https://doc.duaer.com/zh/getting-started/daily-med.md)
- [在 Duaer 里检索 ClinPGx](https://doc.duaer.com/zh/getting-started/clinpgx.md)
- [在 Duaer 里检索 BV-BRC](https://doc.duaer.com/zh/getting-started/bv-brc.md)
- [在 Duaer 里检索 MGnify](https://doc.duaer.com/zh/getting-started/mgnify.md)
- [在 Duaer 里检索 Lipid Maps](https://doc.duaer.com/zh/getting-started/lipid-maps.md)
- [在 Duaer 里检索 Swiss-Model](https://doc.duaer.com/zh/getting-started/swiss-model.md)
- [在 Duaer 里检索 BMRB](https://doc.duaer.com/zh/getting-started/bmrb.md)
- [在 Duaer 里检索 EMPIAR](https://doc.duaer.com/zh/getting-started/empiar.md)
- [在 Duaer 里检索 ENA](https://doc.duaer.com/zh/getting-started/ena.md)
- [在 Duaer 里检索 Proteomes](https://doc.duaer.com/zh/getting-started/proteomes.md)
- [在 Duaer 里检索 UniRule](https://doc.duaer.com/zh/getting-started/unirule.md)
- [在 Duaer 里检索 UniRef](https://doc.duaer.com/zh/getting-started/uniref.md)
- [在 Duaer 里检索 MyChem](https://doc.duaer.com/zh/getting-started/mychem.md)
- [在 Duaer 里检索 Crossref](https://doc.duaer.com/zh/getting-started/crossref.md)
- [在 Duaer 里检索 MPATH](https://doc.duaer.com/zh/getting-started/mpath.md)
- [在 Duaer 里检索 OBI](https://doc.duaer.com/zh/getting-started/obi.md)
- [在 Duaer 里检索 Protein Ontology](https://doc.duaer.com/zh/getting-started/protein-ontology.md)
- [在 Duaer 里检索 ORCID](https://doc.duaer.com/zh/getting-started/orcid.md)
- [在 Duaer 里检索 Europe PMC](https://doc.duaer.com/zh/getting-started/europe-pmc.md)
- [在 Duaer 里检索 UniParc](https://doc.duaer.com/zh/getting-started/uniparc.md)
- [在 Duaer 里检索 EMDB](https://doc.duaer.com/zh/getting-started/emdb.md)
- [在 Duaer 里检索 NCIt](https://doc.duaer.com/zh/getting-started/ncit.md)
- [在 Duaer 里检索 ChEBI](https://doc.duaer.com/zh/getting-started/chebi.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/data-market.md).
# Use the Duaer data market
In Duaer, the data market lists data you can fetch, what you get, and the price, with a search box to filter it. The sidebar item sits directly under Data pool. Opening the catalog does not run a data search.
## What the data market is
The Duaer data market is a catalog: each row names the data, what you get, and the price. It is not the data pool — the pool stores deliverables from production runs; the market lists external data Duaer can fetch.
The instance must have the data-pool module on. Under Digital employees, Data market sits directly under Data pool. Opening this page does not charge credits and does not run a search.
## Open the catalog
1. In the left sidebar, under Digital employees, select Data market (directly under Data pool). The page title is Data market.
2. Columns are Data, What you get, and Price.
3. Current offerings: Papers, Proteins, Trials, Compounds, Structures, Diseases, Organisms, Keywords, Locations, Gene Ontology, Pathways, Genes, Variants, Domains, Preprints, Grants, Interactions, Expression, Targets, Orthologs, Activities, Tissue atlas, Indications, Mechanisms, GEO, Assays, Patents, AlphaFold, Cell lines, Drug–gene, Reactions, Complexes, Metabolites, and Drug labels. Each successful search uses 1 credit.
4. Under each row is a copyable English call skill. How-tos: [Papers](/getting-started/papers.md), [Proteins](/getting-started/proteins.md), [Trials](/getting-started/trials.md), [Compounds](/getting-started/compounds.md), [Structures](/getting-started/structures.md), [Diseases](/getting-started/diseases.md), [Organisms](/getting-started/organisms.md), [Keywords](/getting-started/keywords.md), [Locations](/getting-started/locations.md), [Gene Ontology](/getting-started/gene-ontology.md), [Pathways](/getting-started/pathways.md), [Genes](/getting-started/genes.md), [Variants](/getting-started/variants.md), [Domains](/getting-started/domains.md), [Preprints](/getting-started/preprints.md), [Grants](/getting-started/grants.md), [Interactions](/getting-started/interactions.md), [Expression](/getting-started/expression.md), [Targets](/getting-started/targets.md), [Orthologs](/getting-started/orthologs.md), [Activities](/getting-started/activities.md), [Tissue atlas](/getting-started/atlas.md), [Indications](/getting-started/indications.md), [Mechanisms](/getting-started/mechanisms.md), [GEO](/getting-started/geo.md), [Assays](/getting-started/assays.md), [Patents](/getting-started/patents.md), [AlphaFold](/getting-started/alphafold.md), [Cell lines](/getting-started/cell-lines.md), [Drug–gene](/getting-started/drug-gene.md), [Reactions](/getting-started/reactions.md), [Complexes](/getting-started/complexes.md), [Metabolites](/getting-started/metabolites.md), [Drug labels](/getting-started/drug-labels.md), [Adverse events](/getting-started/adverse-events.md), [GWAS](/getting-started/gwas.md), [RxNorm](/getting-started/rxnorm.md), [MeSH](/getting-started/mesh.md), [Phenotypes](/getting-started/phenotypes.md), [Crossrefs](/getting-started/crossrefs.md), [Drug recalls](/getting-started/drug-recalls.md), [Ligands](/getting-started/ligands.md), [ChEMBL](/getting-started/chembl.md), [Ensembl](/getting-started/ensembl.md), [KEGG](/getting-started/kegg.md), [Monarch](/getting-started/monarch.md), [HGNC](/getting-started/hgnc.md), [PRIDE](/getting-started/pride.md), [Uberon](/getting-started/uberon.md), [BioStudies](/getting-started/biostudies.md), [Orphanet](/getting-started/orphanet.md), [EFO](/getting-started/efo.md), [RNAcentral](/getting-started/rnacentral.md), [Mondo](/getting-started/mondo.md), [Cell Ontology](/getting-started/cell-ontology.md), [MP](/getting-started/mp.md), [MyDisease](/getting-started/mydisease.md), [Metabolomics](/getting-started/metabolomics.md), [IntAct](/getting-started/intact.md), [BioSamples](/getting-started/biosamples.md), [ENCODE](/getting-started/encode.md), [Pathway Commons](/getting-started/pathway-commons.md), [Alliance](/getting-started/alliance.md), [ClinVar](/getting-started/clinvar.md), [dbSNP](/getting-started/dbsnp.md), [JASPAR](/getting-started/jaspar.md), [cBioPortal](/getting-started/cbioportal.md), [GDC](/getting-started/gdc.md), [Expression Atlas](/getting-started/expression-atlas.md), [Single Cell Atlas](/getting-started/single-cell-atlas.md), [NDC](/getting-started/ndc.md), [Device events](/getting-started/device-events.md), [Sequence Ontology](/getting-started/sequence-ontology.md), [DOID](/getting-started/doid.md), [NCBI Taxonomy](/getting-started/ncbi-taxon.md), [GlyGen](/getting-started/glygen.md), [ChEBI](/getting-started/chebi.md), [NCIt](/getting-started/ncit.md), [Pfam](/getting-started/pfam.md), [EMDB](/getting-started/emdb.md), [UniParc](/getting-started/uniparc.md), [Europe PMC](/getting-started/europe-pmc.md), [ORCID](/getting-started/orcid.md), [Protein Ontology](/getting-started/protein-ontology.md), [OBI](/getting-started/obi.md), [MPATH](/getting-started/mpath.md), [Crossref](/getting-started/crossref.md), [MyChem](/getting-started/mychem.md), [Drugs@FDA](/getting-started/drugs-fda.md), [UniRef](/getting-started/uniref.md), [UniRule](/getting-started/unirule.md), [Proteomes](/getting-started/proteomes.md), [ENA](/getting-started/ena.md), [EMPIAR](/getting-started/empiar.md), [BMRB](/getting-started/bmrb.md), [Swiss-Model](/getting-started/swiss-model.md), [Lipid Maps](/getting-started/lipid-maps.md), [MGnify](/getting-started/mgnify.md), [BV-BRC](/getting-started/bv-brc.md), [ClinPGx](/getting-started/clinpgx.md), [DailyMed](/getting-started/daily-med.md), [RxClass](/getting-started/rxclass.md), [OpenFDA 510(k)](/getting-started/device-510k.md), [OpenFDA Food](/getting-started/food-enforcement.md), [Zenodo](/getting-started/zenodo.md), [Figshare](/getting-started/figshare.md), [Dryad](/getting-started/dryad.md), [ProteomeXchange](/getting-started/proteomexchange.md), [Omnipath](/getting-started/omnipath.md), [OMA](/getting-started/oma.md), [OrthoDB](/getting-started/orthodb.md), [PANTHER](/getting-started/panther.md), [PATO](/getting-started/pato.md), [EDAM](/getting-started/edam.md), [BAO](/getting-started/bao.md), [BTO](/getting-started/bto.md), [PW](/getting-started/pw.md), [VO](/getting-started/vo.md), [OncoTree](/getting-started/oncotree.md), [IDR](/getting-started/idr.md), [HCA](/getting-started/hca.md), [UCSC](/getting-started/ucsc.md), [Harmonizome](/getting-started/harmonizome.md), [PubTator](/getting-started/pubtator.md), [iCite](/getting-started/icite.md), [ROR](/getting-started/ror.md), [OpenAlex Authors](/getting-started/openalex-authors.md), [OpenAlex Institutions](/getting-started/openalex-institutions.md), [OpenAlex Topics](/getting-started/openalex-topics.md), [Crossref Funders](/getting-started/crossref-funders.md), [NSF Awards](/getting-started/nsf-awards.md), [EVA](/getting-started/eva.md), [Ensembl VEP](/getting-started/ensembl-vep.md), [NCBI Datasets](/getting-started/ncbi-datasets.md), [4DN](/getting-started/4dn.md), [RGD](/getting-started/rgd.md), [SGD](/getting-started/sgd.md), [Nextstrain](/getting-started/nextstrain.md), [MedlinePlus](/getting-started/medlineplus.md), [ICD-10](/getting-started/icd10.md), [Bioregistry](/getting-started/bioregistry.md), [bio.tools](/getting-started/bio-tools.md), [Dockstore](/getting-started/dockstore.md), [WorkflowHub](/getting-started/workflowhub.md), [DOAJ](/getting-started/doaj.md), [Wikidata](/getting-started/wikidata.md), [NodeNorm](/getting-started/node-norm.md), [NameResolver](/getting-started/name-resolver.md), [GBIF](/getting-started/gbif.md), [ITIS](/getting-started/itis.md), [WoRMS](/getting-started/worms.md), [iNaturalist](/getting-started/inaturalist.md), [DisProt](/getting-started/disprot.md), [LOTUS](/getting-started/lotus.md), [LINCS](/getting-started/lincs.md), [CELLxGENE](/getting-started/cellxgene.md), [MG-RAST](/getting-started/mgrast.md), [Galaxy](/getting-started/galaxy.md), [nf-core](/getting-started/nf-core.md), [re3data](/getting-started/re3data.md), [arXiv](/getting-started/arxiv.md), [HAL](/getting-started/hal.md), [Hugging Face](/getting-started/huggingface.md), [OpenAIRE](/getting-started/openaire.md), [Harvard Dataverse](/getting-started/harvard-dataverse.md), [DOAJ Journals](/getting-started/doaj-journals.md), [OpenAlex Sources](/getting-started/openalex-sources.md), [OpenAlex Funders](/getting-started/openalex-funders.md), [OpenAlex Publishers](/getting-started/openalex-publishers.md), [OpenAlex Concepts](/getting-started/openalex-concepts.md), [OpenFDA Device UDI](/getting-started/device-udi.md), [OpenFDA Device PMA](/getting-started/device-pma.md), [OpenFDA Device Recall](/getting-started/device-recall.md), [OpenFDA Device Class](/getting-started/device-classification.md), [OpenFDA Animal Events](/getting-started/animal-events.md), [OpenFDA Food Events](/getting-started/food-events.md), [OpenFDA Tobacco](/getting-started/tobacco.md), [RxTerms](/getting-started/rxterms.md), [NCBI Assembly](/getting-started/ncbi-assembly.md), [NCBI BioProject](/getting-started/ncbi-bioproject.md), [NCBI SRA](/getting-started/ncbi-sra.md), [NCBI GTR](/getting-started/ncbi-gtr.md), [NCBI MedGen](/getting-started/ncbi-medgen.md), [NCBI Variation](/getting-started/ncbi-variation.md), [dbVar](/getting-started/dbvar.md), [HomoloGene](/getting-started/homologene.md), [GTEx eQTL](/getting-started/gtex-eqtl.md), [SCOP](/getting-started/scop.md), [PomBase](/getting-started/pombase.md), [MGI](/getting-started/mgi.md), [CLO](/getting-started/clo.md), [ECTO](/getting-started/ecto.md), [RO](/getting-started/ro.md), [FBbt](/getting-started/fbbt.md), [ZFA](/getting-started/zfa.md), [WBbt](/getting-started/wbbt.md), [XAO](/getting-started/xao.md), [ENVO](/getting-started/envo.md), [FOODON](/getting-started/foodon.md), [OAE](/getting-started/oae.md), [IDO](/getting-started/ido.md), [CIDO](/getting-started/cido.md), [AGRO](/getting-started/agro.md), [PO](/getting-started/po.md), [TO](/getting-started/to.md), [CHMO](/getting-started/chmo.md), [MS](/getting-started/ms.md), [STATO](/getting-started/stato.md), [DUO](/getting-started/duo.md), [IAO](/getting-started/iao.md), [SIO](/getting-started/sio.md), [CHEMINF](/getting-started/cheminf.md), [Enrichr](/getting-started/enrichr.md), [Unpaywall](/getting-started/unpaywall.md), [DataCite](/getting-started/datacite.md), [CPIC](/getting-started/cpic.md), [OSF](/getting-started/osf.md), [UKRI](/getting-started/ukri.md), [Cellosaurus](/getting-started/cellosaurus.md), [BindingDB](/getting-started/bindingdb.md), [IEDB](/getting-started/iedb.md), [MAXO](/getting-started/maxo.md), [ECO](/getting-started/eco.md), [Rfam](/getting-started/rfam.md), [ChecklistBank](/getting-started/checklistbank.md), [TogoVar](/getting-started/togovar.md), [PubMed](/getting-started/pubmed.md), [PECO](/getting-started/peco.md), [NBO](/getting-started/nbo.md), [GENO](/getting-started/geno.md), [SYMP](/getting-started/symp.md), [uPheno](/getting-started/upheno.md), [FMA](/getting-started/fma.md), [LOINC](/getting-started/loinc.md), [CORE](/getting-started/core.md), [Open Tree](/getting-started/opentree.md), [Europe PMC Annotations](/getting-started/europe-pmc-annotations.md), [BiGG](/getting-started/bigg.md), [gnomAD](/getting-started/gnomad.md), [miRNA](/getting-started/mirna.md), [HumanMine](/getting-started/humanmine.md), [RegulomeDB](/getting-started/regulomedb.md).
## Search the Duaer data market
The Duaer data market lists 396 offerings in 18 groups: Literature & funding, Genes & proteins, Expression & models, Chemistry & drugs, Clinical & disease, Vocabularies, Earth & environment, Economy & government, Materials, Software & security, Space, Culture & art, Law & policy, Finance & markets, Maps & transport, News & trends, Media & sports, and Reference.
1. Type in the Search Duaer data box at the top. The list filters as you type.
2. With several words separated by spaces, every word must appear in the offering ID, name, detail, or group name. Case does not matter. For example, massbank leaves only MassBank spectra.
3. Groups with no match are hidden. When nothing matches, the page shows “No Duaer data matches.” Clear the box to bring every group back.
Search only filters this page. It does not run a data search or use credits.
## How it differs from the data pool and data tables
- Data market: catalog, price, and how to call. Opening the page does not search.
- Data pool: deliverables stored after successful production runs. Refer to [View the Duaer data pool](/getting-started/data-pool.md).
- Data table: a table you create and access with a node. Refer to [Keep rows in a Duaer data table](/build/data-tables.md).
## Questions
### Does opening the Duaer data market use credits?
No. Only a successful search uses 1 credit. Opening the catalog or copying a skill does not.
### How is the Duaer data market different from the data pool?
The data market is a catalog of what you can fetch. The data pool stores deliverables after production runs.
### Where are the life-science search steps?
See the how-tos linked on this page (Papers through Drug labels), or pick a type under Duaer Data in the node creator.
## Related
- [Install Duaer skills in Cursor, Claude Code, and Codex](https://doc.duaer.com/getting-started/install-skills.md)
- [Search papers in Duaer](https://doc.duaer.com/getting-started/papers.md)
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Search clinical trials in Duaer](https://doc.duaer.com/getting-started/trials.md)
- [Search compounds in Duaer](https://doc.duaer.com/getting-started/compounds.md)
- [Search protein structures in Duaer](https://doc.duaer.com/getting-started/structures.md)
- [Search diseases in Duaer](https://doc.duaer.com/getting-started/diseases.md)
- [Search organisms in Duaer](https://doc.duaer.com/getting-started/organisms.md)
- [Search keywords in Duaer](https://doc.duaer.com/getting-started/keywords.md)
- [Search locations in Duaer](https://doc.duaer.com/getting-started/locations.md)
- [Search Gene Ontology in Duaer](https://doc.duaer.com/getting-started/gene-ontology.md)
- [Search pathways in Duaer](https://doc.duaer.com/getting-started/pathways.md)
- [Search genes in Duaer](https://doc.duaer.com/getting-started/genes.md)
- [Search variants in Duaer](https://doc.duaer.com/getting-started/variants.md)
- [Search domains in Duaer](https://doc.duaer.com/getting-started/domains.md)
- [Search preprints in Duaer](https://doc.duaer.com/getting-started/preprints.md)
- [Search grants in Duaer](https://doc.duaer.com/getting-started/grants.md)
- [Search interactions in Duaer](https://doc.duaer.com/getting-started/interactions.md)
- [Search expression in Duaer](https://doc.duaer.com/getting-started/expression.md)
- [Search targets in Duaer](https://doc.duaer.com/getting-started/targets.md)
- [Search orthologs in Duaer](https://doc.duaer.com/getting-started/orthologs.md)
- [Search activities in Duaer](https://doc.duaer.com/getting-started/activities.md)
- [Search tissue atlas in Duaer](https://doc.duaer.com/getting-started/atlas.md)
- [Search indications in Duaer](https://doc.duaer.com/getting-started/indications.md)
- [Search mechanisms in Duaer](https://doc.duaer.com/getting-started/mechanisms.md)
- [Search GEO in Duaer](https://doc.duaer.com/getting-started/geo.md)
- [Search assays in Duaer](https://doc.duaer.com/getting-started/assays.md)
- [Search patents in Duaer](https://doc.duaer.com/getting-started/patents.md)
- [Look up AlphaFold structures in Duaer](https://doc.duaer.com/getting-started/alphafold.md)
- [Search cell lines in Duaer](https://doc.duaer.com/getting-started/cell-lines.md)
- [Search drug–gene interactions in Duaer](https://doc.duaer.com/getting-started/drug-gene.md)
- [Search reactions in Duaer](https://doc.duaer.com/getting-started/reactions.md)
- [Search complexes in Duaer](https://doc.duaer.com/getting-started/complexes.md)
- [Search metabolites in Duaer](https://doc.duaer.com/getting-started/metabolites.md)
- [Search drug labels in Duaer](https://doc.duaer.com/getting-started/drug-labels.md)
- [Search adverse events in Duaer](https://doc.duaer.com/getting-started/adverse-events.md)
- [Search GWAS associations in Duaer](https://doc.duaer.com/getting-started/gwas.md)
- [Search RxNorm in Duaer](https://doc.duaer.com/getting-started/rxnorm.md)
- [Search MeSH in Duaer](https://doc.duaer.com/getting-started/mesh.md)
- [Search phenotypes in Duaer](https://doc.duaer.com/getting-started/phenotypes.md)
- [Search crossrefs in Duaer](https://doc.duaer.com/getting-started/crossrefs.md)
- [Search drug recalls in Duaer](https://doc.duaer.com/getting-started/drug-recalls.md)
- [Search ligands in Duaer](https://doc.duaer.com/getting-started/ligands.md)
- [Search ChEMBL in Duaer](https://doc.duaer.com/getting-started/chembl.md)
- [Search Ensembl in Duaer](https://doc.duaer.com/getting-started/ensembl.md)
- [Search KEGG in Duaer](https://doc.duaer.com/getting-started/kegg.md)
- [Search Monarch in Duaer](https://doc.duaer.com/getting-started/monarch.md)
- [Search HGNC in Duaer](https://doc.duaer.com/getting-started/hgnc.md)
- [Search PRIDE in Duaer](https://doc.duaer.com/getting-started/pride.md)
- [Search Uberon in Duaer](https://doc.duaer.com/getting-started/uberon.md)
- [Search BioStudies in Duaer](https://doc.duaer.com/getting-started/biostudies.md)
- [Search Orphanet in Duaer](https://doc.duaer.com/getting-started/orphanet.md)
- [Search EFO in Duaer](https://doc.duaer.com/getting-started/efo.md)
- [Search RNAcentral in Duaer](https://doc.duaer.com/getting-started/rnacentral.md)
- [Search Mondo in Duaer](https://doc.duaer.com/getting-started/mondo.md)
- [Search Cell Ontology in Duaer](https://doc.duaer.com/getting-started/cell-ontology.md)
- [Search MP in Duaer](https://doc.duaer.com/getting-started/mp.md)
- [Search MyDisease in Duaer](https://doc.duaer.com/getting-started/mydisease.md)
- [Search metabolomics studies in Duaer](https://doc.duaer.com/getting-started/metabolomics.md)
- [Search IntAct in Duaer](https://doc.duaer.com/getting-started/intact.md)
- [Search BioSamples in Duaer](https://doc.duaer.com/getting-started/biosamples.md)
- [Search ENCODE in Duaer](https://doc.duaer.com/getting-started/encode.md)
- [Search Pathway Commons in Duaer](https://doc.duaer.com/getting-started/pathway-commons.md)
- [Search Alliance genes in Duaer](https://doc.duaer.com/getting-started/alliance.md)
- [Search ClinVar in Duaer](https://doc.duaer.com/getting-started/clinvar.md)
- [Search dbSNP in Duaer](https://doc.duaer.com/getting-started/dbsnp.md)
- [Search JASPAR in Duaer](https://doc.duaer.com/getting-started/jaspar.md)
- [Search cBioPortal in Duaer](https://doc.duaer.com/getting-started/cbioportal.md)
- [Search GDC in Duaer](https://doc.duaer.com/getting-started/gdc.md)
- [Search Expression Atlas in Duaer](https://doc.duaer.com/getting-started/expression-atlas.md)
- [Search Single Cell Atlas in Duaer](https://doc.duaer.com/getting-started/single-cell-atlas.md)
- [Search NDC in Duaer](https://doc.duaer.com/getting-started/ndc.md)
- [Search device events in Duaer](https://doc.duaer.com/getting-started/device-events.md)
- [Search Sequence Ontology in Duaer](https://doc.duaer.com/getting-started/sequence-ontology.md)
- [Search DOID in Duaer](https://doc.duaer.com/getting-started/doid.md)
- [Search NCBI Taxonomy in Duaer](https://doc.duaer.com/getting-started/ncbi-taxon.md)
- [Search GlyGen in Duaer](https://doc.duaer.com/getting-started/glygen.md)
- [Search Pfam in Duaer](https://doc.duaer.com/getting-started/pfam.md)
- [Search Drugs@FDA in Duaer](https://doc.duaer.com/getting-started/drugs-fda.md)
- [Search iNaturalist in Duaer](https://doc.duaer.com/getting-started/inaturalist.md)
- [Search CHEMINF in Duaer](https://doc.duaer.com/getting-started/cheminf.md)
- [Search Cellosaurus in Duaer](https://doc.duaer.com/getting-started/cellosaurus.md)
- [Search PubMed in Duaer](https://doc.duaer.com/getting-started/pubmed.md)
- [Search Europe PMC Annotations in Duaer](https://doc.duaer.com/getting-started/europe-pmc-annotations.md)
- [Search RegulomeDB in Duaer](https://doc.duaer.com/getting-started/regulomedb.md)
- [Search HumanMine in Duaer](https://doc.duaer.com/getting-started/humanmine.md)
- [Search miRNA in Duaer](https://doc.duaer.com/getting-started/mirna.md)
- [Search gnomAD in Duaer](https://doc.duaer.com/getting-started/gnomad.md)
- [Search BiGG in Duaer](https://doc.duaer.com/getting-started/bigg.md)
- [Search CIViC in Duaer](https://doc.duaer.com/getting-started/civic.md)
- [Search OmicsDI in Duaer](https://doc.duaer.com/getting-started/omicsdi.md)
- [Search GTEx expression in Duaer](https://doc.duaer.com/getting-started/gtex-expression.md)
- [Search BioModels in Duaer](https://doc.duaer.com/getting-started/biomodels.md)
- [Search Open Targets drugs in Duaer](https://doc.duaer.com/getting-started/ot-drugs.md)
- [Search WikiPathways in Duaer](https://doc.duaer.com/getting-started/wikipathways.md)
- [Search PanelApp in Duaer](https://doc.duaer.com/getting-started/panelapp.md)
- [Search GO annotations in Duaer](https://doc.duaer.com/getting-started/goa.md)
- [Search PubChem Assay in Duaer](https://doc.duaer.com/getting-started/pubchem-assay.md)
- [Search MassIVE in Duaer](https://doc.duaer.com/getting-started/massive.md)
- [Search InterPro in Duaer](https://doc.duaer.com/getting-started/interpro.md)
- [Search Rhea in Duaer](https://doc.duaer.com/getting-started/rhea.md)
- [Search PROSITE in Duaer](https://doc.duaer.com/getting-started/prosite.md)
- [Search DGIdb in Duaer](https://doc.duaer.com/getting-started/dgidb.md)
- [Search Mutalyzer in Duaer](https://doc.duaer.com/getting-started/mutalyzer.md)
- [Search VariantValidator in Duaer](https://doc.duaer.com/getting-started/variant-validator.md)
- [Search MetaboLights in Duaer](https://doc.duaer.com/getting-started/metabolights.md)
- [Search ModelSEED in Duaer](https://doc.duaer.com/getting-started/modelseed.md)
- [Search USDA FoodData Central in Duaer](https://doc.duaer.com/getting-started/usda-fdc.md)
- [Search AlphaFill in Duaer](https://doc.duaer.com/getting-started/alphafill.md)
- [Search PDBe in Duaer](https://doc.duaer.com/getting-started/pdbe.md)
- [Search Open Food Facts in Duaer](https://doc.duaer.com/getting-started/open-food-facts.md)
- [Search MetaCyc in Duaer](https://doc.duaer.com/getting-started/metacyc.md)
- [Search STRING enrichment in Duaer](https://doc.duaer.com/getting-started/string-enrichment.md)
- [Search Foldseek in Duaer](https://doc.duaer.com/getting-started/foldseek.md)
- [Search Ensembl homology in Duaer](https://doc.duaer.com/getting-started/ensembl-homology.md)
- [Search EBI OLS in Duaer](https://doc.duaer.com/getting-started/ols.md)
- [Search RefMet in Duaer](https://doc.duaer.com/getting-started/refmet.md)
- [Search WormBase in Duaer](https://doc.duaer.com/getting-started/wormbase.md)
- [Search FlyBase in Duaer](https://doc.duaer.com/getting-started/flybase.md)
- [Search ZFIN in Duaer](https://doc.duaer.com/getting-started/zfin.md)
- [Search bioRxiv in Duaer](https://doc.duaer.com/getting-started/biorxiv.md)
- [Search medRxiv in Duaer](https://doc.duaer.com/getting-started/medrxiv.md)
- [Search miRBase in Duaer](https://doc.duaer.com/getting-started/mirbase.md)
- [Weather forecast in Duaer](https://doc.duaer.com/getting-started/weather.md)
- [Weather history in Duaer](https://doc.duaer.com/getting-started/weather-history.md)
- [Air quality in Duaer](https://doc.duaer.com/getting-started/air-quality.md)
- [Marine forecast in Duaer](https://doc.duaer.com/getting-started/marine.md)
- [River flow in Duaer](https://doc.duaer.com/getting-started/river-flow.md)
- [Earthquakes in Duaer](https://doc.duaer.com/getting-started/earthquakes.md)
- [Natural events in Duaer](https://doc.duaer.com/getting-started/natural-events.md)
- [World Bank indicators in Duaer](https://doc.duaer.com/getting-started/world-bank.md)
- [IMF indicators in Duaer](https://doc.duaer.com/getting-started/imf.md)
- [SEC filings in Duaer](https://doc.duaer.com/getting-started/sec-filings.md)
- [SEC full-text search in Duaer](https://doc.duaer.com/getting-started/sec-search.md)
- [Legal entities (LEI) in Duaer](https://doc.duaer.com/getting-started/lei.md)
- [Exchange rates in Duaer](https://doc.duaer.com/getting-started/exchange-rates.md)
- [International trade in Duaer](https://doc.duaer.com/getting-started/trade.md)
- [EU open data in Duaer](https://doc.duaer.com/getting-started/eu-open-data.md)
- [Crystal structures (COD) in Duaer](https://doc.duaer.com/getting-started/cod.md)
- [Materials Project in Duaer](https://doc.duaer.com/getting-started/materials-project.md)
- [JARVIS-DFT in Duaer](https://doc.duaer.com/getting-started/jarvis.md)
- [NOMAD in Duaer](https://doc.duaer.com/getting-started/nomad.md)
- [INSPIRE-HEP in Duaer](https://doc.duaer.com/getting-started/inspire-hep.md)
- [Open Library in Duaer](https://doc.duaer.com/getting-started/open-library.md)
- [OpenReview in Duaer](https://doc.duaer.com/getting-started/openreview.md)
- [OpenCitations in Duaer](https://doc.duaer.com/getting-started/opencitations.md)
- [Wikipedia in Duaer](https://doc.duaer.com/getting-started/wikipedia.md)
- [IMPC mouse phenotypes in Duaer](https://doc.duaer.com/getting-started/impc.md)
- [SIGNOR signaling in Duaer](https://doc.duaer.com/getting-started/signor.md)
- [PGS Catalog in Duaer](https://doc.duaer.com/getting-started/pgs-catalog.md)
- [WHO health statistics in Duaer](https://doc.duaer.com/getting-started/who-gho.md)
- [Place lookup in Duaer](https://doc.duaer.com/getting-started/geocoding.md)
- [Elevation in Duaer](https://doc.duaer.com/getting-started/elevation.md)
- [Solar and climate (NASA POWER) in Duaer](https://doc.duaer.com/getting-started/nasa-power.md)
- [US weather alerts in Duaer](https://doc.duaer.com/getting-started/weather-alerts.md)
- [Eurostat statistics in Duaer](https://doc.duaer.com/getting-started/eurostat.md)
- [US Federal Register in Duaer](https://doc.duaer.com/getting-started/federal-register.md)
- [UN SDG indicators in Duaer](https://doc.duaer.com/getting-started/un-sdg.md)
- [US federal agency budgets in Duaer](https://doc.duaer.com/getting-started/usaspending.md)
- [AFLOW in Duaer](https://doc.duaer.com/getting-started/aflow.md)
- [Alexandria in Duaer](https://doc.duaer.com/getting-started/alexandria.md)
- [US provider registry (NPI) in Duaer](https://doc.duaer.com/getting-started/npi.md)
- [US hospitals (CMS) in Duaer](https://doc.duaer.com/getting-started/cms-hospitals.md)
- [Materials Cloud MC3D in Duaer](https://doc.duaer.com/getting-started/materials-cloud.md)
- [2DMatpedia in Duaer](https://doc.duaer.com/getting-started/matpedia-2d.md)
- [MPDD in Duaer](https://doc.duaer.com/getting-started/mpdd.md)
- [Open Materials Database in Duaer](https://doc.duaer.com/getting-started/omdb.md)
- [OSV vulnerabilities in Duaer](https://doc.duaer.com/getting-started/osv.md)
- [NVD CVE records in Duaer](https://doc.duaer.com/getting-started/nvd.md)
- [CISA known exploited vulnerabilities in Duaer](https://doc.duaer.com/getting-started/cisa-kev.md)
- [npm packages in Duaer](https://doc.duaer.com/getting-started/npm.md)
- [PyPI package in Duaer](https://doc.duaer.com/getting-started/pypi.md)
- [Domain registration (RDAP) in Duaer](https://doc.duaer.com/getting-started/rdap.md)
- [US Treasury fiscal data in Duaer](https://doc.duaer.com/getting-started/treasury.md)
- [ECB statistics in Duaer](https://doc.duaer.com/getting-started/ecb.md)
- [BIS statistics in Duaer](https://doc.duaer.com/getting-started/bis.md)
- [Our World in Data in Duaer](https://doc.duaer.com/getting-started/owid.md)
- [US tide predictions in Duaer](https://doc.duaer.com/getting-started/tides.md)
- [Sunrise and sunset in Duaer](https://doc.duaer.com/getting-started/sunrise.md)
- [Climate projection in Duaer](https://doc.duaer.com/getting-started/climate-projection.md)
- [Asteroids and comets (JPL) in Duaer](https://doc.duaer.com/getting-started/small-bodies.md)
- [Asteroid close approaches in Duaer](https://doc.duaer.com/getting-started/close-approaches.md)
- [Exoplanets in Duaer](https://doc.duaer.com/getting-started/exoplanets.md)
- [Space weather alerts in Duaer](https://doc.duaer.com/getting-started/space-weather.md)
- [Planetary Kp index in Duaer](https://doc.duaer.com/getting-started/kp-index.md)
- [The Met collection in Duaer](https://doc.duaer.com/getting-started/met-museum.md)
- [Art Institute of Chicago in Duaer](https://doc.duaer.com/getting-started/art-institute.md)
- [Cleveland Museum of Art in Duaer](https://doc.duaer.com/getting-started/cleveland-art.md)
- [US nursing homes (CMS) in Duaer](https://doc.duaer.com/getting-started/cms-nursing-homes.md)
- [US clinicians (CMS) in Duaer](https://doc.duaer.com/getting-started/cms-clinicians.md)
- [CDC open data in Duaer](https://doc.duaer.com/getting-started/cdc-data.md)
- [NIH RePORTER grants in Duaer](https://doc.duaer.com/getting-started/nih-reporter.md)
- [NASA Astronomy Picture of the Day in Duaer](https://doc.duaer.com/getting-started/apod.md)
- [NASA solar flares in Duaer](https://doc.duaer.com/getting-started/solar-flares.md)
- [US Census ACS in Duaer](https://doc.duaer.com/getting-started/census.md)
- [EIA electricity prices in Duaer](https://doc.duaer.com/getting-started/eia-electricity.md)
- [EIA fuel spot prices in Duaer](https://doc.duaer.com/getting-started/eia-petroleum.md)
- [US Congress bills in Duaer](https://doc.duaer.com/getting-started/congress-bills.md)
- [US Congress members in Duaer](https://doc.duaer.com/getting-started/congress-members.md)
- [Regulations.gov documents in Duaer](https://doc.duaer.com/getting-started/regulations.md)
- [FBI crime statistics in Duaer](https://doc.duaer.com/getting-started/fbi-crime.md)
- [US College Scorecard in Duaer](https://doc.duaer.com/getting-started/college-scorecard.md)
- [Smithsonian collections in Duaer](https://doc.duaer.com/getting-started/smithsonian.md)
- [EV charging and fuel stations in Duaer](https://doc.duaer.com/getting-started/ev-stations.md)
- [Solar power estimate in Duaer](https://doc.duaer.com/getting-started/solar-estimate.md)
- [Crypto prices in Duaer](https://doc.duaer.com/getting-started/crypto-prices.md)
- [Company financials (SEC) in Duaer](https://doc.duaer.com/getting-started/company-financials.md)
- [Company rankings (SEC) in Duaer](https://doc.duaer.com/getting-started/sec-frames.md)
- [Places nearby in Duaer](https://doc.duaer.com/getting-started/places-nearby.md)
- [Driving route in Duaer](https://doc.duaer.com/getting-started/driving-route.md)
- [Live flights in Duaer](https://doc.duaer.com/getting-started/live-flights.md)
- [Vehicle recalls in Duaer](https://doc.duaer.com/getting-started/vehicle-recalls.md)
- [VIN decoder in Duaer](https://doc.duaer.com/getting-started/vin-decode.md)
- [Postal codes in Duaer](https://doc.duaer.com/getting-started/postal-codes.md)
- [Wikipedia pageviews in Duaer](https://doc.duaer.com/getting-started/wiki-pageviews.md)
- [Hacker News in Duaer](https://doc.duaer.com/getting-started/hacker-news.md)
- [GitHub repositories in Duaer](https://doc.duaer.com/getting-started/github-repos.md)
- [GB grid carbon intensity in Duaer](https://doc.duaer.com/getting-started/grid-carbon.md)
- [EPA facility compliance in Duaer](https://doc.duaer.com/getting-started/epa-facilities.md)
- [Greenhouse gas levels in Duaer](https://doc.duaer.com/getting-started/greenhouse-gases.md)
- [Ocean datasets (NOAA) in Duaer](https://doc.duaer.com/getting-started/ocean-datasets.md)
- [Hong Kong weather in Duaer](https://doc.duaer.com/getting-started/hk-weather.md)
- [MusicBrainz music in Duaer](https://doc.duaer.com/getting-started/musicbrainz.md)
- [V&A collections in Duaer](https://doc.duaer.com/getting-started/vam-museum.md)
- [US court opinions in Duaer](https://doc.duaer.com/getting-started/court-opinions.md)
- [UK Parliament bills in Duaer](https://doc.duaer.com/getting-started/uk-bills.md)
- [UK Parliament members in Duaer](https://doc.duaer.com/getting-started/uk-mps.md)
- [US nonprofits in Duaer](https://doc.duaer.com/getting-started/nonprofits.md)
- [UK street crime in Duaer](https://doc.duaer.com/getting-started/uk-street-crime.md)
- [Singapore two-hour forecast in Duaer](https://doc.duaer.com/getting-started/sg-forecast.md)
- [Singapore HDB car parks in Duaer](https://doc.duaer.com/getting-started/sg-carparks.md)
- [Singapore taxis nearby in Duaer](https://doc.duaer.com/getting-started/sg-taxis.md)
- [Space news in Duaer](https://doc.duaer.com/getting-started/space-news.md)
- [TV shows in Duaer](https://doc.duaer.com/getting-started/tv-shows.md)
- [Apple catalog search in Duaer](https://doc.duaer.com/getting-started/apple-search.md)
- [Formula 1 results in Duaer](https://doc.duaer.com/getting-started/f1-results.md)
- [Public holidays in Duaer](https://doc.duaer.com/getting-started/public-holidays.md)
- [Word finder in Duaer](https://doc.duaer.com/getting-started/word-finder.md)
- [Word definitions in Duaer](https://doc.duaer.com/getting-started/word-definitions.md)
- [China holidays and make-up workdays in Duaer](https://doc.duaer.com/getting-started/cn-holidays.md)
- [Hong Kong KMB bus arrivals in Duaer](https://doc.duaer.com/getting-started/hk-bus-eta.md)
- [Hong Kong MTR next trains in Duaer](https://doc.duaer.com/getting-started/hk-mtr.md)
- [Hong Kong interbank rates in Duaer](https://doc.duaer.com/getting-started/hk-interbank.md)
- [Wikimedia Commons media in Duaer](https://doc.duaer.com/getting-started/commons-media.md)
- [Icons in Duaer](https://doc.duaer.com/getting-started/icons.md)
- [Pexels photos and videos in Duaer](https://doc.duaer.com/getting-started/pexels.md)
- [Pixabay images and videos in Duaer](https://doc.duaer.com/getting-started/pixabay.md)
- [Freesound sound effects in Duaer](https://doc.duaer.com/getting-started/freesound.md)
- [Jamendo music in Duaer](https://doc.duaer.com/getting-started/jamendo.md)
- [US election candidates money in Duaer](https://doc.duaer.com/getting-started/fec-candidates.md)
- [US GovInfo documents in Duaer](https://doc.duaer.com/getting-started/govinfo.md)
- [US national parks in Duaer](https://doc.duaer.com/getting-started/national-parks.md)
- [US flu activity in Duaer](https://doc.duaer.com/getting-started/flu-activity.md)
- [Amap places in China in Duaer](https://doc.duaer.com/getting-started/amap-poi.md)
- [Amap geocoding in China in Duaer](https://doc.duaer.com/getting-started/amap-geocode.md)
- [Amap routes in China in Duaer](https://doc.duaer.com/getting-started/amap-route.md)
- [Amap weather in China in Duaer](https://doc.duaer.com/getting-started/amap-weather.md)
- [Search Open Tree in Duaer](https://doc.duaer.com/getting-started/opentree.md)
- [Search CORE in Duaer](https://doc.duaer.com/getting-started/core.md)
- [Search LOINC in Duaer](https://doc.duaer.com/getting-started/loinc.md)
- [Search FMA in Duaer](https://doc.duaer.com/getting-started/fma.md)
- [Search uPheno in Duaer](https://doc.duaer.com/getting-started/upheno.md)
- [Search SYMP in Duaer](https://doc.duaer.com/getting-started/symp.md)
- [Search GENO in Duaer](https://doc.duaer.com/getting-started/geno.md)
- [Search NBO in Duaer](https://doc.duaer.com/getting-started/nbo.md)
- [Search PECO in Duaer](https://doc.duaer.com/getting-started/peco.md)
- [Search TogoVar in Duaer](https://doc.duaer.com/getting-started/togovar.md)
- [Search ChecklistBank in Duaer](https://doc.duaer.com/getting-started/checklistbank.md)
- [Search Rfam in Duaer](https://doc.duaer.com/getting-started/rfam.md)
- [Search ECO in Duaer](https://doc.duaer.com/getting-started/eco.md)
- [Search MAXO in Duaer](https://doc.duaer.com/getting-started/maxo.md)
- [Search IEDB in Duaer](https://doc.duaer.com/getting-started/iedb.md)
- [Search BindingDB in Duaer](https://doc.duaer.com/getting-started/bindingdb.md)
- [Search UKRI in Duaer](https://doc.duaer.com/getting-started/ukri.md)
- [Search OSF in Duaer](https://doc.duaer.com/getting-started/osf.md)
- [Search CPIC in Duaer](https://doc.duaer.com/getting-started/cpic.md)
- [Search DataCite in Duaer](https://doc.duaer.com/getting-started/datacite.md)
- [Search Unpaywall in Duaer](https://doc.duaer.com/getting-started/unpaywall.md)
- [Search Enrichr in Duaer](https://doc.duaer.com/getting-started/enrichr.md)
- [Search SIO in Duaer](https://doc.duaer.com/getting-started/sio.md)
- [Search IAO in Duaer](https://doc.duaer.com/getting-started/iao.md)
- [Search DUO in Duaer](https://doc.duaer.com/getting-started/duo.md)
- [Search STATO in Duaer](https://doc.duaer.com/getting-started/stato.md)
- [Search MS in Duaer](https://doc.duaer.com/getting-started/ms.md)
- [Search CHMO in Duaer](https://doc.duaer.com/getting-started/chmo.md)
- [Search TO in Duaer](https://doc.duaer.com/getting-started/to.md)
- [Search PO in Duaer](https://doc.duaer.com/getting-started/po.md)
- [Search AGRO in Duaer](https://doc.duaer.com/getting-started/agro.md)
- [Search CIDO in Duaer](https://doc.duaer.com/getting-started/cido.md)
- [Search IDO in Duaer](https://doc.duaer.com/getting-started/ido.md)
- [Search OAE in Duaer](https://doc.duaer.com/getting-started/oae.md)
- [Search FOODON in Duaer](https://doc.duaer.com/getting-started/foodon.md)
- [Search ENVO in Duaer](https://doc.duaer.com/getting-started/envo.md)
- [Search XAO in Duaer](https://doc.duaer.com/getting-started/xao.md)
- [Search WBbt in Duaer](https://doc.duaer.com/getting-started/wbbt.md)
- [Search ZFA in Duaer](https://doc.duaer.com/getting-started/zfa.md)
- [Search FBbt in Duaer](https://doc.duaer.com/getting-started/fbbt.md)
- [Search RO in Duaer](https://doc.duaer.com/getting-started/ro.md)
- [Search ECTO in Duaer](https://doc.duaer.com/getting-started/ecto.md)
- [Search CLO in Duaer](https://doc.duaer.com/getting-started/clo.md)
- [Search MGI in Duaer](https://doc.duaer.com/getting-started/mgi.md)
- [Search PomBase in Duaer](https://doc.duaer.com/getting-started/pombase.md)
- [Search SCOP in Duaer](https://doc.duaer.com/getting-started/scop.md)
- [Search GTEx eQTL in Duaer](https://doc.duaer.com/getting-started/gtex-eqtl.md)
- [Search HomoloGene in Duaer](https://doc.duaer.com/getting-started/homologene.md)
- [Search dbVar in Duaer](https://doc.duaer.com/getting-started/dbvar.md)
- [Search NCBI Variation in Duaer](https://doc.duaer.com/getting-started/ncbi-variation.md)
- [Search NCBI MedGen in Duaer](https://doc.duaer.com/getting-started/ncbi-medgen.md)
- [Search NCBI GTR in Duaer](https://doc.duaer.com/getting-started/ncbi-gtr.md)
- [Search NCBI SRA in Duaer](https://doc.duaer.com/getting-started/ncbi-sra.md)
- [Search NCBI BioProject in Duaer](https://doc.duaer.com/getting-started/ncbi-bioproject.md)
- [Search NCBI Assembly in Duaer](https://doc.duaer.com/getting-started/ncbi-assembly.md)
- [Search RxTerms in Duaer](https://doc.duaer.com/getting-started/rxterms.md)
- [Search OpenFDA Tobacco in Duaer](https://doc.duaer.com/getting-started/tobacco.md)
- [Search OpenFDA Food Events in Duaer](https://doc.duaer.com/getting-started/food-events.md)
- [Search OpenFDA Animal Events in Duaer](https://doc.duaer.com/getting-started/animal-events.md)
- [Search OpenFDA Device Class in Duaer](https://doc.duaer.com/getting-started/device-classification.md)
- [Search OpenFDA Device Recall in Duaer](https://doc.duaer.com/getting-started/device-recall.md)
- [Search OpenFDA Device PMA in Duaer](https://doc.duaer.com/getting-started/device-pma.md)
- [Search OpenFDA Device UDI in Duaer](https://doc.duaer.com/getting-started/device-udi.md)
- [Search OpenAlex Concepts in Duaer](https://doc.duaer.com/getting-started/openalex-concepts.md)
- [Search OpenAlex Publishers in Duaer](https://doc.duaer.com/getting-started/openalex-publishers.md)
- [Search OpenAlex Funders in Duaer](https://doc.duaer.com/getting-started/openalex-funders.md)
- [Search OpenAlex Sources in Duaer](https://doc.duaer.com/getting-started/openalex-sources.md)
- [Search DOAJ Journals in Duaer](https://doc.duaer.com/getting-started/doaj-journals.md)
- [Search Harvard Dataverse in Duaer](https://doc.duaer.com/getting-started/harvard-dataverse.md)
- [Search OpenAIRE in Duaer](https://doc.duaer.com/getting-started/openaire.md)
- [Search Hugging Face in Duaer](https://doc.duaer.com/getting-started/huggingface.md)
- [Search HAL in Duaer](https://doc.duaer.com/getting-started/hal.md)
- [Search arXiv in Duaer](https://doc.duaer.com/getting-started/arxiv.md)
- [Search re3data in Duaer](https://doc.duaer.com/getting-started/re3data.md)
- [Search nf-core in Duaer](https://doc.duaer.com/getting-started/nf-core.md)
- [Search Galaxy in Duaer](https://doc.duaer.com/getting-started/galaxy.md)
- [Search MG-RAST in Duaer](https://doc.duaer.com/getting-started/mgrast.md)
- [Search CELLxGENE in Duaer](https://doc.duaer.com/getting-started/cellxgene.md)
- [Search LINCS in Duaer](https://doc.duaer.com/getting-started/lincs.md)
- [Search LOTUS in Duaer](https://doc.duaer.com/getting-started/lotus.md)
- [Annotate an unknown feature with Duaer](https://doc.duaer.com/getting-started/metabolic-dark-matter.md)
- [Match spectra in MassBank with Duaer](https://doc.duaer.com/getting-started/massbank.md)
- [Find MoNA reference spectra with Duaer](https://doc.duaer.com/getting-started/mona.md)
- [List mass candidates in Duaer](https://doc.duaer.com/getting-started/mass-candidates.md)
- [Fetch a spectrum by USI in Duaer](https://doc.duaer.com/getting-started/spectrum.md)
- [Search a spectrum with MASST in Duaer](https://doc.duaer.com/getting-started/masst.md)
- [Search DisProt in Duaer](https://doc.duaer.com/getting-started/disprot.md)
- [Search WoRMS in Duaer](https://doc.duaer.com/getting-started/worms.md)
- [Search ITIS in Duaer](https://doc.duaer.com/getting-started/itis.md)
- [Search GBIF in Duaer](https://doc.duaer.com/getting-started/gbif.md)
- [Search NameResolver in Duaer](https://doc.duaer.com/getting-started/name-resolver.md)
- [Search NodeNorm in Duaer](https://doc.duaer.com/getting-started/node-norm.md)
- [Search Wikidata in Duaer](https://doc.duaer.com/getting-started/wikidata.md)
- [Search DOAJ in Duaer](https://doc.duaer.com/getting-started/doaj.md)
- [Search WorkflowHub in Duaer](https://doc.duaer.com/getting-started/workflowhub.md)
- [Search Dockstore in Duaer](https://doc.duaer.com/getting-started/dockstore.md)
- [Search bio.tools in Duaer](https://doc.duaer.com/getting-started/bio-tools.md)
- [Search Bioregistry in Duaer](https://doc.duaer.com/getting-started/bioregistry.md)
- [Search ICD-10 in Duaer](https://doc.duaer.com/getting-started/icd10.md)
- [Search MedlinePlus in Duaer](https://doc.duaer.com/getting-started/medlineplus.md)
- [Search Nextstrain in Duaer](https://doc.duaer.com/getting-started/nextstrain.md)
- [Search SGD in Duaer](https://doc.duaer.com/getting-started/sgd.md)
- [Search RGD in Duaer](https://doc.duaer.com/getting-started/rgd.md)
- [Search 4DN in Duaer](https://doc.duaer.com/getting-started/4dn.md)
- [Search NCBI Datasets in Duaer](https://doc.duaer.com/getting-started/ncbi-datasets.md)
- [Search Ensembl VEP in Duaer](https://doc.duaer.com/getting-started/ensembl-vep.md)
- [Search EVA in Duaer](https://doc.duaer.com/getting-started/eva.md)
- [Search NSF Awards in Duaer](https://doc.duaer.com/getting-started/nsf-awards.md)
- [Search Crossref Funders in Duaer](https://doc.duaer.com/getting-started/crossref-funders.md)
- [Search OpenAlex Topics in Duaer](https://doc.duaer.com/getting-started/openalex-topics.md)
- [Search OpenAlex Institutions in Duaer](https://doc.duaer.com/getting-started/openalex-institutions.md)
- [Search OpenAlex Authors in Duaer](https://doc.duaer.com/getting-started/openalex-authors.md)
- [Search ROR in Duaer](https://doc.duaer.com/getting-started/ror.md)
- [Search iCite in Duaer](https://doc.duaer.com/getting-started/icite.md)
- [Search PubTator in Duaer](https://doc.duaer.com/getting-started/pubtator.md)
- [Search Harmonizome in Duaer](https://doc.duaer.com/getting-started/harmonizome.md)
- [Search UCSC in Duaer](https://doc.duaer.com/getting-started/ucsc.md)
- [Search HCA in Duaer](https://doc.duaer.com/getting-started/hca.md)
- [Search IDR in Duaer](https://doc.duaer.com/getting-started/idr.md)
- [Search OncoTree in Duaer](https://doc.duaer.com/getting-started/oncotree.md)
- [Search VO in Duaer](https://doc.duaer.com/getting-started/vo.md)
- [Search PW in Duaer](https://doc.duaer.com/getting-started/pw.md)
- [Search BTO in Duaer](https://doc.duaer.com/getting-started/bto.md)
- [Search BAO in Duaer](https://doc.duaer.com/getting-started/bao.md)
- [Search EDAM in Duaer](https://doc.duaer.com/getting-started/edam.md)
- [Search PATO in Duaer](https://doc.duaer.com/getting-started/pato.md)
- [Search PANTHER in Duaer](https://doc.duaer.com/getting-started/panther.md)
- [Search OrthoDB in Duaer](https://doc.duaer.com/getting-started/orthodb.md)
- [Search OMA in Duaer](https://doc.duaer.com/getting-started/oma.md)
- [Search Omnipath in Duaer](https://doc.duaer.com/getting-started/omnipath.md)
- [Search ProteomeXchange in Duaer](https://doc.duaer.com/getting-started/proteomexchange.md)
- [Search Dryad in Duaer](https://doc.duaer.com/getting-started/dryad.md)
- [Search Figshare in Duaer](https://doc.duaer.com/getting-started/figshare.md)
- [Search Zenodo in Duaer](https://doc.duaer.com/getting-started/zenodo.md)
- [Search OpenFDA Food in Duaer](https://doc.duaer.com/getting-started/food-enforcement.md)
- [Search OpenFDA 510(k) in Duaer](https://doc.duaer.com/getting-started/device-510k.md)
- [Search RxClass in Duaer](https://doc.duaer.com/getting-started/rxclass.md)
- [Search DailyMed in Duaer](https://doc.duaer.com/getting-started/daily-med.md)
- [Search ClinPGx in Duaer](https://doc.duaer.com/getting-started/clinpgx.md)
- [Search BV-BRC in Duaer](https://doc.duaer.com/getting-started/bv-brc.md)
- [Search MGnify in Duaer](https://doc.duaer.com/getting-started/mgnify.md)
- [Search Lipid Maps in Duaer](https://doc.duaer.com/getting-started/lipid-maps.md)
- [Search Swiss-Model in Duaer](https://doc.duaer.com/getting-started/swiss-model.md)
- [Search BMRB in Duaer](https://doc.duaer.com/getting-started/bmrb.md)
- [Search EMPIAR in Duaer](https://doc.duaer.com/getting-started/empiar.md)
- [Search ENA in Duaer](https://doc.duaer.com/getting-started/ena.md)
- [Search Proteomes in Duaer](https://doc.duaer.com/getting-started/proteomes.md)
- [Search UniRule in Duaer](https://doc.duaer.com/getting-started/unirule.md)
- [Search UniRef in Duaer](https://doc.duaer.com/getting-started/uniref.md)
- [Search MyChem in Duaer](https://doc.duaer.com/getting-started/mychem.md)
- [Search Crossref in Duaer](https://doc.duaer.com/getting-started/crossref.md)
- [Search MPATH in Duaer](https://doc.duaer.com/getting-started/mpath.md)
- [Search OBI in Duaer](https://doc.duaer.com/getting-started/obi.md)
- [Search Protein Ontology in Duaer](https://doc.duaer.com/getting-started/protein-ontology.md)
- [Search ORCID in Duaer](https://doc.duaer.com/getting-started/orcid.md)
- [Search Europe PMC in Duaer](https://doc.duaer.com/getting-started/europe-pmc.md)
- [Search UniParc in Duaer](https://doc.duaer.com/getting-started/uniparc.md)
- [Search EMDB in Duaer](https://doc.duaer.com/getting-started/emdb.md)
- [Search NCIt in Duaer](https://doc.duaer.com/getting-started/ncit.md)
- [Search ChEBI in Duaer](https://doc.duaer.com/getting-started/chebi.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/install-skills.md).
# 在 Cursor、Claude Code 和 Codex 里安装 Duaer 技能
把 Duaer 技能放进智能体会扫描的文件夹,确认它出现在列表里,再按名字调用。同一个 SKILL.md 在 Cursor、Claude Code 和 Codex 里都能用。
## 各家从哪里读技能
- Cursor:项目里的 .cursor/skills/ 或 .agents/skills/;对所有项目生效用 ~/.cursor/skills/ 或 ~/.agents/skills/。Cursor 也会读 .claude/skills/ 和 .codex/skills/。
- Claude Code:项目里的 .claude/skills/(从启动目录往上直到仓库根目录);对所有项目生效用 ~/.claude/skills/。
- Codex:从当前目录往上直到仓库根目录的 .agents/skills/;对所有项目生效用 ~/.agents/skills/。
每个技能一个文件夹,文件夹名和技能里的 name 一致,文件名是 SKILL.md。一个仓库要同时给三家用:真实文件夹放在 .agents/skills/(Cursor 和 Codex 都读),再复制一份到 .claude/skills/(给 Claude Code)。
## 安装一个 Duaer 技能
1. 在 [skills.duaer.com](https://skills.duaer.com/) 选一个技能,或在 [Duaer 数据市场](/zh/getting-started/data-market.md) 点「复制技能」。
2. 按技能名建文件夹,例如 duaer-weather。
3. 把技能存成这个文件夹里的 SKILL.md。文件第一行必须是 ---。skills.duaer.com 的页面开头多一行索引,要删掉第一个 --- 之前的内容,下面的命令会自动处理。
4. 开一个新对话,或重启 CLI,让智能体重新扫描。
```
mkdir -p .agents/skills/duaer-weather
curl -s https://skills.duaer.com/weather.md | sed -n '/^---$/,$p' > .agents/skills/duaer-weather/SKILL.md
mkdir -p .claude/skills
cp -R .agents/skills/duaer-weather .claude/skills/
```
换成别的技能时,把 weather 换成 skills.duaer.com 上的地址名,把 duaer-weather 换成技能的 name。
## 确认智能体看得到
- Cursor 编辑器:在 Agent 对话里输入 / 搜索技能名,或打开 Customize → Skills。
- Cursor CLI:在 CLI 里同样输入 / 再查一次。有用户反馈编辑器能加载、CLI 却看不到同一个文件夹,两边都用就两边都查。
- Claude Code:运行 /skills,或问一句「What skills are available?」。
- Codex:运行 /skills,或输入 $ 看名字是否出现。
找不到时,依次检查文件夹名、SKILL.md 里的 name 行,以及 --- 是否在第一行。
## 用真实文件夹,不要用软链接
Claude Code 和 Codex 官方支持软链接的技能文件夹,但有用户反馈:软链接的技能能运行却不出现在 / 菜单里,或者在一个应用里能加载、换一个就不行。复制过去的文件夹在各处表现一致。想只维护一份源文件,就用脚本复制进去,不要做链接。
## 技能没自己启动时,按名字调用
- 智能体靠技能的 description 决定用不用它。没有自动启动时直接点名:Cursor 和 Claude Code 里输入 /duaer-weather,Codex 里输入 $duaer-weather。
- 装的技能很多时,智能体会截短或省略部分 description,匹配就会变差。不用的技能可以移走。
## 换电脑或分享给同事
- 项目级技能(.agents/skills/、.claude/skills/)提交进仓库,别人克隆就有。
- 用户级技能(~/ 下的文件夹)只在这台电脑上。换电脑时复制这些文件夹,或重新运行上面的安装命令。
- Cursor Cloud Agents 只有打开 Sync Skills for Cloud Agents 后才拿得到 ~/.cursor/skills/。Claude Code 的云端会话读仓库里提交的技能,不读你本机的 ~/.claude/skills/。
## Questions
### Duaer 技能要为每个智能体各写一份吗?
不用。一个 Duaer 技能就是一个 SKILL.md,把同一个文件夹放到每家会读的位置即可。
### 为什么要删掉 skills.duaer.com 页面的第一行?
skills.duaer.com 的 Duaer 技能页面开头有一行给读者看的索引。智能体只在 --- 位于第一行时才读取技能头信息,原样保存的 Duaer 技能可能不会自动启动。
### 安装 Duaer 技能会用额度吗?
不会。Duaer 只在数据技能执行检索并返回结果时扣额度。
## 相关
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
- [在 Duaer 里查天气预报](https://doc.duaer.com/zh/getting-started/weather.md)
- [Duaer 公开 API 的身份验证](https://doc.duaer.com/zh/api/authentication.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/install-skills.md).
# Install Duaer skills in Cursor, Claude Code, and Codex
Put a Duaer skill in a folder your agent scans, check that it is listed, then call it by name. The same SKILL.md works in Cursor, Claude Code, and Codex.
## Where each agent looks
- Cursor: .cursor/skills/ or .agents/skills/ in the project; ~/.cursor/skills/ or ~/.agents/skills/ for all projects. Cursor also reads .claude/skills/ and .codex/skills/.
- Claude Code: .claude/skills/ in the project, from the folder you start in up to the repository root; ~/.claude/skills/ for all projects.
- Codex: .agents/skills/ from the current folder up to the repository root; ~/.agents/skills/ for all projects.
Use one folder per skill. The folder name matches the skill name, and the file is SKILL.md. To serve all three agents from one repository, keep the real folder in .agents/skills/ (read by Cursor and Codex) and a copy in .claude/skills/ (for Claude Code).
## Install a Duaer skill
1. Pick a skill on [skills.duaer.com](https://skills.duaer.com/), or select Copy skill in the [Duaer data market](/getting-started/data-market.md).
2. Create a folder named after the skill, such as duaer-weather.
3. Save the skill as SKILL.md in that folder. The first line must be ---. Pages on skills.duaer.com start with an index line, so drop everything above the first ---. The commands below do this for you.
4. Start a new chat, or restart the CLI, so the agent scans again.
```
mkdir -p .agents/skills/duaer-weather
curl -s https://skills.duaer.com/weather.md | sed -n '/^---$/,$p' > .agents/skills/duaer-weather/SKILL.md
mkdir -p .claude/skills
cp -R .agents/skills/duaer-weather .claude/skills/
```
For another skill, replace weather with its address on skills.duaer.com and duaer-weather with its name.
## Check that the agent can see it
- Cursor editor: type / in Agent chat and search for the skill, or open Customize → Skills.
- Cursor CLI: type / in the CLI and search again. Users report folders that the editor loads and the CLI does not, so check both if you use both.
- Claude Code: run /skills, or ask "What skills are available?".
- Codex: run /skills, or type $ and look for the name.
If the skill is missing, check the folder name, the name line in SKILL.md, and that --- is the first line.
## Use real folders, not symlinks
Claude Code and Codex follow symlinked skill folders, but users report symlinked skills that run yet do not appear in the / menu, or that load in one app and not in another. A copied folder behaves the same everywhere. To keep one source, copy it in with a script instead of linking it.
## Call a skill that does not start on its own
- Agents pick a skill by its description. If it does not start on its own, name it: /duaer-weather in Cursor or Claude Code, $duaer-weather in Codex.
- With many skills installed, agents shorten or drop some descriptions, and matching gets worse. Move out skills you do not use.
## Move skills to another machine or teammate
- Commit project skills (.agents/skills/, .claude/skills/) to the repository. Anyone who clones it gets them.
- User-level skills (folders under ~/) stay on one machine. Copy the folders, or run the install commands again.
- Cursor Cloud Agents get ~/.cursor/skills/ only after you turn on Sync Skills for Cloud Agents. Claude Code cloud sessions read skills committed to the repository, not ~/.claude/skills/ on your machine.
## Questions
### Does a Duaer skill need a separate file for each agent?
No. A Duaer skill is one SKILL.md. Put the same folder where each agent looks.
### Why drop the first line of a skills.duaer.com page?
Duaer skill pages on skills.duaer.com start with an index line for readers. Agents read the skill header only when --- is the first line, so a Duaer skill saved as-is may not start on its own.
### Does installing a Duaer skill use credits?
No. Duaer charges only when a data skill runs a search that returns rows.
## Related
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
- [Weather forecast in Duaer](https://doc.duaer.com/getting-started/weather.md)
- [Authentication for the Duaer public API](https://doc.duaer.com/api/authentication.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/duaer-data.md).
# 在 Duaer 里用 Duaer 数据分类加节点
在 Duaer 的节点创建器里,「Duaer 数据」是一类可取数据的入口。点开后先选数据类型(从论文到药品标签,与数据市场一致),再把 Duaer Data 节点加到画布。
## 这个分类是什么
节点创建器里的「Duaer 数据」(英文界面写 Duaer Data)是一类入口,说明是「Duaer 能取到的数据」。它和侧栏的 [数据市场](/zh/getting-started/data-market.md) 对应同一批可取数据:市场里看目录与价格,创建器里按类型把节点加进工作流程。
在常规节点列表里,这一类排在最前。图标是书本。每种数据是这一类下的一个选项,落到同一个 Duaer Data 节点的不同 Operation。
## 从分类加上节点
1. 打开一个工作流程的画布,点加节点(或打开节点创建器)。
2. 在常规节点视图里点「Duaer 数据」。
3. 选一种类型:论文、基因和蛋白、临床试验、化合物和药物、蛋白结构、疾病、物种、关键词、亚细胞定位、基因本体、通路、基因、变异、结构域、预印本、基金、互作、表达、靶点关联、同源基因、生物活性、组织图谱、适应症、作用机制、GEO、实验测定、专利、AlphaFold、细胞系、药–基因、反应、复合物、代谢物、药品标签。画布上出现 Duaer Data 节点,Operation 已是该类型。
4. 按该类型字段填检索条件并执行。专题见 [论文](/zh/getting-started/papers.md)、[基因和蛋白](/zh/getting-started/proteins.md)、[临床试验](/zh/getting-started/trials.md)、[化合物和药物](/zh/getting-started/compounds.md)、[蛋白结构](/zh/getting-started/structures.md)、[疾病](/zh/getting-started/diseases.md)、[物种](/zh/getting-started/organisms.md)、[关键词](/zh/getting-started/keywords.md)、[亚细胞定位](/zh/getting-started/locations.md)、[基因本体](/zh/getting-started/gene-ontology.md)、[通路](/zh/getting-started/pathways.md)、[基因](/zh/getting-started/genes.md)、[变异](/zh/getting-started/variants.md)、[结构域](/zh/getting-started/domains.md)、[预印本](/zh/getting-started/preprints.md)、[基金](/zh/getting-started/grants.md)、[互作](/zh/getting-started/interactions.md)、[表达](/zh/getting-started/expression.md)、[靶点关联](/zh/getting-started/targets.md)、[同源基因](/zh/getting-started/orthologs.md)、[生物活性](/zh/getting-started/activities.md)、[组织图谱](/zh/getting-started/atlas.md)、[适应症](/zh/getting-started/indications.md)、[作用机制](/zh/getting-started/mechanisms.md)、[GEO](/zh/getting-started/geo.md)、[实验测定](/zh/getting-started/assays.md)、[专利](/zh/getting-started/patents.md)、[AlphaFold](/zh/getting-started/alphafold.md)、[细胞系](/zh/getting-started/cell-lines.md)、[药–基因](/zh/getting-started/drug-gene.md)、[反应](/zh/getting-started/reactions.md)、[复合物](/zh/getting-started/complexes.md)、[代谢物](/zh/getting-started/metabolites.md)、[药品标签](/zh/getting-started/drug-labels.md)、[不良反应](/zh/getting-started/adverse-events.md)、[GWAS](/zh/getting-started/gwas.md)、[RxNorm](/zh/getting-started/rxnorm.md)、[MeSH](/zh/getting-started/mesh.md)、[表型](/zh/getting-started/phenotypes.md)、[交叉引用](/zh/getting-started/crossrefs.md)、[药品召回](/zh/getting-started/drug-recalls.md)、[配体](/zh/getting-started/ligands.md)、[ChEMBL](/zh/getting-started/chembl.md), [Ensembl](/zh/getting-started/ensembl.md)、[KEGG](/zh/getting-started/kegg.md)、[Monarch](/zh/getting-started/monarch.md)、[HGNC](/zh/getting-started/hgnc.md)、[PRIDE](/zh/getting-started/pride.md)、[Uberon](/zh/getting-started/uberon.md)、[BioStudies](/zh/getting-started/biostudies.md)、[Orphanet](/zh/getting-started/orphanet.md)、[EFO](/zh/getting-started/efo.md)、[RNAcentral](/zh/getting-started/rnacentral.md)、[Mondo](/zh/getting-started/mondo.md)、[Cell Ontology](/zh/getting-started/cell-ontology.md)、[MP](/zh/getting-started/mp.md)、[MyDisease](/zh/getting-started/mydisease.md)、[Metabolomics](/zh/getting-started/metabolomics.md)、[IntAct](/zh/getting-started/intact.md)、[BioSamples](/zh/getting-started/biosamples.md)、[ENCODE](/zh/getting-started/encode.md)、[Pathway Commons](/zh/getting-started/pathway-commons.md)、[Alliance](/zh/getting-started/alliance.md)、[ClinVar](/zh/getting-started/clinvar.md)、[dbSNP](/zh/getting-started/dbsnp.md)、[JASPAR](/zh/getting-started/jaspar.md)、[cBioPortal](/zh/getting-started/cbioportal.md)、[GDC](/zh/getting-started/gdc.md)、[Expression Atlas](/zh/getting-started/expression-atlas.md)、[Single Cell Atlas](/zh/getting-started/single-cell-atlas.md)、[NDC](/zh/getting-started/ndc.md)、[Device events](/zh/getting-started/device-events.md)、[Sequence Ontology](/zh/getting-started/sequence-ontology.md)、[DOID](/zh/getting-started/doid.md)、[NCBI Taxonomy](/zh/getting-started/ncbi-taxon.md)、[GlyGen](/zh/getting-started/glygen.md)、[ChEBI](/zh/getting-started/chebi.md)、[NCIt](/zh/getting-started/ncit.md)、[Pfam](/zh/getting-started/pfam.md)、[EMDB](/zh/getting-started/emdb.md)、[UniParc](/zh/getting-started/uniparc.md)、[Europe PMC](/zh/getting-started/europe-pmc.md)、[ORCID](/zh/getting-started/orcid.md)、[Protein Ontology](/zh/getting-started/protein-ontology.md)、[OBI](/zh/getting-started/obi.md)、[MPATH](/zh/getting-started/mpath.md)、[Crossref](/zh/getting-started/crossref.md)、[MyChem](/zh/getting-started/mychem.md)、[Drugs@FDA](/zh/getting-started/drugs-fda.md)、[UniRef](/zh/getting-started/uniref.md)、[UniRule](/zh/getting-started/unirule.md)、[Proteomes](/zh/getting-started/proteomes.md)、[ENA](/zh/getting-started/ena.md)、[EMPIAR](/zh/getting-started/empiar.md)、[BMRB](/zh/getting-started/bmrb.md)、[Swiss-Model](/zh/getting-started/swiss-model.md)、[Lipid Maps](/zh/getting-started/lipid-maps.md)、[MGnify](/zh/getting-started/mgnify.md)、[BV-BRC](/zh/getting-started/bv-brc.md)、[ClinPGx](/zh/getting-started/clinpgx.md)、[DailyMed](/zh/getting-started/daily-med.md)、[RxClass](/zh/getting-started/rxclass.md)、[OpenFDA 510(k)](/zh/getting-started/device-510k.md)、[OpenFDA Food](/zh/getting-started/food-enforcement.md)、[Zenodo](/zh/getting-started/zenodo.md)、[Figshare](/zh/getting-started/figshare.md)、[Dryad](/zh/getting-started/dryad.md)、[ProteomeXchange](/zh/getting-started/proteomexchange.md)、[Omnipath](/zh/getting-started/omnipath.md)、[OMA](/zh/getting-started/oma.md)、[OrthoDB](/zh/getting-started/orthodb.md)、[PANTHER](/zh/getting-started/panther.md)、[PATO](/zh/getting-started/pato.md)、[EDAM](/zh/getting-started/edam.md)、[BAO](/zh/getting-started/bao.md)、[BTO](/zh/getting-started/bto.md)、[PW](/zh/getting-started/pw.md)、[VO](/zh/getting-started/vo.md)、[OncoTree](/zh/getting-started/oncotree.md)、[IDR](/zh/getting-started/idr.md)、[HCA](/zh/getting-started/hca.md)、[UCSC](/zh/getting-started/ucsc.md)、[Harmonizome](/zh/getting-started/harmonizome.md)、[PubTator](/zh/getting-started/pubtator.md)、[iCite](/zh/getting-started/icite.md)、[ROR](/zh/getting-started/ror.md)、[OpenAlex Authors](/zh/getting-started/openalex-authors.md)、[OpenAlex Institutions](/zh/getting-started/openalex-institutions.md)、[OpenAlex Topics](/zh/getting-started/openalex-topics.md)、[Crossref Funders](/zh/getting-started/crossref-funders.md)、[NSF Awards](/zh/getting-started/nsf-awards.md)、[EVA](/zh/getting-started/eva.md)、[Ensembl VEP](/zh/getting-started/ensembl-vep.md)、[NCBI Datasets](/zh/getting-started/ncbi-datasets.md)、[4DN](/zh/getting-started/4dn.md)、[RGD](/zh/getting-started/rgd.md)、[SGD](/zh/getting-started/sgd.md)、[Nextstrain](/zh/getting-started/nextstrain.md)、[MedlinePlus](/zh/getting-started/medlineplus.md)、[ICD-10](/zh/getting-started/icd10.md)、[Bioregistry](/zh/getting-started/bioregistry.md)、[bio.tools](/zh/getting-started/bio-tools.md)、[Dockstore](/zh/getting-started/dockstore.md)、[WorkflowHub](/zh/getting-started/workflowhub.md)、[DOAJ](/zh/getting-started/doaj.md)、[Wikidata](/zh/getting-started/wikidata.md)、[NodeNorm](/zh/getting-started/node-norm.md)、[NameResolver](/zh/getting-started/name-resolver.md)、[GBIF](/zh/getting-started/gbif.md)、[ITIS](/zh/getting-started/itis.md)、[WoRMS](/zh/getting-started/worms.md)、[iNaturalist](/zh/getting-started/inaturalist.md)、[DisProt](/zh/getting-started/disprot.md)、[LOTUS](/zh/getting-started/lotus.md)、[LINCS](/zh/getting-started/lincs.md)、[CELLxGENE](/zh/getting-started/cellxgene.md)、[MG-RAST](/zh/getting-started/mgrast.md)、[Galaxy](/zh/getting-started/galaxy.md)、[nf-core](/zh/getting-started/nf-core.md)、[re3data](/zh/getting-started/re3data.md)、[arXiv](/zh/getting-started/arxiv.md)、[HAL](/zh/getting-started/hal.md)、[Hugging Face](/zh/getting-started/huggingface.md)、[OpenAIRE](/zh/getting-started/openaire.md)、[Harvard Dataverse](/zh/getting-started/harvard-dataverse.md)、[DOAJ Journals](/zh/getting-started/doaj-journals.md)、[OpenAlex Sources](/zh/getting-started/openalex-sources.md)、[OpenAlex Funders](/zh/getting-started/openalex-funders.md)、[OpenAlex Publishers](/zh/getting-started/openalex-publishers.md)、[OpenAlex Concepts](/zh/getting-started/openalex-concepts.md)、[OpenFDA Device UDI](/zh/getting-started/device-udi.md)、[OpenFDA Device PMA](/zh/getting-started/device-pma.md)、[OpenFDA Device Recall](/zh/getting-started/device-recall.md)、[OpenFDA Device Class](/zh/getting-started/device-classification.md)、[OpenFDA Animal Events](/zh/getting-started/animal-events.md)、[OpenFDA Food Events](/zh/getting-started/food-events.md)、[OpenFDA Tobacco](/zh/getting-started/tobacco.md)、[RxTerms](/zh/getting-started/rxterms.md)、[NCBI Assembly](/zh/getting-started/ncbi-assembly.md)、[NCBI BioProject](/zh/getting-started/ncbi-bioproject.md)、[NCBI SRA](/zh/getting-started/ncbi-sra.md)、[NCBI GTR](/zh/getting-started/ncbi-gtr.md)、[NCBI MedGen](/zh/getting-started/ncbi-medgen.md)、[NCBI Variation](/zh/getting-started/ncbi-variation.md)、[dbVar](/zh/getting-started/dbvar.md)、[HomoloGene](/zh/getting-started/homologene.md)、[GTEx eQTL](/zh/getting-started/gtex-eqtl.md)、[SCOP](/zh/getting-started/scop.md)、[PomBase](/zh/getting-started/pombase.md)、[MGI](/zh/getting-started/mgi.md)、[CLO](/zh/getting-started/clo.md)、[ECTO](/zh/getting-started/ecto.md)、[RO](/zh/getting-started/ro.md)、[FBbt](/zh/getting-started/fbbt.md)、[ZFA](/zh/getting-started/zfa.md)、[WBbt](/zh/getting-started/wbbt.md)、[XAO](/zh/getting-started/xao.md)、[ENVO](/zh/getting-started/envo.md)、[FOODON](/zh/getting-started/foodon.md)、[OAE](/zh/getting-started/oae.md)、[IDO](/zh/getting-started/ido.md)、[CIDO](/zh/getting-started/cido.md)、[AGRO](/zh/getting-started/agro.md)、[PO](/zh/getting-started/po.md)、[TO](/zh/getting-started/to.md)、[CHMO](/zh/getting-started/chmo.md)、[MS](/zh/getting-started/ms.md)、[STATO](/zh/getting-started/stato.md)、[DUO](/zh/getting-started/duo.md)、[IAO](/zh/getting-started/iao.md)、[SIO](/zh/getting-started/sio.md)、[CHEMINF](/zh/getting-started/cheminf.md)、[Enrichr](/zh/getting-started/enrichr.md)、[Unpaywall](/zh/getting-started/unpaywall.md)、[DataCite](/zh/getting-started/datacite.md)、[CPIC](/zh/getting-started/cpic.md)、[OSF](/zh/getting-started/osf.md)、[UKRI](/zh/getting-started/ukri.md)、[Cellosaurus](/zh/getting-started/cellosaurus.md)、[BindingDB](/zh/getting-started/bindingdb.md)、[IEDB](/zh/getting-started/iedb.md)、[MAXO](/zh/getting-started/maxo.md)、[ECO](/zh/getting-started/eco.md)、[Rfam](/zh/getting-started/rfam.md)、[ChecklistBank](/zh/getting-started/checklistbank.md)、[TogoVar](/zh/getting-started/togovar.md)、[PubMed](/zh/getting-started/pubmed.md)、[PECO](/zh/getting-started/peco.md)、[NBO](/zh/getting-started/nbo.md)、[GENO](/zh/getting-started/geno.md)、[SYMP](/zh/getting-started/symp.md)、[uPheno](/zh/getting-started/upheno.md)、[FMA](/zh/getting-started/fma.md)、[LOINC](/zh/getting-started/loinc.md)、[CORE](/zh/getting-started/core.md)、[Open Tree](/zh/getting-started/opentree.md)、[Europe PMC Annotations](/zh/getting-started/europe-pmc-annotations.md)、[BiGG](/zh/getting-started/bigg.md)、[gnomAD](/zh/getting-started/gnomad.md)、[miRNA](/zh/getting-started/mirna.md)、[HumanMine](/zh/getting-started/humanmine.md)、[RegulomeDB](/zh/getting-started/regulomedb.md)。
也可以直接搜索 paper、protein、trial、compound、structure 或 duaer,创建器会把「Duaer 数据」提到结果里。
不要和「应用」类里的第三方节点混在一起找:Duaer Data 不进通用应用列表,只在自己的分类下。
## 和数据市场、数据池的差别
- Duaer 数据分类:画布上选类型、加节点。
- 数据市场:侧栏目录,看能取什么、价格,以及复制调用技能。见 [在 Duaer 里使用数据市场](/zh/getting-started/data-market.md)。
- 数据池:正式运行成功后收下的交付物。见 [在 Duaer 里查看数据池](/zh/getting-started/data-pool.md)。
## Questions
### Duaer 节点创建器里「Duaer 数据」下现在有什么?
论文、基因和蛋白、临床试验、化合物和药物、蛋白结构、疾病、物种、关键词、亚细胞定位、基因本体、通路、基因、变异、结构域、预印本、基金、互作、表达、靶点关联、同源基因、生物活性、组织图谱、适应症、作用机制、GEO、实验测定、专利、AlphaFold、细胞系、药–基因、反应、复合物、代谢物、药品标签。选中后加上对应 Operation 的 Duaer Data 节点。
### 分类和数据市场是一回事吗?
不是同一界面。分类用来加节点;数据市场用来看目录、价格和调用技能。可取的数据种类一致。
## 相关
- [在 Duaer 里检索论文](https://doc.duaer.com/zh/getting-started/papers.md)
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里检索临床试验](https://doc.duaer.com/zh/getting-started/trials.md)
- [在 Duaer 里检索化合物和药物](https://doc.duaer.com/zh/getting-started/compounds.md)
- [在 Duaer 里检索蛋白结构](https://doc.duaer.com/zh/getting-started/structures.md)
- [在 Duaer 里检索疾病](https://doc.duaer.com/zh/getting-started/diseases.md)
- [在 Duaer 里检索物种](https://doc.duaer.com/zh/getting-started/organisms.md)
- [在 Duaer 里检索关键词](https://doc.duaer.com/zh/getting-started/keywords.md)
- [在 Duaer 里检索亚细胞定位](https://doc.duaer.com/zh/getting-started/locations.md)
- [在 Duaer 里检索基因本体](https://doc.duaer.com/zh/getting-started/gene-ontology.md)
- [在 Duaer 里检索通路](https://doc.duaer.com/zh/getting-started/pathways.md)
- [在 Duaer 里检索基因](https://doc.duaer.com/zh/getting-started/genes.md)
- [在 Duaer 里检索变异](https://doc.duaer.com/zh/getting-started/variants.md)
- [在 Duaer 里检索结构域](https://doc.duaer.com/zh/getting-started/domains.md)
- [在 Duaer 里检索预印本](https://doc.duaer.com/zh/getting-started/preprints.md)
- [在 Duaer 里检索基金](https://doc.duaer.com/zh/getting-started/grants.md)
- [在 Duaer 里检索互作](https://doc.duaer.com/zh/getting-started/interactions.md)
- [在 Duaer 里检索表达](https://doc.duaer.com/zh/getting-started/expression.md)
- [在 Duaer 里检索靶点关联](https://doc.duaer.com/zh/getting-started/targets.md)
- [在 Duaer 里检索同源基因](https://doc.duaer.com/zh/getting-started/orthologs.md)
- [在 Duaer 里检索生物活性](https://doc.duaer.com/zh/getting-started/activities.md)
- [在 Duaer 里检索组织图谱](https://doc.duaer.com/zh/getting-started/atlas.md)
- [在 Duaer 里检索适应症](https://doc.duaer.com/zh/getting-started/indications.md)
- [在 Duaer 里检索作用机制](https://doc.duaer.com/zh/getting-started/mechanisms.md)
- [在 Duaer 里检索 GEO](https://doc.duaer.com/zh/getting-started/geo.md)
- [在 Duaer 里检索实验测定](https://doc.duaer.com/zh/getting-started/assays.md)
- [在 Duaer 里检索专利](https://doc.duaer.com/zh/getting-started/patents.md)
- [在 Duaer 里查询 AlphaFold 预测结构](https://doc.duaer.com/zh/getting-started/alphafold.md)
- [在 Duaer 里检索细胞系](https://doc.duaer.com/zh/getting-started/cell-lines.md)
- [在 Duaer 里检索药–基因互作](https://doc.duaer.com/zh/getting-started/drug-gene.md)
- [在 Duaer 里检索生化反应](https://doc.duaer.com/zh/getting-started/reactions.md)
- [在 Duaer 里检索蛋白复合物](https://doc.duaer.com/zh/getting-started/complexes.md)
- [在 Duaer 里检索代谢物](https://doc.duaer.com/zh/getting-started/metabolites.md)
- [在 Duaer 里检索药品标签](https://doc.duaer.com/zh/getting-started/drug-labels.md)
- [在 Duaer 里检索不良反应](https://doc.duaer.com/zh/getting-started/adverse-events.md)
- [在 Duaer 里检索 GWAS](https://doc.duaer.com/zh/getting-started/gwas.md)
- [在 Duaer 里检索 RxNorm](https://doc.duaer.com/zh/getting-started/rxnorm.md)
- [在 Duaer 里检索 MeSH](https://doc.duaer.com/zh/getting-started/mesh.md)
- [在 Duaer 里检索表型](https://doc.duaer.com/zh/getting-started/phenotypes.md)
- [在 Duaer 里检索交叉引用](https://doc.duaer.com/zh/getting-started/crossrefs.md)
- [在 Duaer 里检索药品召回](https://doc.duaer.com/zh/getting-started/drug-recalls.md)
- [在 Duaer 里检索配体](https://doc.duaer.com/zh/getting-started/ligands.md)
- [在 Duaer 里检索 ChEMBL](https://doc.duaer.com/zh/getting-started/chembl.md)
- [在 Duaer 里检索 Ensembl](https://doc.duaer.com/zh/getting-started/ensembl.md)
- [在 Duaer 里检索 KEGG](https://doc.duaer.com/zh/getting-started/kegg.md)
- [在 Duaer 里检索 Monarch](https://doc.duaer.com/zh/getting-started/monarch.md)
- [在 Duaer 里检索 HGNC](https://doc.duaer.com/zh/getting-started/hgnc.md)
- [在 Duaer 里检索 PRIDE](https://doc.duaer.com/zh/getting-started/pride.md)
- [在 Duaer 里检索 Uberon](https://doc.duaer.com/zh/getting-started/uberon.md)
- [在 Duaer 里检索 BioStudies](https://doc.duaer.com/zh/getting-started/biostudies.md)
- [在 Duaer 里检索 Orphanet](https://doc.duaer.com/zh/getting-started/orphanet.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/duaer-data.md).
# Add a node from the Duaer Data category
In Duaer’s node creator, Duaer Data is a category for data Duaer can fetch. Open it, pick a data type (Papers through Drug labels), and Duaer adds the Duaer Data node to the canvas.
## What this category is
In the node creator, Duaer Data is a category for data Duaer can fetch. It matches the sidebar [data market](/getting-started/data-market.md): the market shows the catalog and price; the creator adds the node by data type into a workflow.
In the regular node list, this category is first. The icon is a book. Each data type is a choice under the same category, still on one Duaer Data node with a different Operation.
## Add a node from the category
1. Open a workflow on the canvas and add a node (open the node creator).
2. In the regular node view, select Duaer Data.
3. Pick Papers through Drug labels. Duaer adds a Duaer Data node with that Operation.
4. Fill the fields for that type and run. How-tos: [Papers](/getting-started/papers.md), [Proteins](/getting-started/proteins.md), [Trials](/getting-started/trials.md), [Compounds](/getting-started/compounds.md), [Structures](/getting-started/structures.md), [Diseases](/getting-started/diseases.md), [Organisms](/getting-started/organisms.md), [Keywords](/getting-started/keywords.md), [Locations](/getting-started/locations.md), [Gene Ontology](/getting-started/gene-ontology.md), [Pathways](/getting-started/pathways.md), [Genes](/getting-started/genes.md), [Variants](/getting-started/variants.md), [Domains](/getting-started/domains.md), [Preprints](/getting-started/preprints.md), [Grants](/getting-started/grants.md), [Interactions](/getting-started/interactions.md), [Expression](/getting-started/expression.md), [Targets](/getting-started/targets.md), [Orthologs](/getting-started/orthologs.md), [Activities](/getting-started/activities.md), [Tissue atlas](/getting-started/atlas.md), [Indications](/getting-started/indications.md), [Mechanisms](/getting-started/mechanisms.md), [GEO](/getting-started/geo.md), [Assays](/getting-started/assays.md), [Patents](/getting-started/patents.md), [AlphaFold](/getting-started/alphafold.md), [Cell lines](/getting-started/cell-lines.md), [Drug–gene](/getting-started/drug-gene.md), [Reactions](/getting-started/reactions.md), [Complexes](/getting-started/complexes.md), [Metabolites](/getting-started/metabolites.md), [Drug labels](/getting-started/drug-labels.md), [Adverse events](/getting-started/adverse-events.md), [GWAS](/getting-started/gwas.md), [RxNorm](/getting-started/rxnorm.md), [MeSH](/getting-started/mesh.md), [Phenotypes](/getting-started/phenotypes.md), [Crossrefs](/getting-started/crossrefs.md), [Drug recalls](/getting-started/drug-recalls.md), [Ligands](/getting-started/ligands.md), [ChEMBL](/getting-started/chembl.md), [Ensembl](/getting-started/ensembl.md), [KEGG](/getting-started/kegg.md), [Monarch](/getting-started/monarch.md), [HGNC](/getting-started/hgnc.md), [PRIDE](/getting-started/pride.md), [Uberon](/getting-started/uberon.md), [BioStudies](/getting-started/biostudies.md), [Orphanet](/getting-started/orphanet.md), [EFO](/getting-started/efo.md), [RNAcentral](/getting-started/rnacentral.md), [Mondo](/getting-started/mondo.md), [Cell Ontology](/getting-started/cell-ontology.md), [MP](/getting-started/mp.md), [MyDisease](/getting-started/mydisease.md), [Metabolomics](/getting-started/metabolomics.md), [IntAct](/getting-started/intact.md), [BioSamples](/getting-started/biosamples.md), [ENCODE](/getting-started/encode.md), [Pathway Commons](/getting-started/pathway-commons.md), [Alliance](/getting-started/alliance.md), [ClinVar](/getting-started/clinvar.md), [dbSNP](/getting-started/dbsnp.md), [JASPAR](/getting-started/jaspar.md), [cBioPortal](/getting-started/cbioportal.md), [GDC](/getting-started/gdc.md), [Expression Atlas](/getting-started/expression-atlas.md), [Single Cell Atlas](/getting-started/single-cell-atlas.md), [NDC](/getting-started/ndc.md), [Device events](/getting-started/device-events.md), [Sequence Ontology](/getting-started/sequence-ontology.md), [DOID](/getting-started/doid.md), [NCBI Taxonomy](/getting-started/ncbi-taxon.md), [GlyGen](/getting-started/glygen.md), [ChEBI](/getting-started/chebi.md), [NCIt](/getting-started/ncit.md), [Pfam](/getting-started/pfam.md), [EMDB](/getting-started/emdb.md), [UniParc](/getting-started/uniparc.md), [Europe PMC](/getting-started/europe-pmc.md), [ORCID](/getting-started/orcid.md), [Protein Ontology](/getting-started/protein-ontology.md), [OBI](/getting-started/obi.md), [MPATH](/getting-started/mpath.md), [Crossref](/getting-started/crossref.md), [MyChem](/getting-started/mychem.md), [Drugs@FDA](/getting-started/drugs-fda.md), [UniRef](/getting-started/uniref.md), [UniRule](/getting-started/unirule.md), [Proteomes](/getting-started/proteomes.md), [ENA](/getting-started/ena.md), [EMPIAR](/getting-started/empiar.md), [BMRB](/getting-started/bmrb.md), [Swiss-Model](/getting-started/swiss-model.md), [Lipid Maps](/getting-started/lipid-maps.md), [MGnify](/getting-started/mgnify.md), [BV-BRC](/getting-started/bv-brc.md), [ClinPGx](/getting-started/clinpgx.md), [DailyMed](/getting-started/daily-med.md), [RxClass](/getting-started/rxclass.md), [OpenFDA 510(k)](/getting-started/device-510k.md), [OpenFDA Food](/getting-started/food-enforcement.md), [Zenodo](/getting-started/zenodo.md), [Figshare](/getting-started/figshare.md), [Dryad](/getting-started/dryad.md), [ProteomeXchange](/getting-started/proteomexchange.md), [Omnipath](/getting-started/omnipath.md), [OMA](/getting-started/oma.md), [OrthoDB](/getting-started/orthodb.md), [PANTHER](/getting-started/panther.md), [PATO](/getting-started/pato.md), [EDAM](/getting-started/edam.md), [BAO](/getting-started/bao.md), [BTO](/getting-started/bto.md), [PW](/getting-started/pw.md), [VO](/getting-started/vo.md), [OncoTree](/getting-started/oncotree.md), [IDR](/getting-started/idr.md), [HCA](/getting-started/hca.md), [UCSC](/getting-started/ucsc.md), [Harmonizome](/getting-started/harmonizome.md), [PubTator](/getting-started/pubtator.md), [iCite](/getting-started/icite.md), [ROR](/getting-started/ror.md), [OpenAlex Authors](/getting-started/openalex-authors.md), [OpenAlex Institutions](/getting-started/openalex-institutions.md), [OpenAlex Topics](/getting-started/openalex-topics.md), [Crossref Funders](/getting-started/crossref-funders.md), [NSF Awards](/getting-started/nsf-awards.md), [EVA](/getting-started/eva.md), [Ensembl VEP](/getting-started/ensembl-vep.md), [NCBI Datasets](/getting-started/ncbi-datasets.md), [4DN](/getting-started/4dn.md), [RGD](/getting-started/rgd.md), [SGD](/getting-started/sgd.md), [Nextstrain](/getting-started/nextstrain.md), [MedlinePlus](/getting-started/medlineplus.md), [ICD-10](/getting-started/icd10.md), [Bioregistry](/getting-started/bioregistry.md), [bio.tools](/getting-started/bio-tools.md), [Dockstore](/getting-started/dockstore.md), [WorkflowHub](/getting-started/workflowhub.md), [DOAJ](/getting-started/doaj.md), [Wikidata](/getting-started/wikidata.md), [NodeNorm](/getting-started/node-norm.md), [NameResolver](/getting-started/name-resolver.md), [GBIF](/getting-started/gbif.md), [ITIS](/getting-started/itis.md), [WoRMS](/getting-started/worms.md), [iNaturalist](/getting-started/inaturalist.md), [DisProt](/getting-started/disprot.md), [LOTUS](/getting-started/lotus.md), [LINCS](/getting-started/lincs.md), [CELLxGENE](/getting-started/cellxgene.md), [MG-RAST](/getting-started/mgrast.md), [Galaxy](/getting-started/galaxy.md), [nf-core](/getting-started/nf-core.md), [re3data](/getting-started/re3data.md), [arXiv](/getting-started/arxiv.md), [HAL](/getting-started/hal.md), [Hugging Face](/getting-started/huggingface.md), [OpenAIRE](/getting-started/openaire.md), [Harvard Dataverse](/getting-started/harvard-dataverse.md), [DOAJ Journals](/getting-started/doaj-journals.md), [OpenAlex Sources](/getting-started/openalex-sources.md), [OpenAlex Funders](/getting-started/openalex-funders.md), [OpenAlex Publishers](/getting-started/openalex-publishers.md), [OpenAlex Concepts](/getting-started/openalex-concepts.md), [OpenFDA Device UDI](/getting-started/device-udi.md), [OpenFDA Device PMA](/getting-started/device-pma.md), [OpenFDA Device Recall](/getting-started/device-recall.md), [OpenFDA Device Class](/getting-started/device-classification.md), [OpenFDA Animal Events](/getting-started/animal-events.md), [OpenFDA Food Events](/getting-started/food-events.md), [OpenFDA Tobacco](/getting-started/tobacco.md), [RxTerms](/getting-started/rxterms.md), [NCBI Assembly](/getting-started/ncbi-assembly.md), [NCBI BioProject](/getting-started/ncbi-bioproject.md), [NCBI SRA](/getting-started/ncbi-sra.md), [NCBI GTR](/getting-started/ncbi-gtr.md), [NCBI MedGen](/getting-started/ncbi-medgen.md), [NCBI Variation](/getting-started/ncbi-variation.md), [dbVar](/getting-started/dbvar.md), [HomoloGene](/getting-started/homologene.md), [GTEx eQTL](/getting-started/gtex-eqtl.md), [SCOP](/getting-started/scop.md), [PomBase](/getting-started/pombase.md), [MGI](/getting-started/mgi.md), [CLO](/getting-started/clo.md), [ECTO](/getting-started/ecto.md), [RO](/getting-started/ro.md), [FBbt](/getting-started/fbbt.md), [ZFA](/getting-started/zfa.md), [WBbt](/getting-started/wbbt.md), [XAO](/getting-started/xao.md), [ENVO](/getting-started/envo.md), [FOODON](/getting-started/foodon.md), [OAE](/getting-started/oae.md), [IDO](/getting-started/ido.md), [CIDO](/getting-started/cido.md), [AGRO](/getting-started/agro.md), [PO](/getting-started/po.md), [TO](/getting-started/to.md), [CHMO](/getting-started/chmo.md), [MS](/getting-started/ms.md), [STATO](/getting-started/stato.md), [DUO](/getting-started/duo.md), [IAO](/getting-started/iao.md), [SIO](/getting-started/sio.md), [CHEMINF](/getting-started/cheminf.md), [Enrichr](/getting-started/enrichr.md), [Unpaywall](/getting-started/unpaywall.md), [DataCite](/getting-started/datacite.md), [CPIC](/getting-started/cpic.md), [OSF](/getting-started/osf.md), [UKRI](/getting-started/ukri.md), [Cellosaurus](/getting-started/cellosaurus.md), [BindingDB](/getting-started/bindingdb.md), [IEDB](/getting-started/iedb.md), [MAXO](/getting-started/maxo.md), [ECO](/getting-started/eco.md), [Rfam](/getting-started/rfam.md), [ChecklistBank](/getting-started/checklistbank.md), [TogoVar](/getting-started/togovar.md), [PubMed](/getting-started/pubmed.md), [PECO](/getting-started/peco.md), [NBO](/getting-started/nbo.md), [GENO](/getting-started/geno.md), [SYMP](/getting-started/symp.md), [uPheno](/getting-started/upheno.md), [FMA](/getting-started/fma.md), [LOINC](/getting-started/loinc.md), [CORE](/getting-started/core.md), [Open Tree](/getting-started/opentree.md), [Europe PMC Annotations](/getting-started/europe-pmc-annotations.md), [BiGG](/getting-started/bigg.md), [gnomAD](/getting-started/gnomad.md), [miRNA](/getting-started/mirna.md), [HumanMine](/getting-started/humanmine.md), [RegulomeDB](/getting-started/regulomedb.md).
You can also search for paper, protein, trial, compound, structure, or duaer; the creator surfaces the Duaer Data category.
Duaer Data is not listed among generic app nodes. Open its own category to pick a data type.
## How it differs from the data market and data pool
- Duaer Data category: pick a type and add a node on the canvas.
- Data market: sidebar catalog of what you can fetch, prices, and Copy skill. Refer to [Use the Duaer data market](/getting-started/data-market.md).
- Data pool: deliverables after successful production runs. Refer to [View the Duaer data pool](/getting-started/data-pool.md).
## Questions
### What is under Duaer Data in the node creator today?
Papers, Proteins, Trials, Compounds, Structures, Diseases, Organisms, Keywords, Locations, Gene Ontology, Pathways, Genes, Variants, Domains, Preprints, Grants, Interactions, Expression, Targets, Orthologs, Activities, Tissue atlas, Indications, Mechanisms, GEO, Assays, Patents, AlphaFold, Cell lines, Drug–gene, Reactions, Complexes, Metabolites, and Drug labels. Choosing one adds a Duaer Data node with that Operation.
### Is the category the same as the data market?
No. The category adds a node. The data market shows the catalog, price, and call skill. They cover the same kinds of fetchable data.
## Related
- [Search papers in Duaer](https://doc.duaer.com/getting-started/papers.md)
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Search clinical trials in Duaer](https://doc.duaer.com/getting-started/trials.md)
- [Search compounds in Duaer](https://doc.duaer.com/getting-started/compounds.md)
- [Search protein structures in Duaer](https://doc.duaer.com/getting-started/structures.md)
- [Search diseases in Duaer](https://doc.duaer.com/getting-started/diseases.md)
- [Search organisms in Duaer](https://doc.duaer.com/getting-started/organisms.md)
- [Search keywords in Duaer](https://doc.duaer.com/getting-started/keywords.md)
- [Search locations in Duaer](https://doc.duaer.com/getting-started/locations.md)
- [Search Gene Ontology in Duaer](https://doc.duaer.com/getting-started/gene-ontology.md)
- [Search pathways in Duaer](https://doc.duaer.com/getting-started/pathways.md)
- [Search genes in Duaer](https://doc.duaer.com/getting-started/genes.md)
- [Search variants in Duaer](https://doc.duaer.com/getting-started/variants.md)
- [Search domains in Duaer](https://doc.duaer.com/getting-started/domains.md)
- [Search preprints in Duaer](https://doc.duaer.com/getting-started/preprints.md)
- [Search grants in Duaer](https://doc.duaer.com/getting-started/grants.md)
- [Search interactions in Duaer](https://doc.duaer.com/getting-started/interactions.md)
- [Search expression in Duaer](https://doc.duaer.com/getting-started/expression.md)
- [Search targets in Duaer](https://doc.duaer.com/getting-started/targets.md)
- [Search orthologs in Duaer](https://doc.duaer.com/getting-started/orthologs.md)
- [Search activities in Duaer](https://doc.duaer.com/getting-started/activities.md)
- [Search tissue atlas in Duaer](https://doc.duaer.com/getting-started/atlas.md)
- [Search indications in Duaer](https://doc.duaer.com/getting-started/indications.md)
- [Search mechanisms in Duaer](https://doc.duaer.com/getting-started/mechanisms.md)
- [Search GEO in Duaer](https://doc.duaer.com/getting-started/geo.md)
- [Search assays in Duaer](https://doc.duaer.com/getting-started/assays.md)
- [Search patents in Duaer](https://doc.duaer.com/getting-started/patents.md)
- [Look up AlphaFold structures in Duaer](https://doc.duaer.com/getting-started/alphafold.md)
- [Search cell lines in Duaer](https://doc.duaer.com/getting-started/cell-lines.md)
- [Search drug–gene interactions in Duaer](https://doc.duaer.com/getting-started/drug-gene.md)
- [Search reactions in Duaer](https://doc.duaer.com/getting-started/reactions.md)
- [Search complexes in Duaer](https://doc.duaer.com/getting-started/complexes.md)
- [Search metabolites in Duaer](https://doc.duaer.com/getting-started/metabolites.md)
- [Search drug labels in Duaer](https://doc.duaer.com/getting-started/drug-labels.md)
- [Search adverse events in Duaer](https://doc.duaer.com/getting-started/adverse-events.md)
- [Search GWAS associations in Duaer](https://doc.duaer.com/getting-started/gwas.md)
- [Search RxNorm in Duaer](https://doc.duaer.com/getting-started/rxnorm.md)
- [Search MeSH in Duaer](https://doc.duaer.com/getting-started/mesh.md)
- [Search phenotypes in Duaer](https://doc.duaer.com/getting-started/phenotypes.md)
- [Search crossrefs in Duaer](https://doc.duaer.com/getting-started/crossrefs.md)
- [Search drug recalls in Duaer](https://doc.duaer.com/getting-started/drug-recalls.md)
- [Search ligands in Duaer](https://doc.duaer.com/getting-started/ligands.md)
- [Search ChEMBL in Duaer](https://doc.duaer.com/getting-started/chembl.md)
- [Search Ensembl in Duaer](https://doc.duaer.com/getting-started/ensembl.md)
- [Search KEGG in Duaer](https://doc.duaer.com/getting-started/kegg.md)
- [Search Monarch in Duaer](https://doc.duaer.com/getting-started/monarch.md)
- [Search HGNC in Duaer](https://doc.duaer.com/getting-started/hgnc.md)
- [Search PRIDE in Duaer](https://doc.duaer.com/getting-started/pride.md)
- [Search Uberon in Duaer](https://doc.duaer.com/getting-started/uberon.md)
- [Search BioStudies in Duaer](https://doc.duaer.com/getting-started/biostudies.md)
- [Search Orphanet in Duaer](https://doc.duaer.com/getting-started/orphanet.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/papers.md).
# 在 Duaer 里检索论文
在 Duaer 里用 Duaer Data 节点或公开 API 检索已发表论文。一次成功查询 1 额度。本页含完整英文调用技能。
## 论文能拿到什么
Duaer 数据市场里的「论文」提供已发表论文检索。每条结果有 source、title、url、summary。价格是一次成功查询 1 额度。
在节点创建器里可从 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「论文」加上节点。目录入口见 [在 Duaer 里使用数据市场](/zh/getting-started/data-market.md)。打开数据市场或复制技能不扣额度,也不真正去搜。同类还有 [基因和蛋白](/zh/getting-started/proteins.md) 等生命科学数据。
## 在画布里用 Duaer Data
1. 打开节点创建器,点「Duaer 数据」,再选「论文」;或搜索 Duaer Data / paper,把节点接到上一个节点后面。
2. Operation 保持 Papers。
3. 至少填一项检索条件:Words、Title、Abstract、Author、Year From / Year To(0 表示不限),或 Type、Open Access、Citations、Language、DOI、Journal、Institution、Topic。
4. Sort 默认按相关度;可选 Most cited。Limit 默认 10,最大 20。
5. 点执行此步骤。
成功检索扣 1 额度;空检索、失败或额度不足不扣。若该节点是正式运行的交付节点,条目会进 [数据池](/zh/getting-started/data-pool.md)。
运行时由 Duaer 给节点打上内部地址与 Bearer,走同一条计费接口;你不必在面板里填密钥。
## 用 API 调用
外部智能体或脚本调:
- GET https://api.duaer.com/v1/data/papers?...
- 请求头 Authorization: Bearer (账号密钥或模型 API 密钥)。
- 至少填一个检索字段;字段可组合。limit 可选,1–20,默认 10。
- 成功返回 { "items": [{ "source", "title", "url", "summary" }] }。成功扣 1 额度;无额度 402;缺密钥 401。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下面是与产品「复制技能」相同的完整英文技能,可直接粘贴给外部智能体。
## 调用技能(英文)
与数据市场「复制技能」内容一致。技能正文保持英文,便于模型加载。
```
---
name: duaer-papers
description: >-
Duaer papers. Published papers from OpenAlex by words, title, abstract, author, year, type, open access, citations, language, DOI, journal, institution, or topic.
One successful search uses 1 Duaer credit.
---
# Duaer papers
Duaer papers searches published works in OpenAlex: articles, reviews, preprints, books, datasets, and more. Filters combine. Results are ordered by relevance unless you sort by citations.
## When to use
- Find the most cited papers on a topic in a range of years.
- Check what an author or institution published.
- Resolve a DOI to its title and abstract.
## When not to use
- Preprints from bioRxiv or medRxiv only. Use https://skills.duaer.com/preprints.md.
- Research grants. Use https://skills.duaer.com/grants.md.
- Patents. Use https://skills.duaer.com/patents.md.
## Call
`GET https://api.duaer.com/v1/data/papers?title=lithium&author=Zhang&yearFrom=2020&yearTo=2024&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide at least one search field. `sort` and `limit` alone are not a search.
- `q` — Optional. Words in the title, abstract, or full text.
- `title` — Optional. Words in the title.
- `abstract` — Optional. Words in the abstract.
- `author` — Optional. Author name.
- `yearFrom`, `yearTo` — Optional. Publication years from 1000 to 2100. Leave a year out, or send `0`, for any year.
- `type` — Optional. Work type: `article`, `book`, `book-chapter`, `dataset`, `dissertation`, `editorial`, `erratum`, `letter`, `libguides`, `other`, `paratext`, `peer-review`, `preprint`, `reference-entry`, `report`, `retraction`, `review`, `standard`, or `supplementary-materials`.
- `openAccess` — Optional. `yes` or `no`.
- `citationsFrom`, `citationsTo` — Optional. Citation count. `0` means no bound.
- `language` — Optional. Language code, such as `en` or `zh`.
- `doi` — Optional. Digital object identifier, such as `10.1038/nature12373`.
- `journal`, `institution`, `topic` — Optional. Names. Duaer uses the closest OpenAlex match. A name with no match returns 400.
- `sort` — Optional. `citations` orders by most cited. Omit it for relevance.
- `limit` — Optional. Rows to return, from 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/papers?q=CRISPR%20base%20editing&yearFrom=2022&sort=citations` — most cited base editing papers since 2022.
- `GET https://api.duaer.com/v1/data/papers?doi=10.1038/nature12373` — one paper by DOI.
- `GET https://api.duaer.com/v1/data/papers?topic=lithium%20batteries&type=review&openAccess=yes` — open access reviews on a topic.
## Result
The response is `{ "items": [...] }`. Each item has:
- `source` — `OpenAlex`.
- `title` — work title.
- `url` — DOI link, or the OpenAlex page when there is no DOI.
- `summary` — abstract, up to 1000 characters. Empty when OpenAlex has no abstract.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/trials.md — Duaer clinical trials
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/preprints.md — Duaer preprints
- https://skills.duaer.com/grants.md — Duaer grants
- https://skills.duaer.com/patents.md — Duaer patents
- https://skills.duaer.com/life-research-brief.md — Digital employee: Life research brief
```
## Questions
### Duaer 检索论文一次扣多少额度?
成功一次扣 1 额度(含 limit=20)。空结果、失败或额度不足不扣。
### 调用技能在哪里复制?
点本页「调用技能」旁的「复制技能」,或到数据市场对应行下点「复制技能」。
## 相关
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里用 Duaer 数据分类加节点](https://doc.duaer.com/zh/getting-started/duaer-data.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
- [Duaer 公开 API 的身份验证](https://doc.duaer.com/zh/api/authentication.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/papers.md).
# Search papers in Duaer
In Duaer, search published papers with the Duaer Data node or the public API. One successful search uses 1 credit. This page includes the full English call skill.
## What Papers returns
Papers in the Duaer data market searches published papers. Each item has source, title, url, and summary. The price is 1 credit per successful search.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) by choosing Papers. The catalog entry is on [Use the Duaer data market](/getting-started/data-market.md). Related life-science data includes [Proteins](/getting-started/proteins.md). Opening the market or copying the skill does not charge credits and does not run a search.
## Use Duaer Data on the canvas
1. Open the node creator, select Duaer Data, then Papers — or search for Duaer Data / paper and connect the node after the previous node.
2. Leave Operation on Papers.
3. Fill at least one search field: Words, Title, Abstract, Author, Year From / Year To (0 means any), or Type, Open Access, Citations, Language, DOI, Journal, Institution, Topic.
4. Sort defaults to relevance; optionally Most cited. Limit defaults to 10, max 20.
5. Select Execute step.
A successful search uses 1 credit. An empty search, a failed search, or no remaining credits uses 0. When this node is the deliverable of a production run, items land in the [data pool](/getting-started/data-pool.md).
Duaer stamps a loopback URL and bearer onto the node at run time so it hits the same charged route. You do not enter a key in the panel.
## Call the API
External agents or scripts call:
- GET https://api.duaer.com/v1/data/papers?...
- Header Authorization: Bearer (account key or model API key).
- At least one search field is required; fields combine. limit is optional, 1–20, default 10.
- Success returns { "items": [{ "source", "title", "url", "summary" }] }. One successful search uses 1 credit; no credits returns 402; a missing key returns 401.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill on the data market page — paste it into an external agent.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English so models can load it.
```
---
name: duaer-papers
description: >-
Duaer papers. Published papers from OpenAlex by words, title, abstract, author, year, type, open access, citations, language, DOI, journal, institution, or topic.
One successful search uses 1 Duaer credit.
---
# Duaer papers
Duaer papers searches published works in OpenAlex: articles, reviews, preprints, books, datasets, and more. Filters combine. Results are ordered by relevance unless you sort by citations.
## When to use
- Find the most cited papers on a topic in a range of years.
- Check what an author or institution published.
- Resolve a DOI to its title and abstract.
## When not to use
- Preprints from bioRxiv or medRxiv only. Use https://skills.duaer.com/preprints.md.
- Research grants. Use https://skills.duaer.com/grants.md.
- Patents. Use https://skills.duaer.com/patents.md.
## Call
`GET https://api.duaer.com/v1/data/papers?title=lithium&author=Zhang&yearFrom=2020&yearTo=2024&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide at least one search field. `sort` and `limit` alone are not a search.
- `q` — Optional. Words in the title, abstract, or full text.
- `title` — Optional. Words in the title.
- `abstract` — Optional. Words in the abstract.
- `author` — Optional. Author name.
- `yearFrom`, `yearTo` — Optional. Publication years from 1000 to 2100. Leave a year out, or send `0`, for any year.
- `type` — Optional. Work type: `article`, `book`, `book-chapter`, `dataset`, `dissertation`, `editorial`, `erratum`, `letter`, `libguides`, `other`, `paratext`, `peer-review`, `preprint`, `reference-entry`, `report`, `retraction`, `review`, `standard`, or `supplementary-materials`.
- `openAccess` — Optional. `yes` or `no`.
- `citationsFrom`, `citationsTo` — Optional. Citation count. `0` means no bound.
- `language` — Optional. Language code, such as `en` or `zh`.
- `doi` — Optional. Digital object identifier, such as `10.1038/nature12373`.
- `journal`, `institution`, `topic` — Optional. Names. Duaer uses the closest OpenAlex match. A name with no match returns 400.
- `sort` — Optional. `citations` orders by most cited. Omit it for relevance.
- `limit` — Optional. Rows to return, from 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/papers?q=CRISPR%20base%20editing&yearFrom=2022&sort=citations` — most cited base editing papers since 2022.
- `GET https://api.duaer.com/v1/data/papers?doi=10.1038/nature12373` — one paper by DOI.
- `GET https://api.duaer.com/v1/data/papers?topic=lithium%20batteries&type=review&openAccess=yes` — open access reviews on a topic.
## Result
The response is `{ "items": [...] }`. Each item has:
- `source` — `OpenAlex`.
- `title` — work title.
- `url` — DOI link, or the OpenAlex page when there is no DOI.
- `summary` — abstract, up to 1000 characters. Empty when OpenAlex has no abstract.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/trials.md — Duaer clinical trials
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/preprints.md — Duaer preprints
- https://skills.duaer.com/grants.md — Duaer grants
- https://skills.duaer.com/patents.md — Duaer patents
- https://skills.duaer.com/life-research-brief.md — Digital employee: Life research brief
```
## Questions
### How many credits does a Duaer paper search use?
One successful search uses 1 credit (including limit 20). Empty, failed, or no-credit searches use 0.
### Where do I copy the call skill?
Select Copy skill next to the Call skill block on this page, or Copy skill under that row on the data market.
## Related
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Add a node from the Duaer Data category](https://doc.duaer.com/getting-started/duaer-data.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
- [Authentication for the Duaer public API](https://doc.duaer.com/api/authentication.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/glossary.md).
# Duaer 里会碰到的词
Duaer 里工作流程是画布上的流程,数字员工是交付结果的那一侧。节点、凭证、表达式和套餐都在这一页。
## 工作流程
工作流程是画布上的一组节点,用来把一件事做完。它从触发节点开始,按连线往下跑。最短跑通见 [在 Duaer 里做出第一个工作流程](/zh/getting-started/first-organization.md)。
## 数字员工
数字员工是你交给 Duaer 的一件交付。你说清结果,Duaer 去做,你来验收。界面可能写「智能体」。第一次创建见 [在 Duaer 里创建第一名数字员工](/zh/getting-started/first-digital-employee.md)。定时任务挂在数字员工上,见 [给 Duaer 数字员工排定时任务](/zh/advanced-ai/digital-employee-schedules.md)。正式运行的交付物进 [数据池](/zh/getting-started/data-pool.md)。
## 数据池
数据池汇总项目里数字员工正式运行成功后的交付条目。侧栏在「数字员工」下方。见 [在 Duaer 里查看数据池](/zh/getting-started/data-pool.md)。它不是数据表:数据表要你建表并用节点读写,见 [在 Duaer 里用数据表留下结果](/zh/build/data-tables.md)。
## 数据市场
数据市场列出 Duaer 能取到的外部数据、能拿到什么、以及价格。侧栏在数据池正下方。当前有论文、基因和蛋白、临床试验、化合物和药物、蛋白结构、疾病、物种、关键词、亚细胞定位、基因本体、通路、基因、变异、结构域、预印本、基金、互作、表达、靶点关联、同源基因、生物活性、组织图谱、适应症、作用机制、GEO、实验测定、专利、AlphaFold、细胞系、药–基因、反应、复合物、代谢物、药品标签。见 [在 Duaer 里使用数据市场](/zh/getting-started/data-market.md);分类加节点见 [Duaer 数据分类](/zh/getting-started/duaer-data.md)。
## Duaer 数据分类
节点创建器里的「Duaer 数据」一类,用来按数据类型把 Duaer Data 节点加到画布。常规列表里排在最前。可选论文、基因和蛋白、临床试验、化合物和药物、蛋白结构、疾病、物种、关键词、亚细胞定位、基因本体、通路、基因、变异、结构域、预印本、基金、互作、表达、靶点关联、同源基因、生物活性、组织图谱、适应症、作用机制、GEO、实验测定、专利、AlphaFold、细胞系、药–基因、反应、复合物、代谢物、药品标签。见 [在 Duaer 里用 Duaer 数据分类加节点](/zh/getting-started/duaer-data.md)。
## 节点和画布
节点是一步:触发、取数、处理或送出。画布是摆放和连接节点的那一块。见 [在 Duaer 里使用节点](/zh/Duaer-Organizations/components/nodes.md)。
## 凭证
凭证存在这台 Duaer 实例上,用加密密钥保护。节点引用凭证,不把密钥写进参数。见 [在 Duaer 里创建和编辑凭证](/zh/credentials.md)。
## 表达式和执行
表达式用 {{ }} 在运行时填参数,例如当前条目的字段或 $now。一次执行是工作流程跑完的一条记录,成功、失败或取消都留在执行列表里。
## 套餐和 AI 积分
线上套餐是 Hobby、Starter、Pro、Business。一次完整的工作流程运行计一次执行。AI 积分是另一项额度,用在模型调用上。数字见 [Duaer 套餐与积分](/zh/manage-cloud/plans.md)。
## Duaer Designer
Duaer 设计师 是画布上的助手。它按你点名的节点修改工作流程。见 [Duaer 设计师 如何改工作流程](/zh/advanced-ai/assistant-edits.md)。
## Questions
### Duaer 里的工作流程和数字员工是同一个东西吗?
不是。工作流程是画布上的流程。数字员工是你要验收的那次交付,定时任务挂在数字员工上。
## 相关
- [在 Duaer 里创建第一名数字员工](https://doc.duaer.com/zh/getting-started/first-digital-employee.md)
- [在 Duaer 里查看数据池](https://doc.duaer.com/zh/getting-started/data-pool.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
- [在 Duaer 里做出第一个工作流程](https://doc.duaer.com/zh/getting-started/first-organization.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/glossary.md).
# Key concepts in Duaer
In Duaer a workflow is the canvas flow, and a digital employee is the side that delivers a result. Nodes, credentials, expressions, and plans are on this page.
## Workflow
A workflow is the set of nodes on the canvas that finishes one job. It starts at a trigger and follows the connections. For the shortest run, refer to [Build your first workflow in Duaer](/getting-started/first-organization.md).
## Digital employee
A digital employee is a delivery you hand to Duaer. You name the result, Duaer does the work, and you accept it. The UI may say Agent. To create the first one, refer to [Create your first digital employee in Duaer](/getting-started/first-digital-employee.md). Schedules hang off a digital employee. Refer to [Schedule a task for a Duaer digital employee](/advanced-ai/digital-employee-schedules.md). Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Data pool
The data pool lists deliverable items from successful production runs of digital employees in the project. The sidebar item sits under Digital employees. Refer to [View the Duaer data pool](/getting-started/data-pool.md). It is not a data table: you create data tables and read or write them with a node. Refer to [Keep rows in a Duaer data table](/build/data-tables.md).
## Data market
The data market lists external data Duaer can fetch, what you get, and the price. The sidebar item sits directly under Data pool. Offerings include Papers, Proteins, Trials, Compounds, Structures, Diseases, Organisms, Keywords, Locations, Gene Ontology, Pathways, Genes, Variants, Domains, Preprints, Grants, Interactions, Expression, Targets, Orthologs, Activities, Tissue atlas, Indications, Mechanisms, GEO, Assays, Patents, AlphaFold, Cell lines, Drug–gene, Reactions, Complexes, Metabolites, and Drug labels. Refer to [Use the Duaer data market](/getting-started/data-market.md). Add a node from the [Duaer Data category](/getting-started/duaer-data.md).
## Duaer Data category
In the node creator, Duaer Data is the category that adds a Duaer Data node by data type. It is first in the regular list. Choices include Papers, Proteins, Trials, Compounds, Structures, Diseases, Organisms, Keywords, Locations, Gene Ontology, Pathways, Genes, Variants, Domains, Preprints, Grants, Interactions, Expression, Targets, Orthologs, Activities, Tissue atlas, Indications, Mechanisms, GEO, Assays, Patents, AlphaFold, Cell lines, Drug–gene, Reactions, Complexes, Metabolites, and Drug labels. Refer to [Add a node from the Duaer Data category](/getting-started/duaer-data.md).
## Node and canvas
A node is one step: a trigger, a fetch, a transform, or a send. The canvas is where you place and connect nodes. Refer to [Work with nodes in Duaer](/Duaer-Organizations/components/nodes.md).
## Credential
A credential is stored on the Duaer instance and protected by the encryption key. A node references the credential instead of putting the secret in a parameter. Refer to [Create and edit credentials in Duaer](/credentials.md).
## Expression and execution
An expression fills a parameter at run time inside {{ }}, such as a field on the current item or $now. An execution is one recorded run of the workflow. Success, error, and canceled all stay in the executions list.
## Plan and AI credits
Hosted plans are Hobby, Starter, Pro, and Business. One full run of a workflow counts as one execution. AI credits are a separate allowance for model calls. Refer to [Duaer plans and credits](/manage-cloud/plans.md).
## Duaer Designer
Duaer Designer is the assistant on the canvas. It edits the workflow at the nodes you name. Refer to [How Duaer Designer edits a workflow](/advanced-ai/assistant-edits.md).
## Questions
### In Duaer, is a workflow the same thing as a digital employee?
No. A workflow is the flow on the canvas. A digital employee is the delivery you accept. Schedules belong to the digital employee.
## Related
- [Create your first digital employee in Duaer](https://doc.duaer.com/getting-started/first-digital-employee.md)
- [View the Duaer data pool](https://doc.duaer.com/getting-started/data-pool.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
- [Build your first workflow in Duaer](https://doc.duaer.com/getting-started/first-organization.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/manage-cloud/plans.md).
# Duaer 套餐与积分
Duaer 线上按执行次数计费。Hobby 免费,每月 1,000 次执行和 800 AI 积分。年付大约便宜 17%。
## 一次执行怎么算
工作流程完整跑完一轮,计一次执行。用户数量和工作流程数量不另收费。年付大约比月付便宜 17%。登录后在 [设置 › 套餐](/zh/manage-cloud/plans.md#settings-plans) 切换套餐。
## Hobby
- 免费,不用绑卡。
- 每月 1,000 次执行,800 AI 积分。
- 不限用户和工作流程,1 个共享项目。
- 1 GB 存储空间,不能绑定自定义域名。
## Starter
- 月付 $24,年付折合每月 $20。
- 每月 2,500 次执行,2,300 AI 积分。
- 5 个并发执行,1 个共享项目。
- 20 GB 存储空间,1 个自定义域名。
## Pro
- 月付 $60,年付折合每月 $50。套餐页上标成推荐。
- 每月 10,000 次执行,13,700 AI 积分。
- 20 个并发执行,3 个共享项目。
- 100 GB 存储空间,3 个自定义域名。
## Business
- 月付 $800,年付折合每月 $667。
- 每月 40,000 次执行。
- 1 TB 存储空间,自定义域名不限。
- 包含 SSO、SAML、LDAP,Git 与多环境,以及优先支持。
## 存储空间和自定义域名
Duaer 存储空间按组织计,自定义域名按付费账号计。两项的已用和额度都在 Duaer 的 设置 › 用量与套餐 里查看。绑定方法见 [绑定自己的域名](/zh/build/custom-domain.md)。
## 在 Duaer 里换套餐
1. 在 设置 › 用量与套餐 或首页积分徽标上点「查看套餐」,打开 设置 › 套餐。
2. 页面顶部是当前套餐、本月执行次数(已用 / 额度)和 Duaer 积分余额。
3. 切换月付或年付,在四个套餐里选一个。当前套餐已标出,按钮不可点。
4. 付费套餐跳到 Stripe 付款,完成后回到 设置 › 套餐,提示「支付成功,Duaer 套餐或积分几秒内更新。」
选「切换到 Hobby」时会先确认;确认后 Duaer 组织立即按 Hobby 的额度计算,不离开页面。由 Duaer 组织所有者或管理员统一付费时,成员看到的是托管提示,没有可点的购买按钮。未登录的访客仍看 [公开套餐页](https://www.duaer.com/pricing)。
## 充值 Duaer 积分
套餐里的 AI 积分用完后,可以一次性购买积分包。积分包在 设置 › 套餐 的「充值 Duaer 积分」、设置 › 用量与套餐 和首页积分徽标的「充值」里都能买,付款走 Stripe。
- 1,000 积分,$9
- 5,000 积分,$39
- 20,000 积分,$129(标为热门)
- 50,000 积分,$269
- 100,000 积分,$499
- 220,000 积分,$999
## Questions
### Duaer 的 AI 积分和执行次数是一回事吗?
不是。执行次数按工作流程跑完一轮来计。AI 积分是模型调用的另一项额度,写在每个套餐上。
### Duaer Business 包含哪些线上能力?
每月 40,000 次执行,以及 SSO、SAML、LDAP、Git、多环境和优先支持。
### Duaer AI 积分用完了怎么办?
在 Duaer 的 设置 › 套餐 里点「充值 Duaer 积分」买一次性积分包,从 1,000 积分 $9 到 220,000 积分 $999。
## 相关
- [怎么开始用 Duaer](https://doc.duaer.com/zh/getting-started.md)
- [Duaer 里会碰到的词](https://doc.duaer.com/zh/getting-started/glossary.md)
- [给 Duaer 工作流程绑定自己的域名](https://doc.duaer.com/zh/build/custom-domain.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/manage-cloud/plans.md).
# Duaer plans and credits
Duaer hosted billing is by execution. Hobby is free, with 1,000 executions and 800 AI credits a month. Yearly billing is about 17% less.
## What counts as an execution
One full run of a workflow counts as one execution. Users and workflows are not billed separately. Yearly billing is about 17% less than monthly. Signed in, switch plans under [Settings > Plans](/manage-cloud/plans.md#settings-plans).
## Hobby
- Free. No card.
- 1,000 executions and 800 AI credits a month.
- Unlimited users and workflows, and 1 shared project.
- 1 GB of storage. No custom domains.
## Starter
- $24 a month, or $20 a month when billed yearly.
- 2,500 executions and 2,300 AI credits a month.
- 5 concurrent executions and 1 shared project.
- 20 GB of storage and 1 custom domain.
## Pro
- $60 a month, or $50 a month when billed yearly. The pricing page marks this plan as the popular one.
- 10,000 executions and 13,700 AI credits a month.
- 20 concurrent executions and 3 shared projects.
- 100 GB of storage and 3 custom domains.
## Business
- $800 a month, or $667 a month when billed yearly.
- 40,000 executions a month.
- 1 TB of storage and unlimited custom domains.
- Includes SSO, SAML, and LDAP, Git and environments, and priority support.
## Storage and custom domains
Duaer storage is counted per organization, and custom domains per paying account. Duaer shows both, used and allowed, under Settings > Usage and plan. Refer to [Bind your own domain](/build/custom-domain.md).
## Change your Duaer plan
1. Select View plans under Settings > Usage and plan or on the home credits badge. Settings > Plans opens.
2. The top shows the current plan, this month’s executions (used / limit), and the Duaer credit balance.
3. Switch between monthly and yearly, then choose one of the four plans. The current plan is marked and its button is disabled.
4. A paid plan opens Stripe Checkout. Afterwards you return to Settings > Plans with “Payment received. Your Duaer plan or credits update in a few seconds.”
Switch to Hobby asks for confirmation, then moves the Duaer organization to the Hobby limits without leaving the page. When the Duaer organization owner or an admin manages billing, members see the managed notice and no active buy buttons. Visitors who are not signed in still use the [public pricing page](https://www.duaer.com/pricing).
## Recharge Duaer credits
When a plan’s AI credits run out, buy a one-time credit pack. Packs are under Recharge Duaer credits in Settings > Plans, and behind Recharge in Settings > Usage and plan and on the home credits badge. Payment goes through Stripe.
- 1,000 credits for $9
- 5,000 credits for $39
- 20,000 credits for $129 (marked Popular)
- 50,000 credits for $269
- 100,000 credits for $499
- 220,000 credits for $999
## Questions
### In Duaer, are AI credits the same as executions?
No. An execution is one full run of a workflow. AI credits are a separate allowance for model calls, listed on each plan.
### What does Duaer Business include on the hosted plan?
40,000 executions a month, plus SSO, SAML, LDAP, Git, environments, and priority support.
### What if I run out of Duaer AI credits?
Buy a one-time pack under Recharge Duaer credits in Duaer Settings > Plans, from 1,000 credits for $9 to 220,000 credits for $999.
## Related
- [Choose how to use Duaer](https://doc.duaer.com/getting-started.md)
- [Key concepts in Duaer](https://doc.duaer.com/getting-started/glossary.md)
- [Bind your own domain to a Duaer workflow](https://doc.duaer.com/build/custom-domain.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/proteins.md).
# 在 Duaer 里检索基因和蛋白
在 Duaer 里用 Duaer Data 检索基因和蛋白。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「基因和蛋白」按公开蛋白库检索。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「基因和蛋白」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「基因和蛋白」。
2. 至少填一项:Words、Gene、Protein name、Organism、Accession、Reviewed、Length from/to、Disease、Keyword、Location、Function、Gene Ontology、Pathway、Domain、Taxonomy ID。正式病名见 [在 Duaer 里检索疾病](/zh/getting-started/diseases.md)。物种学名与 Taxonomy ID 见 [在 Duaer 里检索物种](/zh/getting-started/organisms.md)。关键词见 [在 Duaer 里检索关键词](/zh/getting-started/keywords.md);定位见 [在 Duaer 里检索亚细胞定位](/zh/getting-started/locations.md);基因本体见 [在 Duaer 里检索基因本体](/zh/getting-started/gene-ontology.md);通路见 [在 Duaer 里检索通路](/zh/getting-started/pathways.md);结构域见 [在 Duaer 里检索结构域](/zh/getting-started/domains.md)。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。结果含 source、title、url、summary,以及 accession、gene、organism、length、reviewed、disease、location。正式运行的交付节点条目进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/proteins?...
- Authorization: Bearer
- 字段可组合;至少填一个检索字段。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-proteins
description: >-
Duaer proteins. UniProt proteins by gene, name, organism, accession, review status, length, disease, keyword, location, function, GO term, pathway, domain, or taxonomy id.
One successful search uses 1 Duaer credit.
---
# Duaer proteins
Duaer proteins searches UniProtKB. Fields combine, so each one narrows the search.
## When to use
- Get the reviewed human protein for a gene symbol.
- List proteins linked to a disease, a pathway, or a domain.
- Find proteins in a cell location with a given function.
## When not to use
- Gene ids, aliases, and map locations. Use https://skills.duaer.com/genes.md.
- Predicted 3D models. Use https://skills.duaer.com/alphafold.md.
- Experimental structures. Use https://skills.duaer.com/structures.md.
## Call
`GET https://api.duaer.com/v1/data/proteins?gene=INS&organism=Homo%20sapiens&reviewed=yes&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide at least one search field.
- `q` — Optional. Words in the protein record.
- `gene` — Optional. Gene symbol, such as `INS`. Look up symbols with https://skills.duaer.com/genes.md.
- `name` — Optional. Protein name.
- `organism` — Optional. Organism name, such as `Homo sapiens`. Look up names with https://skills.duaer.com/organisms.md.
- `accession` — Optional. UniProt accession, such as `P01308`.
- `reviewed` — Optional. `yes` for Swiss-Prot, `no` for TrEMBL.
- `lengthFrom`, `lengthTo` — Optional. Sequence length. `0` means no bound.
- `disease` — Optional. Disease name. Look up names with https://skills.duaer.com/diseases.md.
- `keyword` — Optional. UniProt keyword. Look up keywords with https://skills.duaer.com/keywords.md.
- `location` — Optional. Subcellular location. Look up names with https://skills.duaer.com/locations.md.
- `function` — Optional. Words in the function text.
- `go` — Optional. Gene Ontology term. Look up terms with https://skills.duaer.com/gene-ontology.md.
- `pathway` — Optional. Reactome pathway id or words. Look up pathways with https://skills.duaer.com/pathways.md.
- `domain` — Optional. InterPro domain id or words. Look up domains with https://skills.duaer.com/domains.md.
- `taxonomyId` — Optional. NCBI taxonomy id, such as `9606`. Look up ids with https://skills.duaer.com/organisms.md.
- `limit` — Optional. Rows to return, from 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/proteins?gene=INS&organism=Homo%20sapiens&reviewed=yes` — reviewed human insulin.
- `GET https://api.duaer.com/v1/data/proteins?disease=Alzheimer%20disease&taxonomyId=9606&reviewed=yes` — reviewed human proteins linked to Alzheimer disease.
- `GET https://api.duaer.com/v1/data/proteins?accession=P04637` — one protein by accession.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`UniProt`), `title`, `url`, and `summary`, plus:
- `accession` — UniProt accession.
- `gene` — primary gene symbol.
- `organism` — scientific name.
- `length` — sequence length.
- `reviewed` — true for Swiss-Prot entries.
- `disease`, `location` — linked diseases and subcellular locations.
For interaction partners of a gene or protein, use https://skills.duaer.com/interactions.md.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/structures.md — Duaer structures
- https://skills.duaer.com/pathways.md — Duaer pathways
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/interactions.md — Duaer interactions
- https://skills.duaer.com/atlas.md — Duaer tissue atlas
- https://skills.duaer.com/alphafold.md — Duaer AlphaFold
- https://skills.duaer.com/complexes.md — Duaer complexes
```
## Questions
### Duaer 检索蛋白一次扣多少额度?
成功一次扣 1 额度。空结果、失败或额度不足不扣。
## 相关
- [在 Duaer 里检索疾病](https://doc.duaer.com/zh/getting-started/diseases.md)
- [在 Duaer 里检索物种](https://doc.duaer.com/zh/getting-started/organisms.md)
- [在 Duaer 里检索关键词](https://doc.duaer.com/zh/getting-started/keywords.md)
- [在 Duaer 里检索亚细胞定位](https://doc.duaer.com/zh/getting-started/locations.md)
- [在 Duaer 里检索基因本体](https://doc.duaer.com/zh/getting-started/gene-ontology.md)
- [在 Duaer 里检索通路](https://doc.duaer.com/zh/getting-started/pathways.md)
- [在 Duaer 里检索基因](https://doc.duaer.com/zh/getting-started/genes.md)
- [在 Duaer 里检索互作](https://doc.duaer.com/zh/getting-started/interactions.md)
- [在 Duaer 里检索临床试验](https://doc.duaer.com/zh/getting-started/trials.md)
- [在 Duaer 里检索化合物和药物](https://doc.duaer.com/zh/getting-started/compounds.md)
- [在 Duaer 里检索蛋白结构](https://doc.duaer.com/zh/getting-started/structures.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/proteins.md).
# Search proteins in Duaer
In Duaer, search genes and proteins with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Proteins in the Duaer data market searches genes and proteins from a public protein source. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Proteins), or copy the skill on the [data market](/getting-started/data-market.md). For interaction partners, refer to [Search interactions in Duaer](/getting-started/interactions.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Proteins.
2. Fill at least one of Words, Gene, Protein name, Organism, Accession, Reviewed, Length from/to, Disease, Keyword, Location, Function, Gene Ontology, Pathway, Domain, Taxonomy ID. For formal disease names, refer to [Search diseases in Duaer](/getting-started/diseases.md). For organism names and Taxonomy ID, refer to [Search organisms in Duaer](/getting-started/organisms.md). For keywords, locations, Gene Ontology, pathways, and domains, refer to [Search keywords in Duaer](/getting-started/keywords.md), [Search locations in Duaer](/getting-started/locations.md), [Search Gene Ontology in Duaer](/getting-started/gene-ontology.md), [Search pathways in Duaer](/getting-started/pathways.md), and [Search domains in Duaer](/getting-started/domains.md).
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Items include source, title, url, summary, plus accession, gene, organism, length, reviewed, disease, and location. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/proteins?...
- Authorization: Bearer
- Fields combine; at least one search field is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-proteins
description: >-
Duaer proteins. UniProt proteins by gene, name, organism, accession, review status, length, disease, keyword, location, function, GO term, pathway, domain, or taxonomy id.
One successful search uses 1 Duaer credit.
---
# Duaer proteins
Duaer proteins searches UniProtKB. Fields combine, so each one narrows the search.
## When to use
- Get the reviewed human protein for a gene symbol.
- List proteins linked to a disease, a pathway, or a domain.
- Find proteins in a cell location with a given function.
## When not to use
- Gene ids, aliases, and map locations. Use https://skills.duaer.com/genes.md.
- Predicted 3D models. Use https://skills.duaer.com/alphafold.md.
- Experimental structures. Use https://skills.duaer.com/structures.md.
## Call
`GET https://api.duaer.com/v1/data/proteins?gene=INS&organism=Homo%20sapiens&reviewed=yes&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide at least one search field.
- `q` — Optional. Words in the protein record.
- `gene` — Optional. Gene symbol, such as `INS`. Look up symbols with https://skills.duaer.com/genes.md.
- `name` — Optional. Protein name.
- `organism` — Optional. Organism name, such as `Homo sapiens`. Look up names with https://skills.duaer.com/organisms.md.
- `accession` — Optional. UniProt accession, such as `P01308`.
- `reviewed` — Optional. `yes` for Swiss-Prot, `no` for TrEMBL.
- `lengthFrom`, `lengthTo` — Optional. Sequence length. `0` means no bound.
- `disease` — Optional. Disease name. Look up names with https://skills.duaer.com/diseases.md.
- `keyword` — Optional. UniProt keyword. Look up keywords with https://skills.duaer.com/keywords.md.
- `location` — Optional. Subcellular location. Look up names with https://skills.duaer.com/locations.md.
- `function` — Optional. Words in the function text.
- `go` — Optional. Gene Ontology term. Look up terms with https://skills.duaer.com/gene-ontology.md.
- `pathway` — Optional. Reactome pathway id or words. Look up pathways with https://skills.duaer.com/pathways.md.
- `domain` — Optional. InterPro domain id or words. Look up domains with https://skills.duaer.com/domains.md.
- `taxonomyId` — Optional. NCBI taxonomy id, such as `9606`. Look up ids with https://skills.duaer.com/organisms.md.
- `limit` — Optional. Rows to return, from 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/proteins?gene=INS&organism=Homo%20sapiens&reviewed=yes` — reviewed human insulin.
- `GET https://api.duaer.com/v1/data/proteins?disease=Alzheimer%20disease&taxonomyId=9606&reviewed=yes` — reviewed human proteins linked to Alzheimer disease.
- `GET https://api.duaer.com/v1/data/proteins?accession=P04637` — one protein by accession.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`UniProt`), `title`, `url`, and `summary`, plus:
- `accession` — UniProt accession.
- `gene` — primary gene symbol.
- `organism` — scientific name.
- `length` — sequence length.
- `reviewed` — true for Swiss-Prot entries.
- `disease`, `location` — linked diseases and subcellular locations.
For interaction partners of a gene or protein, use https://skills.duaer.com/interactions.md.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/structures.md — Duaer structures
- https://skills.duaer.com/pathways.md — Duaer pathways
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/interactions.md — Duaer interactions
- https://skills.duaer.com/atlas.md — Duaer tissue atlas
- https://skills.duaer.com/alphafold.md — Duaer AlphaFold
- https://skills.duaer.com/complexes.md — Duaer complexes
```
## Questions
### How many credits does a Duaer protein search use?
One successful search uses 1 credit. Empty, failed, or no-credit searches use 0.
## Related
- [Search diseases in Duaer](https://doc.duaer.com/getting-started/diseases.md)
- [Search organisms in Duaer](https://doc.duaer.com/getting-started/organisms.md)
- [Search keywords in Duaer](https://doc.duaer.com/getting-started/keywords.md)
- [Search locations in Duaer](https://doc.duaer.com/getting-started/locations.md)
- [Search Gene Ontology in Duaer](https://doc.duaer.com/getting-started/gene-ontology.md)
- [Search pathways in Duaer](https://doc.duaer.com/getting-started/pathways.md)
- [Search genes in Duaer](https://doc.duaer.com/getting-started/genes.md)
- [Search interactions in Duaer](https://doc.duaer.com/getting-started/interactions.md)
- [Search clinical trials in Duaer](https://doc.duaer.com/getting-started/trials.md)
- [Search compounds in Duaer](https://doc.duaer.com/getting-started/compounds.md)
- [Search protein structures in Duaer](https://doc.duaer.com/getting-started/structures.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/trials.md).
# 在 Duaer 里检索临床试验
在 Duaer 里用 Duaer Data 检索临床试验。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「临床试验」按公开试验登记检索。一次成功查询 1 额度。
从 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「临床试验」,或在 [数据市场](/zh/getting-started/data-market.md) 复制技能。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「临床试验」。
2. 至少填一项:Condition、Other words、Intervention、Location、Title、Outcome、Sponsor、Lead sponsor、NCT ID、Status、Phase。Sort 单独不算检索。
3. Sort 可选 Recently updated。Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。结果含 nctId、status、phase、conditions、interventions、sponsor、startDate 等。正式运行交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/trials?...
- Authorization: Bearer
- 字段可组合;至少填一个检索字段。sort 单独不算检索。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是完整英文调用技能。
## 调用技能(英文)
与数据市场「复制技能」一致。
```
---
name: duaer-trials
description: >-
Duaer clinical trials. ClinicalTrials.gov studies by condition, intervention, location, title, outcome, sponsor, NCT id, status, or phase.
One successful search uses 1 Duaer credit.
---
# Duaer clinical trials
Duaer clinical trials searches ClinicalTrials.gov. Fields combine, so each one narrows the search. Results are ordered by relevance unless you sort by last update.
## When to use
- Find recruiting trials for a condition and a drug.
- List phase 3 trials a sponsor runs.
- Look up one study by its NCT id.
## When not to use
- Published trial results in papers. Use https://skills.duaer.com/papers.md.
- Drug adverse event reports. Use https://skills.duaer.com/adverse-events.md.
## Call
`GET https://api.duaer.com/v1/data/trials?condition=diabetes&intervention=insulin&status=RECRUITING&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide at least one search field. `status` or `phase` alone counts. `sort` and `limit` alone are not a search.
- `condition` — Optional. Disease or condition.
- `term` — Optional. Other words.
- `intervention` — Optional. Drug, device, or other intervention.
- `location` — Optional. Where the study runs, such as a city or country.
- `title` — Optional. Words in the title.
- `outcome` — Optional. Words in the outcome measures.
- `sponsor` — Optional. Sponsor or collaborator name.
- `lead` — Optional. Lead sponsor name.
- `nctId` — Optional. Study id, such as `NCT04368728`.
- `status` — Optional. `NOT_YET_RECRUITING`, `RECRUITING`, `ENROLLING_BY_INVITATION`, `ACTIVE_NOT_RECRUITING`, `SUSPENDED`, `TERMINATED`, `COMPLETED`, `WITHDRAWN`, or `UNKNOWN`.
- `phase` — Optional. `EARLY_PHASE1`, `PHASE1`, `PHASE2`, `PHASE3`, `PHASE4`, or `NA`.
- `sort` — Optional. `recent` orders by last update. Omit it for relevance.
- `limit` — Optional. Rows to return, from 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/trials?condition=diabetes&intervention=insulin&status=RECRUITING` — recruiting insulin trials for diabetes.
- `GET https://api.duaer.com/v1/data/trials?lead=Pfizer&phase=PHASE3&sort=recent` — Pfizer phase 3 trials, latest update first.
- `GET https://api.duaer.com/v1/data/trials?nctId=NCT04368728` — one study by NCT id.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`ClinicalTrials.gov`), `title`, `url`, and `summary`, plus:
- `nctId` — study id.
- `status`, `phase` — recruitment status and phase.
- `conditions`, `interventions` — conditions and interventions studied.
- `sponsor` — lead sponsor.
- `startDate` — start date.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/papers.md — Duaer papers
```
## Questions
### 只选 Sort 能搜试验吗?
不能。Sort 单独不算检索,还要填至少一个检索字段。
## 相关
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里检索疾病](https://doc.duaer.com/zh/getting-started/diseases.md)
- [在 Duaer 里检索化合物和药物](https://doc.duaer.com/zh/getting-started/compounds.md)
- [在 Duaer 里检索蛋白结构](https://doc.duaer.com/zh/getting-started/structures.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/trials.md).
# Search clinical trials in Duaer
In Duaer, search clinical trials with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Trials in the Duaer data market searches clinical trials from a public registry. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Trials), or copy the skill on the [data market](/getting-started/data-market.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Trials.
2. Fill at least one of Condition, Other words, Intervention, Location, Title, Outcome, Sponsor, Lead sponsor, NCT ID, Status, Phase. Sort alone is not a search.
3. Sort may be Recently updated. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Items include nctId, status, phase, conditions, interventions, sponsor, startDate, and more. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/trials?...
- Authorization: Bearer
- Fields combine; at least one search field is required. Sort alone is not a search.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the full English call skill.
## Call skill
Same text as Copy skill on the Duaer data market.
```
---
name: duaer-trials
description: >-
Duaer clinical trials. ClinicalTrials.gov studies by condition, intervention, location, title, outcome, sponsor, NCT id, status, or phase.
One successful search uses 1 Duaer credit.
---
# Duaer clinical trials
Duaer clinical trials searches ClinicalTrials.gov. Fields combine, so each one narrows the search. Results are ordered by relevance unless you sort by last update.
## When to use
- Find recruiting trials for a condition and a drug.
- List phase 3 trials a sponsor runs.
- Look up one study by its NCT id.
## When not to use
- Published trial results in papers. Use https://skills.duaer.com/papers.md.
- Drug adverse event reports. Use https://skills.duaer.com/adverse-events.md.
## Call
`GET https://api.duaer.com/v1/data/trials?condition=diabetes&intervention=insulin&status=RECRUITING&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide at least one search field. `status` or `phase` alone counts. `sort` and `limit` alone are not a search.
- `condition` — Optional. Disease or condition.
- `term` — Optional. Other words.
- `intervention` — Optional. Drug, device, or other intervention.
- `location` — Optional. Where the study runs, such as a city or country.
- `title` — Optional. Words in the title.
- `outcome` — Optional. Words in the outcome measures.
- `sponsor` — Optional. Sponsor or collaborator name.
- `lead` — Optional. Lead sponsor name.
- `nctId` — Optional. Study id, such as `NCT04368728`.
- `status` — Optional. `NOT_YET_RECRUITING`, `RECRUITING`, `ENROLLING_BY_INVITATION`, `ACTIVE_NOT_RECRUITING`, `SUSPENDED`, `TERMINATED`, `COMPLETED`, `WITHDRAWN`, or `UNKNOWN`.
- `phase` — Optional. `EARLY_PHASE1`, `PHASE1`, `PHASE2`, `PHASE3`, `PHASE4`, or `NA`.
- `sort` — Optional. `recent` orders by last update. Omit it for relevance.
- `limit` — Optional. Rows to return, from 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/trials?condition=diabetes&intervention=insulin&status=RECRUITING` — recruiting insulin trials for diabetes.
- `GET https://api.duaer.com/v1/data/trials?lead=Pfizer&phase=PHASE3&sort=recent` — Pfizer phase 3 trials, latest update first.
- `GET https://api.duaer.com/v1/data/trials?nctId=NCT04368728` — one study by NCT id.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`ClinicalTrials.gov`), `title`, `url`, and `summary`, plus:
- `nctId` — study id.
- `status`, `phase` — recruitment status and phase.
- `conditions`, `interventions` — conditions and interventions studied.
- `sponsor` — lead sponsor.
- `startDate` — start date.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/papers.md — Duaer papers
```
## Questions
### Can I search trials with Sort only?
No. Sort alone is not a search. Fill at least one search field.
## Related
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Search diseases in Duaer](https://doc.duaer.com/getting-started/diseases.md)
- [Search compounds in Duaer](https://doc.duaer.com/getting-started/compounds.md)
- [Search protein structures in Duaer](https://doc.duaer.com/getting-started/structures.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/compounds.md).
# 在 Duaer 里检索化合物和药物
在 Duaer 里用 Duaer Data 检索化合物和药物。一次成功查询 1 额度;匹配不到的名称不扣。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「化合物和药物」按公开化合物库检索。一次成功查询 1 额度;名称匹配不到不扣。
从 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「化合物和药物」,或在 [数据市场](/zh/getting-started/data-market.md) 复制技能。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「化合物和药物」。
2. 只填一种标识:Name、CID、Formula、SMILES 或 InChIKey(不要混填多种)。
3. Limit 默认 10,最大 20(按名称时最多返回这么多条)。点执行此步骤。
成功扣 1 额度。结果含 cid、formula、weight、smiles、inchiKey 等物化字段。正式运行交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/compounds?...
- Authorization: Bearer
- 只传一个标识:name、cid、formula、smiles 或 inchikey。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是完整英文调用技能。
## 调用技能(英文)
与数据市场「复制技能」一致。
```
---
name: duaer-compounds
description: >-
Duaer compounds. PubChem compounds and drugs by name, CID, formula, SMILES, or InChIKey, with weight, structure, and drug-likeness properties.
One successful search uses 1 Duaer credit.
---
# Duaer compounds
Duaer compounds looks up PubChem compounds by one identifier and returns structure and computed properties.
## When to use
- Get the formula, weight, SMILES, and InChIKey of a drug by name.
- Check drug-likeness properties such as XLogP, TPSA, and hydrogen bond counts.
- Resolve an InChIKey or SMILES to a PubChem CID.
## When not to use
- Bioactivity against targets. Use https://skills.duaer.com/activities.md.
- Drug labels and indications. Use https://skills.duaer.com/drug-labels.md.
- Ids for one compound in other databases. Use https://skills.duaer.com/crossrefs.md.
## Call
`GET https://api.duaer.com/v1/data/compounds?name=aspirin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide exactly one of `name`, `cid`, `formula`, `smiles`, or `inchikey`.
- `name` — Compound or drug name, such as `aspirin`. A name can match several compounds, up to `limit`.
- `cid` — PubChem compound id, such as `2244`.
- `formula` — Molecular formula, such as `C9H8O4`. Can match several compounds, up to `limit`.
- `smiles` — SMILES string. URL-encode it.
- `inchikey` — InChIKey, such as `BSYNRYMUTXBXSQ-UHFFFAOYSA-N`.
- `limit` — Optional. Rows to return, from 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/compounds?name=aspirin` — aspirin and close name matches.
- `GET https://api.duaer.com/v1/data/compounds?inchikey=BSYNRYMUTXBXSQ-UHFFFAOYSA-N` — one compound by InChIKey.
- `GET https://api.duaer.com/v1/data/compounds?formula=C9H8O4&limit=5` — compounds with one formula.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`PubChem`), `title`, `url`, and `summary`, plus:
- `cid` — PubChem compound id.
- `formula`, `weight` — molecular formula and weight.
- `iupacName`, `smiles`, `inchi`, `inchiKey` — names and structure strings.
- `xlogp`, `tpsa` — computed lipophilicity and polar surface area.
- `hbondDonors`, `hbondAcceptors`, `rotatableBonds` — counts used in drug-likeness rules.
- `complexity`, `charge` — structural complexity and formal charge.
Reuse a compound name as `molecule` when searching activities: https://skills.duaer.com/activities.md.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
A `name` that PubChem does not know, or an identifier PubChem answers with not found, returns no items and uses 0.
Wrong input, a missing identifier, or more than one identifier returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/trials.md — Duaer clinical trials
- https://skills.duaer.com/structures.md — Duaer structures
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/activities.md — Duaer activities
- https://skills.duaer.com/indications.md — Duaer indications
- https://skills.duaer.com/mechanisms.md — Duaer mechanisms
- https://skills.duaer.com/assays.md — Duaer assays
- https://skills.duaer.com/patents.md — Duaer patents
- https://skills.duaer.com/drug-gene.md — Duaer drug–gene
- https://skills.duaer.com/reactions.md — Duaer reactions
- https://skills.duaer.com/metabolites.md — Duaer metabolites
- https://skills.duaer.com/drug-labels.md — Duaer drug labels
- https://skills.duaer.com/adverse-events.md — Duaer adverse events
```
## Questions
### 化合物可以同时填名称和 CID 吗?
不要。每次只传一种标识:name、cid、formula、smiles 或 inchikey。
## 相关
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里检索临床试验](https://doc.duaer.com/zh/getting-started/trials.md)
- [在 Duaer 里检索蛋白结构](https://doc.duaer.com/zh/getting-started/structures.md)
- [在 Duaer 里检索疾病](https://doc.duaer.com/zh/getting-started/diseases.md)
- [在 Duaer 里检索代谢物](https://doc.duaer.com/zh/getting-started/metabolites.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/compounds.md).
# Search compounds in Duaer
In Duaer, search compounds and drugs with Duaer Data. One successful search uses 1 credit; a name that matches nothing uses 0. This page includes the full English call skill.
## What you get
Compounds in the Duaer data market searches compounds and drugs from a public compound source. One successful search uses 1 credit; a name that matches nothing uses 0.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Compounds), or copy the skill on the [data market](/getting-started/data-market.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Compounds.
2. Send one identifier only: Name, CID, Formula, SMILES, or InChIKey.
3. Limit defaults to 10, max 20 (a name may return several compounds up to this limit). Select Execute step.
A successful search uses 1 credit. Items include cid, formula, weight, smiles, inchiKey, and related fields. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/compounds?...
- Authorization: Bearer
- Send one identifier: name, cid, formula, smiles, or inchikey.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the full English call skill.
## Call skill
Same text as Copy skill on the Duaer data market.
```
---
name: duaer-compounds
description: >-
Duaer compounds. PubChem compounds and drugs by name, CID, formula, SMILES, or InChIKey, with weight, structure, and drug-likeness properties.
One successful search uses 1 Duaer credit.
---
# Duaer compounds
Duaer compounds looks up PubChem compounds by one identifier and returns structure and computed properties.
## When to use
- Get the formula, weight, SMILES, and InChIKey of a drug by name.
- Check drug-likeness properties such as XLogP, TPSA, and hydrogen bond counts.
- Resolve an InChIKey or SMILES to a PubChem CID.
## When not to use
- Bioactivity against targets. Use https://skills.duaer.com/activities.md.
- Drug labels and indications. Use https://skills.duaer.com/drug-labels.md.
- Ids for one compound in other databases. Use https://skills.duaer.com/crossrefs.md.
## Call
`GET https://api.duaer.com/v1/data/compounds?name=aspirin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide exactly one of `name`, `cid`, `formula`, `smiles`, or `inchikey`.
- `name` — Compound or drug name, such as `aspirin`. A name can match several compounds, up to `limit`.
- `cid` — PubChem compound id, such as `2244`.
- `formula` — Molecular formula, such as `C9H8O4`. Can match several compounds, up to `limit`.
- `smiles` — SMILES string. URL-encode it.
- `inchikey` — InChIKey, such as `BSYNRYMUTXBXSQ-UHFFFAOYSA-N`.
- `limit` — Optional. Rows to return, from 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/compounds?name=aspirin` — aspirin and close name matches.
- `GET https://api.duaer.com/v1/data/compounds?inchikey=BSYNRYMUTXBXSQ-UHFFFAOYSA-N` — one compound by InChIKey.
- `GET https://api.duaer.com/v1/data/compounds?formula=C9H8O4&limit=5` — compounds with one formula.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`PubChem`), `title`, `url`, and `summary`, plus:
- `cid` — PubChem compound id.
- `formula`, `weight` — molecular formula and weight.
- `iupacName`, `smiles`, `inchi`, `inchiKey` — names and structure strings.
- `xlogp`, `tpsa` — computed lipophilicity and polar surface area.
- `hbondDonors`, `hbondAcceptors`, `rotatableBonds` — counts used in drug-likeness rules.
- `complexity`, `charge` — structural complexity and formal charge.
Reuse a compound name as `molecule` when searching activities: https://skills.duaer.com/activities.md.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
A `name` that PubChem does not know, or an identifier PubChem answers with not found, returns no items and uses 0.
Wrong input, a missing identifier, or more than one identifier returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/trials.md — Duaer clinical trials
- https://skills.duaer.com/structures.md — Duaer structures
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/activities.md — Duaer activities
- https://skills.duaer.com/indications.md — Duaer indications
- https://skills.duaer.com/mechanisms.md — Duaer mechanisms
- https://skills.duaer.com/assays.md — Duaer assays
- https://skills.duaer.com/patents.md — Duaer patents
- https://skills.duaer.com/drug-gene.md — Duaer drug–gene
- https://skills.duaer.com/reactions.md — Duaer reactions
- https://skills.duaer.com/metabolites.md — Duaer metabolites
- https://skills.duaer.com/drug-labels.md — Duaer drug labels
- https://skills.duaer.com/adverse-events.md — Duaer adverse events
```
## Questions
### Can I send both name and CID for compounds?
No. Send one identifier only: name, cid, formula, smiles, or inchikey.
## Related
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Search clinical trials in Duaer](https://doc.duaer.com/getting-started/trials.md)
- [Search protein structures in Duaer](https://doc.duaer.com/getting-started/structures.md)
- [Search diseases in Duaer](https://doc.duaer.com/getting-started/diseases.md)
- [Search metabolites in Duaer](https://doc.duaer.com/getting-started/metabolites.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/structures.md).
# 在 Duaer 里检索蛋白结构
在 Duaer 里用 Duaer Data 检索蛋白结构。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「蛋白结构」按公开结构库检索。一次成功查询 1 额度。
从 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「蛋白结构」,或在 [数据市场](/zh/getting-started/data-market.md) 复制技能。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「蛋白结构」。
2. 至少填一项:Words、PDB ID、Organism、Method、Resolution from/to、Released from/to、Polymer、Ligand。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。结果含 pdbId、method、resolution、organism、released、ligand 等。正式运行交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/structures?...
- Authorization: Bearer
- 字段可组合;至少填一个检索字段。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是完整英文调用技能。
## 调用技能(英文)
与数据市场「复制技能」一致。
```
---
name: duaer-structures
description: >-
Duaer structures. Search protein structures.
One successful search uses 1 Duaer credit.
---
# Duaer structures
Search protein structures. Data comes from RCSB PDB.
## When to use
- Find experimental 3D structures of a protein in an organism.
- Filter structures by method, resolution, release date, or bound ligand.
## When not to use
- Predicted models without an experimental structure. Use https://skills.duaer.com/alphafold.md.
## Call
`GET https://api.duaer.com/v1/data/structures?q=insulin&organism=Homo%20sapiens&method=X-RAY%20DIFFRACTION&resolutionTo=2.5&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
At least one search field is required. Fields combine.
- `q` — words in the structure record.
- `pdbId` — structure id, such as `4HHB`.
- `organism` — scientific name. Look up formal names with https://skills.duaer.com/organisms.md.
- `method` — experimental method, such as `X-RAY DIFFRACTION`, `SOLUTION NMR`, or `ELECTRON MICROSCOPY`.
- `resolutionFrom`, `resolutionTo` — resolution in angstroms. `0` means no bound.
- `releasedFrom`, `releasedTo` — release date as `YYYY-MM-DD`.
- `polymer` — `protein`, `dna`, or `rna`.
- `ligand` — bound chemical name.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/structures?q=insulin&organism=Homo%20sapiens&method=X-RAY%20DIFFRACTION&resolutionTo=2.5&limit=10` — human insulin X-ray structures at 2.5 Å or better.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`RCSB PDB`), `title`, `url`, and `summary`, plus:
- `pdbId`, `method`, `resolution`, `organism`, `released`, `ligand` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/alphafold.md — Duaer AlphaFold
```
## Questions
### 分辨率单位是什么?
埃(angstrom)。Resolution from/to 里 0 或空表示不限。
## 相关
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里检索物种](https://doc.duaer.com/zh/getting-started/organisms.md)
- [在 Duaer 里检索临床试验](https://doc.duaer.com/zh/getting-started/trials.md)
- [在 Duaer 里检索化合物和药物](https://doc.duaer.com/zh/getting-started/compounds.md)
- [在 Duaer 里检索疾病](https://doc.duaer.com/zh/getting-started/diseases.md)
- [在 Duaer 里查询 AlphaFold 预测结构](https://doc.duaer.com/zh/getting-started/alphafold.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/structures.md).
# Search protein structures in Duaer
In Duaer, search protein structures with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Structures in the Duaer data market searches protein structures from a public structure source. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Structures), or copy the skill on the [data market](/getting-started/data-market.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Structures.
2. Fill at least one of Words, PDB ID, Organism, Method, Resolution from/to, Released from/to, Polymer, Ligand.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Items include pdbId, method, resolution, organism, released, ligand, and more. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/structures?...
- Authorization: Bearer
- Fields combine; at least one search field is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the full English call skill.
## Call skill
Same text as Copy skill on the Duaer data market.
```
---
name: duaer-structures
description: >-
Duaer structures. Search protein structures.
One successful search uses 1 Duaer credit.
---
# Duaer structures
Search protein structures. Data comes from RCSB PDB.
## When to use
- Find experimental 3D structures of a protein in an organism.
- Filter structures by method, resolution, release date, or bound ligand.
## When not to use
- Predicted models without an experimental structure. Use https://skills.duaer.com/alphafold.md.
## Call
`GET https://api.duaer.com/v1/data/structures?q=insulin&organism=Homo%20sapiens&method=X-RAY%20DIFFRACTION&resolutionTo=2.5&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
At least one search field is required. Fields combine.
- `q` — words in the structure record.
- `pdbId` — structure id, such as `4HHB`.
- `organism` — scientific name. Look up formal names with https://skills.duaer.com/organisms.md.
- `method` — experimental method, such as `X-RAY DIFFRACTION`, `SOLUTION NMR`, or `ELECTRON MICROSCOPY`.
- `resolutionFrom`, `resolutionTo` — resolution in angstroms. `0` means no bound.
- `releasedFrom`, `releasedTo` — release date as `YYYY-MM-DD`.
- `polymer` — `protein`, `dna`, or `rna`.
- `ligand` — bound chemical name.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/structures?q=insulin&organism=Homo%20sapiens&method=X-RAY%20DIFFRACTION&resolutionTo=2.5&limit=10` — human insulin X-ray structures at 2.5 Å or better.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`RCSB PDB`), `title`, `url`, and `summary`, plus:
- `pdbId`, `method`, `resolution`, `organism`, `released`, `ligand` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/alphafold.md — Duaer AlphaFold
```
## Questions
### What unit is resolution in?
Angstroms. 0 or empty on Resolution from/to means no bound.
## Related
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Search organisms in Duaer](https://doc.duaer.com/getting-started/organisms.md)
- [Search clinical trials in Duaer](https://doc.duaer.com/getting-started/trials.md)
- [Search compounds in Duaer](https://doc.duaer.com/getting-started/compounds.md)
- [Search diseases in Duaer](https://doc.duaer.com/getting-started/diseases.md)
- [Look up AlphaFold structures in Duaer](https://doc.duaer.com/getting-started/alphafold.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/diseases.md).
# 在 Duaer 里检索疾病
在 Duaer 里用 Duaer Data 检索 UniProt 疾病名称。一次成功查询 1 额度。正式名可用于蛋白检索的 Disease 字段。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「疾病」检索 UniProt 疾病词表。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「疾病」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。拿到的正式名可填进 [基因和蛋白](/zh/getting-started/proteins.md) 的 Disease。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「疾病」。
2. 用 Words 即可检索(新节点默认 diabetes)。Disease ID、Name、Acronym 可选;Disease ID 来自结果里的 diseaseId。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。结果含 source、title、url、summary,以及 diseaseId、acronym、alternativeNames、reviewedProteinCount。把 title 用作蛋白检索的 disease;需要精确查时再把 diseaseId 填进 Disease ID。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/diseases?...
- Authorization: Bearer
- 字段可组合;至少填一个检索字段。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-diseases
description: >-
Duaer diseases. Search disease names. Use the formal name with proteins.disease.
One successful search uses 1 Duaer credit.
---
# Duaer diseases
Search disease names. Use the formal name with proteins.disease. Data comes from UniProt.
## When to use
- Get the formal UniProt disease name before searching proteins.
- Check the acronym and id of a disease.
## When not to use
- Disease ontology terms and cross-references. Use https://skills.duaer.com/mondo.md.
## Call
`GET https://api.duaer.com/v1/data/diseases?q=diabetes&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
At least one search field is required. Fields combine. Search with `q` first; use `id` or `acronym` only when you already have them from a result.
- `q` — words in the disease name or definition.
- `id` — Optional. UniProt disease id from a result (`diseaseId`), such as `DI-02060`.
- `name` — Optional. Disease name.
- `acronym` — Optional. Disease acronym from a result, such as `T2D`.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/diseases?q=diabetes&limit=10` — diseases matching diabetes.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`UniProt`), `title`, `url`, and `summary`, plus:
- `diseaseId`, `acronym`, `alternativeNames` — text.
- `reviewedProteinCount` — number.
Use `title` as `disease` when searching proteins. Reuse `diseaseId` in `id` for an exact lookup.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/variants.md — Duaer variants
- https://skills.duaer.com/trials.md — Duaer clinical trials
- https://skills.duaer.com/indications.md — Duaer indications
- https://skills.duaer.com/cell-lines.md — Duaer cell lines
```
## Questions
### 疾病名用在哪里?
把结果里的 title 填进 Duaer 基因和蛋白检索的 Disease 字段(API 的 disease)。
## 相关
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里检索临床试验](https://doc.duaer.com/zh/getting-started/trials.md)
- [在 Duaer 里检索化合物和药物](https://doc.duaer.com/zh/getting-started/compounds.md)
- [在 Duaer 里检索蛋白结构](https://doc.duaer.com/zh/getting-started/structures.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/diseases.md).
# Search diseases in Duaer
In Duaer, search UniProt disease names with Duaer Data. One successful search uses 1 credit. Use the formal name with proteins.disease. This page includes the full English call skill.
## What you get
Diseases in the Duaer data market searches the UniProt disease vocabulary. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Diseases), or copy the skill on the [data market](/getting-started/data-market.md). Use the formal name with [Proteins](/getting-started/proteins.md) Disease.
## Search on the canvas
1. Open the node creator, select Duaer Data, then Diseases.
2. Words alone is enough (a new node starts with diabetes). Disease ID, Name, and Acronym are optional; Disease ID comes from diseaseId on a result.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Items include source, title, url, summary, plus diseaseId, acronym, alternativeNames, and reviewedProteinCount. Use title as disease when searching proteins. Reuse diseaseId in Disease ID for an exact lookup. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/diseases?...
- Authorization: Bearer
- Fields combine; at least one search field is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-diseases
description: >-
Duaer diseases. Search disease names. Use the formal name with proteins.disease.
One successful search uses 1 Duaer credit.
---
# Duaer diseases
Search disease names. Use the formal name with proteins.disease. Data comes from UniProt.
## When to use
- Get the formal UniProt disease name before searching proteins.
- Check the acronym and id of a disease.
## When not to use
- Disease ontology terms and cross-references. Use https://skills.duaer.com/mondo.md.
## Call
`GET https://api.duaer.com/v1/data/diseases?q=diabetes&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
At least one search field is required. Fields combine. Search with `q` first; use `id` or `acronym` only when you already have them from a result.
- `q` — words in the disease name or definition.
- `id` — Optional. UniProt disease id from a result (`diseaseId`), such as `DI-02060`.
- `name` — Optional. Disease name.
- `acronym` — Optional. Disease acronym from a result, such as `T2D`.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/diseases?q=diabetes&limit=10` — diseases matching diabetes.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`UniProt`), `title`, `url`, and `summary`, plus:
- `diseaseId`, `acronym`, `alternativeNames` — text.
- `reviewedProteinCount` — number.
Use `title` as `disease` when searching proteins. Reuse `diseaseId` in `id` for an exact lookup.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/variants.md — Duaer variants
- https://skills.duaer.com/trials.md — Duaer clinical trials
- https://skills.duaer.com/indications.md — Duaer indications
- https://skills.duaer.com/cell-lines.md — Duaer cell lines
```
## Questions
### Where do I use a disease name from Duaer?
Put the item title into the Proteins Disease field (API disease) in Duaer.
## Related
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Search clinical trials in Duaer](https://doc.duaer.com/getting-started/trials.md)
- [Search compounds in Duaer](https://doc.duaer.com/getting-started/compounds.md)
- [Search protein structures in Duaer](https://doc.duaer.com/getting-started/structures.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/organisms.md).
# 在 Duaer 里检索物种
在 Duaer 里用 Duaer Data 检索 UniProt 物种分类。一次成功查询 1 额度。学名可用于蛋白与结构检索的 Organism;taxonId 可用于 Taxonomy ID。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「物种」检索 UniProt 分类词表。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「物种」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。学名可填进 [基因和蛋白](/zh/getting-started/proteins.md) 与 [蛋白结构](/zh/getting-started/structures.md) 的 Organism;taxonId 可填 Taxonomy ID。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「物种」。
2. 用 Words 即可检索(新节点默认 human)。Taxonomy ID、Scientific name、Common name 可选;Taxonomy ID 来自结果里的 taxonId。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。结果含 source、title、url、summary,以及 taxonId、scientificName、commonName、mnemonic、rank。把 title(学名)用作蛋白/结构的 organism。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/organisms?...
- Authorization: Bearer
- 字段可组合;至少填一个检索字段。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-organisms
description: >-
Duaer organisms. Search organism names. Use the scientific name with proteins.organism and structures.organism.
One successful search uses 1 Duaer credit.
---
# Duaer organisms
Search organism names. Use the scientific name with proteins.organism and structures.organism. Data comes from UniProt.
## When to use
- Get the scientific name or taxonomy id before searching proteins or structures.
- Look up the common name of a species.
## When not to use
- Full taxonomic classification. Use https://skills.duaer.com/ncbi-taxon.md.
## Call
`GET https://api.duaer.com/v1/data/organisms?q=human&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
At least one search field is required. Fields combine. Search with `q` first; use `taxonId` only when you already have it from a result.
- `q` — words in the scientific or common name.
- `taxonId` — Optional. NCBI / UniProt taxon id from a result (`taxonId`), such as `9606`.
- `scientific` — Optional. Scientific name, such as `Homo sapiens`.
- `common` — Optional. Common name, such as `human`.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/organisms?q=human&limit=10` — organisms matching human.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`UniProt`), `title`, `url`, and `summary`, plus:
- `taxonId` — number.
- `scientificName`, `commonName`, `mnemonic`, `rank` — text.
Use `title` (scientific name) as `organism` when searching proteins or structures. Reuse `taxonId` as `taxonomyId` on proteins.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/geo.md — Duaer GEO
- https://skills.duaer.com/cell-lines.md — Duaer cell lines
```
## Questions
### 物种名用在哪里?
把结果里的 title(学名)填进 Duaer 基因和蛋白或蛋白结构的 Organism;把 taxonId 填进 Taxonomy ID。
## 相关
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里检索蛋白结构](https://doc.duaer.com/zh/getting-started/structures.md)
- [在 Duaer 里检索疾病](https://doc.duaer.com/zh/getting-started/diseases.md)
- [在 Duaer 里检索临床试验](https://doc.duaer.com/zh/getting-started/trials.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/organisms.md).
# Search organisms in Duaer
In Duaer, search UniProt taxonomy with Duaer Data. One successful search uses 1 credit. Use the scientific name with proteins/structures organism, and taxonId with taxonomyId. This page includes the full English call skill.
## What you get
Organisms in the Duaer data market searches UniProt taxonomy. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Organisms), or copy the skill on the [data market](/getting-started/data-market.md). Use the scientific name with [Proteins](/getting-started/proteins.md) and [Structures](/getting-started/structures.md) Organism; use taxonId with Taxonomy ID.
## Search on the canvas
1. Open the node creator, select Duaer Data, then Organisms.
2. Words alone is enough (a new node starts with human). Taxonomy ID, Scientific name, and Common name are optional; Taxonomy ID comes from taxonId on a result.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Items include source, title, url, summary, plus taxonId, scientificName, commonName, mnemonic, and rank. Use title (scientific name) as organism on proteins or structures. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/organisms?...
- Authorization: Bearer
- Fields combine; at least one search field is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-organisms
description: >-
Duaer organisms. Search organism names. Use the scientific name with proteins.organism and structures.organism.
One successful search uses 1 Duaer credit.
---
# Duaer organisms
Search organism names. Use the scientific name with proteins.organism and structures.organism. Data comes from UniProt.
## When to use
- Get the scientific name or taxonomy id before searching proteins or structures.
- Look up the common name of a species.
## When not to use
- Full taxonomic classification. Use https://skills.duaer.com/ncbi-taxon.md.
## Call
`GET https://api.duaer.com/v1/data/organisms?q=human&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
At least one search field is required. Fields combine. Search with `q` first; use `taxonId` only when you already have it from a result.
- `q` — words in the scientific or common name.
- `taxonId` — Optional. NCBI / UniProt taxon id from a result (`taxonId`), such as `9606`.
- `scientific` — Optional. Scientific name, such as `Homo sapiens`.
- `common` — Optional. Common name, such as `human`.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/organisms?q=human&limit=10` — organisms matching human.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`UniProt`), `title`, `url`, and `summary`, plus:
- `taxonId` — number.
- `scientificName`, `commonName`, `mnemonic`, `rank` — text.
Use `title` (scientific name) as `organism` when searching proteins or structures. Reuse `taxonId` as `taxonomyId` on proteins.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/geo.md — Duaer GEO
- https://skills.duaer.com/cell-lines.md — Duaer cell lines
```
## Questions
### Where do I use an organism name from Duaer?
Put the item title (scientific name) into Proteins or Structures Organism, and taxonId into Taxonomy ID.
## Related
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Search protein structures in Duaer](https://doc.duaer.com/getting-started/structures.md)
- [Search diseases in Duaer](https://doc.duaer.com/getting-started/diseases.md)
- [Search clinical trials in Duaer](https://doc.duaer.com/getting-started/trials.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/keywords.md).
# 在 Duaer 里检索关键词
在 Duaer 里用 Duaer Data 检索 UniProt 关键词。一次成功查询 1 额度。正式名可用于蛋白 Keyword。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「关键词」检索 UniProt 关键词。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「关键词」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。正式名可填进 [基因和蛋白](/zh/getting-started/proteins.md) 的 Keyword。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「关键词」。
2. 用 Words 即可(新节点默认 kinase)。Keyword ID、Name 可选。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。把 title 用作蛋白 Keyword。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/keywords?...
- Authorization: Bearer
- 字段可组合;至少填一个检索字段。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-keywords
description: >-
Duaer keywords. Search UniProt keywords. Use the name with proteins.keyword.
One successful search uses 1 Duaer credit.
---
# Duaer keywords
Search UniProt keywords. Use the name with proteins.keyword. Data comes from UniProt.
## When to use
- Get the exact UniProt keyword before searching proteins.
- Browse keywords for a protein class.
## When not to use
- Gene Ontology terms. Use https://skills.duaer.com/gene-ontology.md.
## Call
`GET https://api.duaer.com/v1/data/keywords?q=kinase&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
At least one search field is required. Fields combine. Search with `q` first; use `id` only when you already have it from a result.
- `q` — words in the keyword name or definition.
- `id` — Optional. UniProt keyword id from a result (`keywordId`), such as `KW-0418`.
- `name` — Optional. Keyword name.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/keywords?q=kinase&limit=10` — keywords matching kinase.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`UniProt`), `title`, `url`, and `summary`, plus:
- `keywordId`, `category`, `synonyms` — text.
- `reviewedProteinCount` — number.
Use `title` as `keyword` when searching proteins. Reuse `keywordId` in `id` for an exact lookup.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/gene-ontology.md — Duaer Gene Ontology
```
## Questions
### 关键词用在哪里?
把结果里的 title 填进 Duaer 基因和蛋白的 Keyword 字段。
## 相关
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里检索亚细胞定位](https://doc.duaer.com/zh/getting-started/locations.md)
- [在 Duaer 里检索基因本体](https://doc.duaer.com/zh/getting-started/gene-ontology.md)
- [在 Duaer 里检索疾病](https://doc.duaer.com/zh/getting-started/diseases.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/keywords.md).
# Search keywords in Duaer
In Duaer, search UniProt keywords with Duaer Data. One successful search uses 1 credit. Use the formal name with proteins.keyword. This page includes the full English call skill.
## What you get
Keywords in the Duaer data market searches UniProt keywords. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Keywords), or copy the skill on the [data market](/getting-started/data-market.md). Use the formal name with [Proteins](/getting-started/proteins.md) Keyword.
## Search on the canvas
1. Open the node creator, select Duaer Data, then Keywords.
2. Words alone is enough (a new node starts with kinase). Keyword ID and Name are optional.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Use title as keyword when searching proteins. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/keywords?...
- Authorization: Bearer
- Fields combine; at least one search field is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-keywords
description: >-
Duaer keywords. Search UniProt keywords. Use the name with proteins.keyword.
One successful search uses 1 Duaer credit.
---
# Duaer keywords
Search UniProt keywords. Use the name with proteins.keyword. Data comes from UniProt.
## When to use
- Get the exact UniProt keyword before searching proteins.
- Browse keywords for a protein class.
## When not to use
- Gene Ontology terms. Use https://skills.duaer.com/gene-ontology.md.
## Call
`GET https://api.duaer.com/v1/data/keywords?q=kinase&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
At least one search field is required. Fields combine. Search with `q` first; use `id` only when you already have it from a result.
- `q` — words in the keyword name or definition.
- `id` — Optional. UniProt keyword id from a result (`keywordId`), such as `KW-0418`.
- `name` — Optional. Keyword name.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/keywords?q=kinase&limit=10` — keywords matching kinase.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`UniProt`), `title`, `url`, and `summary`, plus:
- `keywordId`, `category`, `synonyms` — text.
- `reviewedProteinCount` — number.
Use `title` as `keyword` when searching proteins. Reuse `keywordId` in `id` for an exact lookup.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/gene-ontology.md — Duaer Gene Ontology
```
## Questions
### Where do I use a keyword from Duaer?
Put the item title into the Proteins Keyword field in Duaer.
## Related
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Search locations in Duaer](https://doc.duaer.com/getting-started/locations.md)
- [Search Gene Ontology in Duaer](https://doc.duaer.com/getting-started/gene-ontology.md)
- [Search diseases in Duaer](https://doc.duaer.com/getting-started/diseases.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/locations.md).
# 在 Duaer 里检索亚细胞定位
在 Duaer 里用 Duaer Data 检索 UniProt 亚细胞定位。一次成功查询 1 额度。正式名可用于蛋白 Location。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「亚细胞定位」检索 UniProt 定位词表。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「亚细胞定位」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。正式名可填进 [基因和蛋白](/zh/getting-started/proteins.md) 的 Location。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「亚细胞定位」。
2. 用 Words 即可(新节点默认 nucleus)。Location ID、Name 可选。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。把 title 用作蛋白 Location。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/locations?...
- Authorization: Bearer
- 字段可组合;至少填一个检索字段。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-locations
description: >-
Duaer locations. Search UniProt subcellular locations. Use the name with proteins.location.
One successful search uses 1 Duaer credit.
---
# Duaer locations
Search UniProt subcellular locations. Use the name with proteins.location. Data comes from UniProt.
## When to use
- Get the exact subcellular location name before searching proteins.
- Check what a location term covers.
## When not to use
- Gene Ontology cellular component terms. Use https://skills.duaer.com/gene-ontology.md.
## Call
`GET https://api.duaer.com/v1/data/locations?q=nucleus&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
At least one search field is required. Fields combine. Search with `q` first; use `id` only when you already have it from a result.
- `q` — words in the location name or definition.
- `id` — Optional. UniProt location id from a result (`locationId`), such as `SL-0191`.
- `name` — Optional. Location name.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/locations?q=nucleus&limit=10` — locations matching nucleus.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`UniProt`), `title`, `url`, and `summary`, plus:
- `locationId`, `category`, `synonyms` — text.
- `reviewedProteinCount` — number.
Use `title` as `location` when searching proteins. Reuse `locationId` in `id` for an exact lookup.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/genes.md — Duaer genes
```
## Questions
### 定位名用在哪里?
把结果里的 title 填进 Duaer 基因和蛋白的 Location 字段。
## 相关
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里检索关键词](https://doc.duaer.com/zh/getting-started/keywords.md)
- [在 Duaer 里检索基因本体](https://doc.duaer.com/zh/getting-started/gene-ontology.md)
- [在 Duaer 里检索物种](https://doc.duaer.com/zh/getting-started/organisms.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/locations.md).
# Search locations in Duaer
In Duaer, search UniProt subcellular locations with Duaer Data. One successful search uses 1 credit. Use the formal name with proteins.location. This page includes the full English call skill.
## What you get
Locations in the Duaer data market searches UniProt subcellular locations. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Locations), or copy the skill on the [data market](/getting-started/data-market.md). Use the formal name with [Proteins](/getting-started/proteins.md) Location.
## Search on the canvas
1. Open the node creator, select Duaer Data, then Locations.
2. Words alone is enough (a new node starts with nucleus). Location ID and Name are optional.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Use title as location when searching proteins. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/locations?...
- Authorization: Bearer
- Fields combine; at least one search field is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-locations
description: >-
Duaer locations. Search UniProt subcellular locations. Use the name with proteins.location.
One successful search uses 1 Duaer credit.
---
# Duaer locations
Search UniProt subcellular locations. Use the name with proteins.location. Data comes from UniProt.
## When to use
- Get the exact subcellular location name before searching proteins.
- Check what a location term covers.
## When not to use
- Gene Ontology cellular component terms. Use https://skills.duaer.com/gene-ontology.md.
## Call
`GET https://api.duaer.com/v1/data/locations?q=nucleus&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
At least one search field is required. Fields combine. Search with `q` first; use `id` only when you already have it from a result.
- `q` — words in the location name or definition.
- `id` — Optional. UniProt location id from a result (`locationId`), such as `SL-0191`.
- `name` — Optional. Location name.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/locations?q=nucleus&limit=10` — locations matching nucleus.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`UniProt`), `title`, `url`, and `summary`, plus:
- `locationId`, `category`, `synonyms` — text.
- `reviewedProteinCount` — number.
Use `title` as `location` when searching proteins. Reuse `locationId` in `id` for an exact lookup.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/genes.md — Duaer genes
```
## Questions
### Where do I use a location from Duaer?
Put the item title into the Proteins Location field in Duaer.
## Related
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Search keywords in Duaer](https://doc.duaer.com/getting-started/keywords.md)
- [Search Gene Ontology in Duaer](https://doc.duaer.com/getting-started/gene-ontology.md)
- [Search organisms in Duaer](https://doc.duaer.com/getting-started/organisms.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/gene-ontology.md).
# 在 Duaer 里检索基因本体
在 Duaer 里用 Duaer Data 检索 Gene Ontology 术语。一次成功查询 1 额度。名称或 GO 编号可用于蛋白 Gene Ontology。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「基因本体」检索 Gene Ontology。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「基因本体」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。名称或 goId 可填进 [基因和蛋白](/zh/getting-started/proteins.md) 的 Gene Ontology。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「基因本体」。
2. 用 Words 即可(新节点默认 apoptosis)。GO ID、Name 可选。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。把 title 或 goId 用作蛋白 Gene Ontology。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/gene-ontology?...
- Authorization: Bearer
- 字段可组合;至少填一个检索字段。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-gene-ontology
description: >-
Duaer Gene Ontology. Search Gene Ontology terms. Use the name or id with proteins.go.
One successful search uses 1 Duaer credit.
---
# Duaer Gene Ontology
Search Gene Ontology terms. Use the name or id with proteins.go. Data comes from QuickGO.
## When to use
- Get a GO term name or id before searching proteins.
- Check the definition of a biological process, function, or component.
## When not to use
- GO annotations for one gene product. Use https://skills.duaer.com/goa.md.
## Call
`GET https://api.duaer.com/v1/data/gene-ontology?q=apoptosis&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `q`, `name`, or `id`. When you send more than one, Duaer uses `id`, else `name`, else `q`. Search with `q` first; use `id` only when you already have it from a result.
- `q` — words in the term name or definition.
- `id` — Optional. Gene Ontology id from a result (`goId`), such as `GO:0006915`.
- `name` — Optional. Term name.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/gene-ontology?q=apoptosis&limit=10` — GO terms matching apoptosis.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`QuickGO`), `title`, `url`, and `summary`, plus:
- `goId`, `aspect` — text.
- `obsolete` — true or false.
Use `title` or `goId` as `go` when searching proteins. Reuse `goId` in `id` for an exact lookup.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/pathways.md — Duaer pathways
```
## Questions
### GO 术语用在哪里?
把结果里的 title 或 goId 填进 Duaer 基因和蛋白的 Gene Ontology 字段。
## 相关
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里检索关键词](https://doc.duaer.com/zh/getting-started/keywords.md)
- [在 Duaer 里检索亚细胞定位](https://doc.duaer.com/zh/getting-started/locations.md)
- [在 Duaer 里检索疾病](https://doc.duaer.com/zh/getting-started/diseases.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/gene-ontology.md).
# Search Gene Ontology in Duaer
In Duaer, search Gene Ontology terms with Duaer Data. One successful search uses 1 credit. Use the name or goId with proteins.go. This page includes the full English call skill.
## What you get
Gene Ontology in the Duaer data market searches GO terms. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Gene Ontology), or copy the skill on the [data market](/getting-started/data-market.md). Use the name or goId with [Proteins](/getting-started/proteins.md) Gene Ontology.
## Search on the canvas
1. Open the node creator, select Duaer Data, then Gene Ontology.
2. Words alone is enough (a new node starts with apoptosis). GO ID and Name are optional.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Use title or goId as go when searching proteins. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/gene-ontology?...
- Authorization: Bearer
- Fields combine; at least one search field is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-gene-ontology
description: >-
Duaer Gene Ontology. Search Gene Ontology terms. Use the name or id with proteins.go.
One successful search uses 1 Duaer credit.
---
# Duaer Gene Ontology
Search Gene Ontology terms. Use the name or id with proteins.go. Data comes from QuickGO.
## When to use
- Get a GO term name or id before searching proteins.
- Check the definition of a biological process, function, or component.
## When not to use
- GO annotations for one gene product. Use https://skills.duaer.com/goa.md.
## Call
`GET https://api.duaer.com/v1/data/gene-ontology?q=apoptosis&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `q`, `name`, or `id`. When you send more than one, Duaer uses `id`, else `name`, else `q`. Search with `q` first; use `id` only when you already have it from a result.
- `q` — words in the term name or definition.
- `id` — Optional. Gene Ontology id from a result (`goId`), such as `GO:0006915`.
- `name` — Optional. Term name.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/gene-ontology?q=apoptosis&limit=10` — GO terms matching apoptosis.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`QuickGO`), `title`, `url`, and `summary`, plus:
- `goId`, `aspect` — text.
- `obsolete` — true or false.
Use `title` or `goId` as `go` when searching proteins. Reuse `goId` in `id` for an exact lookup.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/pathways.md — Duaer pathways
```
## Questions
### Where do I use a GO term from Duaer?
Put the item title or goId into the Proteins Gene Ontology field in Duaer.
## Related
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Search keywords in Duaer](https://doc.duaer.com/getting-started/keywords.md)
- [Search locations in Duaer](https://doc.duaer.com/getting-started/locations.md)
- [Search diseases in Duaer](https://doc.duaer.com/getting-started/diseases.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/pathways.md).
# 在 Duaer 里检索通路
在 Duaer 里用 Duaer Data 检索 Reactome 通路。一次成功查询 1 额度。把 pathwayId 填进蛋白 Pathway。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「通路」检索 Reactome。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「通路」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。pathwayId 可填进 [基因和蛋白](/zh/getting-started/proteins.md) 的 Pathway。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「通路」。
2. 用 Words 即可(新节点默认 insulin)。Pathway ID、Name 可选。词语检索默认 Homo sapiens;成功后会补全详情字段(doi、GO、图、日期等)。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。把 pathwayId 用作蛋白 Pathway。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/pathways?...
- Authorization: Bearer
- 字段可组合;至少填一个检索字段。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-pathways
description: >-
Duaer pathways. Search Reactome pathways. Use the pathwayId with proteins.pathway.
One successful search uses 1 Duaer credit.
---
# Duaer pathways
Search Reactome pathways. Use the pathwayId with proteins.pathway. Data comes from Reactome.
## When to use
- Get a Reactome pathway id before searching proteins.
- Find human pathways for a process or molecule.
## When not to use
- KEGG pathways. Use https://skills.duaer.com/kegg.md.
## Call
`GET https://api.duaer.com/v1/data/pathways?q=insulin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `q`, `name`, or `id`. When you send more than one, Duaer uses `id`, else `name`, else `q`. Search with `q` first; use `id` only when you already have it from a result. Word searches default to Homo sapiens pathways.
- `q` — words in the pathway name or summary.
- `id` — Optional. Reactome pathway id from a result (`pathwayId`), such as `R-HSA-264876`.
- `name` — Optional. Pathway name.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/pathways?q=insulin&limit=10` — human Reactome pathways matching insulin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Reactome`), `title`, `url`, and `summary`, plus:
- `pathwayId`, `dbId`, `stIdVersion`, `species`, `browserUrl`, `diagramUrl`, `figureUrl` — text.
- `hasDiagram`, `hasEHLD`, `isDisease` — true or false.
- `doi`, `releaseDate`, `lastUpdatedDate`, `compartments`, `compartmentAccessions`, `goId`, `goName`, `schemaClass` — text.
Use `pathwayId` as `pathway` when searching proteins. Reuse `pathwayId` in `id` for an exact lookup.
Open `browserUrl` for the interactive Reactome diagram, or `diagramUrl` for a PNG export.
Open `browserUrl` for the interactive Reactome diagram, or `diagramUrl` for a PNG export. Words and name searches are enriched with Reactome detail (doi, GO, figure, dates, diagram flags), same as an id lookup.
Words and name searches are enriched with Reactome detail, same as an id lookup.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/reactions.md — Duaer reactions
```
## Questions
### 通路编号用在哪里?
把结果里的 pathwayId 填进 Duaer 基因和蛋白的 Pathway 字段。
### 通路图在哪里看?
打开结果里的 browserUrl 看 Reactome 交互图,或用 diagramUrl 下载 PNG。
## 相关
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里检索基因本体](https://doc.duaer.com/zh/getting-started/gene-ontology.md)
- [在 Duaer 里检索关键词](https://doc.duaer.com/zh/getting-started/keywords.md)
- [在 Duaer 里检索疾病](https://doc.duaer.com/zh/getting-started/diseases.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/pathways.md).
# Search pathways in Duaer
In Duaer, search Reactome pathways with Duaer Data. One successful search uses 1 credit. Use pathwayId with proteins.pathway. This page includes the full English call skill.
## What you get
Pathways in the Duaer data market searches Reactome. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Pathways), or copy the skill on the [data market](/getting-started/data-market.md). Use pathwayId with [Proteins](/getting-started/proteins.md) Pathway.
## Search on the canvas
1. Open the node creator, select Duaer Data, then Pathways.
2. Words alone is enough (a new node starts with insulin). Pathway ID and Name are optional. Word searches default to Homo sapiens and are enriched with Reactome detail (doi, GO, figure, dates, and diagram flags).
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Use pathwayId as pathway when searching proteins. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/pathways?...
- Authorization: Bearer
- Fields combine; at least one search field is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-pathways
description: >-
Duaer pathways. Search Reactome pathways. Use the pathwayId with proteins.pathway.
One successful search uses 1 Duaer credit.
---
# Duaer pathways
Search Reactome pathways. Use the pathwayId with proteins.pathway. Data comes from Reactome.
## When to use
- Get a Reactome pathway id before searching proteins.
- Find human pathways for a process or molecule.
## When not to use
- KEGG pathways. Use https://skills.duaer.com/kegg.md.
## Call
`GET https://api.duaer.com/v1/data/pathways?q=insulin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `q`, `name`, or `id`. When you send more than one, Duaer uses `id`, else `name`, else `q`. Search with `q` first; use `id` only when you already have it from a result. Word searches default to Homo sapiens pathways.
- `q` — words in the pathway name or summary.
- `id` — Optional. Reactome pathway id from a result (`pathwayId`), such as `R-HSA-264876`.
- `name` — Optional. Pathway name.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/pathways?q=insulin&limit=10` — human Reactome pathways matching insulin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Reactome`), `title`, `url`, and `summary`, plus:
- `pathwayId`, `dbId`, `stIdVersion`, `species`, `browserUrl`, `diagramUrl`, `figureUrl` — text.
- `hasDiagram`, `hasEHLD`, `isDisease` — true or false.
- `doi`, `releaseDate`, `lastUpdatedDate`, `compartments`, `compartmentAccessions`, `goId`, `goName`, `schemaClass` — text.
Use `pathwayId` as `pathway` when searching proteins. Reuse `pathwayId` in `id` for an exact lookup.
Open `browserUrl` for the interactive Reactome diagram, or `diagramUrl` for a PNG export.
Open `browserUrl` for the interactive Reactome diagram, or `diagramUrl` for a PNG export. Words and name searches are enriched with Reactome detail (doi, GO, figure, dates, diagram flags), same as an id lookup.
Words and name searches are enriched with Reactome detail, same as an id lookup.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/reactions.md — Duaer reactions
```
## Questions
### Where do I use a pathway from Duaer?
Put the item pathwayId into the Proteins Pathway field in Duaer.
### Where is the pathway diagram in Duaer?
Open browserUrl for the interactive Reactome diagram, or diagramUrl for a PNG.
## Related
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Search Gene Ontology in Duaer](https://doc.duaer.com/getting-started/gene-ontology.md)
- [Search keywords in Duaer](https://doc.duaer.com/getting-started/keywords.md)
- [Search diseases in Duaer](https://doc.duaer.com/getting-started/diseases.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/genes.md).
# 在 Duaer 里检索基因
在 Duaer 里用 Duaer Data 检索基因。一次成功查询 1 额度。符号可用于蛋白 Gene。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「基因」检索公开基因库。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「基因」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。符号可填进 [基因和蛋白](/zh/getting-started/proteins.md) 的 Gene。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「基因」。
2. 用 Words 即可(新节点默认 INS)。Symbol、Gene ID、Species 可选。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。把 symbol 用作蛋白 Gene。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/genes?...
- Authorization: Bearer
- 字段可组合;至少填一个检索字段。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-genes
description: >-
Duaer genes. MyGene.info genes by words, official symbol, or NCBI Gene id, with name, aliases, Ensembl id, species, and map location.
One successful search uses 1 Duaer credit.
---
# Duaer genes
Duaer genes searches MyGene.info for genes. It uses one search field: `id` first, then `symbol`, then `q`.
## When to use
- Turn a gene symbol or name into an NCBI Gene id and Ensembl id.
- Check aliases and the chromosome location of a gene.
- Get the official symbol before searching proteins or variants.
## When not to use
- Protein function, disease, and location. Use https://skills.duaer.com/proteins.md.
- Variants in a gene. Use https://skills.duaer.com/variants.md.
- Official HGNC nomenclature records. Use https://skills.duaer.com/hgnc.md.
## Call
`GET https://api.duaer.com/v1/data/genes?symbol=INS`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `q`, `symbol`, or `id`. When you send more than one, Duaer uses `id` if it is a number, else `symbol`, else `q`.
- `q` — Words in the gene symbol, name, or summary.
- `symbol` — Official gene symbol, such as `INS`.
- `id` — NCBI Gene id, such as `3630`. Reuse `geneId` from a result for an exact lookup.
- `species` — Optional. Species for `q` and `symbol`, such as `human`, `mouse`, or a taxonomy id. Default `human`. Ignored with `id`.
- `limit` — Optional. Rows to return, from 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/genes?symbol=INS` — human insulin gene.
- `GET https://api.duaer.com/v1/data/genes?symbol=Trp53&species=mouse` — mouse p53 gene.
- `GET https://api.duaer.com/v1/data/genes?id=3630` — one gene by NCBI Gene id.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`MyGene`), `title`, `url`, and `summary`, plus:
- `geneId` — NCBI Gene id.
- `symbol`, `name` — official symbol and full name.
- `aliases` — other symbols.
- `ensemblId` — Ensembl gene id.
- `taxId` — NCBI taxonomy id of the species.
- `mapLocation` — cytogenetic location, such as `11p15.5`.
- `typeOfGene` — gene type, such as `protein-coding`.
Use `symbol` as `gene` in https://skills.duaer.com/proteins.md and https://skills.duaer.com/variants.md.
For tissue expression, use https://skills.duaer.com/expression.md.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/variants.md — Duaer variants
- https://skills.duaer.com/pathways.md — Duaer pathways
- https://skills.duaer.com/gene-ontology.md — Duaer Gene Ontology
- https://skills.duaer.com/expression.md — Duaer expression
- https://skills.duaer.com/atlas.md — Duaer tissue atlas
- https://skills.duaer.com/geo.md — Duaer GEO
- https://skills.duaer.com/drug-gene.md — Duaer drug–gene
- https://skills.duaer.com/life-research-brief.md — Digital employee: Life research brief
```
## Questions
### 基因符号用在哪里?
把结果里的 symbol 填进 Duaer 基因和蛋白的 Gene 字段。
## 相关
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里检索物种](https://doc.duaer.com/zh/getting-started/organisms.md)
- [在 Duaer 里检索基因本体](https://doc.duaer.com/zh/getting-started/gene-ontology.md)
- [在 Duaer 里检索通路](https://doc.duaer.com/zh/getting-started/pathways.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/genes.md).
# Search genes in Duaer
In Duaer, search genes with Duaer Data. One successful search uses 1 credit. Use the symbol with proteins.gene. This page includes the full English call skill.
## What you get
Genes in the Duaer data market searches public gene records. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Genes), or copy the skill on the [data market](/getting-started/data-market.md). Use the symbol with [Proteins](/getting-started/proteins.md) Gene.
## Search on the canvas
1. Open the node creator, select Duaer Data, then Genes.
2. Words alone is enough (a new node starts with INS). Symbol, Gene ID, and Species are optional.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Use symbol as gene when searching proteins. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/genes?...
- Authorization: Bearer
- Fields combine; at least one search field is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-genes
description: >-
Duaer genes. MyGene.info genes by words, official symbol, or NCBI Gene id, with name, aliases, Ensembl id, species, and map location.
One successful search uses 1 Duaer credit.
---
# Duaer genes
Duaer genes searches MyGene.info for genes. It uses one search field: `id` first, then `symbol`, then `q`.
## When to use
- Turn a gene symbol or name into an NCBI Gene id and Ensembl id.
- Check aliases and the chromosome location of a gene.
- Get the official symbol before searching proteins or variants.
## When not to use
- Protein function, disease, and location. Use https://skills.duaer.com/proteins.md.
- Variants in a gene. Use https://skills.duaer.com/variants.md.
- Official HGNC nomenclature records. Use https://skills.duaer.com/hgnc.md.
## Call
`GET https://api.duaer.com/v1/data/genes?symbol=INS`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `q`, `symbol`, or `id`. When you send more than one, Duaer uses `id` if it is a number, else `symbol`, else `q`.
- `q` — Words in the gene symbol, name, or summary.
- `symbol` — Official gene symbol, such as `INS`.
- `id` — NCBI Gene id, such as `3630`. Reuse `geneId` from a result for an exact lookup.
- `species` — Optional. Species for `q` and `symbol`, such as `human`, `mouse`, or a taxonomy id. Default `human`. Ignored with `id`.
- `limit` — Optional. Rows to return, from 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/genes?symbol=INS` — human insulin gene.
- `GET https://api.duaer.com/v1/data/genes?symbol=Trp53&species=mouse` — mouse p53 gene.
- `GET https://api.duaer.com/v1/data/genes?id=3630` — one gene by NCBI Gene id.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`MyGene`), `title`, `url`, and `summary`, plus:
- `geneId` — NCBI Gene id.
- `symbol`, `name` — official symbol and full name.
- `aliases` — other symbols.
- `ensemblId` — Ensembl gene id.
- `taxId` — NCBI taxonomy id of the species.
- `mapLocation` — cytogenetic location, such as `11p15.5`.
- `typeOfGene` — gene type, such as `protein-coding`.
Use `symbol` as `gene` in https://skills.duaer.com/proteins.md and https://skills.duaer.com/variants.md.
For tissue expression, use https://skills.duaer.com/expression.md.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/variants.md — Duaer variants
- https://skills.duaer.com/pathways.md — Duaer pathways
- https://skills.duaer.com/gene-ontology.md — Duaer Gene Ontology
- https://skills.duaer.com/expression.md — Duaer expression
- https://skills.duaer.com/atlas.md — Duaer tissue atlas
- https://skills.duaer.com/geo.md — Duaer GEO
- https://skills.duaer.com/drug-gene.md — Duaer drug–gene
- https://skills.duaer.com/life-research-brief.md — Digital employee: Life research brief
```
## Questions
### Where do I use a gene from Duaer?
Put the item symbol into the Proteins Gene field in Duaer.
## Related
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Search organisms in Duaer](https://doc.duaer.com/getting-started/organisms.md)
- [Search Gene Ontology in Duaer](https://doc.duaer.com/getting-started/gene-ontology.md)
- [Search pathways in Duaer](https://doc.duaer.com/getting-started/pathways.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/variants.md).
# 在 Duaer 里检索变异
在 Duaer 里用 Duaer Data 检索变异(ClinVar / dbSNP)。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「变异」检索公开变异记录。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「变异」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。基因符号可先在 [基因](/zh/getting-started/genes.md) 查。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「变异」。
2. 用 Words 即可(新节点默认 rs113488022)。rs ID、Gene、Variant ID 可选。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/variants?...
- Authorization: Bearer
- 字段可组合;至少填一个检索字段。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-variants
description: >-
Duaer variants. ClinVar and dbSNP variants from MyVariant.info by rs id, gene symbol, words, or HGVS id, with clinical significance and alleles.
One successful search uses 1 Duaer credit.
---
# Duaer variants
Duaer variants searches MyVariant.info, which merges ClinVar and dbSNP. It uses one search field: `id` first, then `rsid`, then `gene`, then `q`.
## When to use
- Check the clinical significance of an rs id.
- List ClinVar variants in a gene.
- Get the reference and alternate allele of a variant.
## When not to use
- Population allele frequencies. Use https://skills.duaer.com/gnomad.md.
- Variant effect prediction. Use https://skills.duaer.com/ensembl-vep.md.
- Trait associations from GWAS. Use https://skills.duaer.com/gwas.md.
## Call
`GET https://api.duaer.com/v1/data/variants?rsid=rs113488022`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `q`, `rsid`, `gene`, or `id`. When you send more than one, Duaer uses `id`, else `rsid`, else `gene`, else `q`.
- `q` — Words, such as an rs id.
- `rsid` — dbSNP rs id, such as `rs113488022`. A number without `rs` also works.
- `gene` — Gene symbol with ClinVar records, such as `BRAF`. Look up symbols with https://skills.duaer.com/genes.md.
- `id` — HGVS genomic id, such as `chr7:g.140453136A>T`. Reuse `variantId` from a result for an exact lookup.
- `limit` — Optional. Rows to return, from 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/variants?rsid=rs113488022` — BRAF V600E by rs id.
- `GET https://api.duaer.com/v1/data/variants?gene=BRCA1&limit=20` — ClinVar variants in BRCA1.
- `GET https://api.duaer.com/v1/data/variants?id=chr7:g.140453136A%3ET` — one variant by HGVS id.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`MyVariant`), `title`, `url`, and `summary`, plus:
- `variantId` — HGVS genomic id.
- `rsid` — dbSNP rs id.
- `gene` — gene symbol.
- `hgvsProtein` — protein change, such as `p.Val600Glu`.
- `clinicalSignificance` — ClinVar significance, such as `Pathogenic`.
- `chrom`, `ref`, `alt` — chromosome and alleles.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/life-research-brief.md — Digital employee: Life research brief
```
## Questions
### 变异编号用在哪里?
把结果里的 variantId 填回 Duaer 变异的 Variant ID,做精确查询。
## 相关
- [在 Duaer 里检索基因](https://doc.duaer.com/zh/getting-started/genes.md)
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里检索疾病](https://doc.duaer.com/zh/getting-started/diseases.md)
- [在 Duaer 里检索通路](https://doc.duaer.com/zh/getting-started/pathways.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/variants.md).
# Search variants in Duaer
In Duaer, search variants with Duaer Data (ClinVar / dbSNP). One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Variants in the Duaer data market searches public ClinVar / dbSNP records. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Variants), or copy the skill on the [data market](/getting-started/data-market.md). Look up gene symbols with [Genes](/getting-started/genes.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Variants.
2. Words alone is enough (a new node starts with rs113488022). rs ID, Gene, and Variant ID are optional.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/variants?...
- Authorization: Bearer
- Fields combine; at least one search field is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-variants
description: >-
Duaer variants. ClinVar and dbSNP variants from MyVariant.info by rs id, gene symbol, words, or HGVS id, with clinical significance and alleles.
One successful search uses 1 Duaer credit.
---
# Duaer variants
Duaer variants searches MyVariant.info, which merges ClinVar and dbSNP. It uses one search field: `id` first, then `rsid`, then `gene`, then `q`.
## When to use
- Check the clinical significance of an rs id.
- List ClinVar variants in a gene.
- Get the reference and alternate allele of a variant.
## When not to use
- Population allele frequencies. Use https://skills.duaer.com/gnomad.md.
- Variant effect prediction. Use https://skills.duaer.com/ensembl-vep.md.
- Trait associations from GWAS. Use https://skills.duaer.com/gwas.md.
## Call
`GET https://api.duaer.com/v1/data/variants?rsid=rs113488022`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `q`, `rsid`, `gene`, or `id`. When you send more than one, Duaer uses `id`, else `rsid`, else `gene`, else `q`.
- `q` — Words, such as an rs id.
- `rsid` — dbSNP rs id, such as `rs113488022`. A number without `rs` also works.
- `gene` — Gene symbol with ClinVar records, such as `BRAF`. Look up symbols with https://skills.duaer.com/genes.md.
- `id` — HGVS genomic id, such as `chr7:g.140453136A>T`. Reuse `variantId` from a result for an exact lookup.
- `limit` — Optional. Rows to return, from 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/variants?rsid=rs113488022` — BRAF V600E by rs id.
- `GET https://api.duaer.com/v1/data/variants?gene=BRCA1&limit=20` — ClinVar variants in BRCA1.
- `GET https://api.duaer.com/v1/data/variants?id=chr7:g.140453136A%3ET` — one variant by HGVS id.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`MyVariant`), `title`, `url`, and `summary`, plus:
- `variantId` — HGVS genomic id.
- `rsid` — dbSNP rs id.
- `gene` — gene symbol.
- `hgvsProtein` — protein change, such as `p.Val600Glu`.
- `clinicalSignificance` — ClinVar significance, such as `Pathogenic`.
- `chrom`, `ref`, `alt` — chromosome and alleles.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/life-research-brief.md — Digital employee: Life research brief
```
## Questions
### Where do I reuse a variant from Duaer?
Put the item variantId into the Variants Variant ID field in Duaer for an exact lookup.
## Related
- [Search genes in Duaer](https://doc.duaer.com/getting-started/genes.md)
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Search diseases in Duaer](https://doc.duaer.com/getting-started/diseases.md)
- [Search pathways in Duaer](https://doc.duaer.com/getting-started/pathways.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/domains.md).
# 在 Duaer 里检索结构域
在 Duaer 里用 Duaer Data 检索 InterPro 结构域。一次成功查询 1 额度。domainId 可用于蛋白 Domain。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「结构域」检索 InterPro。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「结构域」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。domainId 可填进 [基因和蛋白](/zh/getting-started/proteins.md) 的 Domain。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「结构域」。
2. 用 Words 即可(新节点默认 kinase)。Domain ID、Name 可选。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。把 domainId 用作蛋白 Domain。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/domains?...
- Authorization: Bearer
- 字段可组合;至少填一个检索字段。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-domains
description: >-
Duaer domains. Search InterPro domains. Use the domainId with proteins.domain.
One successful search uses 1 Duaer credit.
---
# Duaer domains
Search InterPro domains. Use the domainId with proteins.domain. Data comes from InterPro.
## When to use
- Get an InterPro domain id before searching proteins.
- Find domain families for a protein function.
## When not to use
- Pfam families only. Use https://skills.duaer.com/pfam.md.
## Call
`GET https://api.duaer.com/v1/data/domains?q=kinase&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `q`, `name`, or `id`. An InterPro id in `id` is an exact lookup. Otherwise Duaer searches `q`, else `name`, else the `id` text. Search with `q` first; use `id` only when you already have an InterPro id from a result.
- `q` — words in the domain name or description.
- `id` — Optional. InterPro id from a result (`domainId`), such as `IPR000719`.
- `name` — Optional. Domain name.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/domains?q=kinase&limit=10` — InterPro domains matching kinase.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`InterPro`), `title`, `url`, and `summary`, plus:
- `domainId`, `type`, `shortName`, `goIds`, `memberDatabases` — text.
Use `domainId` as `domain` when searching proteins. Reuse `domainId` in `id` for an exact lookup.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/gene-ontology.md — Duaer Gene Ontology
- https://skills.duaer.com/pathways.md — Duaer pathways
```
## Questions
### 结构域编号用在哪里?
把结果里的 domainId 填进 Duaer 基因和蛋白的 Domain 字段。
## 相关
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里检索基因本体](https://doc.duaer.com/zh/getting-started/gene-ontology.md)
- [在 Duaer 里检索通路](https://doc.duaer.com/zh/getting-started/pathways.md)
- [在 Duaer 里检索基因](https://doc.duaer.com/zh/getting-started/genes.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/domains.md).
# Search domains in Duaer
In Duaer, search InterPro domains with Duaer Data. One successful search uses 1 credit. Use domainId with proteins.domain. This page includes the full English call skill.
## What you get
Domains in the Duaer data market searches InterPro. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Domains), or copy the skill on the [data market](/getting-started/data-market.md). Use domainId with [Proteins](/getting-started/proteins.md) Domain.
## Search on the canvas
1. Open the node creator, select Duaer Data, then Domains.
2. Words alone is enough (a new node starts with kinase). Domain ID and Name are optional.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Use domainId as domain when searching proteins. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/domains?...
- Authorization: Bearer
- Fields combine; at least one search field is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-domains
description: >-
Duaer domains. Search InterPro domains. Use the domainId with proteins.domain.
One successful search uses 1 Duaer credit.
---
# Duaer domains
Search InterPro domains. Use the domainId with proteins.domain. Data comes from InterPro.
## When to use
- Get an InterPro domain id before searching proteins.
- Find domain families for a protein function.
## When not to use
- Pfam families only. Use https://skills.duaer.com/pfam.md.
## Call
`GET https://api.duaer.com/v1/data/domains?q=kinase&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `q`, `name`, or `id`. An InterPro id in `id` is an exact lookup. Otherwise Duaer searches `q`, else `name`, else the `id` text. Search with `q` first; use `id` only when you already have an InterPro id from a result.
- `q` — words in the domain name or description.
- `id` — Optional. InterPro id from a result (`domainId`), such as `IPR000719`.
- `name` — Optional. Domain name.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/domains?q=kinase&limit=10` — InterPro domains matching kinase.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`InterPro`), `title`, `url`, and `summary`, plus:
- `domainId`, `type`, `shortName`, `goIds`, `memberDatabases` — text.
Use `domainId` as `domain` when searching proteins. Reuse `domainId` in `id` for an exact lookup.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/gene-ontology.md — Duaer Gene Ontology
- https://skills.duaer.com/pathways.md — Duaer pathways
```
## Questions
### Where do I use a domain from Duaer?
Put the item domainId into the Proteins Domain field in Duaer.
## Related
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Search Gene Ontology in Duaer](https://doc.duaer.com/getting-started/gene-ontology.md)
- [Search pathways in Duaer](https://doc.duaer.com/getting-started/pathways.md)
- [Search genes in Duaer](https://doc.duaer.com/getting-started/genes.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/preprints.md).
# 在 Duaer 里检索预印本
在 Duaer 里用 Duaer Data 检索 bioRxiv / medRxiv 预印本(Europe PMC)。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「预印本」检索 bioRxiv 与 medRxiv。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「预印本」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。正式发表论文见 [论文](/zh/getting-started/papers.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「预印本」。
2. 用 Words 即可(新节点默认 insulin)。Title、Author、DOI、Server、Year From/To 可选。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/preprints?...
- Authorization: Bearer
- 字段可组合;至少填一个检索字段(不能只填 Server)。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-preprints
description: >-
Duaer preprints. Search bioRxiv and medRxiv preprints (Europe PMC).
One successful search uses 1 Duaer credit.
---
# Duaer preprints
Search bioRxiv and medRxiv preprints (Europe PMC). Data comes from EuropePMC.
## When to use
- Find recent bioRxiv or medRxiv preprints on a topic.
- Filter preprints by author, DOI, or year.
## When not to use
- Published papers. Use https://skills.duaer.com/papers.md.
## Call
`GET https://api.duaer.com/v1/data/preprints?q=insulin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
At least one search field is required (not `server` alone). Fields combine.
- `q` — words in the title or abstract.
- `title` — Optional. Words in the title.
- `author` — Optional. Author name.
- `doi` — Optional. Digital object identifier.
- `server` — Optional. `bioRxiv` or `medRxiv`. Omit for both.
- `yearFrom` — Optional. First publication year (1000–2100).
- `yearTo` — Optional. Last publication year (1000–2100).
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/preprints?q=insulin&limit=10` — preprints matching insulin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`EuropePMC`), `title`, `url`, and `summary`, plus:
- `preprintId`, `doi`, `server`, `authors`, `published` — text.
- `year` — number.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/papers.md — Duaer papers
- https://skills.duaer.com/genes.md — Duaer genes
```
## Questions
### 预印本和论文有什么区别?
Duaer 预印本检索 bioRxiv / medRxiv;Duaer 论文检索已发表文献(OpenAlex)。
## 相关
- [在 Duaer 里检索论文](https://doc.duaer.com/zh/getting-started/papers.md)
- [在 Duaer 里检索基因](https://doc.duaer.com/zh/getting-started/genes.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/preprints.md).
# Search preprints in Duaer
In Duaer, search bioRxiv and medRxiv preprints with Duaer Data (Europe PMC). One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Preprints in the Duaer data market searches bioRxiv and medRxiv via Europe PMC. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Preprints), or copy the skill on the [data market](/getting-started/data-market.md). For published papers, refer to [Papers](/getting-started/papers.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Preprints.
2. Words alone is enough (a new node starts with insulin). Title, Author, DOI, Server, and Year From/To are optional.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/preprints?...
- Authorization: Bearer
- Fields combine; at least one search field is required (not Server alone).
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-preprints
description: >-
Duaer preprints. Search bioRxiv and medRxiv preprints (Europe PMC).
One successful search uses 1 Duaer credit.
---
# Duaer preprints
Search bioRxiv and medRxiv preprints (Europe PMC). Data comes from EuropePMC.
## When to use
- Find recent bioRxiv or medRxiv preprints on a topic.
- Filter preprints by author, DOI, or year.
## When not to use
- Published papers. Use https://skills.duaer.com/papers.md.
## Call
`GET https://api.duaer.com/v1/data/preprints?q=insulin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
At least one search field is required (not `server` alone). Fields combine.
- `q` — words in the title or abstract.
- `title` — Optional. Words in the title.
- `author` — Optional. Author name.
- `doi` — Optional. Digital object identifier.
- `server` — Optional. `bioRxiv` or `medRxiv`. Omit for both.
- `yearFrom` — Optional. First publication year (1000–2100).
- `yearTo` — Optional. Last publication year (1000–2100).
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/preprints?q=insulin&limit=10` — preprints matching insulin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`EuropePMC`), `title`, `url`, and `summary`, plus:
- `preprintId`, `doi`, `server`, `authors`, `published` — text.
- `year` — number.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/papers.md — Duaer papers
- https://skills.duaer.com/genes.md — Duaer genes
```
## Questions
### How do Duaer preprints differ from papers?
Duaer Preprints searches bioRxiv and medRxiv. Duaer Papers searches published works (OpenAlex).
## Related
- [Search papers in Duaer](https://doc.duaer.com/getting-started/papers.md)
- [Search genes in Duaer](https://doc.duaer.com/getting-started/genes.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/grants.md).
# 在 Duaer 里检索基金
在 Duaer 里用 Duaer Data 检索 NIH 基金与项目(RePORTER)。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「基金」检索 NIH RePORTER。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「基金」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。相关文献见 [论文](/zh/getting-started/papers.md) 与 [预印本](/zh/getting-started/preprints.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「基金」。
2. 用 Words 即可(新节点默认 insulin)。PI、Organization、Project number、Year From/To 可选。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/grants?...
- Authorization: Bearer
- 字段可组合;至少填一个检索字段。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-grants
description: >-
Duaer grants. Search NIH grants (NIH RePORTER).
One successful search uses 1 Duaer credit.
---
# Duaer grants
Search NIH grants (NIH RePORTER). Data comes from NIH RePORTER.
## When to use
- Find NIH-funded projects on a topic.
- List grants for a principal investigator or organization.
## When not to use
- NSF awards. Use https://skills.duaer.com/nsf-awards.md.
## Call
`GET https://api.duaer.com/v1/data/grants?q=insulin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
At least one search field is required. Fields combine.
- `q` — words in the project title, terms, or abstract.
- `pi` — Optional. Principal investigator name.
- `organization` — Optional. Awardee organization name.
- `projectNum` — Optional. NIH project number, such as `5P20GM152335-03`.
- `yearFrom` — Optional. First fiscal year (1000–2100).
- `yearTo` — Optional. Last fiscal year (1000–2100).
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/grants?q=insulin&limit=10` — NIH grants matching insulin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`NIH RePORTER`), `title`, `url`, and `summary`, plus:
- `projectNum`, `applId`, `pi`, `organization`, `agency` — text.
- `fiscalYear`, `awardAmount` — number.
- `activityCode`, `startDate`, `endDate` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/papers.md — Duaer papers
- https://skills.duaer.com/preprints.md — Duaer preprints
```
## Questions
### 基金结果里的编号是什么?
projectNum 是 NIH 项目编号;applId 对应 RePORTER 详情页。
## 相关
- [在 Duaer 里检索论文](https://doc.duaer.com/zh/getting-started/papers.md)
- [在 Duaer 里检索预印本](https://doc.duaer.com/zh/getting-started/preprints.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/grants.md).
# Search grants in Duaer
In Duaer, search NIH grants and projects with Duaer Data (RePORTER). One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Grants in the Duaer data market searches NIH RePORTER. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Grants), or copy the skill on the [data market](/getting-started/data-market.md). Related literature: [Papers](/getting-started/papers.md) and [Preprints](/getting-started/preprints.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Grants.
2. Words alone is enough (a new node starts with insulin). PI, Organization, Project number, and Year From/To are optional.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/grants?...
- Authorization: Bearer
- Fields combine; at least one search field is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-grants
description: >-
Duaer grants. Search NIH grants (NIH RePORTER).
One successful search uses 1 Duaer credit.
---
# Duaer grants
Search NIH grants (NIH RePORTER). Data comes from NIH RePORTER.
## When to use
- Find NIH-funded projects on a topic.
- List grants for a principal investigator or organization.
## When not to use
- NSF awards. Use https://skills.duaer.com/nsf-awards.md.
## Call
`GET https://api.duaer.com/v1/data/grants?q=insulin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
At least one search field is required. Fields combine.
- `q` — words in the project title, terms, or abstract.
- `pi` — Optional. Principal investigator name.
- `organization` — Optional. Awardee organization name.
- `projectNum` — Optional. NIH project number, such as `5P20GM152335-03`.
- `yearFrom` — Optional. First fiscal year (1000–2100).
- `yearTo` — Optional. Last fiscal year (1000–2100).
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/grants?q=insulin&limit=10` — NIH grants matching insulin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`NIH RePORTER`), `title`, `url`, and `summary`, plus:
- `projectNum`, `applId`, `pi`, `organization`, `agency` — text.
- `fiscalYear`, `awardAmount` — number.
- `activityCode`, `startDate`, `endDate` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/papers.md — Duaer papers
- https://skills.duaer.com/preprints.md — Duaer preprints
```
## Questions
### What are the grant ids in Duaer?
projectNum is the NIH project number. applId opens the RePORTER project detail page.
## Related
- [Search papers in Duaer](https://doc.duaer.com/getting-started/papers.md)
- [Search preprints in Duaer](https://doc.duaer.com/getting-started/preprints.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/interactions.md).
# 在 Duaer 里检索互作
在 Duaer 里用 Duaer Data 检索 STRING 蛋白互作伙伴。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「互作」检索 STRING 蛋白互作伙伴。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「互作」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。基因符号见 [基因](/zh/getting-started/genes.md);蛋白见 [基因和蛋白](/zh/getting-started/proteins.md);物种 Taxonomy ID 见 [物种](/zh/getting-started/organisms.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「互作」。
2. Protein 必填(新节点默认 INS)。Species 默认 9606;Required score 可选(0–1000)。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/interactions?...
- Authorization: Bearer
- 必须提供 protein。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-interactions
description: >-
Duaer interactions. Search STRING protein interaction partners.
One successful search uses 1 Duaer credit.
---
# Duaer interactions
Search STRING protein interaction partners. Data comes from STRING.
## When to use
- List interaction partners of a protein.
- Keep only high-confidence partners with a score threshold.
## When not to use
- Experimentally curated binary interactions. Use https://skills.duaer.com/intact.md.
## Call
`GET https://api.duaer.com/v1/data/interactions?protein=INS&species=9606&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
`protein` is required. Other fields are optional.
- `protein` — gene symbol, UniProt accession, or STRING id. Look up symbols with https://skills.duaer.com/genes.md or proteins with https://skills.duaer.com/proteins.md.
- `species` — Optional. NCBI taxonomy id. Default `9606` (human). Look up ids with https://skills.duaer.com/organisms.md.
- `requiredScore` — Optional. STRING threshold from 0 to 1000. Omit for the STRING default.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/interactions?protein=INS&species=9606&limit=10` — human insulin partners.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`STRING`), `title`, `url`, and `summary`, plus:
- `proteinA`, `proteinB`, `stringIdA`, `stringIdB`, `partner`, `partnerStringId` — text.
- `score`, `neighborhood`, `fusion`, `cooccurrence`, `coexpression`, `experimental`, `database`, `textmining`, `taxId` — number.
Reuse `partner` as `gene` when searching proteins or expression, or as `protein` for further interaction partners.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/organisms.md — Duaer organisms
- https://skills.duaer.com/expression.md — Duaer expression
- https://skills.duaer.com/complexes.md — Duaer complexes
```
## Questions
### partner 字段是什么?
相对查询蛋白的互作伙伴基因符号;可用它再查蛋白或继续查互作。
## 相关
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里检索基因](https://doc.duaer.com/zh/getting-started/genes.md)
- [在 Duaer 里检索物种](https://doc.duaer.com/zh/getting-started/organisms.md)
- [在 Duaer 里检索表达](https://doc.duaer.com/zh/getting-started/expression.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/interactions.md).
# Search interactions in Duaer
In Duaer, search STRING protein interaction partners with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Interactions in the Duaer data market searches STRING protein partners. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Interactions), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Genes](/getting-started/genes.md), [Proteins](/getting-started/proteins.md), and [Organisms](/getting-started/organisms.md) for Taxonomy ID.
## Search on the canvas
1. Open the node creator, select Duaer Data, then Interactions.
2. Protein is required (a new node starts with INS). Species defaults to 9606; Required score is optional (0–1000).
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/interactions?...
- Authorization: Bearer
- protein is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-interactions
description: >-
Duaer interactions. Search STRING protein interaction partners.
One successful search uses 1 Duaer credit.
---
# Duaer interactions
Search STRING protein interaction partners. Data comes from STRING.
## When to use
- List interaction partners of a protein.
- Keep only high-confidence partners with a score threshold.
## When not to use
- Experimentally curated binary interactions. Use https://skills.duaer.com/intact.md.
## Call
`GET https://api.duaer.com/v1/data/interactions?protein=INS&species=9606&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
`protein` is required. Other fields are optional.
- `protein` — gene symbol, UniProt accession, or STRING id. Look up symbols with https://skills.duaer.com/genes.md or proteins with https://skills.duaer.com/proteins.md.
- `species` — Optional. NCBI taxonomy id. Default `9606` (human). Look up ids with https://skills.duaer.com/organisms.md.
- `requiredScore` — Optional. STRING threshold from 0 to 1000. Omit for the STRING default.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/interactions?protein=INS&species=9606&limit=10` — human insulin partners.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`STRING`), `title`, `url`, and `summary`, plus:
- `proteinA`, `proteinB`, `stringIdA`, `stringIdB`, `partner`, `partnerStringId` — text.
- `score`, `neighborhood`, `fusion`, `cooccurrence`, `coexpression`, `experimental`, `database`, `textmining`, `taxId` — number.
Reuse `partner` as `gene` when searching proteins or expression, or as `protein` for further interaction partners.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/organisms.md — Duaer organisms
- https://skills.duaer.com/expression.md — Duaer expression
- https://skills.duaer.com/complexes.md — Duaer complexes
```
## Questions
### What is the partner field?
The interaction partner gene symbol relative to your query protein. Reuse it for proteins or further interactions.
## Related
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Search genes in Duaer](https://doc.duaer.com/getting-started/genes.md)
- [Search organisms in Duaer](https://doc.duaer.com/getting-started/organisms.md)
- [Search expression in Duaer](https://doc.duaer.com/getting-started/expression.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/expression.md).
# 在 Duaer 里检索表达
在 Duaer 里用 Duaer Data 检索 GTEx 组织中位表达。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「表达」检索 GTEx 各组织中位 TPM。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「表达」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。基因符号见 [基因](/zh/getting-started/genes.md);蛋白见 [基因和蛋白](/zh/getting-started/proteins.md);基因–疾病关联见 [靶点关联](/zh/getting-started/targets.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「表达」。
2. Gene 或 Gencode ID 至少填一项(新节点默认 Gene=INS)。Tissue 可选(如 Pancreas)。
3. Limit 默认 10,最大 20;结果按中位 TPM 降序。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/expression?...
- Authorization: Bearer
- 必须提供 gene 或 gencodeId。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-expression
description: >-
Duaer expression. Search GTEx median tissue expression.
One successful search uses 1 Duaer credit.
---
# Duaer expression
Search GTEx median tissue expression. Data comes from GTEx.
## When to use
- Compare median expression of a gene across human tissues.
- Check expression in one tissue.
## When not to use
- Protein-level tissue enrichment. Use https://skills.duaer.com/atlas.md.
## Call
`GET https://api.duaer.com/v1/data/expression?gene=INS&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
At least `gene` or `gencodeId` is required.
- `gene` — gene symbol. Look up symbols with https://skills.duaer.com/genes.md.
- `gencodeId` — Optional. Ensembl/Gencode id from a result, such as `ENSG00000254647.6`.
- `tissue` — Optional. GTEx tissue id, such as `Pancreas` or `Adipose_Subcutaneous`.
- `limit` — Optional. From 1 to 20. Default 10. Results are sorted by median TPM descending.
## Examples
- `GET https://api.duaer.com/v1/data/expression?gene=INS&limit=10` — insulin expression by tissue.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`GTEx`), `title`, `url`, and `summary`, plus:
- `gene`, `gencodeId`, `tissue`, `tissueLabel` — text.
- `median` — number.
- `unit`, `ontologyId`, `dataset` — text.
Reuse `gene` when searching proteins or genes. Reuse `gencodeId` in `gencodeId` for an exact expression lookup. For gene–disease associations, use https://skills.duaer.com/targets.md. For HPA tissue enrichment, use https://skills.duaer.com/atlas.md.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
If you send a `gene` that GTEx does not know, Duaer returns no items and uses 0.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/interactions.md — Duaer interactions
- https://skills.duaer.com/targets.md — Duaer targets
- https://skills.duaer.com/atlas.md — Duaer tissue atlas
- https://skills.duaer.com/geo.md — Duaer GEO
```
## Questions
### 结果按什么排序?
按各组织中位 TPM 从高到低;Limit 截取前 N 条。
## 相关
- [在 Duaer 里检索基因](https://doc.duaer.com/zh/getting-started/genes.md)
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里检索互作](https://doc.duaer.com/zh/getting-started/interactions.md)
- [在 Duaer 里检索靶点关联](https://doc.duaer.com/zh/getting-started/targets.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/expression.md).
# Search expression in Duaer
In Duaer, search GTEx median tissue expression with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Expression in the Duaer data market searches GTEx median TPM by tissue. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Expression), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Genes](/getting-started/genes.md) and [Proteins](/getting-started/proteins.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Expression.
2. Gene or Gencode ID is required (a new node starts with Gene INS). Tissue is optional (for example Pancreas).
3. Limit defaults to 10, max 20; results sort by median TPM descending. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/expression?...
- Authorization: Bearer
- gene or gencodeId is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-expression
description: >-
Duaer expression. Search GTEx median tissue expression.
One successful search uses 1 Duaer credit.
---
# Duaer expression
Search GTEx median tissue expression. Data comes from GTEx.
## When to use
- Compare median expression of a gene across human tissues.
- Check expression in one tissue.
## When not to use
- Protein-level tissue enrichment. Use https://skills.duaer.com/atlas.md.
## Call
`GET https://api.duaer.com/v1/data/expression?gene=INS&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
At least `gene` or `gencodeId` is required.
- `gene` — gene symbol. Look up symbols with https://skills.duaer.com/genes.md.
- `gencodeId` — Optional. Ensembl/Gencode id from a result, such as `ENSG00000254647.6`.
- `tissue` — Optional. GTEx tissue id, such as `Pancreas` or `Adipose_Subcutaneous`.
- `limit` — Optional. From 1 to 20. Default 10. Results are sorted by median TPM descending.
## Examples
- `GET https://api.duaer.com/v1/data/expression?gene=INS&limit=10` — insulin expression by tissue.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`GTEx`), `title`, `url`, and `summary`, plus:
- `gene`, `gencodeId`, `tissue`, `tissueLabel` — text.
- `median` — number.
- `unit`, `ontologyId`, `dataset` — text.
Reuse `gene` when searching proteins or genes. Reuse `gencodeId` in `gencodeId` for an exact expression lookup. For gene–disease associations, use https://skills.duaer.com/targets.md. For HPA tissue enrichment, use https://skills.duaer.com/atlas.md.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
If you send a `gene` that GTEx does not know, Duaer returns no items and uses 0.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/interactions.md — Duaer interactions
- https://skills.duaer.com/targets.md — Duaer targets
- https://skills.duaer.com/atlas.md — Duaer tissue atlas
- https://skills.duaer.com/geo.md — Duaer GEO
```
## Questions
### How are Duaer expression results ordered?
By median TPM descending across tissues; Limit keeps the top N rows.
## Related
- [Search genes in Duaer](https://doc.duaer.com/getting-started/genes.md)
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Search interactions in Duaer](https://doc.duaer.com/getting-started/interactions.md)
- [Search targets in Duaer](https://doc.duaer.com/getting-started/targets.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/targets.md).
# 在 Duaer 里检索靶点关联
在 Duaer 里用 Duaer Data 检索 Open Targets 基因–疾病关联。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「靶点关联」检索 Open Targets 基因–疾病关联分。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「靶点关联」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。基因符号见 [基因](/zh/getting-started/genes.md);疾病名称见 [疾病](/zh/getting-started/diseases.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「靶点关联」。
2. Gene 或 Disease 至少填一项(新节点默认 Gene=INS)。Disease 可填名称或 EFO_/MONDO_ 编号;与 Gene 同填时过滤该基因关联。
3. Limit 默认 10,最大 20;结果按关联分降序。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/targets?...
- Authorization: Bearer
- 必须提供 gene 或 disease。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-targets
description: >-
Duaer targets. Search Open Targets gene–disease associations.
One successful search uses 1 Duaer credit.
---
# Duaer targets
Search Open Targets gene–disease associations. Data comes from Open Targets.
## When to use
- Rank diseases associated with a gene.
- Check the evidence score for one gene–disease pair.
## When not to use
- Drugs that act on a gene. Use https://skills.duaer.com/drug-gene.md.
## Call
`GET https://api.duaer.com/v1/data/targets?gene=INS&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
At least `gene` or `disease` is required.
- `gene` — gene symbol or Ensembl id. Look up symbols with https://skills.duaer.com/genes.md.
- `disease` — Optional. Disease name or ontology id (`EFO_` / `MONDO_`). Alone, returns associated targets. With `gene`, filters that gene’s associations. Look up names with https://skills.duaer.com/diseases.md.
- `limit` — Optional. From 1 to 20. Default 10. Results are sorted by association score descending.
## Examples
- `GET https://api.duaer.com/v1/data/targets?gene=INS&limit=10` — diseases associated with INS.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Open Targets`), `title`, `url`, and `summary`, plus:
- `gene`, `ensemblId`, `disease`, `diseaseId` — text.
- `score` — number.
Reuse `gene` when searching proteins, genes, expression, interactions, or orthologs. Reuse `disease` when searching diseases or proteins.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
If you send a `gene` that Open Targets does not know, Duaer returns no items and uses 0.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/expression.md — Duaer expression
- https://skills.duaer.com/orthologs.md — Duaer orthologs
- https://skills.duaer.com/activities.md — Duaer activities
- https://skills.duaer.com/assays.md — Duaer assays
- https://skills.duaer.com/drug-gene.md — Duaer drug–gene
```
## Questions
### 只填疾病会怎样?
返回与该疾病关联最强的靶点基因列表,按关联分降序。
## 相关
- [在 Duaer 里检索基因](https://doc.duaer.com/zh/getting-started/genes.md)
- [在 Duaer 里检索疾病](https://doc.duaer.com/zh/getting-started/diseases.md)
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里检索表达](https://doc.duaer.com/zh/getting-started/expression.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/targets.md).
# Search targets in Duaer
In Duaer, search Open Targets gene–disease associations with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Targets in the Duaer data market searches Open Targets gene–disease association scores. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Targets), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Genes](/getting-started/genes.md) and [Diseases](/getting-started/diseases.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Targets.
2. Gene or Disease is required (a new node starts with Gene INS). Disease may be a name or EFO_/MONDO_ id; with Gene it filters that gene’s associations.
3. Limit defaults to 10, max 20; results sort by association score descending. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/targets?...
- Authorization: Bearer
- gene or disease is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-targets
description: >-
Duaer targets. Search Open Targets gene–disease associations.
One successful search uses 1 Duaer credit.
---
# Duaer targets
Search Open Targets gene–disease associations. Data comes from Open Targets.
## When to use
- Rank diseases associated with a gene.
- Check the evidence score for one gene–disease pair.
## When not to use
- Drugs that act on a gene. Use https://skills.duaer.com/drug-gene.md.
## Call
`GET https://api.duaer.com/v1/data/targets?gene=INS&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
At least `gene` or `disease` is required.
- `gene` — gene symbol or Ensembl id. Look up symbols with https://skills.duaer.com/genes.md.
- `disease` — Optional. Disease name or ontology id (`EFO_` / `MONDO_`). Alone, returns associated targets. With `gene`, filters that gene’s associations. Look up names with https://skills.duaer.com/diseases.md.
- `limit` — Optional. From 1 to 20. Default 10. Results are sorted by association score descending.
## Examples
- `GET https://api.duaer.com/v1/data/targets?gene=INS&limit=10` — diseases associated with INS.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Open Targets`), `title`, `url`, and `summary`, plus:
- `gene`, `ensemblId`, `disease`, `diseaseId` — text.
- `score` — number.
Reuse `gene` when searching proteins, genes, expression, interactions, or orthologs. Reuse `disease` when searching diseases or proteins.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
If you send a `gene` that Open Targets does not know, Duaer returns no items and uses 0.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/expression.md — Duaer expression
- https://skills.duaer.com/orthologs.md — Duaer orthologs
- https://skills.duaer.com/activities.md — Duaer activities
- https://skills.duaer.com/assays.md — Duaer assays
- https://skills.duaer.com/drug-gene.md — Duaer drug–gene
```
## Questions
### What if I only enter a disease in Duaer Targets?
Duaer returns the strongest associated target genes for that disease, sorted by association score.
## Related
- [Search genes in Duaer](https://doc.duaer.com/getting-started/genes.md)
- [Search diseases in Duaer](https://doc.duaer.com/getting-started/diseases.md)
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Search expression in Duaer](https://doc.duaer.com/getting-started/expression.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/orthologs.md).
# 在 Duaer 里检索同源基因
在 Duaer 里用 Duaer Data 检索跨物种同源基因(MyGene HomoloGene)。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「同源基因」按 HomoloGene 列出跨物种同源基因。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「同源基因」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。基因符号见 [基因](/zh/getting-started/genes.md);物种 Taxonomy ID 见 [物种](/zh/getting-started/organisms.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「同源基因」。
2. Gene 必填(新节点默认 INS)。Species 默认 9606;Ortholog species 可选(如 10090 只留小鼠)。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/orthologs?...
- Authorization: Bearer
- 必须提供 gene。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-orthologs
description: >-
Duaer orthologs. Search cross-species orthologs (MyGene HomoloGene).
One successful search uses 1 Duaer credit.
---
# Duaer orthologs
Search cross-species orthologs (MyGene HomoloGene). Data comes from MyGene.
## When to use
- Find the matching gene in another species.
- Map a human gene to mouse or zebrafish.
## When not to use
- Ensembl Compara orthologues. Use https://skills.duaer.com/ensembl-homology.md.
## Call
`GET https://api.duaer.com/v1/data/orthologs?gene=INS&species=9606&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
`gene` is required.
- `gene` — gene symbol or NCBI Gene id. Look up symbols with https://skills.duaer.com/genes.md.
- `species` — Optional. NCBI taxonomy id for the query gene. Default `9606` (human). Look up ids with https://skills.duaer.com/organisms.md.
- `orthologSpecies` — Optional. Keep only orthologs for this taxonomy id (for example `10090` for mouse).
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/orthologs?gene=INS&species=9606&limit=10` — orthologs of human INS.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`MyGene`), `title`, `url`, and `summary`, plus:
- `gene`, `geneId`, `name` — text.
- `taxId` — number.
- `organism`, `ensemblId` — text.
- `homologeneId` — number.
- `queryGene` — text.
- `queryTaxId` — number.
Reuse `gene` when searching proteins, genes, expression, or targets.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
If you send a `gene` without a HomoloGene group, Duaer returns no items and uses 0.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/organisms.md — Duaer organisms
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/targets.md — Duaer targets
```
## Questions
### Ortholog species 做什么?
只保留该 Taxonomy ID 的同源成员;留空则返回 HomoloGene 组内各物种。
## 相关
- [在 Duaer 里检索基因](https://doc.duaer.com/zh/getting-started/genes.md)
- [在 Duaer 里检索物种](https://doc.duaer.com/zh/getting-started/organisms.md)
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里检索靶点关联](https://doc.duaer.com/zh/getting-started/targets.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/orthologs.md).
# Search orthologs in Duaer
In Duaer, search cross-species orthologs with Duaer Data (MyGene HomoloGene). One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Orthologs in the Duaer data market lists cross-species genes in a HomoloGene group. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Orthologs), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Genes](/getting-started/genes.md) and [Organisms](/getting-started/organisms.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Orthologs.
2. Gene is required (a new node starts with INS). Species defaults to 9606; Ortholog species is optional (for example 10090 to keep mouse only).
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/orthologs?...
- Authorization: Bearer
- gene is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-orthologs
description: >-
Duaer orthologs. Search cross-species orthologs (MyGene HomoloGene).
One successful search uses 1 Duaer credit.
---
# Duaer orthologs
Search cross-species orthologs (MyGene HomoloGene). Data comes from MyGene.
## When to use
- Find the matching gene in another species.
- Map a human gene to mouse or zebrafish.
## When not to use
- Ensembl Compara orthologues. Use https://skills.duaer.com/ensembl-homology.md.
## Call
`GET https://api.duaer.com/v1/data/orthologs?gene=INS&species=9606&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
`gene` is required.
- `gene` — gene symbol or NCBI Gene id. Look up symbols with https://skills.duaer.com/genes.md.
- `species` — Optional. NCBI taxonomy id for the query gene. Default `9606` (human). Look up ids with https://skills.duaer.com/organisms.md.
- `orthologSpecies` — Optional. Keep only orthologs for this taxonomy id (for example `10090` for mouse).
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/orthologs?gene=INS&species=9606&limit=10` — orthologs of human INS.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`MyGene`), `title`, `url`, and `summary`, plus:
- `gene`, `geneId`, `name` — text.
- `taxId` — number.
- `organism`, `ensemblId` — text.
- `homologeneId` — number.
- `queryGene` — text.
- `queryTaxId` — number.
Reuse `gene` when searching proteins, genes, expression, or targets.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
If you send a `gene` without a HomoloGene group, Duaer returns no items and uses 0.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/organisms.md — Duaer organisms
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/targets.md — Duaer targets
```
## Questions
### What does Ortholog species do in Duaer?
It keeps only members for that taxonomy id; leave it empty to return every species in the HomoloGene group.
## Related
- [Search genes in Duaer](https://doc.duaer.com/getting-started/genes.md)
- [Search organisms in Duaer](https://doc.duaer.com/getting-started/organisms.md)
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Search targets in Duaer](https://doc.duaer.com/getting-started/targets.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/activities.md).
# 在 Duaer 里检索生物活性
在 Duaer 里用 Duaer Data 按分子或靶点检索 ChEMBL 生物活性。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「生物活性」检索 ChEMBL 分子–靶点活性(类型、数值、assay、pChEMBL)。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「生物活性」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。化合物名称见 [化合物和药物](/zh/getting-started/compounds.md);基因–疾病靶点见 [靶点关联](/zh/getting-started/targets.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「生物活性」。
2. Molecule 或 Target 至少填一项(新节点默认 Molecule=aspirin)。可填名称或 CHEMBL id;名称会先解析成 ChEMBL id。
3. Limit 默认 10,最大 20;结果优先较高 pChEMBL。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/activities?...
- Authorization: Bearer
- 必须提供 molecule 或 target。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-activities
description: >-
Duaer activities. Search ChEMBL bioactivities by molecule or target.
One successful search uses 1 Duaer credit.
---
# Duaer activities
Search ChEMBL bioactivities by molecule or target. Data comes from ChEMBL.
## When to use
- List measured bioactivities of a molecule.
- List active molecules against a target.
## When not to use
- Binding affinities by UniProt accession. Use https://skills.duaer.com/bindingdb.md.
## Call
`GET https://api.duaer.com/v1/data/activities?molecule=aspirin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
At least `molecule` or `target` is required.
- `molecule` — molecule name or ChEMBL id (`CHEMBL25`). Names resolve via ChEMBL search. Look up PubChem names with https://skills.duaer.com/compounds.md.
- `target` — Optional. Target name, gene symbol, or ChEMBL id. Alone, returns activities for that target. With `molecule`, filters both. Look up gene–disease targets with https://skills.duaer.com/targets.md.
- `limit` — Optional. From 1 to 20. Default 10. Results prefer higher pChEMBL values.
## Examples
- `GET https://api.duaer.com/v1/data/activities?molecule=aspirin&limit=10` — bioactivities of aspirin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`ChEMBL`), `title`, `url`, and `summary`, plus:
- `activityId`, `moleculeChemblId`, `moleculeName`, `targetChemblId`, `targetName`, `targetOrganism`, `standardType`, `standardRelation`, `standardValue`, `standardUnits`, `pchemblValue`, `assayChemblId`, `assayDescription`, `assayType` — text.
- `documentYear` — number.
Reuse `moleculeChemblId` / names when searching compounds or indications: https://skills.duaer.com/indications.md. Reuse `targetChemblId` / gene symbols when searching targets or genes.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
If you send a `molecule` or `target` that ChEMBL does not know, Duaer returns no items and uses 0.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/targets.md — Duaer targets
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/indications.md — Duaer indications
- https://skills.duaer.com/mechanisms.md — Duaer mechanisms
- https://skills.duaer.com/assays.md — Duaer assays
```
## Questions
### 只填靶点会怎样?
返回该靶点上的 ChEMBL 活性记录,优先较高 pChEMBL。
## 相关
- [在 Duaer 里检索化合物和药物](https://doc.duaer.com/zh/getting-started/compounds.md)
- [在 Duaer 里检索靶点关联](https://doc.duaer.com/zh/getting-started/targets.md)
- [在 Duaer 里检索基因](https://doc.duaer.com/zh/getting-started/genes.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/activities.md).
# Search activities in Duaer
In Duaer, search ChEMBL bioactivities by molecule or target with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Activities in the Duaer data market searches ChEMBL molecule–target bioactivities (type, value, assay, pChEMBL). One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Activities), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Compounds](/getting-started/compounds.md) and [Targets](/getting-started/targets.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Activities.
2. Molecule or Target is required (a new node starts with Molecule aspirin). Names or CHEMBL ids work; names resolve to ChEMBL ids first.
3. Limit defaults to 10, max 20; results prefer higher pChEMBL. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/activities?...
- Authorization: Bearer
- molecule or target is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-activities
description: >-
Duaer activities. Search ChEMBL bioactivities by molecule or target.
One successful search uses 1 Duaer credit.
---
# Duaer activities
Search ChEMBL bioactivities by molecule or target. Data comes from ChEMBL.
## When to use
- List measured bioactivities of a molecule.
- List active molecules against a target.
## When not to use
- Binding affinities by UniProt accession. Use https://skills.duaer.com/bindingdb.md.
## Call
`GET https://api.duaer.com/v1/data/activities?molecule=aspirin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
At least `molecule` or `target` is required.
- `molecule` — molecule name or ChEMBL id (`CHEMBL25`). Names resolve via ChEMBL search. Look up PubChem names with https://skills.duaer.com/compounds.md.
- `target` — Optional. Target name, gene symbol, or ChEMBL id. Alone, returns activities for that target. With `molecule`, filters both. Look up gene–disease targets with https://skills.duaer.com/targets.md.
- `limit` — Optional. From 1 to 20. Default 10. Results prefer higher pChEMBL values.
## Examples
- `GET https://api.duaer.com/v1/data/activities?molecule=aspirin&limit=10` — bioactivities of aspirin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`ChEMBL`), `title`, `url`, and `summary`, plus:
- `activityId`, `moleculeChemblId`, `moleculeName`, `targetChemblId`, `targetName`, `targetOrganism`, `standardType`, `standardRelation`, `standardValue`, `standardUnits`, `pchemblValue`, `assayChemblId`, `assayDescription`, `assayType` — text.
- `documentYear` — number.
Reuse `moleculeChemblId` / names when searching compounds or indications: https://skills.duaer.com/indications.md. Reuse `targetChemblId` / gene symbols when searching targets or genes.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
If you send a `molecule` or `target` that ChEMBL does not know, Duaer returns no items and uses 0.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/targets.md — Duaer targets
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/indications.md — Duaer indications
- https://skills.duaer.com/mechanisms.md — Duaer mechanisms
- https://skills.duaer.com/assays.md — Duaer assays
```
## Questions
### What if I only enter a target in Duaer Activities?
Duaer returns ChEMBL activity rows for that target, preferring higher pChEMBL values.
## Related
- [Search compounds in Duaer](https://doc.duaer.com/getting-started/compounds.md)
- [Search targets in Duaer](https://doc.duaer.com/getting-started/targets.md)
- [Search genes in Duaer](https://doc.duaer.com/getting-started/genes.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/atlas.md).
# 在 Duaer 里检索组织图谱
在 Duaer 里用 Duaer Data 检索 Human Protein Atlas 组织富集表达。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「组织图谱」返回 HPA 组织富集 nTPM(及特异性、分泌位置等)。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「组织图谱」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。基因符号见 [基因](/zh/getting-started/genes.md);GTEx 各组织中位 TPM 见 [表达](/zh/getting-started/expression.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「组织图谱」。
2. Gene 必填(新节点默认 INS)。Tissue 可选(如 pancreas 只留匹配组织)。
3. Limit 默认 10,最大 20;结果按 nTPM 降序。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/atlas?...
- Authorization: Bearer
- 必须提供 gene。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-atlas
description: >-
Duaer tissue atlas. Search Human Protein Atlas tissue-enriched expression.
One successful search uses 1 Duaer credit.
---
# Duaer tissue atlas
Search Human Protein Atlas tissue-enriched expression. Data comes from HPA.
## When to use
- Check which tissues enrich a gene in the Human Protein Atlas.
- Compare enrichment for one tissue.
## When not to use
- Median RNA expression by tissue. Use https://skills.duaer.com/expression.md.
## Call
`GET https://api.duaer.com/v1/data/atlas?gene=INS&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
`gene` is required.
- `gene` — gene symbol or Ensembl id. Look up symbols with https://skills.duaer.com/genes.md.
- `tissue` — Optional. Keep only enriched tissues whose name contains this text (for example `pancreas`).
- `limit` — Optional. From 1 to 20. Default 10. Results sort by nTPM descending.
## Examples
- `GET https://api.duaer.com/v1/data/atlas?gene=INS&limit=10` — tissue enrichment of INS.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`HPA`), `title`, `url`, and `summary`, plus:
- `gene`, `ensemblId`, `description`, `tissue` — text.
- `nTPM` — number.
- `specificity`, `distribution`, `proteinClasses`, `secretomeLocation` — text.
Reuse `gene` when searching proteins, genes, expression, or targets. For GTEx median TPM across tissues, use https://skills.duaer.com/expression.md. For GEO experiment series, use https://skills.duaer.com/geo.md.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
If you send a `gene` that the Human Protein Atlas does not know, Duaer returns no items and uses 0.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/expression.md — Duaer expression
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/proteins.md — Duaer proteins
```
## Questions
### 和组织表达(GTEx)有何不同?
组织图谱偏 HPA 富集组织与蛋白侧标注;表达偏 GTEx 各组织中位 TPM。可交叉使用。
## 相关
- [在 Duaer 里检索表达](https://doc.duaer.com/zh/getting-started/expression.md)
- [在 Duaer 里检索基因](https://doc.duaer.com/zh/getting-started/genes.md)
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/atlas.md).
# Search tissue atlas in Duaer
In Duaer, search Human Protein Atlas tissue-enriched expression with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Tissue atlas in the Duaer data market returns HPA tissue-enriched nTPM (plus specificity and secretome location). One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Tissue atlas), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Genes](/getting-started/genes.md) and [Expression](/getting-started/expression.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Tissue atlas.
2. Gene is required (a new node starts with INS). Tissue is optional (for example pancreas to keep matching tissues).
3. Limit defaults to 10, max 20; results sort by nTPM descending. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/atlas?...
- Authorization: Bearer
- gene is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-atlas
description: >-
Duaer tissue atlas. Search Human Protein Atlas tissue-enriched expression.
One successful search uses 1 Duaer credit.
---
# Duaer tissue atlas
Search Human Protein Atlas tissue-enriched expression. Data comes from HPA.
## When to use
- Check which tissues enrich a gene in the Human Protein Atlas.
- Compare enrichment for one tissue.
## When not to use
- Median RNA expression by tissue. Use https://skills.duaer.com/expression.md.
## Call
`GET https://api.duaer.com/v1/data/atlas?gene=INS&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
`gene` is required.
- `gene` — gene symbol or Ensembl id. Look up symbols with https://skills.duaer.com/genes.md.
- `tissue` — Optional. Keep only enriched tissues whose name contains this text (for example `pancreas`).
- `limit` — Optional. From 1 to 20. Default 10. Results sort by nTPM descending.
## Examples
- `GET https://api.duaer.com/v1/data/atlas?gene=INS&limit=10` — tissue enrichment of INS.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`HPA`), `title`, `url`, and `summary`, plus:
- `gene`, `ensemblId`, `description`, `tissue` — text.
- `nTPM` — number.
- `specificity`, `distribution`, `proteinClasses`, `secretomeLocation` — text.
Reuse `gene` when searching proteins, genes, expression, or targets. For GTEx median TPM across tissues, use https://skills.duaer.com/expression.md. For GEO experiment series, use https://skills.duaer.com/geo.md.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
If you send a `gene` that the Human Protein Atlas does not know, Duaer returns no items and uses 0.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/expression.md — Duaer expression
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/proteins.md — Duaer proteins
```
## Questions
### How does Duaer Tissue atlas differ from Expression?
Tissue atlas focuses on HPA enrichment and protein-side labels; Expression returns GTEx median TPM across tissues. Use both when you need both views.
## Related
- [Search expression in Duaer](https://doc.duaer.com/getting-started/expression.md)
- [Search genes in Duaer](https://doc.duaer.com/getting-started/genes.md)
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/indications.md).
# 在 Duaer 里检索适应症
在 Duaer 里用 Duaer Data 按分子检索 ChEMBL 药物适应症。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「适应症」返回 ChEMBL 药物适应症(EFO/MeSH、最高阶段)。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「适应症」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。化合物见 [化合物和药物](/zh/getting-started/compounds.md);生物活性见 [生物活性](/zh/getting-started/activities.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「适应症」。
2. Molecule 必填(新节点默认 aspirin)。可填名称或 CHEMBL id。
3. Limit 默认 10,最大 20;结果优先较高 max phase。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/indications?...
- Authorization: Bearer
- 必须提供 molecule。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-indications
description: >-
Duaer indications. Search ChEMBL drug indications by molecule.
One successful search uses 1 Duaer credit.
---
# Duaer indications
Search ChEMBL drug indications by molecule. Data comes from ChEMBL.
## When to use
- List diseases a drug is approved or tested for.
- Check the highest trial phase per indication.
## When not to use
- Running clinical trials. Use https://skills.duaer.com/trials.md.
## Call
`GET https://api.duaer.com/v1/data/indications?molecule=aspirin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
`molecule` is required.
- `molecule` — molecule name or ChEMBL id (`CHEMBL25`). Names resolve via ChEMBL search. Look up PubChem names with https://skills.duaer.com/compounds.md.
- `limit` — Optional. From 1 to 20. Default 10. Results prefer higher max phase.
## Examples
- `GET https://api.duaer.com/v1/data/indications?molecule=aspirin&limit=10` — indications of aspirin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`ChEMBL`), `title`, `url`, and `summary`, plus:
- `indicationId`, `moleculeChemblId`, `efoId`, `efoTerm`, `meshId`, `meshHeading` — text.
- `maxPhase` — number.
Reuse `moleculeChemblId` / names when searching compounds, activities, or mechanisms: https://skills.duaer.com/mechanisms.md. Reuse `efoTerm` / `meshHeading` when searching diseases or trials.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
If you send a `molecule` that ChEMBL does not know, Duaer returns no items and uses 0.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/activities.md — Duaer activities
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/mechanisms.md — Duaer mechanisms
```
## Questions
### 结果按什么排序?
按适应症最高研发阶段(max phase)从高到低。
## 相关
- [在 Duaer 里检索化合物和药物](https://doc.duaer.com/zh/getting-started/compounds.md)
- [在 Duaer 里检索生物活性](https://doc.duaer.com/zh/getting-started/activities.md)
- [在 Duaer 里检索疾病](https://doc.duaer.com/zh/getting-started/diseases.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/indications.md).
# Search indications in Duaer
In Duaer, search ChEMBL drug indications by molecule with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Indications in the Duaer data market returns ChEMBL drug indications (EFO/MeSH, max phase). One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Indications), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Compounds](/getting-started/compounds.md) and [Activities](/getting-started/activities.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Indications.
2. Molecule is required (a new node starts with aspirin). Names or CHEMBL ids work.
3. Limit defaults to 10, max 20; results prefer higher max phase. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/indications?...
- Authorization: Bearer
- molecule is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-indications
description: >-
Duaer indications. Search ChEMBL drug indications by molecule.
One successful search uses 1 Duaer credit.
---
# Duaer indications
Search ChEMBL drug indications by molecule. Data comes from ChEMBL.
## When to use
- List diseases a drug is approved or tested for.
- Check the highest trial phase per indication.
## When not to use
- Running clinical trials. Use https://skills.duaer.com/trials.md.
## Call
`GET https://api.duaer.com/v1/data/indications?molecule=aspirin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
`molecule` is required.
- `molecule` — molecule name or ChEMBL id (`CHEMBL25`). Names resolve via ChEMBL search. Look up PubChem names with https://skills.duaer.com/compounds.md.
- `limit` — Optional. From 1 to 20. Default 10. Results prefer higher max phase.
## Examples
- `GET https://api.duaer.com/v1/data/indications?molecule=aspirin&limit=10` — indications of aspirin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`ChEMBL`), `title`, `url`, and `summary`, plus:
- `indicationId`, `moleculeChemblId`, `efoId`, `efoTerm`, `meshId`, `meshHeading` — text.
- `maxPhase` — number.
Reuse `moleculeChemblId` / names when searching compounds, activities, or mechanisms: https://skills.duaer.com/mechanisms.md. Reuse `efoTerm` / `meshHeading` when searching diseases or trials.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
If you send a `molecule` that ChEMBL does not know, Duaer returns no items and uses 0.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/activities.md — Duaer activities
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/mechanisms.md — Duaer mechanisms
```
## Questions
### How are Duaer indication results ordered?
By max phase for the indication, highest first.
## Related
- [Search compounds in Duaer](https://doc.duaer.com/getting-started/compounds.md)
- [Search activities in Duaer](https://doc.duaer.com/getting-started/activities.md)
- [Search diseases in Duaer](https://doc.duaer.com/getting-started/diseases.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/mechanisms.md).
# 在 Duaer 里检索作用机制
在 Duaer 里用 Duaer Data 按分子检索 ChEMBL 作用机制。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「作用机制」返回 ChEMBL 作用机制(类型、靶点、最高阶段)。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「作用机制」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。化合物见 [化合物和药物](/zh/getting-started/compounds.md);适应症见 [适应症](/zh/getting-started/indications.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「作用机制」。
2. Molecule 必填(新节点默认 aspirin)。可填名称或 CHEMBL id。
3. Limit 默认 10,最大 20;结果优先较高 max phase。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/mechanisms?...
- Authorization: Bearer
- 必须提供 molecule。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-mechanisms
description: >-
Duaer mechanisms. Search ChEMBL mechanisms of action by molecule.
One successful search uses 1 Duaer credit.
---
# Duaer mechanisms
Search ChEMBL mechanisms of action by molecule. Data comes from ChEMBL.
## When to use
- Get the mechanism of action and target of a drug.
- Check the action type, such as inhibitor or agonist.
## When not to use
- Measured bioactivities. Use https://skills.duaer.com/activities.md.
## Call
`GET https://api.duaer.com/v1/data/mechanisms?molecule=aspirin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
`molecule` is required.
- `molecule` — molecule name or ChEMBL id (`CHEMBL25`). Names resolve via ChEMBL search. Look up PubChem names with https://skills.duaer.com/compounds.md.
- `limit` — Optional. From 1 to 20. Default 10. Results prefer higher max phase.
## Examples
- `GET https://api.duaer.com/v1/data/mechanisms?molecule=aspirin&limit=10` — mechanisms of aspirin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`ChEMBL`), `title`, `url`, and `summary`, plus:
- `mechanismId`, `moleculeChemblId`, `mechanismOfAction`, `actionType`, `targetChemblId` — text.
- `maxPhase` — number.
- `directInteraction` — true or false.
Reuse `moleculeChemblId` / names when searching compounds, activities, or indications. Reuse `targetChemblId` when searching activities or targets.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
If you send a `molecule` that ChEMBL does not know, Duaer returns no items and uses 0.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/activities.md — Duaer activities
- https://skills.duaer.com/indications.md — Duaer indications
```
## Questions
### 结果按什么排序?
按机制最高研发阶段(max phase)从高到低。
## 相关
- [在 Duaer 里检索化合物和药物](https://doc.duaer.com/zh/getting-started/compounds.md)
- [在 Duaer 里检索生物活性](https://doc.duaer.com/zh/getting-started/activities.md)
- [在 Duaer 里检索适应症](https://doc.duaer.com/zh/getting-started/indications.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/mechanisms.md).
# Search mechanisms in Duaer
In Duaer, search ChEMBL mechanisms of action by molecule with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Mechanisms in the Duaer data market returns ChEMBL mechanisms of action (type, target, max phase). One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Mechanisms), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Compounds](/getting-started/compounds.md) and [Indications](/getting-started/indications.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Mechanisms.
2. Molecule is required (a new node starts with aspirin). Names or CHEMBL ids work.
3. Limit defaults to 10, max 20; results prefer higher max phase. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/mechanisms?...
- Authorization: Bearer
- molecule is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-mechanisms
description: >-
Duaer mechanisms. Search ChEMBL mechanisms of action by molecule.
One successful search uses 1 Duaer credit.
---
# Duaer mechanisms
Search ChEMBL mechanisms of action by molecule. Data comes from ChEMBL.
## When to use
- Get the mechanism of action and target of a drug.
- Check the action type, such as inhibitor or agonist.
## When not to use
- Measured bioactivities. Use https://skills.duaer.com/activities.md.
## Call
`GET https://api.duaer.com/v1/data/mechanisms?molecule=aspirin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
`molecule` is required.
- `molecule` — molecule name or ChEMBL id (`CHEMBL25`). Names resolve via ChEMBL search. Look up PubChem names with https://skills.duaer.com/compounds.md.
- `limit` — Optional. From 1 to 20. Default 10. Results prefer higher max phase.
## Examples
- `GET https://api.duaer.com/v1/data/mechanisms?molecule=aspirin&limit=10` — mechanisms of aspirin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`ChEMBL`), `title`, `url`, and `summary`, plus:
- `mechanismId`, `moleculeChemblId`, `mechanismOfAction`, `actionType`, `targetChemblId` — text.
- `maxPhase` — number.
- `directInteraction` — true or false.
Reuse `moleculeChemblId` / names when searching compounds, activities, or indications. Reuse `targetChemblId` when searching activities or targets.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
If you send a `molecule` that ChEMBL does not know, Duaer returns no items and uses 0.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/activities.md — Duaer activities
- https://skills.duaer.com/indications.md — Duaer indications
```
## Questions
### How are Duaer mechanism results ordered?
By max phase for the mechanism, highest first.
## Related
- [Search compounds in Duaer](https://doc.duaer.com/getting-started/compounds.md)
- [Search activities in Duaer](https://doc.duaer.com/getting-started/activities.md)
- [Search indications in Duaer](https://doc.duaer.com/getting-started/indications.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/geo.md).
# 在 Duaer 里检索 GEO
在 Duaer 里用 Duaer Data 检索 NCBI GEO 系列与数据集。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「GEO」返回 NCBI GEO 系列/数据集摘要(登录号、物种、类型、样本数)。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「GEO」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。组织表达中位 TPM 见 [表达](/zh/getting-started/expression.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「GEO」。
2. Words 必填(新节点默认 insulin)。可填关键词或登录号如 GSE10072。
3. Organism、Entry type 可选(默认 gse)。Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/geo?...
- Authorization: Bearer
- 必须提供 words。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-geo
description: >-
Duaer GEO. Search NCBI GEO series and datasets.
One successful search uses 1 Duaer credit.
---
# Duaer GEO
Search NCBI GEO series and datasets. Data comes from GEO.
## When to use
- Find GEO series or datasets for a topic and organism.
- Locate public expression data for reanalysis.
## When not to use
- Curated bulk expression experiments. Use https://skills.duaer.com/expression-atlas.md.
## Call
`GET https://api.duaer.com/v1/data/geo?words=insulin&organism=Homo%20sapiens&entryType=gse&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
`words` is required.
- `words` — words in the GEO record, or an accession such as `GSE10072`.
- `organism` — Optional. Scientific name (`Homo sapiens`). Look up names with https://skills.duaer.com/organisms.md.
- `entryType` — Optional. `gse` (default), `gds`, `gpl`, `gsm`, or `any`.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/geo?words=insulin&organism=Homo%20sapiens&entryType=gse&limit=10` — human GEO series matching insulin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`GEO`), `title`, `url`, and `summary`, plus:
- `accession`, `uid`, `entryType`, `organism`, `datasetType` — text.
- `sampleCount` — number.
- `pubDate`, `pubmedId` — text.
Reuse gene symbols from related studies when searching expression: https://skills.duaer.com/expression.md.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/expression.md — Duaer expression
- https://skills.duaer.com/organisms.md — Duaer organisms
- https://skills.duaer.com/genes.md — Duaer genes
```
## Questions
### 默认只搜系列吗?
是。Entry type 默认为 gse;填 any 可包含 GDS/GPL/GSM。
## 相关
- [在 Duaer 里检索表达](https://doc.duaer.com/zh/getting-started/expression.md)
- [在 Duaer 里检索物种](https://doc.duaer.com/zh/getting-started/organisms.md)
- [在 Duaer 里检索基因](https://doc.duaer.com/zh/getting-started/genes.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/geo.md).
# Search GEO in Duaer
In Duaer, search NCBI GEO series and datasets with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
GEO in the Duaer data market returns NCBI GEO series/dataset summaries (accession, organism, type, sample count). One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (GEO), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Expression](/getting-started/expression.md) for GTEx median TPM.
## Search on the canvas
1. Open the node creator, select Duaer Data, then GEO.
2. Words is required (a new node starts with insulin). Keywords or accessions such as GSE10072 work.
3. Organism and Entry type are optional (default gse). Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/geo?...
- Authorization: Bearer
- words is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-geo
description: >-
Duaer GEO. Search NCBI GEO series and datasets.
One successful search uses 1 Duaer credit.
---
# Duaer GEO
Search NCBI GEO series and datasets. Data comes from GEO.
## When to use
- Find GEO series or datasets for a topic and organism.
- Locate public expression data for reanalysis.
## When not to use
- Curated bulk expression experiments. Use https://skills.duaer.com/expression-atlas.md.
## Call
`GET https://api.duaer.com/v1/data/geo?words=insulin&organism=Homo%20sapiens&entryType=gse&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
`words` is required.
- `words` — words in the GEO record, or an accession such as `GSE10072`.
- `organism` — Optional. Scientific name (`Homo sapiens`). Look up names with https://skills.duaer.com/organisms.md.
- `entryType` — Optional. `gse` (default), `gds`, `gpl`, `gsm`, or `any`.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/geo?words=insulin&organism=Homo%20sapiens&entryType=gse&limit=10` — human GEO series matching insulin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`GEO`), `title`, `url`, and `summary`, plus:
- `accession`, `uid`, `entryType`, `organism`, `datasetType` — text.
- `sampleCount` — number.
- `pubDate`, `pubmedId` — text.
Reuse gene symbols from related studies when searching expression: https://skills.duaer.com/expression.md.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/expression.md — Duaer expression
- https://skills.duaer.com/organisms.md — Duaer organisms
- https://skills.duaer.com/genes.md — Duaer genes
```
## Questions
### Does Duaer GEO search only series by default?
Yes. Entry type defaults to gse; use any to include GDS/GPL/GSM.
## Related
- [Search expression in Duaer](https://doc.duaer.com/getting-started/expression.md)
- [Search organisms in Duaer](https://doc.duaer.com/getting-started/organisms.md)
- [Search genes in Duaer](https://doc.duaer.com/getting-started/genes.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/assays.md).
# 在 Duaer 里检索实验测定
在 Duaer 里用 Duaer Data 检索 ChEMBL 实验测定。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「实验测定」返回 ChEMBL assay(类型、物种、靶点、置信度)。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「实验测定」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。活性数值见 [生物活性](/zh/getting-started/activities.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「实验测定」。
2. Words 必填(新节点默认 EGFR)。可填关键词或 assay CHEMBL id。
3. Organism、Assay type 可选。Limit 默认 10,最大 20;结果优先较高置信度。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/assays?...
- Authorization: Bearer
- 必须提供 words。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-assays
description: >-
Duaer assays. Search ChEMBL assays by words or assay id.
One successful search uses 1 Duaer credit.
---
# Duaer assays
Search ChEMBL assays by words or assay id. Data comes from ChEMBL.
## When to use
- Find ChEMBL assays for a target and organism.
- Filter assays by type, such as binding or functional.
## When not to use
- PubChem BioAssays for a gene. Use https://skills.duaer.com/pubchem-assay.md.
## Call
`GET https://api.duaer.com/v1/data/assays?words=EGFR&organism=Homo%20sapiens&assayType=B&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
`words` is required.
- `words` — words in the assay description, or a ChEMBL assay id (`CHEMBL5344031`).
- `organism` — Optional. Keep assays whose organism contains this text.
- `assayType` — Optional. Letter code (`B`/`F`/`A`/…) or words from the type description.
- `limit` — Optional. From 1 to 20. Default 10. Results prefer higher confidence.
## Examples
- `GET https://api.duaer.com/v1/data/assays?words=EGFR&organism=Homo%20sapiens&assayType=B&limit=10` — human EGFR binding assays.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`ChEMBL`), `title`, `url`, and `summary`, plus:
- `assayChemblId`, `description`, `assayType`, `assayTypeDescription`, `organism`, `targetChemblId` — text.
- `confidenceScore` — number.
- `baoLabel`, `documentChemblId` — text.
Reuse `assayChemblId` / `targetChemblId` when searching activities: https://skills.duaer.com/activities.md.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/activities.md — Duaer activities
- https://skills.duaer.com/targets.md — Duaer targets
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/patents.md — Duaer patents
```
## Questions
### Assay type 填什么?
可填字母代码(如 B)或类型描述中的词(如 Binding)。
## 相关
- [在 Duaer 里检索生物活性](https://doc.duaer.com/zh/getting-started/activities.md)
- [在 Duaer 里检索靶点关联](https://doc.duaer.com/zh/getting-started/targets.md)
- [在 Duaer 里检索化合物和药物](https://doc.duaer.com/zh/getting-started/compounds.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/assays.md).
# Search assays in Duaer
In Duaer, search ChEMBL assays with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Assays in the Duaer data market returns ChEMBL assays (type, organism, target, confidence). One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Assays), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Activities](/getting-started/activities.md) for measured values.
## Search on the canvas
1. Open the node creator, select Duaer Data, then Assays.
2. Words is required (a new node starts with EGFR). Keywords or assay ChEMBL ids work.
3. Organism and Assay type are optional. Limit defaults to 10, max 20; results prefer higher confidence. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/assays?...
- Authorization: Bearer
- words is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-assays
description: >-
Duaer assays. Search ChEMBL assays by words or assay id.
One successful search uses 1 Duaer credit.
---
# Duaer assays
Search ChEMBL assays by words or assay id. Data comes from ChEMBL.
## When to use
- Find ChEMBL assays for a target and organism.
- Filter assays by type, such as binding or functional.
## When not to use
- PubChem BioAssays for a gene. Use https://skills.duaer.com/pubchem-assay.md.
## Call
`GET https://api.duaer.com/v1/data/assays?words=EGFR&organism=Homo%20sapiens&assayType=B&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
`words` is required.
- `words` — words in the assay description, or a ChEMBL assay id (`CHEMBL5344031`).
- `organism` — Optional. Keep assays whose organism contains this text.
- `assayType` — Optional. Letter code (`B`/`F`/`A`/…) or words from the type description.
- `limit` — Optional. From 1 to 20. Default 10. Results prefer higher confidence.
## Examples
- `GET https://api.duaer.com/v1/data/assays?words=EGFR&organism=Homo%20sapiens&assayType=B&limit=10` — human EGFR binding assays.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`ChEMBL`), `title`, `url`, and `summary`, plus:
- `assayChemblId`, `description`, `assayType`, `assayTypeDescription`, `organism`, `targetChemblId` — text.
- `confidenceScore` — number.
- `baoLabel`, `documentChemblId` — text.
Reuse `assayChemblId` / `targetChemblId` when searching activities: https://skills.duaer.com/activities.md.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/activities.md — Duaer activities
- https://skills.duaer.com/targets.md — Duaer targets
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/patents.md — Duaer patents
```
## Questions
### What goes in Assay type for Duaer Assays?
A letter code such as B, or words from the type description such as Binding.
## Related
- [Search activities in Duaer](https://doc.duaer.com/getting-started/activities.md)
- [Search targets in Duaer](https://doc.duaer.com/getting-started/targets.md)
- [Search compounds in Duaer](https://doc.duaer.com/getting-started/compounds.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/patents.md).
# 在 Duaer 里检索专利
在 Duaer 里用 Duaer Data 经 Europe PMC 检索专利。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「专利」返回 Europe PMC 专利记录(编号、国家、年份、申请人)。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「专利」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。论文见 [论文](/zh/getting-started/papers.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「专利」。
2. Words 必填(新节点默认 insulin)。
3. Year from/to、Country 可选。Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/patents?...
- Authorization: Bearer
- 必须提供 words。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-patents
description: >-
Duaer patents. Search patents from Europe PMC.
One successful search uses 1 Duaer credit.
---
# Duaer patents
Search patents from Europe PMC. Data comes from Europe PMC.
## When to use
- Find patents on a topic in a range of years.
- Filter patents by country.
## When not to use
- Published papers. Use https://skills.duaer.com/papers.md.
## Call
`GET https://api.duaer.com/v1/data/patents?words=insulin&yearFrom=2010&yearTo=2020&country=US&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
`words` is required.
- `words` — words in the patent title or abstract.
- `yearFrom` / `yearTo` — Optional. Publication year range (YYYY).
- `country` — Optional. Country code on the patent id (`US`, `EP`, `WO`, …).
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/patents?words=insulin&yearFrom=2010&yearTo=2020&country=US&limit=10` — US insulin patents from 2010 to 2020.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Europe PMC`), `title`, `url`, and `summary`, plus:
- `patentId`, `country`, `typeCode`, `pubYear`, `applicationNumber`, `applicationDate`, `assignee`, `authors` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/papers.md — Duaer papers
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/assays.md — Duaer assays
```
## Questions
### Country 填什么?
专利编号前缀国家码,如 US、EP、WO。
## 相关
- [在 Duaer 里检索论文](https://doc.duaer.com/zh/getting-started/papers.md)
- [在 Duaer 里检索化合物和药物](https://doc.duaer.com/zh/getting-started/compounds.md)
- [在 Duaer 里检索实验测定](https://doc.duaer.com/zh/getting-started/assays.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/patents.md).
# Search patents in Duaer
In Duaer, search patents via Europe PMC with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Patents in the Duaer data market returns Europe PMC patent records (id, country, year, assignee). One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Patents), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Papers](/getting-started/papers.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Patents.
2. Words is required (a new node starts with insulin).
3. Year from/to and Country are optional. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/patents?...
- Authorization: Bearer
- words is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-patents
description: >-
Duaer patents. Search patents from Europe PMC.
One successful search uses 1 Duaer credit.
---
# Duaer patents
Search patents from Europe PMC. Data comes from Europe PMC.
## When to use
- Find patents on a topic in a range of years.
- Filter patents by country.
## When not to use
- Published papers. Use https://skills.duaer.com/papers.md.
## Call
`GET https://api.duaer.com/v1/data/patents?words=insulin&yearFrom=2010&yearTo=2020&country=US&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
`words` is required.
- `words` — words in the patent title or abstract.
- `yearFrom` / `yearTo` — Optional. Publication year range (YYYY).
- `country` — Optional. Country code on the patent id (`US`, `EP`, `WO`, …).
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/patents?words=insulin&yearFrom=2010&yearTo=2020&country=US&limit=10` — US insulin patents from 2010 to 2020.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Europe PMC`), `title`, `url`, and `summary`, plus:
- `patentId`, `country`, `typeCode`, `pubYear`, `applicationNumber`, `applicationDate`, `assignee`, `authors` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/papers.md — Duaer papers
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/assays.md — Duaer assays
```
## Questions
### What goes in Country for Duaer Patents?
A country code from the patent id prefix, such as US, EP, or WO.
## Related
- [Search papers in Duaer](https://doc.duaer.com/getting-started/papers.md)
- [Search compounds in Duaer](https://doc.duaer.com/getting-started/compounds.md)
- [Search assays in Duaer](https://doc.duaer.com/getting-started/assays.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/alphafold.md).
# 在 Duaer 里查询 AlphaFold 预测结构
在 Duaer 里用 Duaer Data 按基因或 UniProt 编号查询 AlphaFold 预测结构。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「AlphaFold」返回预测结构(pLDDT、PDB/CIF 链接)。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「AlphaFold」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。实验结构见 [蛋白结构](/zh/getting-started/structures.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「AlphaFold」。
2. 填 Gene(新节点默认 INS)或 Accession(如 P01308;有 Accession 时优先)。
3. Organism 可选(解析 Gene 时默认 Homo sapiens)。Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/alphafold?...
- Authorization: Bearer
- 必须提供 gene 或 accession。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-alphafold
description: >-
Duaer AlphaFold. Look up AlphaFold predicted structures by gene or UniProt accession.
One successful search uses 1 Duaer credit.
---
# Duaer AlphaFold
Look up AlphaFold predicted structures by gene or UniProt accession. Data comes from AlphaFold.
## When to use
- Get the AlphaFold predicted structure for a gene or accession.
- Check model confidence before using a prediction.
## When not to use
- Experimental structures. Use https://skills.duaer.com/structures.md.
## Call
`GET https://api.duaer.com/v1/data/alphafold?gene=INS&organism=Homo%20sapiens&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `gene` or `accession` (or both; accession wins).
- `gene` — gene symbol resolved via UniProt (default organism Homo sapiens).
- `accession` — Optional. UniProt accession (`P01308`). Overrides gene when set.
- `organism` — Optional. Used when resolving gene (default `Homo sapiens`).
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/alphafold?gene=INS&organism=Homo%20sapiens&limit=10` — AlphaFold model for human INS.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`AlphaFold`), `title`, `url`, and `summary`, plus:
- `accession`, `gene`, `uniprotId`, `description`, `organism`, `modelEntityId` — text.
- `modelVersion`, `globalPlddt` — number.
- `pdbUrl`, `cifUrl` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/structures.md — Duaer structures
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/genes.md — Duaer genes
```
## Questions
### Gene 和 Accession 填哪个?
有 UniProt 编号就填 Accession;否则填 Gene,Duaer 会经 UniProt 解析后再查 AlphaFold。
## 相关
- [在 Duaer 里检索蛋白结构](https://doc.duaer.com/zh/getting-started/structures.md)
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里检索基因](https://doc.duaer.com/zh/getting-started/genes.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/alphafold.md).
# Look up AlphaFold structures in Duaer
In Duaer, look up AlphaFold predicted structures by gene or UniProt accession with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
AlphaFold in the Duaer data market returns predicted structures (pLDDT, PDB/CIF urls). One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (AlphaFold), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Structures](/getting-started/structures.md) for experimental PDB entries.
## Search on the canvas
1. Open the node creator, select Duaer Data, then AlphaFold.
2. Enter Gene (a new node starts with INS) or Accession (such as P01308; accession wins when both are set).
3. Organism is optional when resolving Gene (default Homo sapiens). Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/alphafold?...
- Authorization: Bearer
- gene or accession is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-alphafold
description: >-
Duaer AlphaFold. Look up AlphaFold predicted structures by gene or UniProt accession.
One successful search uses 1 Duaer credit.
---
# Duaer AlphaFold
Look up AlphaFold predicted structures by gene or UniProt accession. Data comes from AlphaFold.
## When to use
- Get the AlphaFold predicted structure for a gene or accession.
- Check model confidence before using a prediction.
## When not to use
- Experimental structures. Use https://skills.duaer.com/structures.md.
## Call
`GET https://api.duaer.com/v1/data/alphafold?gene=INS&organism=Homo%20sapiens&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `gene` or `accession` (or both; accession wins).
- `gene` — gene symbol resolved via UniProt (default organism Homo sapiens).
- `accession` — Optional. UniProt accession (`P01308`). Overrides gene when set.
- `organism` — Optional. Used when resolving gene (default `Homo sapiens`).
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/alphafold?gene=INS&organism=Homo%20sapiens&limit=10` — AlphaFold model for human INS.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`AlphaFold`), `title`, `url`, and `summary`, plus:
- `accession`, `gene`, `uniprotId`, `description`, `organism`, `modelEntityId` — text.
- `modelVersion`, `globalPlddt` — number.
- `pdbUrl`, `cifUrl` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/structures.md — Duaer structures
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/genes.md — Duaer genes
```
## Questions
### Gene or Accession for Duaer AlphaFold?
Use Accession when you have a UniProt id. Otherwise use Gene; Duaer resolves it through UniProt before calling AlphaFold.
## Related
- [Search protein structures in Duaer](https://doc.duaer.com/getting-started/structures.md)
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Search genes in Duaer](https://doc.duaer.com/getting-started/genes.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/cell-lines.md).
# 在 Duaer 里检索细胞系
在 Duaer 里用 Duaer Data 经 Cellosaurus 检索细胞系。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「细胞系」返回 Cellosaurus 记录(编号、物种、类别、疾病)。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「细胞系」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。物种见 [物种](/zh/getting-started/organisms.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「细胞系」。
2. Words 必填(新节点默认 HeLa);也可填 CVCL_ 编号。
3. Species、Category 可选。Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/cell-lines?...
- Authorization: Bearer
- 必须提供 words。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-cell-lines
description: >-
Duaer cell lines. Search cell lines from Cellosaurus.
One successful search uses 1 Duaer credit.
---
# Duaer cell lines
Search cell lines from Cellosaurus. Data comes from Cellosaurus.
## When to use
- Find a cell line by name, species, or category.
- Check the Cellosaurus id of a cell line.
## When not to use
- Cell line ontology terms. Use https://skills.duaer.com/clo.md.
## Call
`GET https://api.duaer.com/v1/data/cell-lines?words=HeLa&species=Homo%20sapiens&category=Cancer&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
`words` is required.
- `words` — cell line name, synonym, or Cellosaurus accession (`CVCL_0030`).
- `species` — Optional. Keep lines whose species contains this text.
- `category` — Optional. Keep lines whose category contains this text.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/cell-lines?words=HeLa&species=Homo%20sapiens&category=Cancer&limit=10` — human cancer cell lines matching HeLa.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Cellosaurus`), `title`, `url`, and `summary`, plus:
- `accession`, `synonyms`, `species`, `category`, `sex`, `age`, `disease` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/organisms.md — Duaer organisms
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/assays.md — Duaer assays
```
## Questions
### Category 填什么?
填类别里的词即可,例如 Cancer cell line、Hybridoma。
## 相关
- [在 Duaer 里检索物种](https://doc.duaer.com/zh/getting-started/organisms.md)
- [在 Duaer 里检索疾病](https://doc.duaer.com/zh/getting-started/diseases.md)
- [在 Duaer 里检索实验测定](https://doc.duaer.com/zh/getting-started/assays.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/cell-lines.md).
# Search cell lines in Duaer
In Duaer, search cell lines via Cellosaurus with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Cell lines in the Duaer data market returns Cellosaurus records (accession, species, category, disease). One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Cell lines), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Organisms](/getting-started/organisms.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Cell lines.
2. Words is required (a new node starts with HeLa). Cellosaurus accessions (CVCL_) also work.
3. Species and Category are optional. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/cell-lines?...
- Authorization: Bearer
- words is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-cell-lines
description: >-
Duaer cell lines. Search cell lines from Cellosaurus.
One successful search uses 1 Duaer credit.
---
# Duaer cell lines
Search cell lines from Cellosaurus. Data comes from Cellosaurus.
## When to use
- Find a cell line by name, species, or category.
- Check the Cellosaurus id of a cell line.
## When not to use
- Cell line ontology terms. Use https://skills.duaer.com/clo.md.
## Call
`GET https://api.duaer.com/v1/data/cell-lines?words=HeLa&species=Homo%20sapiens&category=Cancer&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
`words` is required.
- `words` — cell line name, synonym, or Cellosaurus accession (`CVCL_0030`).
- `species` — Optional. Keep lines whose species contains this text.
- `category` — Optional. Keep lines whose category contains this text.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/cell-lines?words=HeLa&species=Homo%20sapiens&category=Cancer&limit=10` — human cancer cell lines matching HeLa.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Cellosaurus`), `title`, `url`, and `summary`, plus:
- `accession`, `synonyms`, `species`, `category`, `sex`, `age`, `disease` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/organisms.md — Duaer organisms
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/assays.md — Duaer assays
```
## Questions
### What goes in Category for Duaer Cell lines?
Words from the Cellosaurus category, such as Cancer cell line or Hybridoma.
## Related
- [Search organisms in Duaer](https://doc.duaer.com/getting-started/organisms.md)
- [Search diseases in Duaer](https://doc.duaer.com/getting-started/diseases.md)
- [Search assays in Duaer](https://doc.duaer.com/getting-started/assays.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/drug-gene.md).
# 在 Duaer 里检索药–基因互作
在 Duaer 里用 Duaer Data 经 DGIdb 检索药–基因互作。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「药–基因」返回 DGIdb 互作(基因、药物、类型、评分)。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「药–基因」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。基因见 [基因](/zh/getting-started/genes.md);化合物见 [化合物和药物](/zh/getting-started/compounds.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「药–基因」。
2. 填 Gene(新节点默认 EGFR)或 Drug(如 imatinib);可同时填。
3. Approved 可选(yes/no)。Limit 默认 10,最大 20;结果按互作评分优先。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/drug-gene?...
- Authorization: Bearer
- 必须提供 gene 或 drug。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-drug-gene
description: >-
Duaer drug–gene. Search drug–gene interactions from DGIdb.
One successful search uses 1 Duaer credit.
---
# Duaer drug–gene
Search drug–gene interactions from DGIdb. Data comes from DGIdb.
## When to use
- List drugs that interact with a gene.
- Keep only approved drugs.
## When not to use
- Mechanisms of action by drug. Use https://skills.duaer.com/mechanisms.md.
## Call
`GET https://api.duaer.com/v1/data/drug-gene?gene=EGFR&approved=yes&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `gene` or `drug` (or both).
- `gene` — gene symbol (e.g. `EGFR`).
- `drug` — drug name (e.g. `imatinib`).
- `approved` — Optional. `yes` or `no` to keep only approved or unapproved drugs.
- `limit` — Optional. From 1 to 20. Default 10. Results prefer higher interaction score.
## Examples
- `GET https://api.duaer.com/v1/data/drug-gene?gene=EGFR&approved=yes&limit=10` — approved drugs for EGFR.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`DGIdb`), `title`, `url`, and `summary`, plus:
- `gene`, `geneConceptId`, `drug`, `drugConceptId` — text.
- `approved` — true or false.
- `interactionTypes` — text.
- `interactionScore` — number.
- `sources` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/targets.md — Duaer targets
```
## Questions
### Gene 和 Drug 都要填吗?
至少填一项。只填 Gene 看该基因的药物;只填 Drug 看该药的基因。
## 相关
- [在 Duaer 里检索基因](https://doc.duaer.com/zh/getting-started/genes.md)
- [在 Duaer 里检索化合物和药物](https://doc.duaer.com/zh/getting-started/compounds.md)
- [在 Duaer 里检索靶点关联](https://doc.duaer.com/zh/getting-started/targets.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/drug-gene.md).
# Search drug–gene interactions in Duaer
In Duaer, search drug–gene interactions via DGIdb with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Drug–gene in the Duaer data market returns DGIdb interactions (gene, drug, type, score). One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Drug–gene), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Genes](/getting-started/genes.md) and [Compounds](/getting-started/compounds.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Drug–gene.
2. Enter Gene (a new node starts with EGFR) or Drug (such as imatinib); both may be set.
3. Approved is optional (yes/no). Limit defaults to 10, max 20; results prefer higher interaction score. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/drug-gene?...
- Authorization: Bearer
- gene or drug is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-drug-gene
description: >-
Duaer drug–gene. Search drug–gene interactions from DGIdb.
One successful search uses 1 Duaer credit.
---
# Duaer drug–gene
Search drug–gene interactions from DGIdb. Data comes from DGIdb.
## When to use
- List drugs that interact with a gene.
- Keep only approved drugs.
## When not to use
- Mechanisms of action by drug. Use https://skills.duaer.com/mechanisms.md.
## Call
`GET https://api.duaer.com/v1/data/drug-gene?gene=EGFR&approved=yes&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `gene` or `drug` (or both).
- `gene` — gene symbol (e.g. `EGFR`).
- `drug` — drug name (e.g. `imatinib`).
- `approved` — Optional. `yes` or `no` to keep only approved or unapproved drugs.
- `limit` — Optional. From 1 to 20. Default 10. Results prefer higher interaction score.
## Examples
- `GET https://api.duaer.com/v1/data/drug-gene?gene=EGFR&approved=yes&limit=10` — approved drugs for EGFR.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`DGIdb`), `title`, `url`, and `summary`, plus:
- `gene`, `geneConceptId`, `drug`, `drugConceptId` — text.
- `approved` — true or false.
- `interactionTypes` — text.
- `interactionScore` — number.
- `sources` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/targets.md — Duaer targets
```
## Questions
### Must I set both Gene and Drug in Duaer Drug–gene?
Provide at least one. Gene alone lists drugs for that gene; Drug alone lists genes for that drug.
## Related
- [Search genes in Duaer](https://doc.duaer.com/getting-started/genes.md)
- [Search compounds in Duaer](https://doc.duaer.com/getting-started/compounds.md)
- [Search targets in Duaer](https://doc.duaer.com/getting-started/targets.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/reactions.md).
# 在 Duaer 里检索生化反应
在 Duaer 里用 Duaer Data 经 Rhea 检索生化反应。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「反应」返回 Rhea 反应(编号、方程式、EC)。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「反应」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。通路见 [通路](/zh/getting-started/pathways.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「反应」。
2. 填 Words(新节点默认 kinase)或 EC(如 2.7.10.1);可同时填。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/reactions?...
- Authorization: Bearer
- 必须提供 words 或 ec。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-reactions
description: >-
Duaer reactions. Search biochemical reactions from Rhea.
One successful search uses 1 Duaer credit.
---
# Duaer reactions
Search biochemical reactions from Rhea. Data comes from Rhea.
## When to use
- Find Rhea reactions by words or EC number.
- Get reaction equations for an enzyme class.
## When not to use
- Model reactions in ModelSEED. Use https://skills.duaer.com/modelseed.md.
## Call
`GET https://api.duaer.com/v1/data/reactions?words=kinase&ec=2.7.10.1&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `ec` (or both).
- `words` — words in the equation, or a Rhea id (`RHEA:10596`).
- `ec` — Optional. Enzyme Commission number (`2.7.10.1` or `ec:2.7.10.1`). Alone is enough.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/reactions?words=kinase&ec=2.7.10.1&limit=10` — kinase reactions with EC 2.7.10.1.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Rhea`), `title`, `url`, and `summary`, plus:
- `rheaId`, `equation`, `ec`, `status` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/pathways.md — Duaer pathways
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/metabolites.md — Duaer metabolites
```
## Questions
### EC 怎么填?
填酶分类号即可,如 2.7.10.1;也可写 ec:2.7.10.1。只填 EC 也可以,不必填 Words。
## 相关
- [在 Duaer 里检索通路](https://doc.duaer.com/zh/getting-started/pathways.md)
- [在 Duaer 里检索化合物和药物](https://doc.duaer.com/zh/getting-started/compounds.md)
- [在 Duaer 里检索代谢物](https://doc.duaer.com/zh/getting-started/metabolites.md)
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/reactions.md).
# Search reactions in Duaer
In Duaer, search biochemical reactions via Rhea with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Reactions in the Duaer data market returns Rhea reactions (id, equation, EC). One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Reactions), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Pathways](/getting-started/pathways.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Reactions.
2. Enter Words (a new node starts with kinase) or EC (such as 2.7.10.1); both may be set.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/reactions?...
- Authorization: Bearer
- words or ec is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-reactions
description: >-
Duaer reactions. Search biochemical reactions from Rhea.
One successful search uses 1 Duaer credit.
---
# Duaer reactions
Search biochemical reactions from Rhea. Data comes from Rhea.
## When to use
- Find Rhea reactions by words or EC number.
- Get reaction equations for an enzyme class.
## When not to use
- Model reactions in ModelSEED. Use https://skills.duaer.com/modelseed.md.
## Call
`GET https://api.duaer.com/v1/data/reactions?words=kinase&ec=2.7.10.1&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `ec` (or both).
- `words` — words in the equation, or a Rhea id (`RHEA:10596`).
- `ec` — Optional. Enzyme Commission number (`2.7.10.1` or `ec:2.7.10.1`). Alone is enough.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/reactions?words=kinase&ec=2.7.10.1&limit=10` — kinase reactions with EC 2.7.10.1.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Rhea`), `title`, `url`, and `summary`, plus:
- `rheaId`, `equation`, `ec`, `status` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/pathways.md — Duaer pathways
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/metabolites.md — Duaer metabolites
```
## Questions
### How do I fill EC for Duaer Reactions?
Use an Enzyme Commission number such as 2.7.10.1, or ec:2.7.10.1. EC alone is enough without Words.
## Related
- [Search pathways in Duaer](https://doc.duaer.com/getting-started/pathways.md)
- [Search compounds in Duaer](https://doc.duaer.com/getting-started/compounds.md)
- [Search metabolites in Duaer](https://doc.duaer.com/getting-started/metabolites.md)
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/complexes.md).
# 在 Duaer 里检索蛋白复合物
在 Duaer 里用 Duaer Data 经 Complex Portal 检索蛋白复合物。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「复合物」返回 Complex Portal 记录(编号、物种、成员)。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「复合物」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。互作见 [互作](/zh/getting-started/interactions.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「复合物」。
2. Words 必填(新节点默认 insulin);也可填 CPX- 编号。
3. Organism 可选(学名或 taxonomy id)。Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/complexes?...
- Authorization: Bearer
- 必须提供 words。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-complexes
description: >-
Duaer complexes. Search protein complexes from Complex Portal.
One successful search uses 1 Duaer credit.
---
# Duaer complexes
Search protein complexes from Complex Portal. Data comes from Complex Portal.
## When to use
- Find curated protein complexes for a protein or process.
- Filter complexes by organism.
## When not to use
- Pairwise interaction partners. Use https://skills.duaer.com/interactions.md.
## Call
`GET https://api.duaer.com/v1/data/complexes?words=insulin&organism=Homo%20sapiens&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
`words` is required.
- `words` — words in the complex name or description, or a Complex Portal id (`CPX-4305`).
- `organism` — Optional. Keep complexes whose organism contains this text, or an NCBI taxonomy id (`9606`).
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/complexes?words=insulin&organism=Homo%20sapiens&limit=10` — human complexes matching insulin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Complex Portal`), `title`, `url`, and `summary`, plus:
- `complexAc`, `organism`, `description` — text.
- `predicted` — true or false.
- `interactors` — text.
- `interactorCount` — number.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/interactions.md — Duaer interactions
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/organisms.md — Duaer organisms
```
## Questions
### Organism 填什么?
可填学名(如 Homo sapiens)或 NCBI taxonomy id(如 9606)。
## 相关
- [在 Duaer 里检索互作](https://doc.duaer.com/zh/getting-started/interactions.md)
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里检索物种](https://doc.duaer.com/zh/getting-started/organisms.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/complexes.md).
# Search complexes in Duaer
In Duaer, search protein complexes via Complex Portal with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Complexes in the Duaer data market returns Complex Portal records (accession, organism, members). One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Complexes), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Interactions](/getting-started/interactions.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Complexes.
2. Words is required (a new node starts with insulin). Complex Portal ids (CPX-) also work.
3. Organism is optional (scientific name or taxonomy id). Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/complexes?...
- Authorization: Bearer
- words is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-complexes
description: >-
Duaer complexes. Search protein complexes from Complex Portal.
One successful search uses 1 Duaer credit.
---
# Duaer complexes
Search protein complexes from Complex Portal. Data comes from Complex Portal.
## When to use
- Find curated protein complexes for a protein or process.
- Filter complexes by organism.
## When not to use
- Pairwise interaction partners. Use https://skills.duaer.com/interactions.md.
## Call
`GET https://api.duaer.com/v1/data/complexes?words=insulin&organism=Homo%20sapiens&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
`words` is required.
- `words` — words in the complex name or description, or a Complex Portal id (`CPX-4305`).
- `organism` — Optional. Keep complexes whose organism contains this text, or an NCBI taxonomy id (`9606`).
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/complexes?words=insulin&organism=Homo%20sapiens&limit=10` — human complexes matching insulin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Complex Portal`), `title`, `url`, and `summary`, plus:
- `complexAc`, `organism`, `description` — text.
- `predicted` — true or false.
- `interactors` — text.
- `interactorCount` — number.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/interactions.md — Duaer interactions
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/organisms.md — Duaer organisms
```
## Questions
### What goes in Organism for Duaer Complexes?
A scientific name such as Homo sapiens, or an NCBI taxonomy id such as 9606.
## Related
- [Search interactions in Duaer](https://doc.duaer.com/getting-started/interactions.md)
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Search organisms in Duaer](https://doc.duaer.com/getting-started/organisms.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/metabolites.md).
# 在 Duaer 里检索代谢物
在 Duaer 里用 Duaer Data 经 ChEBI 检索代谢物。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「代谢物」返回 ChEBI 词条(编号、同义词、描述)。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「代谢物」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。化合物见 [化合物和药物](/zh/getting-started/compounds.md);反应见 [反应](/zh/getting-started/reactions.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「代谢物」。
2. 填 Words(新节点默认 glucose)或 ChEBI id(如 CHEBI:17234;有 id 时优先)。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/metabolites?...
- Authorization: Bearer
- 必须提供 words 或 id。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-metabolites
description: >-
Duaer metabolites. Search metabolites from ChEBI.
One successful search uses 1 Duaer credit.
---
# Duaer metabolites
Search metabolites from ChEBI. Data comes from ChEBI.
## When to use
- Find a metabolite and its ChEBI id.
- Get synonyms and a description of a small molecule.
## When not to use
- Compound properties from PubChem. Use https://skills.duaer.com/compounds.md.
## Call
`GET https://api.duaer.com/v1/data/metabolites?words=glucose&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id` (or both; id wins).
- `words` — metabolite or small-molecule name.
- `id` — Optional. ChEBI id (`CHEBI:17234` or `17234`). Overrides words when set.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/metabolites?words=glucose&limit=10` — metabolites matching glucose.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`ChEBI`), `title`, `url`, and `summary`, plus:
- `chebiId`, `description`, `synonyms` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/reactions.md — Duaer reactions
- https://skills.duaer.com/pathways.md — Duaer pathways
- https://skills.duaer.com/drug-labels.md — Duaer drug labels
- https://skills.duaer.com/metabolic-dark-matter.md — Duaer: annotate an unknown feature (metabolic dark matter)
```
## Questions
### 和 Compounds 有什么区别?
Metabolites 走 ChEBI 词表(正式名与同义词);Compounds 走 PubChem 小分子检索。
## 相关
- [在 Duaer 里检索化合物和药物](https://doc.duaer.com/zh/getting-started/compounds.md)
- [在 Duaer 里检索生化反应](https://doc.duaer.com/zh/getting-started/reactions.md)
- [在 Duaer 里检索通路](https://doc.duaer.com/zh/getting-started/pathways.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/metabolites.md).
# Search metabolites in Duaer
In Duaer, search metabolites via ChEBI with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Metabolites in the Duaer data market returns ChEBI terms (id, synonyms, description). One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Metabolites), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Compounds](/getting-started/compounds.md) and [Reactions](/getting-started/reactions.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Metabolites.
2. Enter Words (a new node starts with glucose) or ChEBI id (such as CHEBI:17234; id wins when both are set).
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/metabolites?...
- Authorization: Bearer
- words or id is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-metabolites
description: >-
Duaer metabolites. Search metabolites from ChEBI.
One successful search uses 1 Duaer credit.
---
# Duaer metabolites
Search metabolites from ChEBI. Data comes from ChEBI.
## When to use
- Find a metabolite and its ChEBI id.
- Get synonyms and a description of a small molecule.
## When not to use
- Compound properties from PubChem. Use https://skills.duaer.com/compounds.md.
## Call
`GET https://api.duaer.com/v1/data/metabolites?words=glucose&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id` (or both; id wins).
- `words` — metabolite or small-molecule name.
- `id` — Optional. ChEBI id (`CHEBI:17234` or `17234`). Overrides words when set.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/metabolites?words=glucose&limit=10` — metabolites matching glucose.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`ChEBI`), `title`, `url`, and `summary`, plus:
- `chebiId`, `description`, `synonyms` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/reactions.md — Duaer reactions
- https://skills.duaer.com/pathways.md — Duaer pathways
- https://skills.duaer.com/drug-labels.md — Duaer drug labels
- https://skills.duaer.com/metabolic-dark-matter.md — Duaer: annotate an unknown feature (metabolic dark matter)
```
## Questions
### How do Duaer Metabolites differ from Compounds?
Metabolites use the ChEBI vocabulary (formal names and synonyms). Compounds search PubChem small molecules.
## Related
- [Search compounds in Duaer](https://doc.duaer.com/getting-started/compounds.md)
- [Search reactions in Duaer](https://doc.duaer.com/getting-started/reactions.md)
- [Search pathways in Duaer](https://doc.duaer.com/getting-started/pathways.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/drug-labels.md).
# 在 Duaer 里检索药品标签
在 Duaer 里用 Duaer Data 经 OpenFDA 检索 FDA 药品标签。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「药品标签」返回 OpenFDA 标签(商品名、通用名、适应症摘要)。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「药品标签」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。化合物见 [化合物和药物](/zh/getting-started/compounds.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「药品标签」。
2. 填 Words(新节点默认 aspirin),或 Brand / Generic。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/drug-labels?...
- Authorization: Bearer
- 必须提供 words、brand 或 generic。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-drug-labels
description: >-
Duaer drug labels. Search FDA drug labels from OpenFDA.
One successful search uses 1 Duaer credit.
---
# Duaer drug labels
Search FDA drug labels from OpenFDA. Data comes from OpenFDA.
## When to use
- Read FDA label sections for a drug by brand or generic name.
- Check indications and warnings on a US label.
## When not to use
- Adverse event reports. Use https://skills.duaer.com/adverse-events.md.
## Call
`GET https://api.duaer.com/v1/data/drug-labels?words=aspirin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words`, `brand`, or `generic` (or combine; brand/generic narrow when set).
- `words` — brand, generic, or substance name.
- `brand` — Optional. OpenFDA brand name.
- `generic` — Optional. OpenFDA generic name.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/drug-labels?words=aspirin&limit=10` — labels for aspirin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`OpenFDA`), `title`, `url`, and `summary`, plus:
- `setId`, `brandNames`, `genericNames`, `manufacturer`, `indications` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/indications.md — Duaer indications
- https://skills.duaer.com/drug-gene.md — Duaer drug–gene
- https://skills.duaer.com/metabolites.md — Duaer metabolites
- https://skills.duaer.com/adverse-events.md — Duaer adverse events
```
## Questions
### 和 Compounds 有什么区别?
Drug labels 走 FDA 说明书(OpenFDA);Compounds 走 PubChem 小分子结构与标识。
## 相关
- [在 Duaer 里检索化合物和药物](https://doc.duaer.com/zh/getting-started/compounds.md)
- [在 Duaer 里检索适应症](https://doc.duaer.com/zh/getting-started/indications.md)
- [在 Duaer 里检索药–基因互作](https://doc.duaer.com/zh/getting-started/drug-gene.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/drug-labels.md).
# Search drug labels in Duaer
In Duaer, search FDA drug labels via OpenFDA with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Drug labels in the Duaer data market returns OpenFDA labels (brand, generic, indications). One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Drug labels), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Compounds](/getting-started/compounds.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Drug labels.
2. Enter Words (a new node starts with aspirin), or Brand / Generic.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/drug-labels?...
- Authorization: Bearer
- words, brand, or generic is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-drug-labels
description: >-
Duaer drug labels. Search FDA drug labels from OpenFDA.
One successful search uses 1 Duaer credit.
---
# Duaer drug labels
Search FDA drug labels from OpenFDA. Data comes from OpenFDA.
## When to use
- Read FDA label sections for a drug by brand or generic name.
- Check indications and warnings on a US label.
## When not to use
- Adverse event reports. Use https://skills.duaer.com/adverse-events.md.
## Call
`GET https://api.duaer.com/v1/data/drug-labels?words=aspirin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words`, `brand`, or `generic` (or combine; brand/generic narrow when set).
- `words` — brand, generic, or substance name.
- `brand` — Optional. OpenFDA brand name.
- `generic` — Optional. OpenFDA generic name.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/drug-labels?words=aspirin&limit=10` — labels for aspirin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`OpenFDA`), `title`, `url`, and `summary`, plus:
- `setId`, `brandNames`, `genericNames`, `manufacturer`, `indications` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/indications.md — Duaer indications
- https://skills.duaer.com/drug-gene.md — Duaer drug–gene
- https://skills.duaer.com/metabolites.md — Duaer metabolites
- https://skills.duaer.com/adverse-events.md — Duaer adverse events
```
## Questions
### How do Duaer Drug labels differ from Compounds?
Drug labels use FDA labeling (OpenFDA). Compounds search PubChem small molecules.
## Related
- [Search compounds in Duaer](https://doc.duaer.com/getting-started/compounds.md)
- [Search indications in Duaer](https://doc.duaer.com/getting-started/indications.md)
- [Search drug–gene interactions in Duaer](https://doc.duaer.com/getting-started/drug-gene.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/adverse-events.md).
# 在 Duaer 里检索不良反应
在 Duaer 里用 Duaer Data 经 OpenFDA FAERS 检索 FDA 不良反应报告。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「不良反应」返回 OpenFDA FAERS 报告(反应、药物、是否严重)。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「不良反应」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。药品标签见 [药品标签](/zh/getting-started/drug-labels.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「不良反应」。
2. 填 Words(新节点默认 aspirin),或 Brand / Generic。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/adverse-events?...
- Authorization: Bearer
- 必须提供 words、brand 或 generic。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-adverse-events
description: >-
Duaer adverse events. Search FDA adverse event reports from OpenFDA FAERS.
One successful search uses 1 Duaer credit.
---
# Duaer adverse events
Search FDA adverse event reports from OpenFDA FAERS. Data comes from OpenFDA.
## When to use
- Review FAERS adverse event reports for a drug.
- Check reported reactions by brand or generic name.
## When not to use
- Drug labels. Use https://skills.duaer.com/drug-labels.md.
## Call
`GET https://api.duaer.com/v1/data/adverse-events?words=aspirin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words`, `brand`, or `generic` (or combine; brand/generic narrow when set).
- `words` — brand, generic, substance, or medicinal product.
- `brand` — Optional. OpenFDA brand name.
- `generic` — Optional. OpenFDA generic name.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/adverse-events?words=aspirin&limit=10` — adverse event reports for aspirin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`OpenFDA`), `title`, `url`, and `summary`, plus:
- `reportId`, `serious`, `receiptDate`, `country`, `drugs`, `reactions` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/drug-labels.md — Duaer drug labels
- https://skills.duaer.com/trials.md — Duaer clinical trials
- https://skills.duaer.com/indications.md — Duaer indications
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/gwas.md — Duaer GWAS
```
## Questions
### 和 Drug labels 有什么区别?
Adverse events 是 FAERS 自发报告(反应与严重程度);Drug labels 是 FDA 说明书文本。
## 相关
- [在 Duaer 里检索药品标签](https://doc.duaer.com/zh/getting-started/drug-labels.md)
- [在 Duaer 里检索临床试验](https://doc.duaer.com/zh/getting-started/trials.md)
- [在 Duaer 里检索适应症](https://doc.duaer.com/zh/getting-started/indications.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/adverse-events.md).
# Search adverse events in Duaer
In Duaer, search FDA adverse event reports via OpenFDA FAERS with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Adverse events in the Duaer data market returns OpenFDA FAERS reports (reactions, drugs, seriousness). One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Adverse events), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Drug labels](/getting-started/drug-labels.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Adverse events.
2. Enter Words (a new node starts with aspirin), or Brand / Generic.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/adverse-events?...
- Authorization: Bearer
- words, brand, or generic is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-adverse-events
description: >-
Duaer adverse events. Search FDA adverse event reports from OpenFDA FAERS.
One successful search uses 1 Duaer credit.
---
# Duaer adverse events
Search FDA adverse event reports from OpenFDA FAERS. Data comes from OpenFDA.
## When to use
- Review FAERS adverse event reports for a drug.
- Check reported reactions by brand or generic name.
## When not to use
- Drug labels. Use https://skills.duaer.com/drug-labels.md.
## Call
`GET https://api.duaer.com/v1/data/adverse-events?words=aspirin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words`, `brand`, or `generic` (or combine; brand/generic narrow when set).
- `words` — brand, generic, substance, or medicinal product.
- `brand` — Optional. OpenFDA brand name.
- `generic` — Optional. OpenFDA generic name.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/adverse-events?words=aspirin&limit=10` — adverse event reports for aspirin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`OpenFDA`), `title`, `url`, and `summary`, plus:
- `reportId`, `serious`, `receiptDate`, `country`, `drugs`, `reactions` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/drug-labels.md — Duaer drug labels
- https://skills.duaer.com/trials.md — Duaer clinical trials
- https://skills.duaer.com/indications.md — Duaer indications
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/gwas.md — Duaer GWAS
```
## Questions
### How do Duaer Adverse events differ from Drug labels?
Adverse events are FAERS spontaneous reports (reactions and seriousness). Drug labels are FDA labeling text.
## Related
- [Search drug labels in Duaer](https://doc.duaer.com/getting-started/drug-labels.md)
- [Search clinical trials in Duaer](https://doc.duaer.com/getting-started/trials.md)
- [Search indications in Duaer](https://doc.duaer.com/getting-started/indications.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/gwas.md).
# 在 Duaer 里检索 GWAS
在 Duaer 里用 Duaer Data 经 GWAS Catalog REST API v2 检索顶关联。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「GWAS」返回 GWAS Catalog 顶关联(位点、基因、性状、p 值)。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「GWAS」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。变异见 [变异](/zh/getting-started/variants.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「GWAS」。
2. 填 Words(新节点默认 TCF7L2),或 Gene / Rs id / Trait。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/gwas?...
- Authorization: Bearer
- 必须提供 words、gene、rsId 或 trait。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-gwas
description: >-
Duaer GWAS. Search GWAS Catalog associations (REST API v2).
One successful search uses 1 Duaer credit.
---
# Duaer GWAS
Search GWAS Catalog associations (REST API v2). Data comes from GWAS Catalog.
## When to use
- Find GWAS associations for a gene, variant, or trait.
- Check p-values and effect sizes for an rs id.
## When not to use
- Clinical significance of a variant. Use https://skills.duaer.com/clinvar.md.
## Call
`GET https://api.duaer.com/v1/data/gwas?words=TCF7L2&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words`, `gene`, `rsId`, or `trait` (or combine).
- `words` — gene symbol or rs id (`rs…`).
- `gene` — Optional. Mapped gene symbol.
- `rsId` — Optional. Variant rs id (`rs7903146`).
- `trait` — Optional. EFO trait text.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/gwas?words=TCF7L2&limit=10` — GWAS associations for TCF7L2.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`GWAS Catalog`), `title`, `url`, and `summary`, plus:
- `associationId`, `rsId`, `mappedGenes`, `efoTraits`, `reportedTrait`, `pValue`, `beta`, `accessionId`, `pubmedId`, `locations` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/variants.md — Duaer variants
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/adverse-events.md — Duaer adverse events
```
## Questions
### 和 Variants 有什么区别?
GWAS 是文献策展的性状关联;Variants 走 MyVariant 注释型变异查询。
## 相关
- [在 Duaer 里检索变异](https://doc.duaer.com/zh/getting-started/variants.md)
- [在 Duaer 里检索基因](https://doc.duaer.com/zh/getting-started/genes.md)
- [在 Duaer 里检索疾病](https://doc.duaer.com/zh/getting-started/diseases.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/gwas.md).
# Search GWAS associations in Duaer
In Duaer, search GWAS Catalog top associations via REST API v2 with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
GWAS in the Duaer data market returns GWAS Catalog top associations (variant, gene, trait, p-value). One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (GWAS), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Variants](/getting-started/variants.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then GWAS.
2. Enter Words (a new node starts with TCF7L2), or Gene / Rs id / Trait.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/gwas?...
- Authorization: Bearer
- words, gene, rsId, or trait is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-gwas
description: >-
Duaer GWAS. Search GWAS Catalog associations (REST API v2).
One successful search uses 1 Duaer credit.
---
# Duaer GWAS
Search GWAS Catalog associations (REST API v2). Data comes from GWAS Catalog.
## When to use
- Find GWAS associations for a gene, variant, or trait.
- Check p-values and effect sizes for an rs id.
## When not to use
- Clinical significance of a variant. Use https://skills.duaer.com/clinvar.md.
## Call
`GET https://api.duaer.com/v1/data/gwas?words=TCF7L2&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words`, `gene`, `rsId`, or `trait` (or combine).
- `words` — gene symbol or rs id (`rs…`).
- `gene` — Optional. Mapped gene symbol.
- `rsId` — Optional. Variant rs id (`rs7903146`).
- `trait` — Optional. EFO trait text.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/gwas?words=TCF7L2&limit=10` — GWAS associations for TCF7L2.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`GWAS Catalog`), `title`, `url`, and `summary`, plus:
- `associationId`, `rsId`, `mappedGenes`, `efoTraits`, `reportedTrait`, `pValue`, `beta`, `accessionId`, `pubmedId`, `locations` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/variants.md — Duaer variants
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/adverse-events.md — Duaer adverse events
```
## Questions
### How do Duaer GWAS differ from Variants?
GWAS returns literature-curated trait associations. Variants query MyVariant annotation records.
## Related
- [Search variants in Duaer](https://doc.duaer.com/getting-started/variants.md)
- [Search genes in Duaer](https://doc.duaer.com/getting-started/genes.md)
- [Search diseases in Duaer](https://doc.duaer.com/getting-started/diseases.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/rxnorm.md).
# 在 Duaer 里检索 RxNorm
在 Duaer 里用 Duaer Data 经 NLM RxNav 检索 RxNorm 药名。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「RxNorm」返回药名与 RxCUI。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「RxNorm」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。化合物见 [化合物和药物](/zh/getting-started/compounds.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「RxNorm」。
2. 填 Words(新节点默认 aspirin),或 RxCUI。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/rxnorm?...
- Authorization: Bearer
- 必须提供 words 或 id。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-rxnorm
description: >-
Duaer RxNorm. Look up drug names from RxNorm (NLM RxNav).
One successful search uses 1 Duaer credit.
---
# Duaer RxNorm
Look up drug names from RxNorm (NLM RxNav). Data comes from RxNorm.
## When to use
- Normalize a drug name to an RxNorm concept id.
- Look up an RxCUI.
## When not to use
- Drug classes. Use https://skills.duaer.com/rxclass.md.
## Call
`GET https://api.duaer.com/v1/data/rxnorm?words=aspirin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id` (or both; id wins).
- `words` — drug or ingredient name.
- `id` — Optional. RxNorm concept id (RxCUI). Overrides words when set.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/rxnorm?words=aspirin&limit=10` — RxNorm concepts for aspirin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`RxNorm`), `title`, `url`, and `summary`, plus:
- `rxcui`, `tty`, `synonym`, `score` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/drug-labels.md — Duaer drug labels
- https://skills.duaer.com/indications.md — Duaer indications
- https://skills.duaer.com/gwas.md — Duaer GWAS
```
## Questions
### 和 Compounds 有什么区别?
RxNorm 规范药名与 RxCUI;Compounds 走 PubChem 小分子结构。
## 相关
- [在 Duaer 里检索化合物和药物](https://doc.duaer.com/zh/getting-started/compounds.md)
- [在 Duaer 里检索药品标签](https://doc.duaer.com/zh/getting-started/drug-labels.md)
- [在 Duaer 里检索适应症](https://doc.duaer.com/zh/getting-started/indications.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/rxnorm.md).
# Search RxNorm in Duaer
In Duaer, look up RxNorm drug names via NLM RxNav with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
RxNorm in the Duaer data market returns drug names and RxCUI ids. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (RxNorm), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Compounds](/getting-started/compounds.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then RxNorm.
2. Enter Words (a new node starts with aspirin), or RxCUI.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/rxnorm?...
- Authorization: Bearer
- words or id is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-rxnorm
description: >-
Duaer RxNorm. Look up drug names from RxNorm (NLM RxNav).
One successful search uses 1 Duaer credit.
---
# Duaer RxNorm
Look up drug names from RxNorm (NLM RxNav). Data comes from RxNorm.
## When to use
- Normalize a drug name to an RxNorm concept id.
- Look up an RxCUI.
## When not to use
- Drug classes. Use https://skills.duaer.com/rxclass.md.
## Call
`GET https://api.duaer.com/v1/data/rxnorm?words=aspirin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id` (or both; id wins).
- `words` — drug or ingredient name.
- `id` — Optional. RxNorm concept id (RxCUI). Overrides words when set.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/rxnorm?words=aspirin&limit=10` — RxNorm concepts for aspirin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`RxNorm`), `title`, `url`, and `summary`, plus:
- `rxcui`, `tty`, `synonym`, `score` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/drug-labels.md — Duaer drug labels
- https://skills.duaer.com/indications.md — Duaer indications
- https://skills.duaer.com/gwas.md — Duaer GWAS
```
## Questions
### How do Duaer RxNorm differ from Compounds?
RxNorm normalizes drug names to RxCUI. Compounds search PubChem small molecules.
## Related
- [Search compounds in Duaer](https://doc.duaer.com/getting-started/compounds.md)
- [Search drug labels in Duaer](https://doc.duaer.com/getting-started/drug-labels.md)
- [Search indications in Duaer](https://doc.duaer.com/getting-started/indications.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/mesh.md).
# 在 Duaer 里检索 MeSH
在 Duaer 里用 Duaer Data 经 NLM MeSH 检索主题词。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「MeSH」返回主题词与 MeSH UI。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「MeSH」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。关键词见 [关键词](/zh/getting-started/keywords.md);药名见 [RxNorm](/zh/getting-started/rxnorm.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「MeSH」。
2. 填 Words(新节点默认 aspirin),或 MeSH id(如 D001241)。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/mesh?...
- Authorization: Bearer
- 必须提供 words 或 id。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-mesh
description: >-
Duaer MeSH. Look up MeSH subject headings (NLM MeSH).
One successful search uses 1 Duaer credit.
---
# Duaer MeSH
Look up MeSH subject headings (NLM MeSH). Data comes from MeSH.
## When to use
- Find the MeSH heading and id for a term.
- Get controlled vocabulary for PubMed searches.
## When not to use
- Disease ontology terms. Use https://skills.duaer.com/mondo.md.
## Call
`GET https://api.duaer.com/v1/data/mesh?words=aspirin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id` (or both; id wins).
- `words` — MeSH descriptor label.
- `id` — Optional. MeSH unique id (D001241). Overrides words when set.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/mesh?words=aspirin&limit=10` — MeSH headings for aspirin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`MeSH`), `title`, `url`, and `summary`, plus:
- `meshId`, `resource`, `synonyms` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/keywords.md — Duaer keywords
- https://skills.duaer.com/rxnorm.md — Duaer RxNorm
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/trials.md — Duaer clinical trials
```
## Questions
### 和 Keywords 有什么区别?
MeSH 是 NLM 医学主题词;Keywords 走 UniProt 关键词。
## 相关
- [在 Duaer 里检索关键词](https://doc.duaer.com/zh/getting-started/keywords.md)
- [在 Duaer 里检索 RxNorm](https://doc.duaer.com/zh/getting-started/rxnorm.md)
- [在 Duaer 里检索疾病](https://doc.duaer.com/zh/getting-started/diseases.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/mesh.md).
# Search MeSH in Duaer
In Duaer, look up MeSH subject headings via NLM MeSH with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
MeSH in the Duaer data market returns subject headings and MeSH unique ids. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (MeSH), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Keywords](/getting-started/keywords.md) and [RxNorm](/getting-started/rxnorm.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then MeSH.
2. Enter Words (a new node starts with aspirin), or a MeSH id such as D001241.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/mesh?...
- Authorization: Bearer
- words or id is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-mesh
description: >-
Duaer MeSH. Look up MeSH subject headings (NLM MeSH).
One successful search uses 1 Duaer credit.
---
# Duaer MeSH
Look up MeSH subject headings (NLM MeSH). Data comes from MeSH.
## When to use
- Find the MeSH heading and id for a term.
- Get controlled vocabulary for PubMed searches.
## When not to use
- Disease ontology terms. Use https://skills.duaer.com/mondo.md.
## Call
`GET https://api.duaer.com/v1/data/mesh?words=aspirin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id` (or both; id wins).
- `words` — MeSH descriptor label.
- `id` — Optional. MeSH unique id (D001241). Overrides words when set.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/mesh?words=aspirin&limit=10` — MeSH headings for aspirin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`MeSH`), `title`, `url`, and `summary`, plus:
- `meshId`, `resource`, `synonyms` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/keywords.md — Duaer keywords
- https://skills.duaer.com/rxnorm.md — Duaer RxNorm
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/trials.md — Duaer clinical trials
```
## Questions
### How do Duaer MeSH differ from Keywords?
MeSH is NLM Medical Subject Headings. Keywords search UniProt keywords.
## Related
- [Search keywords in Duaer](https://doc.duaer.com/getting-started/keywords.md)
- [Search RxNorm in Duaer](https://doc.duaer.com/getting-started/rxnorm.md)
- [Search diseases in Duaer](https://doc.duaer.com/getting-started/diseases.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/phenotypes.md).
# 在 Duaer 里检索表型
在 Duaer 里用 Duaer Data 经 HPO(EBI OLS)检索表型术语。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「表型」返回 HPO 术语与 id。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「表型」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。疾病见 [疾病](/zh/getting-started/diseases.md);主题词见 [MeSH](/zh/getting-started/mesh.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「表型」。
2. 填 Words(新节点默认 diabetes),或 HPO id(如 HP:0000819)。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/phenotypes?...
- Authorization: Bearer
- 必须提供 words 或 id。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-phenotypes
description: >-
Duaer phenotypes. Look up HPO phenotype terms (EBI OLS).
One successful search uses 1 Duaer credit.
---
# Duaer phenotypes
Look up HPO phenotype terms (EBI OLS). Data comes from HPO.
## When to use
- Find HPO terms for a clinical phenotype.
- Look up an HPO id.
## When not to use
- Mouse phenotypes. Use https://skills.duaer.com/mp.md.
## Call
`GET https://api.duaer.com/v1/data/phenotypes?words=diabetes&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id` (or both; id wins).
- `words` — HPO phenotype label.
- `id` — Optional. HPO id (HP:0000819). Overrides words when set.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/phenotypes?words=diabetes&limit=10` — HPO terms matching diabetes.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`HPO`), `title`, `url`, and `summary`, plus:
- `hpoId`, `iri`, `synonyms` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/mesh.md — Duaer MeSH
- https://skills.duaer.com/trials.md — Duaer clinical trials
- https://skills.duaer.com/adverse-events.md — Duaer adverse events
```
## Questions
### 和 Diseases 有什么区别?
表型走 HPO 临床表型词;Diseases 走 MyDisease 疾病记录。
## 相关
- [在 Duaer 里检索疾病](https://doc.duaer.com/zh/getting-started/diseases.md)
- [在 Duaer 里检索 MeSH](https://doc.duaer.com/zh/getting-started/mesh.md)
- [在 Duaer 里检索临床试验](https://doc.duaer.com/zh/getting-started/trials.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/phenotypes.md).
# Search phenotypes in Duaer
In Duaer, look up HPO phenotype terms via EBI OLS with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Phenotypes in the Duaer data market returns HPO terms and ids. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Phenotypes), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Diseases](/getting-started/diseases.md) and [MeSH](/getting-started/mesh.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Phenotypes.
2. Enter Words (a new node starts with diabetes), or an HPO id such as HP:0000819.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/phenotypes?...
- Authorization: Bearer
- words or id is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-phenotypes
description: >-
Duaer phenotypes. Look up HPO phenotype terms (EBI OLS).
One successful search uses 1 Duaer credit.
---
# Duaer phenotypes
Look up HPO phenotype terms (EBI OLS). Data comes from HPO.
## When to use
- Find HPO terms for a clinical phenotype.
- Look up an HPO id.
## When not to use
- Mouse phenotypes. Use https://skills.duaer.com/mp.md.
## Call
`GET https://api.duaer.com/v1/data/phenotypes?words=diabetes&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id` (or both; id wins).
- `words` — HPO phenotype label.
- `id` — Optional. HPO id (HP:0000819). Overrides words when set.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/phenotypes?words=diabetes&limit=10` — HPO terms matching diabetes.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`HPO`), `title`, `url`, and `summary`, plus:
- `hpoId`, `iri`, `synonyms` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/mesh.md — Duaer MeSH
- https://skills.duaer.com/trials.md — Duaer clinical trials
- https://skills.duaer.com/adverse-events.md — Duaer adverse events
```
## Questions
### How do Duaer phenotypes differ from Diseases?
Phenotypes return HPO clinical phenotype terms. Diseases query MyDisease disease records.
## Related
- [Search diseases in Duaer](https://doc.duaer.com/getting-started/diseases.md)
- [Search MeSH in Duaer](https://doc.duaer.com/getting-started/mesh.md)
- [Search clinical trials in Duaer](https://doc.duaer.com/getting-started/trials.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/crossrefs.md).
# 在 Duaer 里检索交叉引用
在 Duaer 里用 Duaer Data 经 UniChem 按 InChIKey 检索化合物交叉引用。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「交叉引用」返回 UniChem 各库里的化合物 id 与链接。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「交叉引用」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。化合物见 [化合物和药物](/zh/getting-started/compounds.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「交叉引用」。
2. 填 InChIKey(新节点默认阿司匹林的 key)。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/crossrefs?...
- Authorization: Bearer
- 必须提供 inchikey。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-crossrefs
description: >-
Duaer crossrefs. Look up UniChem compound cross-references by InChIKey.
One successful search uses 1 Duaer credit.
---
# Duaer crossrefs
Look up UniChem compound cross-references by InChIKey. Data comes from UniChem.
## When to use
- Map a compound InChIKey to ids in ChEMBL, ChEBI, DrugBank, and other sources.
- Link a compound across databases.
## When not to use
- Compound properties. Use https://skills.duaer.com/compounds.md.
## Call
`GET https://api.duaer.com/v1/data/crossrefs?inchikey=BSYNRYMUTXBXSQ-UHFFFAOYSA-N&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `inchikey`.
- `inchikey` — compound InChIKey (for example aspirin: BSYNRYMUTXBXSQ-UHFFFAOYSA-N).
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/crossrefs?inchikey=BSYNRYMUTXBXSQ-UHFFFAOYSA-N&limit=10` — cross-references for aspirin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`UniChem`), `title`, `url`, and `summary`, plus:
- `database`, `compoundId`, `srcId`, `inchikey` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/metabolites.md — Duaer metabolites
- https://skills.duaer.com/drug-labels.md — Duaer drug labels
- https://skills.duaer.com/indications.md — Duaer indications
```
## Questions
### InChIKey 从哪来?
可用 [化合物和药物](/zh/getting-started/compounds.md) 查到 InChIKey,再来这里做交叉引用。
## 相关
- [在 Duaer 里检索化合物和药物](https://doc.duaer.com/zh/getting-started/compounds.md)
- [在 Duaer 里检索代谢物](https://doc.duaer.com/zh/getting-started/metabolites.md)
- [在 Duaer 里检索药品标签](https://doc.duaer.com/zh/getting-started/drug-labels.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/crossrefs.md).
# Search crossrefs in Duaer
In Duaer, look up UniChem compound cross-references by InChIKey with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Crossrefs in the Duaer data market returns UniChem compound ids and links across databases. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Crossrefs), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Compounds](/getting-started/compounds.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Crossrefs.
2. Enter an InChIKey (a new node starts with aspirin's key).
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/crossrefs?...
- Authorization: Bearer
- inchikey is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-crossrefs
description: >-
Duaer crossrefs. Look up UniChem compound cross-references by InChIKey.
One successful search uses 1 Duaer credit.
---
# Duaer crossrefs
Look up UniChem compound cross-references by InChIKey. Data comes from UniChem.
## When to use
- Map a compound InChIKey to ids in ChEMBL, ChEBI, DrugBank, and other sources.
- Link a compound across databases.
## When not to use
- Compound properties. Use https://skills.duaer.com/compounds.md.
## Call
`GET https://api.duaer.com/v1/data/crossrefs?inchikey=BSYNRYMUTXBXSQ-UHFFFAOYSA-N&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `inchikey`.
- `inchikey` — compound InChIKey (for example aspirin: BSYNRYMUTXBXSQ-UHFFFAOYSA-N).
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/crossrefs?inchikey=BSYNRYMUTXBXSQ-UHFFFAOYSA-N&limit=10` — cross-references for aspirin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`UniChem`), `title`, `url`, and `summary`, plus:
- `database`, `compoundId`, `srcId`, `inchikey` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/metabolites.md — Duaer metabolites
- https://skills.duaer.com/drug-labels.md — Duaer drug labels
- https://skills.duaer.com/indications.md — Duaer indications
```
## Questions
### Where do I get an InChIKey in Duaer?
Use [Compounds](/getting-started/compounds.md) to find an InChIKey, then look up crossrefs here.
## Related
- [Search compounds in Duaer](https://doc.duaer.com/getting-started/compounds.md)
- [Search metabolites in Duaer](https://doc.duaer.com/getting-started/metabolites.md)
- [Search drug labels in Duaer](https://doc.duaer.com/getting-started/drug-labels.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/drug-recalls.md).
# 在 Duaer 里检索药品召回
在 Duaer 里用 Duaer Data 经 OpenFDA 检索药品召回执法报告。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「药品召回」返回 OpenFDA 执法召回记录(分类、原因、企业)。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「药品召回」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。不良反应见 [不良反应](/zh/getting-started/adverse-events.md);标签见 [药品标签](/zh/getting-started/drug-labels.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「药品召回」。
2. 填 Words(新节点默认 aspirin),或 Brand / Generic。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/drug-recalls?...
- Authorization: Bearer
- 必须提供 words、brand 或 generic。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-drug-recalls
description: >-
Duaer drug recalls. Search FDA drug recall enforcement reports from OpenFDA.
One successful search uses 1 Duaer credit.
---
# Duaer drug recalls
Search FDA drug recall enforcement reports from OpenFDA. Data comes from OpenFDA.
## When to use
- Find FDA drug recall reports by brand or generic name.
- Check recall class and reason.
## When not to use
- Device recalls. Use https://skills.duaer.com/device-recall.md.
## Call
`GET https://api.duaer.com/v1/data/drug-recalls?words=aspirin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words`, `brand`, or `generic` (or combine brand and generic).
- `words` — brand, generic, substance, or product text.
- `brand` — Optional. OpenFDA brand name.
- `generic` — Optional. OpenFDA generic name.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/drug-recalls?words=aspirin&limit=10` — recalls mentioning aspirin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`OpenFDA`), `title`, `url`, and `summary`, plus:
- `recallNumber`, `status`, `classification`, `reason`, `product`, `firm`, `reportDate` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/adverse-events.md — Duaer adverse events
- https://skills.duaer.com/drug-labels.md — Duaer drug labels
- https://skills.duaer.com/rxnorm.md — Duaer RxNorm
- https://skills.duaer.com/compounds.md — Duaer compounds
```
## Questions
### 和 Adverse events 有什么区别?
药品召回是执法召回记录;不良反应是 FAERS 不良事件报告。
## 相关
- [在 Duaer 里检索不良反应](https://doc.duaer.com/zh/getting-started/adverse-events.md)
- [在 Duaer 里检索药品标签](https://doc.duaer.com/zh/getting-started/drug-labels.md)
- [在 Duaer 里检索 RxNorm](https://doc.duaer.com/zh/getting-started/rxnorm.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/drug-recalls.md).
# Search drug recalls in Duaer
In Duaer, search FDA drug recall enforcement reports via OpenFDA with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Drug recalls in the Duaer data market returns OpenFDA enforcement recall records (class, reason, firm). One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Drug recalls), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Adverse events](/getting-started/adverse-events.md) and [Drug labels](/getting-started/drug-labels.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Drug recalls.
2. Enter Words (a new node starts with aspirin), or Brand / Generic.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/drug-recalls?...
- Authorization: Bearer
- words, brand, or generic is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-drug-recalls
description: >-
Duaer drug recalls. Search FDA drug recall enforcement reports from OpenFDA.
One successful search uses 1 Duaer credit.
---
# Duaer drug recalls
Search FDA drug recall enforcement reports from OpenFDA. Data comes from OpenFDA.
## When to use
- Find FDA drug recall reports by brand or generic name.
- Check recall class and reason.
## When not to use
- Device recalls. Use https://skills.duaer.com/device-recall.md.
## Call
`GET https://api.duaer.com/v1/data/drug-recalls?words=aspirin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words`, `brand`, or `generic` (or combine brand and generic).
- `words` — brand, generic, substance, or product text.
- `brand` — Optional. OpenFDA brand name.
- `generic` — Optional. OpenFDA generic name.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/drug-recalls?words=aspirin&limit=10` — recalls mentioning aspirin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`OpenFDA`), `title`, `url`, and `summary`, plus:
- `recallNumber`, `status`, `classification`, `reason`, `product`, `firm`, `reportDate` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/adverse-events.md — Duaer adverse events
- https://skills.duaer.com/drug-labels.md — Duaer drug labels
- https://skills.duaer.com/rxnorm.md — Duaer RxNorm
- https://skills.duaer.com/compounds.md — Duaer compounds
```
## Questions
### How do Duaer drug recalls differ from adverse events?
Drug recalls are FDA enforcement recall records. Adverse events are FAERS safety reports.
## Related
- [Search adverse events in Duaer](https://doc.duaer.com/getting-started/adverse-events.md)
- [Search drug labels in Duaer](https://doc.duaer.com/getting-started/drug-labels.md)
- [Search RxNorm in Duaer](https://doc.duaer.com/getting-started/rxnorm.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/ligands.md).
# 在 Duaer 里检索配体
在 Duaer 里用 Duaer Data 经 PDBe 查阅化学组分(CCD)配体。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「配体」返回 PDBe 化学组分字典记录(名称、分子式、InChIKey)。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「配体」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。结构见 [蛋白结构](/zh/getting-started/structures.md);化合物见 [化合物和药物](/zh/getting-started/compounds.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「配体」。
2. 填 Words 或 CCD ID(新节点默认 ATP)。可用逗号一次查多个。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/ligands?...
- Authorization: Bearer
- 必须提供 words 或 id(CCD,1–3 位)。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-ligands
description: >-
Duaer ligands. Look up PDBe chemical component (CCD) ligands.
One successful search uses 1 Duaer credit.
---
# Duaer ligands
Look up PDBe chemical component (CCD) ligands. Data comes from PDBe.
## When to use
- Look up a PDB chemical component by code or name.
- Get formula and name of a ligand in a structure.
## When not to use
- Structures that bind a ligand. Use https://skills.duaer.com/structures.md.
## Call
`GET https://api.duaer.com/v1/data/ligands?words=ATP&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id` as a CCD chemical component id (1–3 characters). Comma-separate several ids.
- `words` — CCD id such as ATP or HEM.
- `id` — Optional. Same as words; combine for a batch.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/ligands?words=ATP&limit=10` — PDBe components matching ATP.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`PDBe`), `title`, `url`, and `summary`, plus:
- `ccdId`, `name`, `formula`, `weight`, `inchiKey`, `inchi`, `compoundType`, `firstObservedIn` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/structures.md — Duaer structures
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/crossrefs.md — Duaer crossrefs
- https://skills.duaer.com/metabolites.md — Duaer metabolites
```
## Questions
### 和 Structures 有什么区别?
配体按 CCD 查化学组分定义;Structures 按 PDB 条目查三维结构,也可带配体名过滤。
## 相关
- [在 Duaer 里检索蛋白结构](https://doc.duaer.com/zh/getting-started/structures.md)
- [在 Duaer 里检索化合物和药物](https://doc.duaer.com/zh/getting-started/compounds.md)
- [在 Duaer 里检索交叉引用](https://doc.duaer.com/zh/getting-started/crossrefs.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/ligands.md).
# Search ligands in Duaer
In Duaer, look up PDBe chemical component (CCD) ligands with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Ligands in the Duaer data market returns PDBe chemical component dictionary rows (name, formula, InChIKey). One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Ligands), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Structures](/getting-started/structures.md) and [Compounds](/getting-started/compounds.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Ligands.
2. Enter Words or CCD ID (a new node starts with ATP). Comma-separate several ids.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/ligands?...
- Authorization: Bearer
- words or id (CCD, 1–3 characters) is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-ligands
description: >-
Duaer ligands. Look up PDBe chemical component (CCD) ligands.
One successful search uses 1 Duaer credit.
---
# Duaer ligands
Look up PDBe chemical component (CCD) ligands. Data comes from PDBe.
## When to use
- Look up a PDB chemical component by code or name.
- Get formula and name of a ligand in a structure.
## When not to use
- Structures that bind a ligand. Use https://skills.duaer.com/structures.md.
## Call
`GET https://api.duaer.com/v1/data/ligands?words=ATP&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id` as a CCD chemical component id (1–3 characters). Comma-separate several ids.
- `words` — CCD id such as ATP or HEM.
- `id` — Optional. Same as words; combine for a batch.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/ligands?words=ATP&limit=10` — PDBe components matching ATP.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`PDBe`), `title`, `url`, and `summary`, plus:
- `ccdId`, `name`, `formula`, `weight`, `inchiKey`, `inchi`, `compoundType`, `firstObservedIn` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/structures.md — Duaer structures
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/crossrefs.md — Duaer crossrefs
- https://skills.duaer.com/metabolites.md — Duaer metabolites
```
## Questions
### How do Duaer ligands differ from structures?
Ligands look up CCD chemical component definitions. Structures search PDB entries and can filter by a bound ligand name.
## Related
- [Search protein structures in Duaer](https://doc.duaer.com/getting-started/structures.md)
- [Search compounds in Duaer](https://doc.duaer.com/getting-started/compounds.md)
- [Search crossrefs in Duaer](https://doc.duaer.com/getting-started/crossrefs.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/chembl.md).
# 在 Duaer 里检索 ChEMBL
在 Duaer 里用 Duaer Data 经 ChEMBL 检索生物活性分子。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「ChEMBL」返回分子卡片(名称、分子式、最高研发阶段、SMILES)。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「ChEMBL」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。PubChem 见 [化合物和药物](/zh/getting-started/compounds.md);配体见 [配体](/zh/getting-started/ligands.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「ChEMBL」。
2. 填 Words(新节点默认 aspirin),或 ChEMBL ID(如 CHEMBL25)。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/chembl?...
- Authorization: Bearer
- 必须提供 words 或 id。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-chembl
description: >-
Duaer ChEMBL. Search bioactive molecules from ChEMBL.
One successful search uses 1 Duaer credit.
---
# Duaer ChEMBL
Search bioactive molecules from ChEMBL. Data comes from ChEMBL.
## When to use
- Find a bioactive molecule and its ChEMBL id.
- Check development phase and molecule type.
## When not to use
- Measured bioactivities. Use https://skills.duaer.com/activities.md.
## Call
`GET https://api.duaer.com/v1/data/chembl?words=aspirin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — molecule name, such as aspirin.
- `id` — Optional. ChEMBL id such as CHEMBL25.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/chembl?words=aspirin&limit=10` — ChEMBL molecules matching aspirin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`ChEMBL`), `title`, `url`, and `summary`, plus:
- `chemblId`, `name`, `formula`, `weight`, `maxPhase`, `smiles`, `inchiKey` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/ligands.md — Duaer ligands
- https://skills.duaer.com/crossrefs.md — Duaer crossrefs
- https://skills.duaer.com/metabolites.md — Duaer metabolites
```
## Questions
### 和 Compounds 有什么区别?
Compounds 走 PubChem;ChEMBL 偏药物化学与研发阶段(max phase)。
## 相关
- [在 Duaer 里检索化合物和药物](https://doc.duaer.com/zh/getting-started/compounds.md)
- [在 Duaer 里检索配体](https://doc.duaer.com/zh/getting-started/ligands.md)
- [在 Duaer 里检索交叉引用](https://doc.duaer.com/zh/getting-started/crossrefs.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/chembl.md).
# Search ChEMBL in Duaer
In Duaer, search bioactive molecules via ChEMBL with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
ChEMBL in the Duaer data market returns molecule cards (name, formula, max phase, SMILES). One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (ChEMBL), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Compounds](/getting-started/compounds.md) and [Ligands](/getting-started/ligands.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then ChEMBL.
2. Enter Words (a new node starts with aspirin), or a ChEMBL ID such as CHEMBL25.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/chembl?...
- Authorization: Bearer
- words or id is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-chembl
description: >-
Duaer ChEMBL. Search bioactive molecules from ChEMBL.
One successful search uses 1 Duaer credit.
---
# Duaer ChEMBL
Search bioactive molecules from ChEMBL. Data comes from ChEMBL.
## When to use
- Find a bioactive molecule and its ChEMBL id.
- Check development phase and molecule type.
## When not to use
- Measured bioactivities. Use https://skills.duaer.com/activities.md.
## Call
`GET https://api.duaer.com/v1/data/chembl?words=aspirin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — molecule name, such as aspirin.
- `id` — Optional. ChEMBL id such as CHEMBL25.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/chembl?words=aspirin&limit=10` — ChEMBL molecules matching aspirin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`ChEMBL`), `title`, `url`, and `summary`, plus:
- `chemblId`, `name`, `formula`, `weight`, `maxPhase`, `smiles`, `inchiKey` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/ligands.md — Duaer ligands
- https://skills.duaer.com/crossrefs.md — Duaer crossrefs
- https://skills.duaer.com/metabolites.md — Duaer metabolites
```
## Questions
### How do Duaer ChEMBL and Compounds differ?
Compounds use PubChem. ChEMBL emphasizes medicinal chemistry and development max phase.
## Related
- [Search compounds in Duaer](https://doc.duaer.com/getting-started/compounds.md)
- [Search ligands in Duaer](https://doc.duaer.com/getting-started/ligands.md)
- [Search crossrefs in Duaer](https://doc.duaer.com/getting-started/crossrefs.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/ensembl.md).
# 在 Duaer 里检索 Ensembl
在 Duaer 里用 Duaer Data 经 Ensembl 按基因符号或编号查阅基因(坐标、生物类型)。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「Ensembl」返回基因坐标、生物类型与规范转录本。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「Ensembl」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。符号检索见 [基因](/zh/getting-started/genes.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「Ensembl」。
2. 填 Symbol(新节点默认 TP53),或 Ensembl ID;Species 默认 homo_sapiens。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/ensembl?...
- Authorization: Bearer
- 必须提供 words 或 id。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-ensembl
description: >-
Duaer Ensembl. Look up Ensembl genes by symbol or id.
One successful search uses 1 Duaer credit.
---
# Duaer Ensembl
Look up Ensembl genes by symbol or id. Data comes from Ensembl.
## When to use
- Get the Ensembl gene id, location, and biotype for a symbol.
- Look up a gene in another species.
## When not to use
- Variant effect prediction. Use https://skills.duaer.com/ensembl-vep.md.
## Call
`GET https://api.duaer.com/v1/data/ensembl?words=TP53&species=homo_sapiens&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` (gene symbol) or `id` (Ensembl gene id).
- `words` — gene symbol, such as TP53.
- `id` — Optional. Ensembl id such as ENSG00000141510.
- `species` — Optional. Default homo_sapiens. Used with words.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/ensembl?words=TP53&species=homo_sapiens&limit=10` — Ensembl genes matching human TP53.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Ensembl`), `title`, `url`, and `summary`, plus:
- `ensemblId`, `symbol`, `biotype`, `species`, `assembly`, `chromosome`, `start`, `end`, `strand`, `canonicalTranscript`, `description` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/variants.md — Duaer variants
- https://skills.duaer.com/orthologs.md — Duaer orthologs
```
## Questions
### 和 Genes 有什么区别?
Genes 走 MyGene(符号、别名、Entrez);Ensembl 直接返回基因组坐标、生物类型与规范转录本。
## 相关
- [在 Duaer 里检索基因](https://doc.duaer.com/zh/getting-started/genes.md)
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里检索变异](https://doc.duaer.com/zh/getting-started/variants.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/ensembl.md).
# Search Ensembl in Duaer
In Duaer, look up Ensembl genes by symbol or id (coords, biotype) with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Ensembl in the Duaer data market returns gene coordinates, biotype, and canonical transcript. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Ensembl), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Genes](/getting-started/genes.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Ensembl.
2. Enter Symbol (a new node starts with TP53), or an Ensembl ID. Species defaults to homo_sapiens.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/ensembl?...
- Authorization: Bearer
- words or id is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-ensembl
description: >-
Duaer Ensembl. Look up Ensembl genes by symbol or id.
One successful search uses 1 Duaer credit.
---
# Duaer Ensembl
Look up Ensembl genes by symbol or id. Data comes from Ensembl.
## When to use
- Get the Ensembl gene id, location, and biotype for a symbol.
- Look up a gene in another species.
## When not to use
- Variant effect prediction. Use https://skills.duaer.com/ensembl-vep.md.
## Call
`GET https://api.duaer.com/v1/data/ensembl?words=TP53&species=homo_sapiens&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` (gene symbol) or `id` (Ensembl gene id).
- `words` — gene symbol, such as TP53.
- `id` — Optional. Ensembl id such as ENSG00000141510.
- `species` — Optional. Default homo_sapiens. Used with words.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/ensembl?words=TP53&species=homo_sapiens&limit=10` — Ensembl genes matching human TP53.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Ensembl`), `title`, `url`, and `summary`, plus:
- `ensemblId`, `symbol`, `biotype`, `species`, `assembly`, `chromosome`, `start`, `end`, `strand`, `canonicalTranscript`, `description` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/variants.md — Duaer variants
- https://skills.duaer.com/orthologs.md — Duaer orthologs
```
## Questions
### How do Duaer Ensembl and Genes differ?
Genes uses MyGene (symbol, aliases, Entrez). Ensembl returns genomic coordinates, biotype, and the canonical transcript.
## Related
- [Search genes in Duaer](https://doc.duaer.com/getting-started/genes.md)
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Search variants in Duaer](https://doc.duaer.com/getting-started/variants.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/kegg.md).
# 在 Duaer 里检索 KEGG
在 Duaer 里用 Duaer Data 经 KEGG 检索通路、疾病或化合物。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「KEGG」返回通路图、疾病或化合物条目。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「KEGG」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。Reactome 通路见 [通路](/zh/getting-started/pathways.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「KEGG」。
2. 填 Words(新节点默认 apoptosis),或 KEGG ID;Database 默认 Pathway。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/kegg?...
- Authorization: Bearer
- 必须提供 words 或 id。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-kegg
description: >-
Duaer KEGG. Search KEGG pathways, diseases, or compounds.
One successful search uses 1 Duaer credit.
---
# Duaer KEGG
Search KEGG pathways, diseases, or compounds. Data comes from KEGG.
## When to use
- Find KEGG pathways, diseases, or compounds by words.
- Look up one KEGG entry by id.
## When not to use
- Reactome pathways. Use https://skills.duaer.com/pathways.md.
## Call
`GET https://api.duaer.com/v1/data/kegg?words=apoptosis&db=pathway&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — search text, such as apoptosis.
- `id` — Optional. KEGG id such as map04210, H00409, or C01405.
- `db` — Optional. pathway (default), disease, or compound. Used with words.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/kegg?words=apoptosis&db=pathway&limit=10` — KEGG pathways matching apoptosis.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`KEGG`), `title`, `url`, and `summary`, plus:
- `keggId`, `name`, `database`, `description`, `keggClass` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/pathways.md — Duaer pathways
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/gene-ontology.md — Duaer Gene Ontology
```
## Questions
### 和 Pathways 有什么区别?
Pathways 走 Reactome;KEGG 是另一套通路/疾病/化合物目录,可用 Database 切换。
## 相关
- [在 Duaer 里检索通路](https://doc.duaer.com/zh/getting-started/pathways.md)
- [在 Duaer 里检索疾病](https://doc.duaer.com/zh/getting-started/diseases.md)
- [在 Duaer 里检索化合物和药物](https://doc.duaer.com/zh/getting-started/compounds.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/kegg.md).
# Search KEGG in Duaer
In Duaer, search KEGG pathways, diseases, or compounds with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
KEGG in the Duaer data market returns pathway, disease, or compound entries. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (KEGG), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Pathways](/getting-started/pathways.md) (Reactome).
## Search on the canvas
1. Open the node creator, select Duaer Data, then KEGG.
2. Enter Words (a new node starts with apoptosis), or a KEGG ID. Database defaults to Pathway.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/kegg?...
- Authorization: Bearer
- words or id is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-kegg
description: >-
Duaer KEGG. Search KEGG pathways, diseases, or compounds.
One successful search uses 1 Duaer credit.
---
# Duaer KEGG
Search KEGG pathways, diseases, or compounds. Data comes from KEGG.
## When to use
- Find KEGG pathways, diseases, or compounds by words.
- Look up one KEGG entry by id.
## When not to use
- Reactome pathways. Use https://skills.duaer.com/pathways.md.
## Call
`GET https://api.duaer.com/v1/data/kegg?words=apoptosis&db=pathway&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — search text, such as apoptosis.
- `id` — Optional. KEGG id such as map04210, H00409, or C01405.
- `db` — Optional. pathway (default), disease, or compound. Used with words.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/kegg?words=apoptosis&db=pathway&limit=10` — KEGG pathways matching apoptosis.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`KEGG`), `title`, `url`, and `summary`, plus:
- `keggId`, `name`, `database`, `description`, `keggClass` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/pathways.md — Duaer pathways
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/compounds.md — Duaer compounds
- https://skills.duaer.com/gene-ontology.md — Duaer Gene Ontology
```
## Questions
### How do Duaer KEGG and Pathways differ?
Pathways uses Reactome. KEGG is a separate pathway, disease, and compound catalog; set Database to switch.
## Related
- [Search pathways in Duaer](https://doc.duaer.com/getting-started/pathways.md)
- [Search diseases in Duaer](https://doc.duaer.com/getting-started/diseases.md)
- [Search compounds in Duaer](https://doc.duaer.com/getting-started/compounds.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/monarch.md).
# 在 Duaer 里检索 Monarch
在 Duaer 里用 Duaer Data 经 Monarch 检索疾病、表型或基因。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「Monarch」返回 MONDO/HPO/基因条目与交叉引用。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「Monarch」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。表型见 [表型](/zh/getting-started/phenotypes.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「Monarch」。
2. 填 Words(新节点默认 Marfan),或 Monarch ID;Category 默认 Disease。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/monarch?...
- Authorization: Bearer
- 必须提供 words 或 id。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-monarch
description: >-
Duaer Monarch. Search Monarch diseases, phenotypes, or genes.
One successful search uses 1 Duaer credit.
---
# Duaer Monarch
Search Monarch diseases, phenotypes, or genes. Data comes from Monarch.
## When to use
- Find diseases, phenotypes, or genes in the Monarch knowledge graph.
- Get a Monarch id for linking.
## When not to use
- Rare disease records. Use https://skills.duaer.com/orphanet.md.
## Call
`GET https://api.duaer.com/v1/data/monarch?words=Marfan&category=disease&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — search text, such as Marfan.
- `id` — Optional. CURIE such as MONDO:0007947, HP:0000819, or HGNC:1100.
- `category` — Optional. disease (default), phenotype, or gene. Used with words.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/monarch?words=Marfan&category=disease&limit=10` — Monarch diseases matching Marfan.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Monarch`), `title`, `url`, and `summary`, plus:
- `monarchId`, `name`, `category`, `description`, `taxon`, `xrefs` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/phenotypes.md — Duaer phenotypes
- https://skills.duaer.com/genes.md — Duaer genes
```
## Questions
### 和 Diseases / Phenotypes 有什么区别?
Diseases 走 UniProt 疾病;Phenotypes 走 HPO。Monarch 统一检索疾病/表型/基因,并带回交叉引用。
## 相关
- [在 Duaer 里检索疾病](https://doc.duaer.com/zh/getting-started/diseases.md)
- [在 Duaer 里检索表型](https://doc.duaer.com/zh/getting-started/phenotypes.md)
- [在 Duaer 里检索基因](https://doc.duaer.com/zh/getting-started/genes.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/monarch.md).
# Search Monarch in Duaer
In Duaer, search Monarch diseases, phenotypes, or genes with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Monarch in the Duaer data market returns MONDO, HPO, or gene entries with cross-references. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Monarch), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Phenotypes](/getting-started/phenotypes.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Monarch.
2. Enter Words (a new node starts with Marfan), or a Monarch id. Category defaults to Disease.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/monarch?...
- Authorization: Bearer
- words or id is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-monarch
description: >-
Duaer Monarch. Search Monarch diseases, phenotypes, or genes.
One successful search uses 1 Duaer credit.
---
# Duaer Monarch
Search Monarch diseases, phenotypes, or genes. Data comes from Monarch.
## When to use
- Find diseases, phenotypes, or genes in the Monarch knowledge graph.
- Get a Monarch id for linking.
## When not to use
- Rare disease records. Use https://skills.duaer.com/orphanet.md.
## Call
`GET https://api.duaer.com/v1/data/monarch?words=Marfan&category=disease&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — search text, such as Marfan.
- `id` — Optional. CURIE such as MONDO:0007947, HP:0000819, or HGNC:1100.
- `category` — Optional. disease (default), phenotype, or gene. Used with words.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/monarch?words=Marfan&category=disease&limit=10` — Monarch diseases matching Marfan.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Monarch`), `title`, `url`, and `summary`, plus:
- `monarchId`, `name`, `category`, `description`, `taxon`, `xrefs` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/phenotypes.md — Duaer phenotypes
- https://skills.duaer.com/genes.md — Duaer genes
```
## Questions
### How do Duaer Monarch, Diseases, and Phenotypes differ?
Diseases uses UniProt disease. Phenotypes uses HPO. Monarch searches disease, phenotype, or gene together and returns cross-references.
## Related
- [Search diseases in Duaer](https://doc.duaer.com/getting-started/diseases.md)
- [Search phenotypes in Duaer](https://doc.duaer.com/getting-started/phenotypes.md)
- [Search genes in Duaer](https://doc.duaer.com/getting-started/genes.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/hgnc.md).
# 在 Duaer 里检索 HGNC
在 Duaer 里用 Duaer Data 经 HGNC 查阅核准基因符号与别名。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「HGNC」返回核准符号、位点、Ensembl/Entrez/UniProt 交叉引用。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「HGNC」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。符号检索见 [基因](/zh/getting-started/genes.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「HGNC」。
2. 填 Words(新节点默认 BRCA1),或 HGNC ID。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/hgnc?...
- Authorization: Bearer
- 必须提供 words 或 id。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-hgnc
description: >-
Duaer HGNC. Look up approved gene symbols from HGNC.
One successful search uses 1 Duaer credit.
---
# Duaer HGNC
Look up approved gene symbols from HGNC. Data comes from HGNC.
## When to use
- Check the approved human gene symbol and HGNC id.
- Resolve a previous or alias symbol.
## When not to use
- Gene ids across species. Use https://skills.duaer.com/genes.md.
## Call
`GET https://api.duaer.com/v1/data/hgnc?words=BRCA1&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — gene symbol or name words, such as BRCA1.
- `id` — Optional. HGNC id such as HGNC:1100 or 1100.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/hgnc?words=BRCA1&limit=10` — HGNC records for BRCA1.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`HGNC`), `title`, `url`, and `summary`, plus:
- `hgncId`, `symbol`, `name`, `locusGroup`, `locusType`, `location`, `ensemblId`, `entrezId`, `uniprotIds`, `status` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/ensembl.md — Duaer Ensembl
- https://skills.duaer.com/proteins.md — Duaer proteins
```
## Questions
### 和 Genes / Ensembl 有什么区别?
Genes 走 MyGene;Ensembl 偏基因组坐标。HGNC 是人类基因命名权威,返回核准符号与别名。
## 相关
- [在 Duaer 里检索基因](https://doc.duaer.com/zh/getting-started/genes.md)
- [在 Duaer 里检索 Ensembl](https://doc.duaer.com/zh/getting-started/ensembl.md)
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/hgnc.md).
# Search HGNC in Duaer
In Duaer, look up approved gene symbols via HGNC with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
HGNC in the Duaer data market returns approved symbols, locus, and Ensembl/Entrez/UniProt cross-references. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (HGNC), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Genes](/getting-started/genes.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then HGNC.
2. Enter Words (a new node starts with BRCA1), or an HGNC id.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/hgnc?...
- Authorization: Bearer
- words or id is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-hgnc
description: >-
Duaer HGNC. Look up approved gene symbols from HGNC.
One successful search uses 1 Duaer credit.
---
# Duaer HGNC
Look up approved gene symbols from HGNC. Data comes from HGNC.
## When to use
- Check the approved human gene symbol and HGNC id.
- Resolve a previous or alias symbol.
## When not to use
- Gene ids across species. Use https://skills.duaer.com/genes.md.
## Call
`GET https://api.duaer.com/v1/data/hgnc?words=BRCA1&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — gene symbol or name words, such as BRCA1.
- `id` — Optional. HGNC id such as HGNC:1100 or 1100.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/hgnc?words=BRCA1&limit=10` — HGNC records for BRCA1.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`HGNC`), `title`, `url`, and `summary`, plus:
- `hgncId`, `symbol`, `name`, `locusGroup`, `locusType`, `location`, `ensemblId`, `entrezId`, `uniprotIds`, `status` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/ensembl.md — Duaer Ensembl
- https://skills.duaer.com/proteins.md — Duaer proteins
```
## Questions
### How do Duaer HGNC, Genes, and Ensembl differ?
Genes uses MyGene. Ensembl emphasizes genomic coordinates. HGNC is the human gene nomenclature authority for approved symbols and aliases.
## Related
- [Search genes in Duaer](https://doc.duaer.com/getting-started/genes.md)
- [Search Ensembl in Duaer](https://doc.duaer.com/getting-started/ensembl.md)
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/pride.md).
# 在 Duaer 里检索 PRIDE
在 Duaer 里用 Duaer Data 经 PRIDE 检索蛋白质组学项目。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「PRIDE」返回蛋白质组学项目编号、物种、关键词与 DOI。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「PRIDE」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。转录组 GEO 见 [GEO](/zh/getting-started/geo.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「PRIDE」。
2. 填 Words(新节点默认 insulin),或 PRIDE ID(如 PXD000001)。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/pride?...
- Authorization: Bearer
- 必须提供 words 或 id。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-pride
description: >-
Duaer PRIDE. Search proteomics projects in PRIDE.
One successful search uses 1 Duaer credit.
---
# Duaer PRIDE
Search proteomics projects in PRIDE. Data comes from PRIDE.
## When to use
- Find public proteomics projects in PRIDE.
- Look up a PXD project.
## When not to use
- ProteomeXchange dataset records. Use https://skills.duaer.com/proteomexchange.md.
## Call
`GET https://api.duaer.com/v1/data/pride?words=insulin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — project words, such as insulin.
- `id` — Optional. PRIDE accession such as PXD000001.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/pride?words=insulin&limit=10` — PRIDE projects matching insulin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`PRIDE`), `title`, `url`, and `summary`, plus:
- `prideId`, `description`, `organisms`, `keywords`, `doi`, `publicationDate`, `instruments` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/geo.md — Duaer GEO
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/expression.md — Duaer expression
```
## Questions
### 和 GEO / Proteins 有什么区别?
GEO 偏表达芯片/测序数据集;Proteins 走 UniProt 条目。PRIDE 是质谱蛋白质组学项目归档。
## 相关
- [在 Duaer 里检索 GEO](https://doc.duaer.com/zh/getting-started/geo.md)
- [在 Duaer 里检索基因和蛋白](https://doc.duaer.com/zh/getting-started/proteins.md)
- [在 Duaer 里检索表达](https://doc.duaer.com/zh/getting-started/expression.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/pride.md).
# Search PRIDE in Duaer
In Duaer, search PRIDE proteomics projects with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
PRIDE in the Duaer data market returns proteomics project accessions, organisms, keywords, and DOI. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (PRIDE), or copy the skill on the [data market](/getting-started/data-market.md). Related: [GEO](/getting-started/geo.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then PRIDE.
2. Enter Words (a new node starts with insulin), or a PRIDE id such as PXD000001.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/pride?...
- Authorization: Bearer
- words or id is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-pride
description: >-
Duaer PRIDE. Search proteomics projects in PRIDE.
One successful search uses 1 Duaer credit.
---
# Duaer PRIDE
Search proteomics projects in PRIDE. Data comes from PRIDE.
## When to use
- Find public proteomics projects in PRIDE.
- Look up a PXD project.
## When not to use
- ProteomeXchange dataset records. Use https://skills.duaer.com/proteomexchange.md.
## Call
`GET https://api.duaer.com/v1/data/pride?words=insulin&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — project words, such as insulin.
- `id` — Optional. PRIDE accession such as PXD000001.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/pride?words=insulin&limit=10` — PRIDE projects matching insulin.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`PRIDE`), `title`, `url`, and `summary`, plus:
- `prideId`, `description`, `organisms`, `keywords`, `doi`, `publicationDate`, `instruments` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/geo.md — Duaer GEO
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/expression.md — Duaer expression
```
## Questions
### How do Duaer PRIDE, GEO, and Proteins differ?
GEO emphasizes expression array/sequencing datasets. Proteins uses UniProt entries. PRIDE is a mass-spectrometry proteomics project archive.
## Related
- [Search GEO in Duaer](https://doc.duaer.com/getting-started/geo.md)
- [Search proteins in Duaer](https://doc.duaer.com/getting-started/proteins.md)
- [Search expression in Duaer](https://doc.duaer.com/getting-started/expression.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/uberon.md).
# 在 Duaer 里检索 Uberon
在 Duaer 里用 Duaer Data 经 Uberon 检索解剖学术语。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「Uberon」返回解剖结构编号、描述与同义词。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「Uberon」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。亚细胞定位见 [亚细胞定位](/zh/getting-started/locations.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「Uberon」。
2. 填 Words(新节点默认 liver),或 Uberon ID。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/uberon?...
- Authorization: Bearer
- 必须提供 words 或 id。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-uberon
description: >-
Duaer Uberon. Search anatomy terms from Uberon.
One successful search uses 1 Duaer credit.
---
# Duaer Uberon
Search anatomy terms from Uberon. Data comes from Uberon.
## When to use
- Find anatomy terms and Uberon ids.
- Standardize tissue names across species.
## When not to use
- Human-only anatomy. Use https://skills.duaer.com/fma.md.
## Call
`GET https://api.duaer.com/v1/data/uberon?words=liver&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — anatomy words, such as liver.
- `id` — Optional. Uberon id such as UBERON:0002107.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/uberon?words=liver&limit=10` — Uberon terms matching liver.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Uberon`), `title`, `url`, and `summary`, plus:
- `uberonId`, `description`, `synonyms`, `iri` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/locations.md — Duaer locations
- https://skills.duaer.com/atlas.md — Duaer tissue atlas
- https://skills.duaer.com/organisms.md — Duaer organisms
```
## Questions
### 和 Locations 有什么区别?
Locations 走 UniProt 亚细胞定位;Uberon 是多物种解剖结构本体(器官、组织等)。
## 相关
- [在 Duaer 里检索亚细胞定位](https://doc.duaer.com/zh/getting-started/locations.md)
- [在 Duaer 里检索组织图谱](https://doc.duaer.com/zh/getting-started/atlas.md)
- [在 Duaer 里检索物种](https://doc.duaer.com/zh/getting-started/organisms.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/uberon.md).
# Search Uberon in Duaer
In Duaer, search Uberon anatomy terms with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Uberon in the Duaer data market returns anatomy term ids, descriptions, and synonyms. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Uberon), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Locations](/getting-started/locations.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Uberon.
2. Enter Words (a new node starts with liver), or an Uberon id.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/uberon?...
- Authorization: Bearer
- words or id is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-uberon
description: >-
Duaer Uberon. Search anatomy terms from Uberon.
One successful search uses 1 Duaer credit.
---
# Duaer Uberon
Search anatomy terms from Uberon. Data comes from Uberon.
## When to use
- Find anatomy terms and Uberon ids.
- Standardize tissue names across species.
## When not to use
- Human-only anatomy. Use https://skills.duaer.com/fma.md.
## Call
`GET https://api.duaer.com/v1/data/uberon?words=liver&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — anatomy words, such as liver.
- `id` — Optional. Uberon id such as UBERON:0002107.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/uberon?words=liver&limit=10` — Uberon terms matching liver.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Uberon`), `title`, `url`, and `summary`, plus:
- `uberonId`, `description`, `synonyms`, `iri` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/locations.md — Duaer locations
- https://skills.duaer.com/atlas.md — Duaer tissue atlas
- https://skills.duaer.com/organisms.md — Duaer organisms
```
## Questions
### How do Duaer Uberon and Locations differ?
Locations uses UniProt subcellular locations. Uberon is a multi-species anatomy ontology (organs, tissues, and related structures).
## Related
- [Search locations in Duaer](https://doc.duaer.com/getting-started/locations.md)
- [Search tissue atlas in Duaer](https://doc.duaer.com/getting-started/atlas.md)
- [Search organisms in Duaer](https://doc.duaer.com/getting-started/organisms.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/biostudies.md).
# 在 Duaer 里检索 BioStudies
在 Duaer 里用 Duaer Data 经 BioStudies 检索多组学研究。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「BioStudies」返回研究编号、标题、类型与发布日期。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「BioStudies」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。相关见 [GEO](/zh/getting-started/geo.md)、[PRIDE](/zh/getting-started/pride.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「BioStudies」。
2. 填 Words(新节点默认 diabetes),或 Study ID。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/biostudies?...
- Authorization: Bearer
- 必须提供 words 或 id。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-biostudies
description: >-
Duaer BioStudies. Search multi-omics studies in BioStudies.
One successful search uses 1 Duaer credit.
---
# Duaer BioStudies
Search multi-omics studies in BioStudies. Data comes from BioStudies.
## When to use
- Find multi-omics studies in BioStudies.
- Look up one study by accession.
## When not to use
- Expression experiments. Use https://skills.duaer.com/expression-atlas.md.
## Call
`GET https://api.duaer.com/v1/data/biostudies?words=diabetes&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — study words, such as diabetes.
- `id` — Optional. BioStudies accession such as S-EPMC7532821.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/biostudies?words=diabetes&limit=10` — BioStudies studies matching diabetes.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`BioStudies`), `title`, `url`, and `summary`, plus:
- `studyId`, `studyType`, `authors`, `releaseDate`, `description`, `dataSource` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/geo.md — Duaer GEO
- https://skills.duaer.com/pride.md — Duaer PRIDE
- https://skills.duaer.com/expression.md — Duaer expression
```
## Questions
### 和 GEO / PRIDE 有什么区别?
GEO 偏表达数据集;PRIDE 偏质谱蛋白质组学项目。BioStudies 是 EBI 多组学研究归档总入口。
## 相关
- [在 Duaer 里检索 GEO](https://doc.duaer.com/zh/getting-started/geo.md)
- [在 Duaer 里检索 PRIDE](https://doc.duaer.com/zh/getting-started/pride.md)
- [在 Duaer 里检索表达](https://doc.duaer.com/zh/getting-started/expression.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/biostudies.md).
# Search BioStudies in Duaer
In Duaer, search BioStudies multi-omics studies with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
BioStudies in the Duaer data market returns study accessions, titles, types, and release dates. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (BioStudies), or copy the skill on the [data market](/getting-started/data-market.md). Related: [GEO](/getting-started/geo.md), [PRIDE](/getting-started/pride.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then BioStudies.
2. Enter Words (a new node starts with diabetes), or a Study ID.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/biostudies?...
- Authorization: Bearer
- words or id is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-biostudies
description: >-
Duaer BioStudies. Search multi-omics studies in BioStudies.
One successful search uses 1 Duaer credit.
---
# Duaer BioStudies
Search multi-omics studies in BioStudies. Data comes from BioStudies.
## When to use
- Find multi-omics studies in BioStudies.
- Look up one study by accession.
## When not to use
- Expression experiments. Use https://skills.duaer.com/expression-atlas.md.
## Call
`GET https://api.duaer.com/v1/data/biostudies?words=diabetes&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — study words, such as diabetes.
- `id` — Optional. BioStudies accession such as S-EPMC7532821.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/biostudies?words=diabetes&limit=10` — BioStudies studies matching diabetes.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`BioStudies`), `title`, `url`, and `summary`, plus:
- `studyId`, `studyType`, `authors`, `releaseDate`, `description`, `dataSource` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/geo.md — Duaer GEO
- https://skills.duaer.com/pride.md — Duaer PRIDE
- https://skills.duaer.com/expression.md — Duaer expression
```
## Questions
### How do Duaer BioStudies, GEO, and PRIDE differ?
GEO emphasizes expression datasets. PRIDE emphasizes mass-spec proteomics projects. BioStudies is the EBI multi-omics study archive entry point.
## Related
- [Search GEO in Duaer](https://doc.duaer.com/getting-started/geo.md)
- [Search PRIDE in Duaer](https://doc.duaer.com/getting-started/pride.md)
- [Search expression in Duaer](https://doc.duaer.com/getting-started/expression.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/orphanet.md).
# 在 Duaer 里检索 Orphanet
在 Duaer 里用 Duaer Data 经 Orphanet 检索罕见病。一次成功查询 1 额度。本页含完整英文调用技能。
## 能拿到什么
Duaer 数据市场里的「Orphanet」返回罕见病编号、名称与同义词。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「Orphanet」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。相关见 [Monarch](/zh/getting-started/monarch.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「Orphanet」。
2. 填 Words(新节点默认 Marfan),或 Orphanet ID。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/orphanet?...
- Authorization: Bearer
- 必须提供 words 或 id。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-orphanet
description: >-
Duaer Orphanet. Search rare diseases from Orphanet.
One successful search uses 1 Duaer credit.
---
# Duaer Orphanet
Search rare diseases from Orphanet. Data comes from Orphanet.
## When to use
- Find rare diseases and ORPHA codes.
- Look up one rare disease by code.
## When not to use
- Broad disease ontology. Use https://skills.duaer.com/mondo.md.
## Call
`GET https://api.duaer.com/v1/data/orphanet?words=Marfan&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — rare disease words, such as Marfan.
- `id` — Optional. Orphanet code such as ORPHA:558 or 558.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/orphanet?words=Marfan&limit=10` — rare diseases matching Marfan.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Orphanet`), `title`, `url`, and `summary`, plus:
- `orphanetId`, `description`, `synonyms`, `iri` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/monarch.md — Duaer Monarch
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/phenotypes.md — Duaer phenotypes
```
## Questions
### 和 Diseases / Monarch 有什么区别?
Diseases 走 UniProt;Monarch 覆盖疾病/表型/基因。Orphanet 专注罕见病命名与目录(ORDO)。
## 相关
- [在 Duaer 里检索 Monarch](https://doc.duaer.com/zh/getting-started/monarch.md)
- [在 Duaer 里检索疾病](https://doc.duaer.com/zh/getting-started/diseases.md)
- [在 Duaer 里检索表型](https://doc.duaer.com/zh/getting-started/phenotypes.md)
- [在 Duaer 里使用数据市场](https://doc.duaer.com/zh/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/orphanet.md).
# Search Orphanet in Duaer
In Duaer, search Orphanet rare diseases with Duaer Data. One successful search uses 1 credit. This page includes the full English call skill.
## What you get
Orphanet in the Duaer data market returns rare-disease codes, names, and synonyms. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Orphanet), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Monarch](/getting-started/monarch.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Orphanet.
2. Enter Words (a new node starts with Marfan), or an Orphanet id.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/orphanet?...
- Authorization: Bearer
- words or id is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-orphanet
description: >-
Duaer Orphanet. Search rare diseases from Orphanet.
One successful search uses 1 Duaer credit.
---
# Duaer Orphanet
Search rare diseases from Orphanet. Data comes from Orphanet.
## When to use
- Find rare diseases and ORPHA codes.
- Look up one rare disease by code.
## When not to use
- Broad disease ontology. Use https://skills.duaer.com/mondo.md.
## Call
`GET https://api.duaer.com/v1/data/orphanet?words=Marfan&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — rare disease words, such as Marfan.
- `id` — Optional. Orphanet code such as ORPHA:558 or 558.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/orphanet?words=Marfan&limit=10` — rare diseases matching Marfan.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Orphanet`), `title`, `url`, and `summary`, plus:
- `orphanetId`, `description`, `synonyms`, `iri` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/monarch.md — Duaer Monarch
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/phenotypes.md — Duaer phenotypes
```
## Questions
### How do Duaer Orphanet, Diseases, and Monarch differ?
Diseases uses UniProt. Monarch covers disease, phenotype, and gene. Orphanet focuses on rare-disease nomenclature (ORDO).
## Related
- [Search Monarch in Duaer](https://doc.duaer.com/getting-started/monarch.md)
- [Search diseases in Duaer](https://doc.duaer.com/getting-started/diseases.md)
- [Search phenotypes in Duaer](https://doc.duaer.com/getting-started/phenotypes.md)
- [Use the Duaer data market](https://doc.duaer.com/getting-started/data-market.md)
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/efo.md).
# 在 Duaer 里检索 EFO
在 Duaer 里经实验因子本体(EFO)检索性状与实验因子。一次成功查询 1 额度。
## 能拿到什么
Duaer 数据市场里的「EFO」返回实验因子编号、名称与同义词。一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「EFO」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。相关见 [GWAS](/zh/getting-started/gwas.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「EFO」。
2. 填 Words(新节点默认 asthma),或 EFO ID。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/efo?...
- Authorization: Bearer
- 必须提供 words 或 id。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-efo
description: >-
Duaer EFO. Search experimental factors from EFO.
One successful search uses 1 Duaer credit.
---
# Duaer EFO
Search experimental factors from EFO. Data comes from EFO.
## When to use
- Find experimental factor terms used by GWAS and Expression Atlas.
- Look up an EFO id.
## When not to use
- Disease ontology. Use https://skills.duaer.com/mondo.md.
## Call
`GET https://api.duaer.com/v1/data/efo?words=asthma&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — trait or factor words, such as asthma.
- `id` — Optional. EFO id such as EFO:0000270 or EFO_0000270.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/efo?words=asthma&limit=10` — EFO terms matching asthma.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`EFO`), `title`, `url`, and `summary`, plus:
- `efoId`, `description`, `synonyms`, `iri` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/gwas.md — Duaer GWAS
- https://skills.duaer.com/phenotypes.md — Duaer phenotypes
- https://skills.duaer.com/mesh.md — Duaer MeSH
```
## Questions
### Duaer 的 EFO 检索扣多少额度?
一次成功的 EFO 检索在 Duaer 里扣 1 额度。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/efo.md).
# Search EFO in Duaer
In Duaer, search traits and experimental factors via EFO. One successful search uses 1 credit.
## What you get
EFO in the Duaer data market returns experimental-factor codes, names, and synonyms. One successful search uses 1 credit.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (EFO), or copy the skill on the [data market](/getting-started/data-market.md). Related: [GWAS](/getting-started/gwas.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then EFO.
2. Enter Words (a new node starts with asthma), or an EFO id.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/efo?...
- Authorization: Bearer
- words or id is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-efo
description: >-
Duaer EFO. Search experimental factors from EFO.
One successful search uses 1 Duaer credit.
---
# Duaer EFO
Search experimental factors from EFO. Data comes from EFO.
## When to use
- Find experimental factor terms used by GWAS and Expression Atlas.
- Look up an EFO id.
## When not to use
- Disease ontology. Use https://skills.duaer.com/mondo.md.
## Call
`GET https://api.duaer.com/v1/data/efo?words=asthma&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — trait or factor words, such as asthma.
- `id` — Optional. EFO id such as EFO:0000270 or EFO_0000270.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/efo?words=asthma&limit=10` — EFO terms matching asthma.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`EFO`), `title`, `url`, and `summary`, plus:
- `efoId`, `description`, `synonyms`, `iri` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/gwas.md — Duaer GWAS
- https://skills.duaer.com/phenotypes.md — Duaer phenotypes
- https://skills.duaer.com/mesh.md — Duaer MeSH
```
## Questions
### How many credits does an EFO search use in Duaer?
One successful EFO search in Duaer uses 1 credit.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/rnacentral.md).
# 在 Duaer 里检索 RNAcentral
在 Duaer 里经 RNAcentral 检索非编码 RNA。一次成功查询用 1 额度。
## 能拿到什么
Duaer 数据市场里的「RNAcentral」一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「RNAcentral」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。相关见 [Genes](/zh/getting-started/genes.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「RNAcentral」。
2. 填 Words(新节点默认 microRNA),或 ID。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/rnacentral?...
- Authorization: Bearer
- 必须提供 words 或 id。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-rnacentral
description: >-
Duaer RNAcentral. Search non-coding RNA in RNAcentral.
One successful search uses 1 Duaer credit.
---
# Duaer RNAcentral
Search non-coding RNA in RNAcentral. Data comes from RNAcentral.
## When to use
- Find non-coding RNA sequences in RNAcentral.
- Look up an URS id.
## When not to use
- RNA families. Use https://skills.duaer.com/rfam.md.
## Call
`GET https://api.duaer.com/v1/data/rnacentral?words=microRNA&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — RNA description words, such as microRNA.
- `id` — Optional. RNAcentral id such as URS000075C808.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/rnacentral?words=microRNA&limit=10` — RNAcentral entries matching microRNA.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`RNAcentral`), `title`, `url`, and `summary`, plus:
- `rnacentralId`, `description` — text.
- `length` — number.
- `rnaType`, `sequence` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/ensembl.md — Duaer Ensembl
- https://skills.duaer.com/hgnc.md — Duaer HGNC
```
## Questions
### Duaer 的 RNAcentral 检索扣多少额度?
一次成功的 RNAcentral 检索在 Duaer 里扣 1 额度。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/rnacentral.md).
# Search RNAcentral in Duaer
In Duaer, search non-coding RNA in RNAcentral. One successful search uses 1 credit.
## What you get
RNAcentral in the Duaer data market uses 1 credit per successful search.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (RNAcentral), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Genes](/getting-started/genes.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then RNAcentral.
2. Enter Words (a new node starts with microRNA), or an id.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/rnacentral?...
- Authorization: Bearer
- words or id is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-rnacentral
description: >-
Duaer RNAcentral. Search non-coding RNA in RNAcentral.
One successful search uses 1 Duaer credit.
---
# Duaer RNAcentral
Search non-coding RNA in RNAcentral. Data comes from RNAcentral.
## When to use
- Find non-coding RNA sequences in RNAcentral.
- Look up an URS id.
## When not to use
- RNA families. Use https://skills.duaer.com/rfam.md.
## Call
`GET https://api.duaer.com/v1/data/rnacentral?words=microRNA&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — RNA description words, such as microRNA.
- `id` — Optional. RNAcentral id such as URS000075C808.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/rnacentral?words=microRNA&limit=10` — RNAcentral entries matching microRNA.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`RNAcentral`), `title`, `url`, and `summary`, plus:
- `rnacentralId`, `description` — text.
- `length` — number.
- `rnaType`, `sequence` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/genes.md — Duaer genes
- https://skills.duaer.com/ensembl.md — Duaer Ensembl
- https://skills.duaer.com/hgnc.md — Duaer HGNC
```
## Questions
### How many credits does a RNAcentral search use in Duaer?
One successful RNAcentral search in Duaer uses 1 credit.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/mondo.md).
# 在 Duaer 里检索 Mondo
在 Duaer 里经 Mondo 检索疾病术语。一次成功查询用 1 额度。
## 能拿到什么
Duaer 数据市场里的「Mondo」一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「Mondo」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。相关见 [Diseases](/zh/getting-started/diseases.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「Mondo」。
2. 填 Words(新节点默认 diabetes),或 ID。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/mondo?...
- Authorization: Bearer
- 必须提供 words 或 id。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-mondo
description: >-
Duaer Mondo. Search diseases from Mondo.
One successful search uses 1 Duaer credit.
---
# Duaer Mondo
Search diseases from Mondo. Data comes from Mondo.
## When to use
- Find diseases and Mondo ids.
- Map disease names across ontologies.
## When not to use
- Rare disease codes. Use https://skills.duaer.com/orphanet.md.
## Call
`GET https://api.duaer.com/v1/data/mondo?words=diabetes&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — disease words, such as diabetes.
- `id` — Optional. Mondo id such as MONDO:0005148.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/mondo?words=diabetes&limit=10` — Mondo diseases matching diabetes.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Mondo`), `title`, `url`, and `summary`, plus:
- `mondoId`, `description`, `synonyms`, `iri` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/orphanet.md — Duaer Orphanet
- https://skills.duaer.com/monarch.md — Duaer Monarch
```
## Questions
### Duaer 的 Mondo 检索扣多少额度?
一次成功的 Mondo 检索在 Duaer 里扣 1 额度。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/mondo.md).
# Search Mondo in Duaer
In Duaer, search disease terms via Mondo. One successful search uses 1 credit.
## What you get
Mondo in the Duaer data market uses 1 credit per successful search.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Mondo), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Diseases](/getting-started/diseases.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Mondo.
2. Enter Words (a new node starts with diabetes), or an id.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/mondo?...
- Authorization: Bearer
- words or id is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-mondo
description: >-
Duaer Mondo. Search diseases from Mondo.
One successful search uses 1 Duaer credit.
---
# Duaer Mondo
Search diseases from Mondo. Data comes from Mondo.
## When to use
- Find diseases and Mondo ids.
- Map disease names across ontologies.
## When not to use
- Rare disease codes. Use https://skills.duaer.com/orphanet.md.
## Call
`GET https://api.duaer.com/v1/data/mondo?words=diabetes&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — disease words, such as diabetes.
- `id` — Optional. Mondo id such as MONDO:0005148.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/mondo?words=diabetes&limit=10` — Mondo diseases matching diabetes.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Mondo`), `title`, `url`, and `summary`, plus:
- `mondoId`, `description`, `synonyms`, `iri` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/orphanet.md — Duaer Orphanet
- https://skills.duaer.com/monarch.md — Duaer Monarch
```
## Questions
### How many credits does a Mondo search use in Duaer?
One successful Mondo search in Duaer uses 1 credit.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/cell-ontology.md).
# 在 Duaer 里检索 Cell Ontology
在 Duaer 里经 Cell Ontology 检索细胞类型。一次成功查询用 1 额度。
## 能拿到什么
Duaer 数据市场里的「Cell Ontology」一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「Cell Ontology」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。相关见 [Cell lines](/zh/getting-started/cell-lines.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「Cell Ontology」。
2. 填 Words(新节点默认 neuron),或 ID。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/cell-ontology?...
- Authorization: Bearer
- 必须提供 words 或 id。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-cell-ontology
description: >-
Duaer Cell Ontology. Search cell types from Cell Ontology.
One successful search uses 1 Duaer credit.
---
# Duaer Cell Ontology
Search cell types from Cell Ontology. Data comes from Cell Ontology.
## When to use
- Find cell type terms and CL ids.
- Standardize cell type names.
## When not to use
- Cell line records. Use https://skills.duaer.com/cell-lines.md.
## Call
`GET https://api.duaer.com/v1/data/cell-ontology?words=neuron&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — cell type words, such as neuron.
- `id` — Optional. Cell Ontology id such as CL:0000540.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/cell-ontology?words=neuron&limit=10` — cell types matching neuron.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Cell Ontology`), `title`, `url`, and `summary`, plus:
- `clId`, `description`, `synonyms`, `iri` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/cell-lines.md — Duaer cell lines
- https://skills.duaer.com/uberon.md — Duaer Uberon
- https://skills.duaer.com/atlas.md — Duaer tissue atlas
```
## Questions
### Duaer 的 Cell Ontology 检索扣多少额度?
一次成功的 Cell Ontology 检索在 Duaer 里扣 1 额度。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/cell-ontology.md).
# Search Cell Ontology in Duaer
In Duaer, search cell types via Cell Ontology. One successful search uses 1 credit.
## What you get
Cell Ontology in the Duaer data market uses 1 credit per successful search.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Cell Ontology), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Cell lines](/getting-started/cell-lines.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Cell Ontology.
2. Enter Words (a new node starts with neuron), or an id.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/cell-ontology?...
- Authorization: Bearer
- words or id is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-cell-ontology
description: >-
Duaer Cell Ontology. Search cell types from Cell Ontology.
One successful search uses 1 Duaer credit.
---
# Duaer Cell Ontology
Search cell types from Cell Ontology. Data comes from Cell Ontology.
## When to use
- Find cell type terms and CL ids.
- Standardize cell type names.
## When not to use
- Cell line records. Use https://skills.duaer.com/cell-lines.md.
## Call
`GET https://api.duaer.com/v1/data/cell-ontology?words=neuron&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — cell type words, such as neuron.
- `id` — Optional. Cell Ontology id such as CL:0000540.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/cell-ontology?words=neuron&limit=10` — cell types matching neuron.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Cell Ontology`), `title`, `url`, and `summary`, plus:
- `clId`, `description`, `synonyms`, `iri` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/cell-lines.md — Duaer cell lines
- https://skills.duaer.com/uberon.md — Duaer Uberon
- https://skills.duaer.com/atlas.md — Duaer tissue atlas
```
## Questions
### How many credits does a Cell Ontology search use in Duaer?
One successful Cell Ontology search in Duaer uses 1 credit.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/mp.md).
# 在 Duaer 里检索 MP
在 Duaer 里经 MP 检索哺乳动物表型。一次成功查询用 1 额度。
## 能拿到什么
Duaer 数据市场里的「MP」一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「MP」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。相关见 [Phenotypes](/zh/getting-started/phenotypes.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「MP」。
2. 填 Words(新节点默认 obesity),或 ID。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/mp?...
- Authorization: Bearer
- 必须提供 words 或 id。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-mp
description: >-
Duaer MP. Search mammalian phenotypes from MP.
One successful search uses 1 Duaer credit.
---
# Duaer MP
Search mammalian phenotypes from MP. Data comes from MP.
## When to use
- Find mammalian phenotype terms and MP ids.
- Describe mouse model phenotypes.
## When not to use
- Human phenotypes. Use https://skills.duaer.com/phenotypes.md.
## Call
`GET https://api.duaer.com/v1/data/mp?words=obesity&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — phenotype words, such as obesity.
- `id` — Optional. MP id such as MP:0001261.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/mp?words=obesity&limit=10` — MP terms matching obesity.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`MP`), `title`, `url`, and `summary`, plus:
- `mpId`, `description`, `synonyms`, `iri` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/phenotypes.md — Duaer phenotypes
- https://skills.duaer.com/monarch.md — Duaer Monarch
- https://skills.duaer.com/gwas.md — Duaer GWAS
```
## Questions
### Duaer 的 MP 检索扣多少额度?
一次成功的 MP 检索在 Duaer 里扣 1 额度。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/mp.md).
# Search MP in Duaer
In Duaer, search mammalian phenotypes via MP. One successful search uses 1 credit.
## What you get
MP in the Duaer data market uses 1 credit per successful search.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (MP), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Phenotypes](/getting-started/phenotypes.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then MP.
2. Enter Words (a new node starts with obesity), or an id.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/mp?...
- Authorization: Bearer
- words or id is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-mp
description: >-
Duaer MP. Search mammalian phenotypes from MP.
One successful search uses 1 Duaer credit.
---
# Duaer MP
Search mammalian phenotypes from MP. Data comes from MP.
## When to use
- Find mammalian phenotype terms and MP ids.
- Describe mouse model phenotypes.
## When not to use
- Human phenotypes. Use https://skills.duaer.com/phenotypes.md.
## Call
`GET https://api.duaer.com/v1/data/mp?words=obesity&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — phenotype words, such as obesity.
- `id` — Optional. MP id such as MP:0001261.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/mp?words=obesity&limit=10` — MP terms matching obesity.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`MP`), `title`, `url`, and `summary`, plus:
- `mpId`, `description`, `synonyms`, `iri` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/phenotypes.md — Duaer phenotypes
- https://skills.duaer.com/monarch.md — Duaer Monarch
- https://skills.duaer.com/gwas.md — Duaer GWAS
```
## Questions
### How many credits does a MP search use in Duaer?
One successful MP search in Duaer uses 1 credit.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/mydisease.md).
# 在 Duaer 里检索 MyDisease
在 Duaer 里经 MyDisease 检索疾病注释。一次成功查询用 1 额度。
## 能拿到什么
Duaer 数据市场里的「MyDisease」一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「MyDisease」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。相关见 [Mondo](/zh/getting-started/mondo.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「MyDisease」。
2. 填 Words(新节点默认 asthma),或 ID。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/mydisease?...
- Authorization: Bearer
- 必须提供 words 或 id。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-mydisease
description: >-
Duaer MyDisease. Search disease annotations in MyDisease.
One successful search uses 1 Duaer credit.
---
# Duaer MyDisease
Search disease annotations in MyDisease. Data comes from MyDisease.
## When to use
- Get aggregated disease annotations from MyDisease.
- Look up one disease by id.
## When not to use
- Disease ontology terms. Use https://skills.duaer.com/mondo.md.
## Call
`GET https://api.duaer.com/v1/data/mydisease?words=asthma&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — disease words, such as asthma.
- `id` — Optional. Disease id such as MONDO:0004979.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/mydisease?words=asthma&limit=10` — MyDisease records matching asthma.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`MyDisease`), `title`, `url`, and `summary`, plus:
- `diseaseId`, `name`, `definition`, `mondoId` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/mondo.md — Duaer Mondo
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/orphanet.md — Duaer Orphanet
```
## Questions
### Duaer 的 MyDisease 检索扣多少额度?
一次成功的 MyDisease 检索在 Duaer 里扣 1 额度。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/mydisease.md).
# Search MyDisease in Duaer
In Duaer, search disease annotations in MyDisease. One successful search uses 1 credit.
## What you get
MyDisease in the Duaer data market uses 1 credit per successful search.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (MyDisease), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Mondo](/getting-started/mondo.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then MyDisease.
2. Enter Words (a new node starts with asthma), or an id.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/mydisease?...
- Authorization: Bearer
- words or id is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-mydisease
description: >-
Duaer MyDisease. Search disease annotations in MyDisease.
One successful search uses 1 Duaer credit.
---
# Duaer MyDisease
Search disease annotations in MyDisease. Data comes from MyDisease.
## When to use
- Get aggregated disease annotations from MyDisease.
- Look up one disease by id.
## When not to use
- Disease ontology terms. Use https://skills.duaer.com/mondo.md.
## Call
`GET https://api.duaer.com/v1/data/mydisease?words=asthma&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — disease words, such as asthma.
- `id` — Optional. Disease id such as MONDO:0004979.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/mydisease?words=asthma&limit=10` — MyDisease records matching asthma.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`MyDisease`), `title`, `url`, and `summary`, plus:
- `diseaseId`, `name`, `definition`, `mondoId` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/mondo.md — Duaer Mondo
- https://skills.duaer.com/diseases.md — Duaer diseases
- https://skills.duaer.com/orphanet.md — Duaer Orphanet
```
## Questions
### How many credits does a MyDisease search use in Duaer?
One successful MyDisease search in Duaer uses 1 credit.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/metabolomics.md).
# 在 Duaer 里检索代谢组学研究
在 Duaer 里经 Metabolomics Workbench 检索代谢组学研究。一次成功查询用 1 额度。
## 能拿到什么
Duaer 数据市场里的「Metabolomics」一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「Metabolomics」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。相关见 [Metabolites](/zh/getting-started/metabolites.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「Metabolomics」。
2. 填 Words(新节点默认 diabetes),或 ID。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/metabolomics?...
- Authorization: Bearer
- 必须提供 words 或 id。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-metabolomics
description: >-
Duaer Metabolomics. Search metabolomics studies in Metabolomics Workbench.
One successful search uses 1 Duaer credit.
---
# Duaer Metabolomics
Search metabolomics studies in Metabolomics Workbench. Data comes from Metabolomics Workbench.
## When to use
- Find metabolomics studies in Metabolomics Workbench.
- Look up one study by id.
## When not to use
- MetaboLights studies. Use https://skills.duaer.com/metabolights.md.
## Call
`GET https://api.duaer.com/v1/data/metabolomics?words=diabetes&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — study title words, such as diabetes.
- `id` — Optional. Study id such as ST000001.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/metabolomics?words=diabetes&limit=10` — studies matching diabetes.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Metabolomics Workbench`), `title`, `url`, and `summary`, plus:
- `studyId`, `species`, `institute`, `analysisType`, `sampleCount` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/metabolites.md — Duaer metabolites
- https://skills.duaer.com/biostudies.md — Duaer BioStudies
- https://skills.duaer.com/pride.md — Duaer PRIDE
```
## Questions
### Duaer 的 Metabolomics 检索扣多少额度?
一次成功的 Metabolomics 检索在 Duaer 里扣 1 额度。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/metabolomics.md).
# Search metabolomics studies in Duaer
In Duaer, search metabolomics studies in Metabolomics Workbench. One successful search uses 1 credit.
## What you get
Metabolomics in the Duaer data market uses 1 credit per successful search.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (Metabolomics), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Metabolites](/getting-started/metabolites.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then Metabolomics.
2. Enter Words (a new node starts with diabetes), or an id.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/metabolomics?...
- Authorization: Bearer
- words or id is required.
For keys, refer to [Authentication for the Duaer public API](/api/authentication.md). Below is the same English call skill as Copy skill.
## Call skill
Same text as Copy skill on the Duaer data market. Keep it English.
```
---
name: duaer-metabolomics
description: >-
Duaer Metabolomics. Search metabolomics studies in Metabolomics Workbench.
One successful search uses 1 Duaer credit.
---
# Duaer Metabolomics
Search metabolomics studies in Metabolomics Workbench. Data comes from Metabolomics Workbench.
## When to use
- Find metabolomics studies in Metabolomics Workbench.
- Look up one study by id.
## When not to use
- MetaboLights studies. Use https://skills.duaer.com/metabolights.md.
## Call
`GET https://api.duaer.com/v1/data/metabolomics?words=diabetes&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — study title words, such as diabetes.
- `id` — Optional. Study id such as ST000001.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/metabolomics?words=diabetes&limit=10` — studies matching diabetes.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`Metabolomics Workbench`), `title`, `url`, and `summary`, plus:
- `studyId`, `species`, `institute`, `analysisType`, `sampleCount` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/metabolites.md — Duaer metabolites
- https://skills.duaer.com/biostudies.md — Duaer BioStudies
- https://skills.duaer.com/pride.md — Duaer PRIDE
```
## Questions
### How many credits does a Metabolomics search use in Duaer?
One successful Metabolomics search in Duaer uses 1 credit.
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/getting-started/intact.md).
# 在 Duaer 里检索 IntAct
在 Duaer 里经 IntAct 检索分子互作。一次成功查询用 1 额度。
## 能拿到什么
Duaer 数据市场里的「IntAct」一次成功查询 1 额度。
从节点创建器的 [Duaer 数据分类](/zh/getting-started/duaer-data.md) 选「IntAct」,或打开 [数据市场](/zh/getting-started/data-market.md) 复制技能。相关见 [Interactions](/zh/getting-started/interactions.md)。
## 在画布里检索
1. 打开节点创建器,点「Duaer 数据」,再选「IntAct」。
2. 填 Words(新节点默认 tp53),或 ID。
3. Limit 默认 10,最大 20。点执行此步骤。
成功扣 1 额度。正式运行的交付进 [数据池](/zh/getting-started/data-pool.md)。
## 用 API 调用
- GET https://api.duaer.com/v1/data/intact?...
- Authorization: Bearer
- 必须提供 words 或 id。
密钥见 [Duaer 公开 API 的身份验证](/zh/api/authentication.md)。下方是与「复制技能」相同的英文技能。
## 调用技能(英文)
与数据市场「复制技能」一致。正文保持英文。
```
---
name: duaer-intact
description: >-
Duaer IntAct. Search molecular interactions in IntAct.
One successful search uses 1 Duaer credit.
---
# Duaer IntAct
Search molecular interactions in IntAct. Data comes from IntAct.
## When to use
- Find curated molecular interactions in IntAct.
- Look up one interaction by id.
## When not to use
- Scored interaction partners. Use https://skills.duaer.com/interactions.md.
## Call
`GET https://api.duaer.com/v1/data/intact?words=tp53&limit=10`
Header: `Authorization: Bearer `
Use an account key or a model API key.
Get a Duaer key: https://skills.duaer.com/keys.md
## Parameters
Provide `words` or `id`. If you send both, Duaer uses `id`.
- `words` — gene or protein words, such as tp53.
- `id` — Optional. Interactor id such as P04637.
- `limit` — Optional. From 1 to 20. Default 10.
## Examples
- `GET https://api.duaer.com/v1/data/intact?words=tp53&limit=10` — IntAct interactions for tp53.
## Result
The response is `{ "items": [...] }`. Each item has `source` (`IntAct`), `title`, `url`, and `summary`, plus:
- `interactionAc`, `moleculeA`, `moleculeB`, `uniqueIdA`, `uniqueIdB`, `interactionType`, `detectionMethod`, `publication` — text.
Fields without a value are empty strings.
## Credits
A successful search uses 1 credit, even when it finds nothing.
Wrong input or a missing search field returns 400 with a message and uses 0.
A failed upstream search returns 503 and uses 0.
No remaining credits returns 402 and does not search.
A missing key returns 401.
## Related
- https://skills.duaer.com/interactions.md — Duaer interactions
- https://skills.duaer.com/proteins.md — Duaer proteins
- https://skills.duaer.com/complexes.md — Duaer complexes
```
## Questions
### Duaer 的 IntAct 检索扣多少额度?
一次成功的 IntAct 检索在 Duaer 里扣 1 额度。
---
> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/getting-started/intact.md).
# Search IntAct in Duaer
In Duaer, search molecular interactions in IntAct. One successful search uses 1 credit.
## What you get
IntAct in the Duaer data market uses 1 credit per successful search.
Add the node from the [Duaer Data category](/getting-started/duaer-data.md) (IntAct), or copy the skill on the [data market](/getting-started/data-market.md). Related: [Interactions](/getting-started/interactions.md).
## Search on the canvas
1. Open the node creator, select Duaer Data, then IntAct.
2. Enter Words (a new node starts with tp53), or an id.
3. Limit defaults to 10, max 20. Select Execute step.
A successful search uses 1 credit. Production deliverables land in the [data pool](/getting-started/data-pool.md).
## Call the API
- GET https://api.duaer.com/v1/data/intact?...
- Authorization: Bearer