moc-skill
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseFIWARE Orion 読み取り専用クエリ
FIWARE Orion 只读查询
FIWARE Orion Context Broker (NGSIv2) に対して、認証不要の GET のみでエンティティ情報を取得するスキルです。書き込み・Subscription・Registration は実装していません。
这是一款仅通过无需认证的GET请求,从FIWARE Orion Context Broker(NGSIv2)获取实体信息的Skill。未实现写入、Subscription(订阅)、Registration(注册)功能。
インストール
安装
skills CLI でインストールします(OpenCode / Claude Code / Cursor 等に対応)。
bash
npx skills add kzkski/moc-skill -a opencode -y
.agents/skills/moc-skill/scripts/setup-opencode.shsetup-opencode.sh/detailsローカルパスから試す場合:
bash
npx skills add ./path/to/moc-skill --list
npx skills add ./path/to/moc-skill -a opencode -y
.agents/skills/moc-skill/scripts/setup-opencode.sh通过skills CLI进行安装(支持OpenCode/Claude Code/Cursor等工具)。
bash
npx skills add kzkski/moc-skill -a opencode -y
.agents/skills/moc-skill/scripts/setup-opencode.shsetup-opencode.sh/details从本地路径测试时:
bash
npx skills add ./path/to/moc-skill --list
npx skills add ./path/to/moc-skill -a opencode -y
.agents/skills/moc-skill/scripts/setup-opencode.sh重要: アクセス経路
重要: 访问路径
必ず 経由でアクセスすること。 カタログ外 URL へ直接 しないでください。対象基盤は に登録された名前だけを使います。
scripts/orion.shcurlendpoints.jsonnpx skills addmoc-skillscripts/orion.sh- (OpenCode / Cursor 等)
.agents/skills/moc-skill/scripts/orion.sh - (Claude Code)
.claude/skills/moc-skill/scripts/orion.sh - (OpenCode グローバル)
~/.config/opencode/skills/moc-skill/scripts/orion.sh
エージェントは を探索し、見つかったパスを として使ってください。 は同ディレクトリ隣の を自動解決します。
**/moc-skill/scripts/orion.shORIONorion.shendpoints.jsonbash
ORION="/path/to/moc-skill/scripts/orion.sh"環境変数 でカタログパスを上書きできます(未設定時はスキル同梱の )。
ORION_ENDPOINTS_FILEendpoints.json务必通过进行访问,请勿直接对目录外的URL执行。仅使用中已注册的目标平台名称。
scripts/orion.shcurlendpoints.json执行后,以绝对路径运行技能下的。典型路径:
npx skills addmoc-skillscripts/orion.sh- (OpenCode/Cursor等)
.agents/skills/moc-skill/scripts/orion.sh - (Claude Code)
.claude/skills/moc-skill/scripts/orion.sh - (OpenCode全局)
~/.config/opencode/skills/moc-skill/scripts/orion.sh
Agent会搜索,将找到的路径设为使用。会自动解析同目录下的。
**/moc-skill/scripts/orion.shORIONorion.shendpoints.jsonbash
ORION="/path/to/moc-skill/scripts/orion.sh"可通过环境变量覆盖目录路径(未设置时使用技能自带的)。
ORION_ENDPOINTS_FILEendpoints.json回答フォーマット
回答格式
最終回答は一般ユーザーが読みやすい要約にすること。 の取得結果をそのまま貼り付けない。
orion.sh- 一覧・比較・属性値は表または箇条書きで要約する
- 件数・基盤名・型名・主要属性など、依頼に答える情報だけを含める
- 実行したコマンド、curl、生 JSON、HTTP ヘッダーなどの技術的な詳細は最終回答に含めない
- ユーザーが「生 JSON を見せて」「コマンドも教えて」「デバッグ用に全文」などと明示したときだけ技術的な出力を含める
最终回答需整理为普通用户易读的摘要,请勿直接粘贴的获取结果。
orion.sh- 列表、对比、属性值请用表格或项目符号进行摘要
- 仅包含能回应用户请求的信息,如数量、平台名、类型名、主要属性等
- 执行的命令、curl、原始JSON、HTTP头这类技术细节请勿包含在最终回答中
- 仅当用户明确要求「显示原始JSON」「告知命令」「提供完整内容用于调试」时,才包含技术输出
推奨ワークフロー
推荐工作流程
endpoints.jsontypesGET /v2/types- endpoints — 基盤名・Fiware-Service 一覧(各 )を確認
note - entities / count — (複数サービス時)と
service=で直接取得・件数確認type= - entity — 特定 ID の詳細取得
型名の手がかりは のサービス 、ユーザーの依頼文、または の試行結果から得ます。
endpointsnoteentitiesbash
"${ORION}" endpoints
"${ORION}" entities sagacity service=moc_sagacity limit=10
"${ORION}" count sagacity service=sagacity_topita type=TopitaPointUser
"${ORION}" entities yokosuka type=WeatherForecast limit=5
"${ORION}" entity yokosuka "forecast-001" attrs=location在中注册的makeour.city系列Orion平台,请勿调用(会返回401 Unauthorized)。为避免无效重试,请按以下顺序进行查询:
endpoints.jsontypesGET /v2/types- endpoints — 确认平台名、Fiware-Service列表(各条目的)
note - entities / count — 通过(多服务场景)和
service=直接获取数据、确认数量type= - entity — 获取特定ID的详细信息
类型名的线索可从的服务、用户请求内容或的尝试结果中获取。
endpointsnoteentitiesbash
"${ORION}" endpoints
"${ORION}" entities sagacity service=moc_sagacity limit=10
"${ORION}" count sagacity service=sagacity_topita type=TopitaPointUser
"${ORION}" entities yokosuka type=WeatherForecast limit=5
"${ORION}" entity yokosuka "forecast-001" attrs=locationコマンドリファレンス
命令参考
| コマンド | 説明 |
|---|---|
| カタログに登録された基盤名・URL・Fiware-Service 一覧・説明を表示 |
| |
| |
| |
| |
| |
<ep>endpoints.jsonSandboxsagacityyokosuka複数 Fiware-Service: 1 エントリに配列で複数サービスを登録できます。クエリ時は を指定してください(Orion へのクエリパラメータではなく、ヘッダー選択用の予約キー)。単一サービスのエントリでは は不要です。
service=NAMEservice=| 命令 | 说明 |
|---|---|
| 显示目录中已注册的平台名、URL、Fiware-Service列表及说明 |
| 执行 |
| 执行 |
| 执行 |
| 通过 |
| 仅对 |
<ep>endpoints.jsonSandboxsagacityyokosuka多Fiware-Service场景:单个条目可通过数组注册多个服务。查询时需指定(这是用于选择头信息的预留键,而非Orion的查询参数)。单服务条目无需指定。
service=NAMEservice=デバッグ
调试
ORION_DRY_RUN=1bash
ORION_DRY_RUN=1 "${ORION}" entities yokosuka type=WeatherForecast设置后,仅显示curl命令而不实际执行。
ORION_DRY_RUN=1bash
ORION_DRY_RUN=1 "${ORION}" entities yokosuka type=WeatherForecastNGSIv2 クエリパラメータ早見表
NGSIv2查询参数速查表
entitiesentitycountraw[k=v ...]raw| パラメータ | 用途 |
|---|---|
| Entity Type でフィルタ(例: |
| 属性条件(例: |
| 返却属性の限定(例: |
| エンティティ ID の正規表現(例: |
| 最大取得件数( |
| ページング開始位置 |
| ソート(例: |
| 地理空間クエリ(例: |
| レスポンス形式( |
可在///的或的查询字符串中指定以下参数。
entitiesentitycountraw[k=v ...]raw| 参数 | 用途 |
|---|---|
| 按Entity Type过滤(示例: |
| 属性条件过滤(示例: |
| 限定返回的属性(示例: |
| 实体ID的正则匹配(示例: |
| 最大获取数量( |
| 分页起始位置 |
| 排序(示例: |
| 地理空间查询(示例: |
| 响应格式( |
注意点
注意事项
- types は使わない: 登録基盤では が 401。型探索は
/v2/types+entities/type=で行うcount - 読み取り専用: POST / PATCH / DELETE / Subscription / Registration は行わない
- カタログ必須: 未定義のエンドポイント名は拒否される
- raw は /v2/ のみ: 以外へのパスはエラー
/v2/ - Entity ID: のみ許可(パストラバーサル対策)
[A-Za-z0-9._:~-]+ - Fiware ヘッダー: の
endpoints.json/Fiware-Serviceが空でなければ自動付与。Fiware-ServicePathが配列の場合はFiware-Serviceで選択service= - 依存: ,
curlが PATH に必要jq
- 请勿使用types:已注册平台的会返回401,需通过
/v2/types+entities/type=进行类型查询count - 只读限制:不执行POST/PATCH/DELETE/Subscription/Registration操作
- 必须使用目录:未定义的端点名称会被拒绝
- raw仅支持/v2/:以外的路径会报错
/v2/ - Entity ID限制:仅允许格式(防止路径遍历)
[A-Za-z0-9._:~-]+ - Fiware头信息:若中的
endpoints.json/Fiware-Service不为空,则自动添加。Fiware-ServicePath为数组时,需通过Fiware-Service选择service= - 依赖环境:PATH中需包含,
curljq
カタログ形式 (endpoints.json
)
endpoints.json目录格式 (endpoints.json
)
endpoints.jsonjson
{
"endpoints": {
"<名前>": {
"base_url": "https://orion.<自治体>.makeour.city",
"Fiware-Service": "単一ヘッダー値",
"Fiware-ServicePath": "ヘッダー値(不要なら空文字)",
"note": "説明"
},
"sagacity": {
"base_url": "https://orion.sagacity.makeour.city",
"Fiware-Service": [
{ "value": "moc_sagacity", "note": "MoC 佐賀" },
{ "value": "sagacity_topita", "note": "Topita" },
{ "value": "sagacity_ikunowa", "note": "保育園データ" }
],
"Fiware-ServicePath": "",
"note": "複数サービスを1エントリで管理"
}
}
}Fiware-ServicevalueFiware-ServicePathnoteFiware-ServicePath新しい基盤を追加するときは、運用者が提供する Orion URL と Fiware ヘッダー値をこの形式で追記してください。
json
{
"endpoints": {
"<名称>": {
"base_url": "https://orion.<自治体>.makeour.city",
"Fiware-Service": "单一头信息值",
"Fiware-ServicePath": "头信息值(无需则为空字符串)",
"note": "说明"
},
"sagacity": {
"base_url": "https://orion.sagacity.makeour.city",
"Fiware-Service": [
{ "value": "moc_sagacity", "note": "MoC 佐贺" },
{ "value": "sagacity_topita", "note": "Topita" },
{ "value": "sagacity_ikunowa", "note": "保育园数据" }
],
"Fiware-ServicePath": "",
"note": "单个条目管理多个服务"
}
}
}Fiware-ServicevalueFiware-ServicePathnoteFiware-ServicePath添加新平台时,请按照此格式补充运维人员提供的Orion URL和Fiware头信息值。