feat(statement): add account statement CLI commands and API
documentation
- Add statement list and export CLI command examples to docs (en, zh-CN,
zh-HK)
- Document daily and monthly statement listing with filtering options
- Document statement export with section selection and output format
options (Markdown, CSV)
- Add Statement tag and endpoints to OpenAPI spec (/v1/statement/list,
/v1/statement/download)
- Add statement reference documentation to CLI skill guide
- Create comprehensive statement.md reference guide for CLI usage and
examples
---------
Co-authored-by: geomantic <lei.zhong@longbridge-inc.com>
Co-authored-by: Jason Lee <huacnlee@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- Replace OG image with new Longbridge branded PNG (`longbridge-og.png`)
- Add `og:image:type` and `og:image:alt` to all locale heads
- Upgrade `twitter:card` from `summary` to `summary_large_image` (shows
full banner image on Twitter/X instead of small thumbnail)
- Add `twitter:image` via `transformHead` (per-page)
- Normalize `og:site_name` to `Longbridge Developers` across en / zh-CN
/ zh-HK
## Test plan
- [ ] Build and verify meta tags in rendered HTML
- [ ] Use [Twitter Card
Validator](https://cards-dev.twitter.com/validator) to confirm large
image preview
- [ ] Use [Facebook Sharing
Debugger](https://developers.facebook.com/tools/debug/) to confirm OG
tags
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- New markdown-it plugin (`cli-command.ts`) renders `<CliCommand>` tags
as styled code blocks with proper shiki dual-theme color variables
(`--shiki-light` / `--shiki-dark`) for syntax highlighting: longbridge
binary (purple), subcommands (blue), args and inline comments (gray)
- Header changed from compact bar to h2-style title matching SDK Links
section; Install CLI link floats right with no border, pointing to
`/docs/cli`
- Single-line `<CliCommand>content</CliCommand>` tokens (parsed as
paragraph > inline by markdown-it) now correctly handled via Case 2
token splice
- Expanded all non-trade `<CliCommand>` blocks from single-line to
multi-line format with 2–4 real verified examples per command and
locale-aware comments (en / zh-CN / zh-HK) across quote pull, content,
subscribe, security, and watchlist docs
## Test plan
- [ ] Run `bun run dev` and verify CliCommand blocks render with correct
syntax highlighting in light and dark mode
- [ ] Verify h2 title "CLI" appears with Install CLI link on the right
(no border)
- [ ] Verify Install CLI link points to `/docs/cli`
- [ ] Check a few pages across en / zh-CN / zh-HK locales
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
## Summary
- **openapi.yaml**: add 3 new endpoints (`GET /content/topics/{id}`,
`GET /POST /content/topics/{topic_id}/comments`) with rich Markdown
descriptions, rate-limit tables, and tickers abuse warnings; rename
`list_topic_comments` → `list_topic_replies` and `create_topic_comment`
→ `create_topic_reply` throughout
- **docs (en / zh-CN / zh-HK)**: new pages for `topic_detail`,
`topic_replies`, `create_reply`; update `create_topic` schema to full
`OwnedTopic` response; sync permission copy, rate-limit wording, and
`TipContainer` highlights across all locales
- **ApiReference.vue**: minor formatting cleanup
## Test plan
- [ ] Run `bun run dev` and verify the 3 new pages render correctly in
all 3 locales
- [ ] Confirm `create_topic` response schema now shows the full
OwnedTopic fields
- [ ] Confirm TipContainer warning appears on create_topic and
create_reply pages
- [ ] Verify API reference page shows the renamed operationIds
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- Add OAuth 2.0 authorization section to all three locale Skill install
pages (en / zh-CN / zh-HK), covering: trigger flow, explicit `longbridge
login`, token cache location, and revocation
- Add "Updating the Skill" section noting that `longbridge.zip` is
updated periodically
- Update FAQ entries to point to OAuth 2.0 flow instead of mentioning
API Token
- Remove Legacy API Key sections from `skills/longbridge` references:
`setup.md`, `python-sdk/overview.md`, `rust-sdk/overview.md`, `mcp.md`
(Self-Hosted Binary section removed)
- Fix Rust SDK "Creating Contexts" example to use `Config::from_oauth`
instead of `Config::from_apikey_env`
## Test plan
- [ ] Verify install pages render correctly in all three locales
- [ ] Confirm no remaining references to API Key / API Token in skill
install docs
- [ ] Confirm OAuth 2.0 flow steps are accurate and complete
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- Expand `longbridge` skill description to trigger on investment
analysis requests (not just developer tasks like CLI/SDK usage)
- Add **Investment Analysis Workflow** section guiding Claude to use
Longbridge CLI for news, filings, and community topics before falling
back to WebSearch
- Move setup/auth/rate-limit docs to `references/setup.md` to keep
SKILL.md lean
- Move OG meta tags from static locale configs to dynamic per-page
generation in `config.mts`
## Test plan
- [ ] Verify skill triggers on natural language stock analysis queries
(e.g. "分析持仓", "ARM 昨天表现")
- [ ] Verify `longbridge news` / `news-detail` / `filing-detail`
commands are used before WebSearch in analysis workflow
- [ ] Verify OG tags render correctly per page after config.mts change
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- Add `my_topics` and `create_topic` API reference pages in all 3
locales (en/zh-CN/zh-HK), using `<SDKLinks>` + `<Tabs>` pattern with
CLI, Python, Python async, Node.js, Java, Rust, C++, Go examples
- Rename Content sidebar category → **Community** across all locales
- Rename `security_topics` page title → "Get Community Topics by Symbol"
- Add Community content section to `cli.md` (all locales)
- Update `openapi.yaml`: add `x-codeSamples` for `list_my_topics` and
`create_topic`, fix `create_topic` schema (`title` not required at
schema level), move all community endpoints to `Community` tag
- Update CLI skill overview with `longbridge update` command details
## Key design notes
- `create_topic` page includes an article/post comparison table
explaining title requirement and body format differences
- SDK method signatures verified from source code
(`/Users/jason/work/openapi/`)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Reorganize the install page to lead with client-agnostic methods (ZIP
download and npx/bunx CLI) before client-specific setup guides. Adds
-g/-y flag explanations, bunx alternative, and replaces OpenClaw slash
command with a natural-language zip install instruction to prevent AI
misinterpretation.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- Add blockquote notes to the Claude.ai and ChatGPT sections explaining
that automated installation is not possible due to sandboxed execution
environments
- Claude.ai restricts outbound access to a fixed domain whitelist;
ChatGPT similarly cannot auto-install Skills during a conversation
- Users are directed to the manual download/upload flow in both cases
## Test plan
- [ ] Verify blockquote notes render correctly in all three locales (en,
zh-CN, zh-HK)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- Update CN-specific API host from `openapi.longbridge.com` to
`openapi.longbridge.cn` across all language versions (zh-CN, zh-HK, en)
- Affected files: `getting-started.md`, `how-to-access-api.md`,
`refresh-token-api.md`
- Global (non-CN) host `openapi.longbridge.com` remains unchanged
## Test plan
- [ ] Verify CN region docs show `openapi.longbridge.cn`
- [ ] Verify global/production docs still show `openapi.longbridge.com`
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- **New `/skill` page** with full trilingual support (en / zh-CN /
zh-HK)
- **Interactive chat demo**: 4 scenarios (Live Quote, Portfolio,
Subscription, Earnings) × 5 AI clients (OpenClaw, ChatGPT, Claude,
Claude Code, Codex) with typewriter animation
- **Rich response rendering**: tables with Shadcn-style borders, mini
SVG sparkline charts, syntax-highlighted code blocks
- **Scenario cards section** below the demo describing use cases
- **Nav update**: Skill link added to all three locale nav configs
## Bug Fixes
- **Syntax highlighter**: replaced chained-regex approach with a
single-pass tokenizer. The old code ran number → keyword → string
regexes sequentially on the same string — the keyword regex matched
`class` inside generated `<span class="hl-n">` attributes, and the
string regex matched `"hl-n"` as a string literal, corrupting the HTML
structure entirely
- **v-html routing**: replaced `currentMessages[2]?.rich` template
condition with an explicit `isRichResponse` ref set in `runAnimation()`
to prevent incorrect branch selection when switching client tabs
## Test plan
- [ ] Visit `/skill`, `/zh-CN/skill`, `/zh-HK/skill` — page loads in all
locales
- [ ] Click through all 4 scenario tabs — animation plays correctly for
each
- [ ] Click through all 5 client tabs — correct message shown, Claude
Code tab shows syntax-highlighted code (not raw HTML)
- [ ] Verify sparkline charts render in the Live Quote / OpenClaw
scenario
- [ ] Verify table borders render correctly (outer border + row
dividers, no missing bottom border)
- [ ] Verify gain/loss values show green/red colors in tables
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Add AsyncQuoteContext/AsyncTradeContext/AsyncContentContext examples
alongside existing sync Python examples, covering all 143 API pages
across zh-CN, en, and zh-HK.
Replace nested callback pattern with synchronous style:
- Old: QuoteContext::create(config, [](auto res) { res.context().method(...) })
- New: QuoteContext ctx = QuoteContext::create(config); ctx.method(...)
Extract API calls into a run() helper function following the new
SDK example convention. Updated 134 files across zh-CN, en, zh-HK.
QuoteContext/TradeContext/ContentContext construction is now synchronous
and infallible in v4.0.5:
- Rust: try_new(config).await? -> new(config)
- Node.js: await QuoteContext.new(config) -> QuoteContext.new(config)
- Java: QuoteContext.create(config).get() -> QuoteContext.create(config)
Updated 143 files across zh-CN, en, and zh-HK docs.
## Summary
- Add `skills/longbridge` skill files covering CLI, Python/Rust SDK,
MCP, and LLM integration
- Update `npx skills add` command in `cli.md` (en/zh-CN/zh-HK) from
`longbridge/longbridge-terminal` to `longbridge/developers`
- Update project GitHub repo references from
`longbridge/developers-website` to `longbridge/developers` in
`config.mts` and `CONTRIBUTING.md`
## Test plan
- [ ] Verify skill files are accessible via `npx skills add
longbridge/developers`
- [ ] Verify "Edit this page" links in the site point to the correct
GitHub repo
- [ ] Verify CLI docs show the correct skill install command
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- Rename project from "OpenAPI" to "Longbridge Developers" across all
locales, config, and docs
- Add local SVG assets for homepage features (replacing external CDN
URLs)
- **TipContainer**: replace emoji with SVG icons, Shadcn-style
border/bg/text per type using `data-type` + CSS `@apply`
- **Tabs**: improved tab styling, fix `ul`/`ol` indentation in tab
content
- **Sidebar**: active item uses brand color background (color-mix) with
rounded corners
- **Doc footer**: LLMs Text + Edit this page on same row, subdued
colors, lighter "Updated at"
- **Breadcrumb**: remove primary color
- **UserMenu**: rename Profile → Dashboard (控制台)
- **Style**: inline code color fix, blockquote updates, font
improvements
## Test plan
- [ ] Verify rename appears correctly in EN / zh-CN / zh-HK locales
- [ ] Check homepage SVGs load from `/assets/`
- [ ] Check TipContainer all 6 types render with correct
border/bg/text/icon colors in light and dark mode
- [ ] Check Tabs styling and list indentation
- [ ] Check sidebar active item background
- [ ] Check doc footer layout (LLMs Text + Edit this page same row)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>