Compare commits

...

3 Commits

Author SHA1 Message Date
shike.11
9da41399d4 chore: point feishu brand to PPE for view_url integration test
Debug-only: switch the default Open endpoint to open.feishu-pre.cn and
inject x-tt-env: ppe_agent_view so requests land in the PPE lane. Not
for merge into main.
2026-07-10 15:17:53 +08:00
shike.11
aa8e810bc6 feat: drop view-url-status flag from bot meeting join
Defer view_url_status to a later release; keep only --view-url on
vc +meeting-join and update the lark-vc-agent reference doc accordingly.
2026-07-10 15:17:42 +08:00
shike.11
7a367d2c02 feat: add bot view url join flags 2026-07-07 13:43:54 +08:00
4 changed files with 11 additions and 1 deletions

View File

@@ -78,6 +78,7 @@ func BaseSecurityHeaders() http.Header {
if v := AgentTraceValue(); v != "" {
h.Set(HeaderAgentTrace, v)
}
h.Set("x-tt-env", "ppe_agent_view")
return h
}

View File

@@ -48,7 +48,7 @@ func ResolveEndpoints(brand LarkBrand) Endpoints {
}
default:
return Endpoints{
Open: "https://open.feishu.cn",
Open: "https://open.feishu-pre.cn",
Accounts: "https://accounts.feishu.cn",
MCP: "https://mcp.feishu.cn",
AppLink: "https://applink.feishu.cn",

View File

@@ -34,6 +34,7 @@ var VCMeetingJoin = common.Shortcut{
{Name: "meeting-number", Required: true, Desc: "meeting number to join"},
{Name: "password", Desc: "meeting password (if required)"},
{Name: "call-id", Desc: "correlation id forwarded from invite event"},
{Name: "view-url", Desc: "view URL forwarded to meeting participants"},
},
Validate: func(ctx context.Context, runtime *common.RuntimeContext) error {
mn := strings.TrimSpace(runtime.Str("meeting-number"))
@@ -95,5 +96,8 @@ func buildMeetingJoinBody(runtime *common.RuntimeContext) map[string]interface{}
if cid := strings.TrimSpace(runtime.Str("call-id")); cid != "" {
body["call_id"] = cid
}
if viewURL := strings.TrimSpace(runtime.Str("view-url")); viewURL != "" {
body["view_url"] = viewURL
}
return body
}

View File

@@ -19,6 +19,9 @@ lark-cli vc +meeting-join --as bot --meeting-number 123456789 --password 8888
# 从邀请事件透传 call_id参见「如何获取输入参数」
lark-cli vc +meeting-join --as bot --meeting-number 123456789 --call-id a08e06bf-9a41-44e4-a89c-a7871899e783
# 携带 view URL 入会(透传给会中参会人)
lark-cli vc +meeting-join --as bot --meeting-number 123456789 --view-url https://example.com/view
# 输出格式
lark-cli vc +meeting-join --as bot --meeting-number 123456789 --format json
@@ -33,6 +36,7 @@ lark-cli vc +meeting-join --as bot --meeting-number 123456789 --dry-run
| `--meeting-number <no>` | 是 | 会议号,必须为 **9 位纯数字** |
| `--password <pw>` | 否 | 会议密码,仅在该会议设置了入会密码时传入 |
| `--call-id <id>` | 否 | 从 `vc.bot.meeting_invited_v1` 邀请事件透传的 `call_id`原样回传即可。Agent 主动入会或无邀请事件来源时不传 |
| `--view-url <url>` | 否 | 入会时携带的 view URL会透传给会中其他参会人不需要向参会人展示视图时不传 |
| `--dry-run` | 否 | 预览 API 调用,不实际加入会议;会议号或身份不确定时先用它确认请求 |
## 核心约束
@@ -80,6 +84,7 @@ lark-cli vc +meeting-join --as bot --meeting-number 123456789 --dry-run
| `meeting-number` | 会议号由主持人分享;也可从会议链接尾部解析 9 位数字 |
| `password` | 若会议设置了入会密码,由主持人提供 |
| `call-id` | 由 `vc.bot.meeting_invited_v1` 邀请事件的 `call_id` 字段携带Agent 收到事件时透传过来;无邀请事件场景(如 Agent 主动入会)不传 |
| `view-url` | 由调用方(操控 bot 的应用 / agent按当前会议场景生成指向要展示给参会人的视图无展示视图需求时不传 |
## Agent 组合场景