Skip to content

feat(connector): generalize phone desks and add Feishu - #1143

Merged
luokerenx4 merged 2 commits into
devfrom
feat/connector-desk
Aug 19, 2026
Merged

feat(connector): generalize phone desks and add Feishu#1143
luokerenx4 merged 2 commits into
devfrom
feat/connector-desk

Conversation

@luokerenx4

Copy link
Copy Markdown
Contributor

Summary

Phone desks are now a shared execution specimen, not a Telegram-only Issue. Each desk-capable connector owns its own work item (Telegram stays telegram-phone-desk; Feishu gets feishu-phone-desk). Connector transport stays generic; each adapter still implements its own consumption.

This also adds a Feishu/Lark connector using the official long-connection SDK so a local OpenAlice install does not need a public request URL.

Product

  • One live desk per connector, not one desk for the whole Alice Project.
  • Inbound is grouped by connectorId. A generating Telegram desk does not block Feishu flush.
  • Agent replies project only to that Issue's adapter. Human inbound is not echoed back.
  • Settings keeps the desk panel on each connector card when the definition advertises desk.

Feishu

  • Enterprise self-built app + bot + long connection (WSClient). Store apps and group custom-bot webhooks are out of scope.
  • Credentials: App ID, App secret, domain (feishu vs lark).
  • /link as private-chat plain text learns open_id + chat_id.
  • Owner chat and Inbox push (post/md, then file upload) are implemented.
  • /inbox, /settings, and /uta stay placeholders (same as Discord/Slack today).

Persistence

Shipped telegramConnector: true dual-reads as connectorDesk: telegram. Migration 0041_connector_desk_flag rewrites the flag in workspace Issue files. The reserved filename telegram-phone-desk is unchanged.

Verification

  • npx tsc --noEmit
  • pnpm -F @traderalice/connector-service typecheck
  • cd ui && npx tsc -b
  • Targeted Vitest: desk/declaration/scanner/mutate, Feishu adapter, catalog, connector config, Connectors UI/demo

Live Feishu DM delivery is still a manual opt-in lane. Card-based /inbox and /uta are deferred.

Residual risk

review:deep: persisted Issue frontmatter, sealed connector credentials, and a new outbound IM path. No UTA writes from Feishu yet.

Share one desk execution specimen keyed by connector id so Telegram and
Feishu each own an Issue. Add a Feishu long-connection adapter for owner
chat and Inbox push.
@luokerenx4 luokerenx4 added area:settings Settings, configuration, credentials, or permissions area:collaboration Inbox, Issues, Automation, or Connector collaboration surfaces review:deep Requires deliberate human review before merge labels Aug 19, 2026
@vercel

vercel Bot commented Aug 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
openalice-demo Ready Ready Preview Aug 19, 2026 3:44pm

Request Review

Copy link
Copy Markdown
Contributor Author

Maintainer audit complete. I pushed 9d0a6f88 with two hardening fixes found during review:

  • select the actual open.larksuite.com host for REST proxy/NO_PROXY routing when the connector uses the Lark domain (with regression coverage);
  • atomically replace migrated Issue files so migration 0041 cannot leave truncated frontmatter after an interrupted write.

Verification on the final head:

  • npx tsc --noEmit
  • pnpm -F @traderalice/connector-service typecheck
  • cd ui && npx tsc -b
  • pnpm test — 566 files passed, 4,812 tests passed
  • pnpm build
  • pnpm test:e2e — 30 passed, 3 skipped
  • real /connectors and Settings → Connectors demo walkthrough, including the Feishu card and per-adapter phone desk

The remaining gap is intentionally manual: live Feishu/Lark DM delivery requires an opt-in test account. No blocking review findings remain.

@luokerenx4
luokerenx4 merged commit a3244de into dev Aug 19, 2026
11 of 12 checks passed
@luokerenx4
luokerenx4 deleted the feat/connector-desk branch August 19, 2026 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:collaboration Inbox, Issues, Automation, or Connector collaboration surfaces area:settings Settings, configuration, credentials, or permissions review:deep Requires deliberate human review before merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant