Bundle
dsh-stock-market
DSH Shanghai and Shenzhen A-share market plugin
- Source
- AnacondaKC
- stars
- 19 stars
- License
- BSD-3-Clause
- Updated
- Updated 6 days ago
Readme
# dsh-stock-market DSH 的沪深 A 股行情侧栏和固定免费股票数据工具插件。 ## 功能 - 右侧“行情”侧栏:顶部信息区展示上证指数、恒生指数、纳斯达克、韩国综合、日经指数、布伦特原油和纽约金主连的最新价与涨跌,支持横向滚动;侧栏支持收起、拖拽或键盘调整宽度及会话级状态保存。 - A 股行情快照:上证指数、深证成指、创业板指和科创综指来自腾讯实时行情,5 秒刷新;两市成交额与上一交易日同期比较,财经资讯来自东方财富。 - 数据接口设置:展示全部免费数据源和已接入的固定接口目录,无需配置凭据。 - 会话级股票工具开关:输入框工具行可启用或关闭全部股票工具,状态随会话日志持久化。 ## 界面预览    ## 接口目录 | 数据源 | 接口数 | 主要能力 | |---|---:|---| | 东方财富 | 36 | 实时/批量行情、排行、K 线、分时、资金流、数据中心、F10、研报、资讯、搜索 | | 腾讯财经 | 6 | 批量实时行情、K 线、分时、个股/板块排行、个股资讯 | | 新浪财经 | 13 | 批量实时行情、K 线、市场/板块、资金流、滚动新闻及页面型数据 | | 同花顺 | 2 | 日 K、分时走势 | 只保留无需许可证、API Key、Cookie 或登录状态即可调用的免费接口。不可无状态调用或已经停服的接口不接入插件。 ## DSH 工具 Agent 只看到以下 9 个按业务组织的工具,57 个数据源接口保留为插件内部适配器: - `stock_quote`:实时证券行情快照。 - `stock_chart`:K 线与分时走势。 - `stock_ranking`:个股、行业、概念和板块成分排行。 - `stock_money_flow`:个股、板块及沪深港通资金流。 - `stock_fundamentals`:公司、财务、股东、估值和经营指标。 - `stock_events`:公告、大宗交易、融资融券、龙虎榜和数据中心事件。 - `stock_research`:市场研报、个股研报、盈利预测和评级。 - `stock_news`:资讯流、个股新闻、搜索和股吧。 - `stock_capabilities`:查询工具动作、参数及数据源切换口径。 证券代码统一使用 `600519.SH` 或 `000001.SZ`,仅支持沪深 A 股。各工具只接受声明的 `action` 及对应业务参数,不接受底层 `endpoint_id`、URL、Host、代理地址或凭据。默认 `source=auto`:语义等价的接口可自动切换;排行、资金流和页面型资讯存在口径差异时,返回值会标记 `degraded` 并附警告。侧栏继续使用独立、稳定的内部 RPC 契约。 ## 安全与稳定性 - 插件不读取或存储任何第三方行情凭据。 - 输入框开关关闭后,全部 `stock_*` 工具会从该会话下一次模型请求的工具目录中移除;旧请求或伪造调用仍会被执行前策略和最终 guard 拒绝。 - 外部数据工具经 DSH 的统一执行策略处理。 - 所有公开网站请求使用固定 Host、参数白名单和固定 Referer;腾讯、新浪、同花顺的 GBK 数据只在服务端解码。 - 请求包含连接并发限制、文档建议的最小启动间隔、超时、有限退避重试、取消传播和 8 MiB 响应上限。 - JSON 数组、长文本、HTML 页面和最终工具 JSON 都有独立输出上限,避免把超大上游响应直接送入浏览器或模型上下文。 - 这些公开网站接口没有正式 SLA,可能随上游改版失效;商业或高频使用应采用正式授权数据源。 ## 开发与发布 本插件的 DSH 依赖来自本地 DSH 工作区,不从公共 npm 获取。首次安装依赖后,设置 `DSH_WORKSPACE_ROOT` 并执行工作区链接: ```bash npm ci --include=dev DSH_WORKSPACE_ROOT=/absolute/path/to/dsh-workspace npm run setup:dsh-workspace ``` 本仓库旁的 `../docs/test-AnacondaKC` 是默认工作区路径。链接脚本不会替换已有的非链接依赖。 ```bash npm run typecheck npm test npm run build npm run verify:package ``` `npm run build` 会先构建到同文件系统的暂存目录、验证产物和清单,然后以原子交换方式提升为 `lib/`;在不支持原子交换的平台上会使用可回滚的提升流程。`prepack` 会执行完整离线质量门禁并校验实际 `.tgz` 解包内容。 真实公开源烟测默认关闭,避免常规测试依赖网络: ```bash DSH_STOCK_MARKET_LIVE_SMOKE=1 npm run test:live ``` 东方财富固定目录的源文件位于 `scripts/catalog-sources/eastmoney.py`。修改后重新生成: ```bash python3 scripts/generate-stock-api-catalog.py ``` 调研文档新增的公开网站目录维护在 `src/stock-api/researched-catalog.ts`,不会被上述生成脚本覆盖。 ## 安装 构建后通过 DSH bundle 安装: ```bash dsh plugin --profile web add link:/absolute/path/to/dsh-stock-market ```
Install
dsh plugin --profile web add github:AnacondaKC/dsh-stock-market#02278af12330102c534c843a668d1c8407dbde1b
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-stock-market from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.