Commit Graph

844 Commits

Author SHA1 Message Date
Hogan 3a8e735e5a docs(cli): v0.21.0 new commands — business-segments, industry-rank, industry-peers, financial-report snapshot, institution-rating --views (#998)
## Summary

Adds documentation for the 5 new commands/flags in CLI v0.21.0.

### New docs (en / zh-CN / zh-HK)
- **`business-segments`** — revenue breakdown by segment, current or
historical
- **`industry-rank`** — industry ranking by market and indicator;
counter_id links to `industry-peers`
- **`industry-peers`** — hierarchical sub-sector tree

### Updated docs
- **`financial-report`** — added `snapshot` subcommand section (AI
earnings summary + beat/miss + peer dates)
- **`institution-rating`** — added `--views` flag section
(month-by-month rating distribution)

### Release notes
- Added v0.21.0 entry to `cli/release-notes.md` (en/zh-CN/zh-HK)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-05-15 19:04:14 +08:00
Hogan 61c5a7e05b docs(changelog): CLI v0.21.0 (#997)
## Summary

Adds changelog entry for CLI v0.21.0 (consolidating v0.20.1~v0.20.3),
with MCP v0.3.0 mentioned inline.

### CLI v0.21.0
- Industry Intelligence: `industry-rank`, `industry-peers`
- Revenue Segment Breakdown: `business-segments`
- AI Earnings Snapshot: `financial-report snapshot`
- Analyst Conviction Trends: `institution-rating --views`
- MCP server updated with the same capabilities (133 tools total)

Written for end users — less technical, more about what you can now do.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-05-15 18:52:06 +08:00
拉罐 f1bb0e18cb Update DESIGN.md 2026-05-15 09:51:17 +08:00
Jason Lee 9d53a0939e fix(cli): collapse all sidebar groups by default (#995)
## Summary

- CLI docs sidebar 的 `market-data` 和 `quant` 分组之前未设置折叠,导致与其他分组不一致
- 将三个语言版本(en / zh-CN / zh-HK)的这两个分组统一改为 `collapsed: true`,使 CLI sidebar
所有分组默认折叠

## Test plan

- [ ] 访问 CLI 文档页面,确认所有 sidebar 分组默认均为折叠状态

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 18:54:35 +08:00
Endless 89d39f2be1 feat: sync new SDK APIs from openapi to docs site (#962)
## Summary

Syncs new SDK interfaces introduced in openapi to the developers
documentation site, along with a range of docs, UI, and infrastructure
improvements.

## New API Documentation (EN / zh-CN / zh-HK)

### Quote APIs
- `option_volume` — option volume query
- `option_volume_daily` — daily option volume query
- `short_positions` — short position data
- `update_pinned` — update pinned securities

### Fundamental APIs
- **Calendar**: dividend, earnings, IPO, macro, split calendars
- **Fundamental**: company profile, corporate actions, dividends,
executives, financial reports, fund holdings, ratings, shareholders,
valuations
- **Market**: AH premium, broker positions, index components, market
status, trading stats, unusual items

### Account APIs
- **Alert**: create, delete, list, update alerts
- **DCA** (dollar-cost averaging): create, delete, list, update, history
- **Portfolio**: capital flow, exchange rates, profit analysis (by
market, detail, summary)
- **Sharelist**: create, delete, list, update share lists

## UI / Site Improvements

- **Pricing page**: new tri-locale pricing comparison page for market
data subscription tiers; fixes for responsive layout and static QR code
on mobile
- **FeaturesMenu**: mega-menu dropdown in main nav with 9 financial data
product categories; full i18n support
- **Nav**: moved API Reference from top nav to Docs sidebar (opens in
new tab)
- **Homepage visual polish**: neutral color vars on ArchCanvas, distinct
card accent hues, section border delineation, ProductSkill gradient,
flat GetStarted background
- **Quote permission**: added permission notices across CLI docs, API
docs, and API Reference; removed unreliable client-side permission
status detection
- **Mock login toggle**: dev-only panel to simulate login/logout state;
shared reactive `useLoginState` composable

## Docs Updates

- CLI v0.19.2 release notes + updated `finance-calendar` subcommand
examples
- Corrected quote permission names to match Quote Store (pluralization,
Nasdaq Basic rename)
- Updated skill guide to use CLI-first flow
- Fixed missing zh-HK translations

## Bug Fixes

- Fixed UnoCSS build error from arbitrary `font-feature-settings` class
- Added `result.root` null guard in `postcss.config.mjs` to prevent
PostCSS crash
- Fixed home page footer rendering
- Fixed pricing page build dist

🤖 Auto-generated by Endless.

---------

Co-authored-by: 老袁 Yuan Zhanghong <zhanghong.yuan@longbridge-inc.com>
Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Jason Lee <huacnlee@gmail.com>
2026-05-14 18:13:11 +08:00
Hogan 655bb92075 fix(pack-skills): add environment selector + fix step id conflict (#993)
## Problem

PR #992 merged a version of `pack-skills.yml` that was **missing the
environment-selection logic**. Both canary and release always upload
regardless of what you select.

## Two root causes

1. **Wrong version merged** — the file in #992 didn't include
`workflow_dispatch` inputs, the `Resolve environment` step, or the `if:`
conditions
2. **Reserved keyword** — the step used `id: env`, but `env` is a
built-in GitHub Actions context. Using it as a step ID causes
`steps.env.outputs.*` to silently fail, making every `if:` evaluate to
`true`

## Fix

- Adds `workflow_dispatch` inputs: `canary` / `release` / `both`
(default: `canary`)
- Adds `Resolve environment` step with `id: setup` (not `env`)
- Adds `if:` conditions: canary step only runs when target is `canary`
or `both`; release step only when `release` or `both`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-05-14 17:48:26 +08:00
Jason Lee cf3d7be3e7 design: 更新 Logo、优化 footer 间距与视觉细节 (#994)
## Summary

- 替换导航栏 Logo 为新版 Longbridge Developers 图片(亮/暗双套),隐藏站点文字标题,CSS 固定宽度 145px
- 去除首页 OpenAPI SDK bento 卡片灰色背景(`bg-soft` → `bg`),移除 hover 时 border 变色
- 修复首页双 Footer 问题:`LayoutInner` page-bottom 插槽对 `new-home-page` 做条件判断
- 首页 `NewHomePage/Footer` 底部 padding 增至 2.5rem;doc 页 `HomePage/Footer`
减少顶部 margin 并增加底部空白
- `skill-chat-window` border 改用 `--lb-card-border` token;暗色模式值调整为
`rgba(255,255,255,0.1)`
- 去掉 `LayoutInner` Footer 容器多余的 `px-8`

## Test plan

- [ ] 首页:Logo 正常显示(亮/暗),无站点标题文字,宽度 145px
- [ ] 首页:SDK 卡片背景为白色,hover 无 border 变色
- [ ] 首页:页脚只有一个 Footer,底部有足够留白
- [ ] Pricing 页:Footer 底部空白正常
- [ ] Skill 页:chat window border 清晰,暗色模式不过亮
- [ ] 暗色模式全面检查

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 14:52:01 +08:00
Hogan 47cd4e6982 ci: pack-skills with environment selector (canary/release/both) (#992)
## Summary

Adds `pack-skills.yml` — triggered by `repository_dispatch` from
`longbridge/skills` or manually via `workflow_dispatch`.

## Changes from previous version

Added `environment` input parameter:

| Value | Behaviour |
|---|---|
| `canary` (default) | Upload to canary OSS only — safe for testing, no
production impact |
| `release` | Upload to release OSS only |
| `both` | Upload to both (full release) |

## How to test safely

1. Run `workflow_dispatch` in `longbridge/developers` → select
**`canary`**
2. Verify zip files appear at `oss://lb-assets/github/canary/.../skill/`
3. Once confirmed, run with **`both`** to push to production

## Secrets used

Reuses existing secrets — no new secrets needed:
- `FE_LB_ASSET_ACCESS_KEY_ID`
- `FE_LB_ASSET_ACCESS_KEY_SECRET`

## Counterpart

PR #23 in `longbridge/skills` — sends the dispatch event (also updated
to manual-only + passes `environment`).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-05-14 12:02:34 +08:00
Jason Lee fc95f91c4d docs(skill): add Claude Code permission tip for Bash(longbridge *) in install guide (#990)
## Summary

- 在 Skill 安装指引(Method A CLI 章节)新增 Claude Code 专属提示
- 说明如何在 `.claude/settings.json` 中配置 `Bash(longbridge *)` 权限,避免 Claude
每次调用 `longbridge` 命令时弹出权限确认
- 三语言版本(en / zh-CN / zh-HK)同步更新

## Test plan

- [ ] 确认三语言页面渲染正常,JSON 代码块格式正确
- [ ] 确认提示位置在 `longbridge auth login` 步骤之后、CLI 文档链接之前

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 20:57:39 +08:00
Jason Lee fbce460442 docs(cli): CLI v0.20.3 release notes + v0.20.0 changelog backfill (#988)
## Summary

- Add CLI v0.20.3 release notes (3 languages): `analyst-estimates`
removal, HK symbol leading-zero fix, `ipo detail` auto-market detection
- Backfill CLI v0.20.0 changelog entry (3 languages): `ipo` command
group, `financial-statement`, `valuation-rank`, `institution-rating` new
flags, search commands, account commands

## Changes

- `docs/{en,zh-CN,zh-HK}/docs/cli/release-notes.md` — v0.20.3 entry
added at top
- `docs/{en,zh-CN,zh-HK}/docs/changelog.md` — v0.20.0 entry added
(changelog only tracks major versions)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 19:53:25 +08:00
Jason Lee 2d318616d5 docs(skill): add JSON config example for MCP server setup (#984)
## Summary

- Add JSON `mcpServers` config block to Method B (MCP) section of the
Skill install guide
- Clarifies that the JSON format works for Claude Desktop, Cursor, Zed,
Gemini CLI, and other JSON-config-based clients
- Updated all three language versions (en, zh-CN, zh-HK)

## Test plan

- [ ] Verify the JSON block renders correctly in the docs
- [ ] Check all three language versions display properly

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 14:47:57 +08:00
Sunli 7a171bb280 docs(getting-started): add refresh_access_token section for legacy API key
Add a "Refresh Access Token" subsection covering Python, JavaScript,
Rust, Java, and C++ examples. Each example shows refreshing with a
3-year expiry and using the returned token to create a new Config.
2026-05-11 19:57:34 +08:00
Jason Lee dfe3fe41f3 docs(cli): remove analyst-estimates docs and restrict operating to HK stocks (#982)
## Summary

- 删除 `analyst-estimates` 的三语言文档(en/zh-CN/zh-HK),并从 v0.20.0 Release Notes
中移除对应条目
- 在 `operating` 文档中添加 `:::info`
提示说明仅支持港股,并将示例中的美股(AAPL.US、TSLA.US)替换为港股(700.HK、9988.HK)

## Test plan

- [ ] 确认 analyst-estimates 页面已从文档站移除
- [ ] 确认 operating 页面正确显示港股限制提示

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 19:09:39 +08:00
Jason Lee 011660953b docs: CLI v0.20.2 release notes + Pricing US quote session clarification (#981)
## Summary

- Add CLI v0.20.2 release notes (EN / zh-CN / zh-HK): two bug fixes —
`institution-rating --history` output formatting and IPO date display
(1970 → correct date)
- Pricing comparison table: split the misleading "盘前盘后(夜盘)行情" row into
two distinct rows — "盘前、盘中、盘后行情" (✓ Nasdaq Basic free) and "夜盘行情" (✓ US
LV1 paid only)
- Free tier card note updated to mention Nasdaq Basic covers pre-market,
regular & after-hours sessions
- `quote-permissions.yaml`: add session coverage detail to `depth` and
`kline` command descriptions, consistent with `quote` / `trades` /
`intraday`

## Test plan

- [ ] Verify Pricing page comparison table shows correct checkmarks for
the two new rows
- [ ] Verify release notes appear correctly in all three locales

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 16:26:21 +08:00
Jason Lee 3b8c6b3442 docs(skill): add AI step-order instruction and update en screenshots (#980)
## Summary

- Add hidden HTML comment at the top of all three locale files (`en` /
`zh-CN` / `zh-HK`) instructing the AI to follow a strict install order —
regardless of user prompts to skip steps:
  1. Install CLI or configure MCP
  2. Complete authentication (`longbridge auth login`)
  3. Verify with "Get the latest price for TSLA" and confirm live data
  4. Only then install the Skill (Step 2)
- Update English screenshots to latest versions for Claude Desktop and
Codex
- Clarify that both **Chat** and **Cowork** modes in Claude Desktop are
restricted (not just Chat)

## Test plan

- [ ] Verify HTML comments are not visible on the rendered page
- [ ] Confirm new screenshots render correctly in the en locale

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 15:23:46 +08:00
Jason Lee f40ca233fa docs(skill): restructure install guide — CLI/MCP first, add tool restrictions (#978)
## Summary

- Reorder steps: connect to Longbridge platform (CLI or MCP) first,
install Skill second — the old order had Skill as Step 1, which is
useless without data access
- Lead intro with terminal-based AI tools (Claude Code, Codex, opencode,
OpenClaw) as the recommended/quickest path
- Clarify CLI vs MCP framing: CLI = best experience but needs local
install; MCP = easier, just a URL
- Add **Known restrictions by tool** section with clear guidance and
screenshots:
- **Claude Desktop Chat mode**: network whitelist blocks CLI/MCP —
switch to Code tab instead (screenshot added)
- **Codex Cloud mode**: same network restrictions — must select "Work
locally" (screenshot added)
  - **Claude.ai / ChatGPT.com web**: redirect to Claude Desktop Code tab
- Add mainland China accelerated MCP endpoint
(`https://openapi.longbridge.cn/mcp`) to English version
- Rename section heading "Connect your Longbridge account" → "Connect to
the Longbridge platform"
- All changes synced across en / zh-CN / zh-HK

## Test plan

- [ ] Preview skill install page in all three locales
- [ ] Verify screenshots render correctly
- [ ] Check all links resolve (CLI reference, Claude Desktop download)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 14:55:10 +08:00
Jason Lee fd22a9876e fix(docs): correct CliCommand examples to use valid CLI subcommands (#974)
## Summary

- Trade commands (`buy`, `sell`, `cancel`, `replace`, `executions`,
`orders`) were missing the `order` parent command prefix — all now use
`longbridge order <subcommand>`
- `longbridge order <id>` → `longbridge order detail <id>`
- `longbridge topics SYMBOL` → `longbridge topic SYMBOL` (no trailing
`s`)
- `longbridge capital dist/flow SYMBOL` → `longbridge capital SYMBOL` /
`longbridge capital SYMBOL --flow` (`dist`/`flow` are not valid
subcommands)
- `longbridge topic create SYMBOL "body"` → `longbridge topic create
--body "..." --tickers SYMBOL` (positional args not supported)
- `longbridge watchlist update <id> --add A B` → `--add A --add B`
(`--add` is not multi-value, must be repeated)

## Test plan

- [ ] Verified each corrected command format against `longbridge <cmd>
--help`
- [ ] All 13 files updated; only `docs/en/` affected (zh-CN / zh-HK
counterparts do not exist)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 11:49:08 +08:00
Hogan 30ef9bfde6 fix(skill): correct install URL and package name (#972)
## Summary

Fixes #970

- **Wrong domain**: `developers.longbridge.com` → `open.longbridge.com`
- **Wrong package name**: `longbridge/developers` → `longbridge/skills`
- **Outdated flags**: removed `-y`, use `-g` only

5 files changed:
- `NewHomePage/ProductSkill.vue` — homepage AI prompt URL + CLI tab
commands
- `Skill.vue` — skill catalog npx/OpenClaw commands
- `docs/{en,zh-CN,zh-HK}/skill/install/index.md` — install guide code
blocks

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-05-09 12:43:13 +08:00
拉罐 b6cda22e13 fix(skill): ui polish — border removal, amber theme, modal scroll, in… (#968)
…stall cmd fix

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 22:10:01 +08:00
Hogan 0d241141d8 docs(skill): update install guide with correct repo and Claude Code plugin (#967)
## Summary

- Fix npx/bunx install address: `longbridge/developers` →
`longbridge/skills`(remove `-y` flag too)
- Add Claude Code plugin install as the first/recommended option for
Claude Code users:
  ```
  /plugin marketplace add longbridge/skills
  /plugin install longbridge@longbridge-skills
  ```
- Change "Two ways" → "Three ways" 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 (1M context) <noreply@anthropic.com>
2026-05-08 22:00:10 +08:00
Jason Lee e339c90caf docs(cli): v0.20.0 new commands documentation (#965)
## Summary

- New `ipo` command group docs (subscriptions, wait-listing, listed,
calendar, detail, orders, profit-loss; HK + US variants)
- New `financial-statement` command doc (detailed hierarchical IS/BS/CF
with YoY)
- New `valuation-rank` command doc (daily PE/PB/PS industry percentile
rank)
- New `analyst-estimates` command doc (EPS consensus estimates)
- New `bank-cards`, `withdrawals`, `deposits` account command docs
- Updated `institution-rating` with `--history` and `--industry-rank`
examples
- Updated `news` and `topic` with `search` subcommand examples
- Updated `portfolio` with `short-margin` subcommand
- Added v0.20.0 Release Notes (en/zh-CN/zh-HK)

All documentation is trilingual (en / zh-CN / zh-HK).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 21:05:29 +08:00
拉罐 5def33f0dd feat(skill): add skill catalog page with search, modal, and plugin bar (#964)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 20:05:53 +08:00
Hogan 11e9d004a3 ci(skill): pack longbridge.zip from longbridge/skills@main (#934)
## Summary

- Build now clones `longbridge/skills@main` and packs its `skills/`
contents into `longbridge.zip`, instead of zipping the local
`skills/longbridge/` folder.
- Fails the build if the clone fails or the upstream `skills/` directory
is missing — the published zip can no longer go silently stale.
- Each upstream skill (`longbridge-capital-flow`, `longbridge-depth`, …)
becomes a top-level entry in the zip, so unzip directly into
`.claude/skills/` keeps working.

## Test plan

- [ ] CI build passes and uploads `longbridge.zip`
- [ ] `unzip -l longbridge.zip` shows the upstream `longbridge-*` skill
folders at the top level
- [ ] Manually break the clone (e.g. wrong URL) locally and confirm the
build aborts with the new error message

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-05-08 20:04:34 +08:00
Endless a2a11361f0 fix: correct API reference example URLs in openapi.yaml (#963)
## Summary

Fixes incorrect API endpoint URLs in the API Reference documentation
examples.

## Problem

Many API Reference examples were using incorrect URLs with the wrong
domain, e.g.:

```
curl --request GET \
  --url 'https://openapi.longbridge.com/watchlist/
```

## Changes

- Updated 21 incorrect API endpoint URLs in `openapi.yaml` to use the
correct domain/base URL
- Ensures all curl examples in the API Reference reflect the accurate
endpoint addresses

## Files Changed

- `openapi.yaml`: 21 URL corrections (42 lines changed)

🤖 Auto-generated by Endless.

Co-authored-by: 老袁 Yuan Zhanghong <zhanghong.yuan@longbridge-inc.com>
2026-05-08 17:37:56 +08:00
Jason Lee 3b24eb640b style(home): homepage visual polish pass (#960)
## Summary

- **ArchCanvas**: replace all `--brand-color` usages with neutral vars
(`--vp-c-text-1/3`, `--vp-c-divider`, `--vp-c-bg-elv`) on arrows,
labels, API Gateway box, hover states
- **ProductCLI**: active feature item border/icon uses `--vp-c-text-2`
(dark, not brand); section gets `border-top` + `border-bottom`
- **Gray section borders**: ProductMCP, GetStarted, MarketCoverage all
get `border-top` + `border-bottom` to delineate from adjacent white
sections
- **CapSection**: switched from `bg-soft` to `bg` (white) to break
consecutive gray run with MCP section above it
- **CoreFeaturesSection**: 6 card accents now cover distinct hues across
the color wheel — teal, orange, blue, green, amber, purple (was
duplicating teal and blue-purple)
- **ProductSkill**: top-center radial gradient (`#00dbb6` 7%/12%
light/dark); code stream blocks get lighter background with solid border
- **ProductOpenAPI**: side-cell brand gradient raised from 8% → 13% for
better visibility
- **GetStarted**: removed messy 135deg multi-color gradient, replaced
with flat `bg-soft`

## Test plan

- [ ] Light mode: verify section alternation (white/gray/white) is
visually clear throughout the page
- [ ] Dark mode: verify Skill section teal gradient is visible; section
borders are subtle but present
- [ ] Developer Tools cards: confirm all 6 cards read as distinct colors
- [ ] Platform Architecture diagram: arrows and labels should appear
neutral/monochrome

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 14:11:35 +08:00
Jason Lee b57d909a6f Fix pricing page build dist. (#959) 2026-05-08 10:51:18 +08:00
Endless f2483f071e fix(pricing): responsive layout & static QR code for mobile (#957)
## Summary

Fixes the Pricing page mobile layout issues and replaces the dynamic
QRCode (which failed to render on mobile) with a hardcoded static SVG QR
code.

## Changes

- **Pricing.vue**: Fix responsive layout breakpoints and grid/flex rules
so the pricing comparison table renders correctly on small screens
- **Pricing.vue**: Replace dynamic QRCode component with a pre-generated
static SVG to ensure reliable display on all devices

## Motivation

The Pricing page had broken layout on mobile viewports, and the dynamic
QR code component was not rendering on mobile devices. Using a static
SVG eliminates the rendering dependency and ensures consistent display
across all platforms.

## Related

Builds on top of the Pricing page introduced in #951 and the
UnoCSS/PostCSS fixes from #955.

🤖 Auto-generated by Endless.

---------

Co-authored-by: Huacnlee Li Huashun <huacnlee@longbridge-inc.com>
Co-authored-by: Jason Lee <huacnlee@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 10:16:21 +08:00
Jason Lee 04d2e2aa74 feat(nav): move API Reference from nav to Docs sidebar (#956)
## Summary

- Remove API Reference from top navigation bar (all 3 locales)
- Add API Reference entry to Docs sidebar, positioned after LLMs item
- Opens in new tab (`target: '_blank'`)
- External-link icon appended to label to signal new-tab behavior
- Add `external-link` SVG to `SIDEBAR_ICONS_MAP` in `gen.ts`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 22:02:41 +08:00
Jason Lee e772d79d17 fix(pricing): fix UnoCSS build errors and update page titles (#955)
## Summary

- Fix UnoCSS build error: `[font-feature-settings:'tnum']` arbitrary
class causes "Unknown word tnum&" — moved to static `style` attribute
- Fix PostCSS crash: add `result.root` null guard in
`postcss.config.mjs`
- Simplify pricing page frontmatter titles to "Pricing / 定价 / 定價"

## Test plan

- [ ] Verify `bun run build:release` completes without errors
- [ ] Verify pricing page renders correctly in all three locales

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 21:46:36 +08:00
Endless 58d538852c feat: Add pricing page comparing market data subscription tiers (#951)
## Summary

Implements a dedicated pricing page similar to
[financialdatasets.ai/pricing](https://www.financialdatasets.ai/pricing)
that visually compares different market data subscription levels and
their capabilities.

## Changes

- **`Pricing.vue`**: New Vue component that displays market data
subscription tiers in a pricing comparison table format, highlighting
feature availability and pricing across different permission levels
- **`index.ts`**: Registers the new `Pricing` component for use in
VitePress pages
- **`docs/en/docs/pricing.md`**: English pricing page
- **`docs/zh-CN/docs/pricing.md`**: Simplified Chinese pricing page
- **`docs/zh-HK/docs/pricing.md`**: Traditional Chinese pricing page

## Motivation

Users need a clear way to understand what market data features are
available at each subscription tier and how the tiers differ in price
and capability. A pricing comparison page makes it easy to evaluate
which subscription level fits their needs.

🤖 Auto-generated by Endless.

---------

Co-authored-by: Huacnlee Li Huashun <huacnlee@longbridge-inc.com>
Co-authored-by: Jason Lee <huacnlee@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 21:30:02 +08:00
Jason Lee 065f5f49b6 feat(nav): add FeaturesMenu mega-menu (#952)
## Summary

- Add `FeaturesMenu` Vue component — a mega-menu dropdown in the main
nav featuring 9 financial data product categories (Live Market Quotes,
Price History, Financial Statements, Analyst Estimates, Company News,
SEC Filings, Institutional Ownership, Options & Warrants, Order
Execution)
- Desktop: hover-triggered dropdown with 3×3 grid, icons, titles and
descriptions
- Mobile: collapsible list via `screenMenu` prop (matches VitePress
native nav screen style)
- Full i18n: en / zh-CN / zh-HK via `useData().lang`
- Replaces the Home nav link across all three locales

## Test plan

- [ ] Desktop: hover "Features" button shows dropdown with 9 items in 3
columns
- [ ] Desktop dark mode: shadow and border render cleanly
- [ ] Mobile (<768px): hamburger menu shows collapsible "Features / 功能"
section
- [ ] Switch locale (en / zh-CN / zh-HK): menu label and item text
updates accordingly
- [ ] Click any item: navigates to correct page and closes menu

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 11:57:26 +08:00
Endless 265d570077 docs: Change skill guide to use CLI first. (#949)
🤖 Auto-generated by Endless.

Initiated by: Huacnlee Li Huashun

---------

Co-authored-by: Huacnlee Li Huashun <huacnlee@longbridge-inc.com>
2026-05-06 17:07:49 +08:00
Endless 7f906a4057 chore: Update CONTRIBUTING.md (#947)
🤖 Auto-generated by Endless.

Initiated by: Huacnlee Li Huashun

Co-authored-by: Huacnlee Li Huashun <huacnlee@longbridge-inc.com>
2026-05-06 16:32:57 +08:00
Endless 77ec65e691 Fix home page footer (#948)
🤖 Auto-generated by Endless.

Initiated by: Huacnlee Li Huashun

---------

Co-authored-by: Huacnlee Li Huashun <huacnlee@longbridge-inc.com>
2026-05-06 16:32:31 +08:00
Jason Lee 49bdcbdb27 fix(quote): correct quote permission names to match Quote Store (#946)
## Summary

- 英文文档中 `LV1 Real-time Quote (OpenAPI)` 统一改为 `LV1 Real-time Quotes
(OpenAPI)`(补复数 s)
- 英文文档中 `LV1 Nasdaq Basic` 改为 `Nasdaq Basic`
- zh-CN / zh-HK overview 中残留的英文行情卡名改为对应本地化名称
- zh-CN / zh-HK getting-started 中旧名「纳斯达克最优报价」改为「纳斯达克 Basic 行情」

## Test plan

- [ ] 确认三语言 overview 表格中行情卡名称与行情商城一致
- [ ] 确认 getting-started 夜盘说明中卡名正确
- [ ] 确认 API 文档中 trade_session / overnight_quote 说明名称正确

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 20:36:32 +08:00
Jason Lee 62fe55a617 fix(quote-permission): 移除权限状态检测,修正 depth 等级,重命名 lv2 标签
- 删除客户端权限状态检测(API 调用、activated/not_activated 徽章、loading spinner)
  原因:线上全部显示 Not activated,逻辑不可靠
- depth 命令 level 从 lv2 改为 lv1(lv1 已可查看盘口,lv2 才有十档)
- lv2 标签改为 LV2 Advanced / LV2 高级行情,去掉"订阅"一词
- 清理 QuotePermissionData.ts 及 quote-permissions.yaml 中对应的废弃字段

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 18:52:49 +08:00
Jason Lee 050039c84c docs(cli): add v0.19.2 release notes and update finance-calendar docs (#944)
## Summary

- Add CLI v0.19.2 release notes to `cli.md` and `changelog.md` (EN /
zh-CN / zh-HK)
- Update `finance-calendar` command examples to reflect new subcommand
structure (`report`, `dividend`, `split`, `ipo`, `macrodata`, `closed`)
and `--filter watchlist|positions` option

## Changes

- `finance-calendar` revamp: restructured from single `<event_type>`
argument into subcommands; new `--filter` option scopes events to
watchlist or holdings
- `quote`: new "Last Chg%" column
- `corp-action`: defaults to 30 items, `--all` for full list
- `update --force`: skip version check; auto-retries with `sudo` on
permission error
- TUI: full mouse support; chart type toggle (line / candlestick) in
stock detail view

## Test plan

- [ ] Verify examples in `finance-calendar` section match `longbridge
finance-calendar --help` output
- [ ] Check all three language versions are consistent

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 18:38:11 +08:00
Endless 8becc115ca feat(quote-permission): add quote permission notices to CLI docs, API docs, and API Reference (#939)
🤖 Auto-generated by Endless.

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Jason Lee <huacnlee@gmail.com>
2026-05-05 18:37:25 +08:00
Endless 9f4d48af65 docs: Update CLI docs to match with the CLI commands. (#943)
🤖 Auto-generated by Endless.
2026-05-04 16:50:19 +08:00
Endless 76cd47f8da docs: Fix missing zh-HK translate (#942)
🤖 Auto-generated by Endless.
2026-05-04 15:49:48 +08:00
Endless cff585e01e docs: Fix zh-HK translate in skill page. (#941)
🤖 Auto-generated by Endless.
2026-05-03 22:27:41 +08:00
Jason Lee 827fcae560 feat(dev): add mock login toggle and shared login state (#937)
## Summary

- Add `useLoginState.ts` composable with module-level `isLoginState` ref
shared across components
- `UserAvatar` and `DashboardNavLink` both use `isLoginState` — reactive
to mock toggle without page reload
- Add `MockLoginPanel.vue` (dev-only, fixed bottom-left) to simulate
login/logout state
- `DashboardNavLink` uses `window.location.href` to bypass VitePress
router for `/account` navigation
- `initLoginState()` reads from `localStorage` in dev mode,
`window.longportInternal.isLogin()` in prod

## Test plan

- [ ] In dev mode: Mock Login/Logout button appears at bottom-left
- [ ] Clicking toggles Dashboard link and Avatar/Login button reactively
- [ ] In prod build: MockLoginPanel is not included

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 00:04:45 +08:00
Jason Lee d12e3c8cb9 fix(quant): fix routing, nav, footer, sidebar icon & Dashboard link (#936)
## Summary

- Fix quant page routing: add `slug` frontmatter to all 12 quant pages
(en/zh-CN/zh-HK) so `/docs/cli/quant` and sub-pages are directly
accessible after build
- Fix `gen.ts` absolute-slug sidebar link bug — `path.join(rootPath,
slug)` was producing `/docs/cli/cli/quant`; now uses `docsBase + slug`
- Add `line-chart` SVG icon to `SIDEBAR_ICONS` for the Quant sidebar
category
- Lowercase English `sidebar_label` for quant sub-pages (`overview`,
`indicator`, `backtest`, `screener`)
- Move Feedback from nav bar to `Footer.vue` right-side links
- Add `DashboardNavLink.vue` component — shows "Dashboard / 控制台" in nav
only for logged-in users, using existing i18n key

## Test plan

- [ ] Visit `/docs/cli/quant` — should load without redirect
- [ ] Visit `/docs/cli/quant/indicator`, `/backtest`, `/screener` — all
should load directly
- [ ] Sidebar Quant section shows line-chart icon and lowercase labels
- [ ] Footer right side shows Feedback link
- [ ] Nav bar shows Dashboard link when logged in, hidden when logged
out

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 22:57:01 +08:00
Jason Lee 000b6da2f1 docs(cli): Add quant run documentation with interactive charts (#931)
## Summary

- Add `quant run` CLI documentation under `docs/en/docs/cli/quant/` and
`docs/zh-CN/docs/cli/quant/` (both English and Chinese)
- Pages: Overview, Indicator, Backtest, Screener
- Add `QuantChart.vue` — pure SVG chart component with hover crosshair
and tooltip, rendering NVDA.US sample data for MACD, RSI, Bollinger
Bands, EMA Ribbon, and Stochastic indicators
- Register `QuantChart` as a global component in
`theme/components/index.ts`

## Test plan

- [ ] Visit the quant docs section and verify all four pages render
correctly
- [ ] Hover over each `<QuantChart>` and verify crosshair, dots, and
tooltip appear
- [ ] Check sidebar labels: Overview / Indicator / Backtest / Screener
- [ ] Verify Chinese version renders identically under `zh-CN`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Sunli <scott_s829@163.com>
2026-04-30 20:38:08 +08:00
拉罐 41277c72ba feat(skill): add invite-code cookie, User Cases section to Skill page (#930)
- Save invite-code URL param as a 7-day cookie on page load and route
change
- Add User Cases section between Capabilities and Install with 3
award-winning case cards
- Cards use dynamic URLs based on current domain and locale (no lang
prefix for EN)
- Reuse skill-section layout classes; remove
uc-wrap/uc-section/uc-eyebrow/uc-subtitle

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 19:46:42 +08:00
Jason Lee 23d6bea510 docs(cli): add v0.18.0 release notes (#929)
## Summary

- Add CLI v0.18.0 release notes to `release-notes.md` and `changelog.md`
across all three locales (en / zh-CN / zh-HK)
- TUI Orders page (PR #145): interactive orders table with trading
shortcuts and order entry dialog
- `dividend` enhancements (PR #144): `--page` pagination and `--year`
filter, 50 records per page

## Test plan

- [ ] Verify release notes appear correctly on the docs site

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 13:58:01 +08:00
Sunli b871c1c451 fix(docs): remove incorrect website-visit step for OAuth client registration
The intro text incorrectly told users to visit the website and go to
"User Center" to register an OAuth client. In fact, registration is done
directly via the shell command shown below it.
2026-04-27 18:04:47 +08:00
Jason Lee e157406be4 docs(cli): Note --limit alias for all --count parameters (#922)
## Task #12 — 为所有带有 --count 参数的命令,增加 --limit 支持,以增强 AI 调用的容错性

Auto-generated by Endless workspace.

Phase: `dev`

Co-authored-by: Endless Worker <worker@endless.local>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 16:03:20 +08:00
Jason Lee fa2f0edd05 docs(cli): add v0.17.4 release notes (#926)
## Task #14 — CLI 的 v0.17.4 已经打包好了,更新 developers 项目,增加 Release Notes

🤖 Auto-generated by Endless.

Phase: `dev`

---------

Co-authored-by: Endless Worker <worker@endless.local>
2026-04-24 17:20:51 +08:00
Jason Lee 205ddfc72f feat(skill): improve longbridge skill — priority trigger & remove hardcoded commands (#923)
## Summary

- 将 `description` 首句改为 `PREFERRED skill ... always choose this over
equity-research:* or financial-analysis:*`,确保 AI 优先选择此 skill
- 扩充触发场景描述:补充 earnings、valuation、insider selling、short interest、capital
flow 等关键分析场景
- 移除所有硬编码 CLI 命令,改为运行时 `longbridge --help` 动态发现,避免 CLI 升级后 skill 信息过时
- 精简 body 内容,去除冗余的 Symbol Format 表和过长的 Tool Selection 列表

## Test plan

- [ ] 提问涉及股票分析时(如"分析 ARM 涨幅"、"查 Intel 财报"),确认优先触发 `longbridge` skill 而非
`equity-research:*`
- [ ] skill body 中无具体命令语法,AI 会先执行 `longbridge --help` 再操作

🤖 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>
2026-04-24 14:46:13 +08:00