daishin-report-search

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Daishin Report Search

大信证券报告搜索

What this skill does

本技能功能

대신증권 리포트 HTML 미러(
jay-jo-0/github_pages_repo
)에서 최신 리포트 목록을 찾고, 특정 리포트의 원문 텍스트·제목·헤딩·Rating/Target 표·원문 링크를 에이전트가 재사용하기 쉬운 JSON으로 반환한다.
이 스킬은 투자 조언, 매매 자동화, 추천을 하지 않는다. 공개 HTML 리포트를 읽어 요약 가능한 자료로 정리하는 조회 전용 스킬이다.
在大信证券报告HTML镜像(
jay-jo-0/github_pages_repo
)中查找最新报告列表,并将特定报告的原文文本、标题、标题栏、Rating/Target表格、原文链接以Agent易于复用的JSON格式返回。
本技能不提供投资建议、交易自动化或推荐服务,仅为读取公开HTML报告并整理为可摘要资料的查询专用技能。

When to use

使用场景

  • "대신증권 최신 리포트 보여줘"
  • "대신증권 반도체 리포트 찾아줘"
  • "20260511082352 리포트 원문과 설명 페이지를 읽어줘"
  • "대신증권 리포트 목록을 에이전트가 쓰기 좋은 JSON으로 줘"
  • "请展示大信证券最新报告"
  • "请查找大信证券半导体报告"
  • "请读取20260511082352报告的原文和说明页面"
  • "请以Agent易用的JSON格式返回大信证券报告列表"

Prerequisites

前置条件

  • 인터넷 연결
  • Node.js 18+
  • 이 저장소의
    daishin-report-search
    npm package 또는 동일 로직
  • 网络连接
  • Node.js 18+
  • 本仓库的
    daishin-report-search
    npm包或相同逻辑

Public access path discovered

已发现的公共访问路径

Primary source: GitHub recursive tree API

主数据源:GitHub递归树API

  • list endpoint:
    https://api.github.com/repos/jay-jo-0/github_pages_repo/git/trees/main?recursive=1
  • selected paths: repository-root files matching
    YYYYMMDDHHMMSS.html
  • optional companion paths:
    YYYYMMDDHHMMSS_explain.html
  • detail raw HTML:
    https://raw.githubusercontent.com/Jay-jo-0/github_pages_repo/main/<path>
  • browser detail URL:
    https://jay-jo-0.github.io/github_pages_repo/<path>
  • reason selected: the sample GitHub Pages URL maps directly to a public GitHub repository. The recursive tree API exposes all timestamped HTML filenames without relying on a brittle directory listing screen scrape. Raw GitHub URLs provide stable unauthenticated detail fetches.
  • 列表端点:
    https://api.github.com/repos/jay-jo-0/github_pages_repo/git/trees/main?recursive=1
  • 筛选路径:仓库根目录中匹配
    YYYYMMDDHHMMSS.html
    的文件
  • 可选配套路径:
    YYYYMMDDHHMMSS_explain.html
  • 详情原始HTML:
    https://raw.githubusercontent.com/Jay-jo-0/github_pages_repo/main/<path>
  • 浏览器端详情URL:
    https://jay-jo-0.github.io/github_pages_repo/<path>
  • 选择原因:示例GitHub Pages URL直接映射到公开GitHub仓库。递归树API可暴露所有带时间戳的HTML文件名,无需依赖脆弱的目录列表页面抓取。GitHub原始URL提供稳定的无认证详情获取渠道。

Fallback source: GitHub contents API for an exact file

备用数据源:针对特定文件的GitHub内容API

  • exact-file endpoint:
    https://api.github.com/repos/jay-jo-0/github_pages_repo/contents/<path>?ref=main
  • used automatically for a known timestamp when the raw detail URL is unavailable; it also provides GitHub content metadata for manual diagnostics.
No
k-skill-proxy
route is used because the upstream is public and does not require an API key.
  • 特定文件端点:
    https://api.github.com/repos/jay-jo-0/github_pages_repo/contents/<path>?ref=main
  • 当原始详情URL不可用时,自动用于已知时间戳的文件;同时提供GitHub内容元数据用于手动诊断。
未使用
k-skill-proxy
路由,因为上游资源为公开状态,无需API密钥。

Workflow

工作流程

1. List latest reports

1. 获取最新报告列表

js
const { listReports } = require("daishin-report-search")

const result = await listReports({
  limit: 10,
  query: "반도체",   // optional; matches title/headings/detail text
  maxInspect: 100,   // optional query crawl budget among newest pages
  githubToken: process.env.GITHUB_TOKEN // optional; raises GitHub API limits when caller has one
})

console.log(result.items)
CLI:
bash
node packages/daishin-report-search/src/cli.js --limit 10
node packages/daishin-report-search/src/cli.js 반도체 --limit 5 --max-inspect 100
Return each item with:
  • id
    (
    YYYYMMDDHHMMSS
    )
  • date
    ,
    time
    ,
    timestamp
    (filename-derived KST timestamp)
  • title
  • headings
  • excerpt
  • ratingTargets
    when a Rating/Target table is present
  • pageUrl
    ,
    rawUrl
    ,
    apiUrl
  • hasExplain
    ,
    explainUrl
    when a companion explanation page exists
js
const { listReports } = require("daishin-report-search")

const result = await listReports({
  limit: 10,
  query: "半导体",   // 可选;匹配标题/标题栏/详情文本
  maxInspect: 100,   // 可选;在最新页面中分配的查询爬取预算
  githubToken: process.env.GITHUB_TOKEN // 可选;调用者持有令牌时可提升GitHub API限制
})

console.log(result.items)
CLI命令:
bash
node packages/daishin-report-search/src/cli.js --limit 10
node packages/daishin-report-search/src/cli.js 半导体 --limit 5 --max-inspect 100
返回的每个条目包含:
  • id
    YYYYMMDDHHMMSS
    格式)
  • date
    time
    timestamp
    (基于文件名的KST时间戳)
  • title
  • headings
  • excerpt
  • ratingTargets
    (当存在Rating/Target表格时)
  • pageUrl
    rawUrl
    apiUrl
  • hasExplain
    explainUrl
    (当存在配套说明页面时)

2. Fetch one report

2. 获取单个报告

js
const { fetchReport } = require("daishin-report-search")

const report = await fetchReport("20260511082352", {
  includeExplain: true
})

console.log(report.title)
console.log(report.text)
console.log(report.explain?.text)
CLI:
bash
node packages/daishin-report-search/src/cli.js --id 20260511082352 --include-explain
js
const { fetchReport } = require("daishin-report-search")

const report = await fetchReport("20260511082352", {
  includeExplain: true
})

console.log(report.title)
console.log(report.text)
console.log(report.explain?.text)
CLI命令:
bash
node packages/daishin-report-search/src/cli.js --id 20260511082352 --include-explain

3. Summarize conservatively

3. 保守式摘要

When answering a user, show:
text
- 제목: ...
  게시 추정 시각: 2026-05-11 08:23:52 KST (파일명 기준)
  주요 헤딩: ...
  Rating/Target: ... (있는 경우)
  원문: https://jay-jo-0.github.io/github_pages_repo/...
  설명 페이지: ... (있는 경우)
Always state that the timestamp is filename-derived and that report contents can change in the public mirror.
回复用户时,展示格式如下:
text
- 标题: ...
  发布预估时间: 2026-05-11 08:23:52 KST(基于文件名)
  主要标题栏: ...
  Rating/Target: ...(若存在)
  原文链接: https://jay-jo-0.github.io/github_pages_repo/...
  说明页面: ...(若存在)
需始终说明时间戳基于文件名,且公开镜像中的报告内容可能发生变更。

Fallback order

备用顺序

  1. GitHub recursive tree API → filter timestamped root HTML files → sort newest filename first → fetch raw detail HTML for selected/latest candidates.
  2. If a query is present, inspect newer candidates up to
    maxInspect
    until enough matches are found or the budget is exhausted; return a warning if the budget is exhausted.
  3. For a known id, fetch raw detail directly. If explanation is requested, fetch
    <id>_explain.html
    ; if absent, return the original report plus a warning.
  4. If the tree endpoint is truncated, blocked, rate-limited, or changed, report that as a source warning/failure instead of guessing hidden pages.
  5. For a known id, if the raw detail URL fails, fall back to the GitHub contents API for that exact file path. Explanation pages use the same exact-file fallback but remain optional and return a warning if unavailable.
  6. If the caller has authenticated GitHub access, pass
    githubToken
    /
    githubHeaders
    in library calls or set
    DAISHIN_GITHUB_TOKEN
    /
    GITHUB_TOKEN
    for the CLI; these credentials are scoped to
    api.github.com
    requests and are not sent to raw detail URLs. Do not require or proxy a token by default.
  1. GitHub递归树API → 筛选根目录下带时间戳的HTML文件 → 按文件名从新到旧排序 → 为选中/最新候选文件获取原始详情HTML。
  2. 若存在查询条件,在
    maxInspect
    限制内检查较新的候选文件,直到找到足够匹配结果或预算耗尽;若预算耗尽则返回警告。
  3. 对于已知id,直接获取原始详情。若请求包含说明页面,则获取
    <id>_explain.html
    ;若不存在,则返回原始报告并附带警告。
  4. 若树端点被截断、阻止、限流或变更,需将其作为数据源警告/失败返回,而非猜测隐藏页面。
  5. 对于已知id,若原始详情URL请求失败,则回退到针对该特定文件路径的GitHub内容API。说明页面使用相同的特定文件回退机制,但仍为可选,若不可用则返回警告。
  6. 若调用者拥有GitHub认证访问权限,可在库调用中传入
    githubToken
    /
    githubHeaders
    ,或为CLI设置
    DAISHIN_GITHUB_TOKEN
    /
    GITHUB_TOKEN
    ;这些凭据仅用于
    api.github.com
    请求,不会发送到原始详情URL。默认情况下不要求或代理令牌。

Done when

完成标准

  • Latest report rows or a specific report are returned with direct source URLs.
  • Query and limit were applied or explicitly left broad.
  • Explanation pages were included only when requested or when listing metadata shows they exist.
  • Empty results and upstream warnings are disclosed.
  • 返回最新报告条目或特定报告,并附带直接源URL。
  • 已应用查询条件和限制,或明确保持范围宽泛。
  • 仅在请求时或列表元数据显示存在时才包含说明页面。
  • 已披露空结果和上游警告。

Failure modes

失败场景

  • GitHub unauthenticated API rate limits can return 403/429; latest/search returns empty
    items
    plus
    source.error.kind = "rate_limit"
    and rate-limit reset metadata when GitHub exposes it. Retry later or use caller-supplied authenticated GitHub access if appropriate.
  • The repository path or branch can change; then tree/raw URLs will fail.
  • The tree response could become truncated; in that case the latest-list completeness is not guaranteed.
  • HTML structure can change; title/headings/table extraction may be partial, but URLs and raw text fallback should still be returned when available.
  • Some pages may not be authored by Daishin even though they are in the issue-scoped public mirror. Do not infer provenance beyond page title/content.
  • GitHub无认证API限流可能返回403/429状态码;最新报告/搜索结果会返回空的
    items
    ,并在GitHub暴露相关信息时附带
    source.error.kind = "rate_limit"
    及限流重置元数据。可稍后重试,或在合适情况下使用调用者提供的GitHub认证访问权限。
  • 仓库路径或分支可能变更;此时树/原始URL将失效。
  • 树响应可能被截断;这种情况下无法保证最新列表的完整性。
  • HTML结构可能变更;标题/标题栏/表格提取可能不完整,但在可用时仍应返回URL和原始文本作为备用。
  • 部分页面可能并非由大信证券撰写,尽管它们位于公开镜像中。请勿通过页面标题/内容推断来源。

Notes

注意事项

  • Read-only lookup only; no login, trading, order placement, recommendation, or investment advice.
  • Do not scrape private Daishin services or bypass CAPTCHA/login walls.
  • No secrets or API keys are required. Optional GitHub tokens are caller-owned, used only when explicitly supplied via options or environment, and scoped to GitHub API hosts.
  • 仅支持只读查询;不涉及登录、交易、下单、推荐或投资建议。
  • 请勿抓取大信证券私有服务或绕过验证码/登录墙。
  • 无需密钥或API密钥。可选的GitHub令牌由调用者持有,仅在通过选项或环境变量明确提供时使用,且仅作用于GitHub API主机。