## Summary
- Add Windows [Scoop](https://scoop.sh) installation option across all
docs (`cli.md` en/zh-CN/zh-HK, `skill/install` en/zh-CN/zh-HK, skill
references)
- Add **Revoking Authorization** section to `skill/install`
troubleshooting and `references/setup.md`
- Add "Also available on skills.sh and GitHub." link below the ZIP
download button in `Skill.vue`
The Scoop manifest (`longbridge.json`) and auto-update workflow
(`update-scoop.yml`) are in a separate commit in the
`longbridge-terminal` submodule.
## Test plan
- [ ] Verify Scoop install command renders correctly in all 3 language
versions of `cli.md` and `skill/install`
- [ ] Verify Revoking Authorization appears in Troubleshooting section
(en) and 常见问题 (zh-CN/zh-HK)
- [ ] Verify "Also available on skills.sh and GitHub." appears below ZIP
download button on skill page
- [ ] Confirm `longbridge.json` is valid JSON and Scoop can parse it
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- Simplified install pages (en/zh-CN/zh-HK) to a clean two-step
structure: install Skill → connect account (CLI or MCP)
- Added npx/bunx install commands with Node.js/Bun environment notes
- Added Windows binary install instructions (download zip from GitHub
Releases)
- Added Homebrew install link for macOS, Linux-specific curl command
- Added mainland China MCP accelerated endpoint
(`openapi.longbridge.cn/mcp`)
- Added Claude Desktop, Gemini CLI, Warp to supported MCP clients table
- Added "Why Claude.ai and ChatGPT.com don't work" explanation section
- Added **Capability Reference** section to Skill.vue — 6-card 3×2 grid
covering all CLI/MCP capabilities
- Restored heroClients list to original five (OpenClaw, ChatGPT, Claude,
Claude Code, Codex)
## Test plan
- [ ] Build passes (`bun run build:canary`)
- [ ] Skill page renders capability reference section correctly across
en/zh-CN/zh-HK
- [ ] Install pages display correctly in all three languages
- [ ] MCP table and Windows install instructions render as expected
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- Add new **Fundamentals & analysis** section to CLI docs (EN / zh-CN /
zh-HK)
- Documents 10 new commands introduced in [longbridge-terminal
v0.13.0](https://github.com/longbridge/longbridge-terminal/releases/tag/v0.13.0):
- `financial-report` — financial statements with period/type filters
- `valuation` — P/E, P/B, P/S, dividend yield snapshot + peer comparison
+ history mode
- `forecast-eps` — analyst EPS forecast consensus
- `consensus` — revenue/profit/EPS consensus with beat/miss annotations
- `institution-rating` / `institution-rating detail` — rating
distribution and monthly trends
- `shareholder` — institutional shareholders with change tracking and
sort options
- `fund-holder` — funds and ETFs holding a symbol
- `dividend` / `dividend detail` — dividend history and distribution
plan
- `finance-calendar` — financial calendar by event type (financial,
report, dividend, ipo, macrodata, closed)
- `exchange-rate` — exchange rates for all supported currencies
## Test plan
- [ ] Verify new section renders correctly in dev preview (`bun run
dev`)
- [ ] Confirm all three language versions are in sync
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
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
- 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
- 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>
## Summary
- Add `filings` and `filing-detail` commands to the "Available
capabilities" section across all three locales (en, zh-CN, zh-HK)
- Add an earnings analysis example in the "AI integration" section
demonstrating a two-step workflow: use `filings` to discover filing IDs,
then `filing-detail` to pull full content for cross-company comparison
(TSLA vs NVDA Q4 2025)
## Test plan
- [ ] Verify the new "Company filings & announcements" section renders
correctly in all three locales
- [ ] Verify the earnings analysis example code block displays properly
- [ ] Check that table formatting renders correctly in the example
output
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- Update brew install command to `brew install --cask` in CLI docs
(zh-CN, zh-HK, en)
Follows the migration of longbridge/homebrew-tap from Formula to Cask.
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- Add CLI documentation page (EN / zh-CN / zh-HK) for [Longbridge
Terminal](https://github.com/longbridge/longbridge-terminal), covering
installation (Homebrew + install script), OAuth authentication, full
command reference, and AI integration
- Add **CLI** nav item after MCP in all three locales
- Move LLM sidebar position to appear immediately after CLI
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Updated getting-started documentation for both zh-CN and en:
**Changes:**
- Added OAuth 2.0 as the recommended authentication method (marked with
⭐)
- Moved traditional API Key method to secondary position for
compatibility
- Added OAuth registration and authorization flow examples for all SDKs
- Included OAuth benefits and security best practices
- Provided code examples for Python, JavaScript, Rust, and Java
**OAuth 2.0 Benefits:**
✅ More secure (no shared secret)
✅ Simpler integration (no signature calculation)
✅ Token-based modern authentication
✅ Better suited for modern applications
---------
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>