- region.config.ts: whitelist **/docs/agent-auth.md so /docs/agent-auth
is accessible on open.longbridge.cn
- Skill page: Connect AI is now the first and default segmented tab
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The /connect Agent Auth Code flow lets users hand a one-time code to
their AI. Update the install guide (en/zh-CN/zh-HK) so AI agents holding
a code redeem it via `longbridge auth login --auth-code` directly,
instead of falling back to the device flow that requires a hanging
process and browser approval.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Hero install area now has a segmented control: "Copy command" (default)
and "Connect AI" tabs
- Connect AI tab shows a 3-step card (get one-time auth code on Connect
page → send snippet to AI → AI redeems and connects, no browser hops)
with a dark Bot-icon CTA linking to /connect
- Brighten install label text (fg-3 → fg-2, 12px → 13px) for readability
- Locale strings added for en / zh-CN / zh-HK
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- New agent-auth page (en / zh-CN / zh-HK): generate a one-time auth code
at open.longbridge.com/connect, redeem via CLI --auth-code or the MCP
/agent endpoint's authenticate tool
- CLI install docs: document `auth login --auth-code` fallback
- MCP docs: tip for clients with incomplete OAuth or no browser
- Skill references: setup/mcp auth-code flow for headless agents
- AppNav: add "Connect AI" entry to avatar menu
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Auto-generated by skills repo CI.
Source commit:
longbridge/skills@9977e955fd
Updates `skills.json` with the latest skill list extracted from all
`SKILL.md` frontmatter files.
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Auto-generated by skills repo CI.
Source commit:
longbridge/skills@77c945d762
Updates `skills.json` with the latest skill list extracted from all
`SKILL.md` frontmatter files.
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
## Summary
- Add **CLI v0.22.4** release notes: `constituent` now supports ETFs —
asset-allocation breakdown for ETF symbols, and full US ETF holdings
fetched from SEC EDGAR N-PORT filings
(longbridge/longbridge-terminal#229, longbridge/longbridge-terminal#231)
- Document the new ETF holdings behavior in the `constituent` command
page (usage examples, SEC N-PORT output sample, fallback chain,
data-timeliness notes)
- Backfill missing changelog entries for CLI v0.22.2 / v0.22.3, and add
v0.22.4
- All three locales (en / zh-CN / zh-HK) updated in sync; Chinese docs
formatted with `autocorrect --fix`
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
## What
Adds a **Go SDK** reference set to the `longbridge` AI skill, mirroring
the existing `rust-sdk` references but kept concise:
- `references/go-sdk/overview.md` — install, Config (env / OAuth),
contexts, push callbacks, error handling
- `references/go-sdk/quote-context.md` — quote methods, `Subscribe` +
`On*` handlers
- `references/go-sdk/trade-context.md` — `SubmitOrder` struct, orders,
account, positions
- `references/go-sdk/types.md` — SubType / Period / AdjustType /
CalcIndex / OrderType / OrderSide / TimeType / OutsideRTH / OrderStatus
/ Currency
- linked from `SKILL.md`
Content stays high-level (method/struct/enum coverage) with pointers to
GoDoc + source for exact signatures, consistent with the skill-authoring
guidance in CLAUDE.md.
## Verification
Verified against the real SDK **`github.com/longbridge/openapi-go`
v0.24.1**:
**1. Compile check** — a program exercising every documented method,
struct field and constant was built with `go build` / `go vet`. Caught
and fixed **6 issues**:
| Doc claim | Real SDK |
|-----------|----------|
| `QuoteContext.CalcIndexes(...)` | method is singular `CalcIndex` |
| `QuoteContext.Watchlist(...)` | list getter is `WatchedGroups` |
| `SecurityDepth.Asks / .Bids` | fields are `.Ask` / `.Bid` |
| `GetHistoryOrders.StartAt/EndAt` as time | `int64` Unix secs
(`GetHistoryExecutions` uses `time.Time` — the two differ; now noted) |
| `GetAccountBalance{Currency: "HKD"}` | `Currency` is `trade.Currency`
→ use `trade.CurrencyHKD` |
| "prices/quantities use decimal" | quantities (`SubmittedQuantity`,
`ReplaceOrder.Quantity`) are `uint64`; only price fields use
`shopspring/decimal` |
**2. Live read-only run** — against a paper-trading account, **no orders
placed**. `Quote` / `StaticInfo` / `Candlesticks` / `Depth` /
`AccountBalance` / `StockPositions` / `TodayOrders` all returned real
data with the documented field names.
**3. Independent cross-review** — a second model (kimi) and a separate
agent re-checked the docs against source; both confirmed the fixes,
including the `uint64`-vs-`decimal` correction (verified via a
deliberate compile-failure test).
## Notes
- Docs only; no code/build changes. No submodules touched.
- Users will need `go mod tidy` to pull the SDK's transitive deps —
normal Go flow, no doc change needed.
---------
Co-authored-by: 陆逊 <jiaxiong.liu@longbridge-inc.com>
Co-authored-by: Jason Lee <huacnlee@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Auto-generated by skills repo CI.
Source commit:
longbridge/skills@0083b60f56
Updates `skills.json` with the latest skill list extracted from all
`SKILL.md` frontmatter files.
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Inject the `google-one-tap.es.js` CDN bundle into every page <head> via
VitePress `head` config, so it loads in both `bun run dev` and built
output (works around `transformHtml` being build-only).
- Gated by `VITE_REGION !== 'cn'` (Google unavailable in China).
- `data-proxy` attribute driven by `process.env.PROXY`: `canary` for
`dev:canary` / `build:canary`, otherwise `production`. CI inherits via
the same npm scripts — no workflow edits required.
- No `data-region` passed: the bundle falls back to `app-id` / `region`
cookies with `sg` default, which is correct for this first-party
`.longbridge.com` site.
- On success the bundle writes session cookies on `.longbridge.com` and
reloads, so `longportInternal.isLogin()` picks it up.
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Auto-generated by skills repo CI.
Source commit:
longbridge/skills@ae37197cab
Updates `skills.json` with the latest skill list extracted from all
`SKILL.md` frontmatter files.
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
## Summary
- Add `docs/{en,zh-CN,zh-HK}/docs/legal/` directory with
`_category_.json` (position 8, collapsed)
- Add HK and SG versions of User Data Authorisation and Acknowledgement
in three languages (6 files total)
- Add links in `AppFooter.vue` Legal section pointing to the two new
pages
- Add i18n translation keys (`footer.dataAuthorisationHK` /
`footer.dataAuthorisationSG`) for all three locales
- Use `sidebar_label` for shorter sidebar display names
## Test plan
- [ ] Sidebar shows "Legal" section (collapsed) with "Data Authorisation
(HK)" and "Data Authorisation (SG)"
- [ ] Each page renders the full legal text correctly in all three
languages
- [ ] Footer Legal section shows two new links; clicking navigates to
the correct pages
- [ ] `localePath()` correctly prefixes `/zh-CN/` and `/zh-HK/` for
non-English locales
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
Two issues fixed in the DCA documentation (all 3 locales: zh-CN, zh-HK,
en):
1. **SDKLinks method names were wrong** — the `<SDKLinks>` components
referenced non-existent method names, causing broken SDK code links
2. **`delete_dca.md` removed** — the SDK has no `delete` method; the CLI
example on that page already used `dca stop`, so the page was redundant
with `stop_dca.md`
## SDKLinks fixes
| File | Before | After |
|------|--------|-------|
| `list_dca.md` | `method="list_dca"` | `method="list"` |
| `create_dca.md` | `method="create_dca"` | `method="create"` |
| `update_dca.md` | `method="update_dca"` | `method="update"` |
| `dca_history.md` | `method="dca_history"` | `method="history"` |
Already correct (no change): `pause`, `resume`, `stop`, `stats`,
`check_support`, `calc_date`, `set_reminder`
## Removed files (3 locales)
- `docs/{locale}/docs/account/dca/delete_dca.md` — SDK has no `delete`
method; functionality is covered by `stop_dca.md`
## Test plan
- [x] `autocorrect --lint docs/` — no issues ✅
- [x] Local dev server verified (`npm run dev`) ✅🤖 Generated with [Claude Code](https://claude.com/claude-code)
Auto-generated by skills repo CI.
Source commit:
longbridge/skills@4ce7a1998a
Updates `skills.json` with the latest skill list extracted from all
`SKILL.md` frontmatter files.
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
## Summary
- **AppNav**: Replace `localePath('/login')` with
`createLoginRedirectPath()` + `target="_self"` on the Get Started button
— bypasses VitePress SPA router interception so the browser navigates to
the server-side `/login` route with proper `redirect_to` params
- **AppFooter**: Replace placeholder `href="#"` on Terms / Privacy /
Risk Disclosure links with real Longbridge URLs, using locale-aware
`sgBaseUrl`
## Test plan
- [ ] Click "Get Started" in navbar → should navigate to login page (not
VitePress 404)
- [ ] After login, should redirect back to the originating page
- [ ] Footer legal links open correct Longbridge support pages in new
tab
- [ ] Locale switching (zh-CN / zh-HK) uses correct sgBaseUrl prefix for
footer links
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- Clarifies that US stocks can be shorted directly with no additional
setup
- Clarifies that HK short selling requires activation via the mobile
app: place first HK short sell order → triggers SBL agreement signing →
wait for approval
- Notes that HK short selling is subject to a fee levied by the Hong
Kong Inland Revenue Department, with details in the in-app agreement
- Documents API error `602301` returned before the HK SBL agreement is
signed
- Updates `docs/{en,zh-CN,zh-HK}/docs/cli/orders/order.md` and
`skills/longbridge/references/cli/overview.md`
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- Adds short selling documentation to
`docs/{en,zh-CN,zh-HK}/docs/cli/orders/order.md` and
`skills/longbridge/references/cli/overview.md`
- Documents that US and HK markets must each be activated separately via
the mobile app before short selling is available via CLI/API/MCP
- Activation flow: place first short sell order in the mobile app →
triggers SBL agreement signing → wait for review approval
- Notes API error `602301` returned before the SBL agreement is signed
- Notes A-share (SH/SZ) short selling is not supported
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
Ref #1003
- Replace the SG market code entry with a blockquote note explaining
that Singapore real-time quotes are currently unavailable via Longbridge
Developers (API / CLI / MCP)
- Direct users to the Longbridge client (app or desktop) for SG market
quotes
- Remove SG from the Basic quote permission level description in all
three language versions (en / zh-CN / zh-HK)
## Test plan
- [ ] Verify the note renders correctly as a blockquote in all three
locale pages
- [ ] Confirm the quote permission table looks correct without SG in the
Basic row
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- **Quote restructure**: Split flat `pull/` (25 items) into semantic
groups — `stocks/`, `options/`, `warrants/`, `analytics/`
- **Subscribe**: Merged `push/` into `subscribe/` (renamed to
"Subscribe"); added Overview page explaining WebSocket subscription
model and pull API reference links
- **Market**: Extracted `quote/market/` to standalone top-level
`market/` section (position 3.2) to accommodate future additions like
rankings, screeners, IPO
- **Trade ordering**: Fixed `execution/` (History→Today) and `order/`
(Submit→Today→History→Details→Replace→Cancel→Estimate) sidebar ordering
- **Titles**: Optimized all Quote section titles with proper securities
industry terminology; renamed "Withdraw Order" → "Cancel Order"; "Update
Watchlist Group" → "Manage Group Securities"
- **Watchlist**: Renamed group label and sorted items; `update_group`
title now reflects its actual function (add/remove securities in group)
- **Appendix**: Moved `security_list` to socket appendix as "Overnight
Eligible Securities" with accurate description
## Test plan
- [ ] Build and verify sidebar structure renders correctly
- [ ] Verify existing URLs still resolve (absolute slugs preserved for
moved files)
- [ ] Verify new `/market/*` URLs work
- [ ] Check Subscribe Overview links resolve correctly
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>