gangtise-copilot
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseGangtise Copilot
Gangtise Copilot
One-command installer, credential configurator, and diagnostic layer for the full Gangtise (岗底斯投研) OpenAPI skill suite.
针对完整Gangtise(岗底斯投研)OpenAPI技能套件的一键式安装器、凭证配置器与诊断工具。
🚀 One-shot installation (complete flow)
🚀 一站式安装(完整流程)
This is the only section you need to read to go from zero to fully working Gangtise. Follow steps in order.
这是你从零基础到完全使用Gangtise所需阅读的唯一章节。请按顺序执行步骤。
Step 1 — Download this skill to your agent's skills directory
步骤1 — 将此技能下载至你的Agent技能目录
Primary method (git clone):
bash
git clone --depth 1 https://github.com/daymade/claude-code-skills.git /tmp/gangtise-repo
cp -r /tmp/gangtise-repo/gangtise-copilot <your-agent-skills-dir>/Fallback method (when git clone times out or is unavailable — use GitHub API directly):
python
undefined主要方法(git克隆):
bash
git clone --depth 1 https://github.com/daymade/claude-code-skills.git /tmp/gangtise-repo
cp -r /tmp/gangtise-repo/gangtise-copilot <your-agent-skills-dir>/备用方法(当git克隆超时或不可用时——直接使用GitHub API):
python
undefinedPython one-liner to download and write any file from GitHub:
Python one-liner to download and write any file from GitHub:
import urllib.request, json, base64, os
def fetch_github_file(repo_path, local_path):
url = f"https://api.github.com/repos/daymade/claude-code-skills/contents/{repo_path}"
req = urllib.request.Request(url, headers={"User-Agent": "Mozilla/5.0"})
d = json.loads(urllib.request.urlopen(req, timeout=20).read())
content = base64.b64decode(d["content"]).decode("utf-8")
os.makedirs(os.path.dirname(local_path), exist_ok=True)
open(local_path, "w").write(content)
return len(content)
import urllib.request, json, base64, os
def fetch_github_file(repo_path, local_path):
url = f"https://api.github.com/repos/daymade/claude-code-skills/contents/{repo_path}"
req = urllib.request.Request(url, headers={"User-Agent": "Mozilla/5.0"})
d = json.loads(urllib.request.urlopen(req, timeout=20).read())
content = base64.b64decode(d["content"]).decode("utf-8")
os.makedirs(os.path.dirname(local_path), exist_ok=True)
open(local_path, "w").write(content)
return len(content)
Download all files:
Download all files:
for path, local in [
("gangtise-copilot/SKILL.md", "<skills-dir>/gangtise-copilot/SKILL.md"),
("gangtise-copilot/scripts/install_gangtise.sh", "<skills-dir>/gangtise-copilot/scripts/install_gangtise.sh"),
("gangtise-copilot/scripts/configure_auth.sh", "<skills-dir>/gangtise-copilot/scripts/configure_auth.sh"),
("gangtise-copilot/scripts/diagnose.sh", "<skills-dir>/gangtise-copilot/scripts/diagnose.sh"),
("gangtise-copilot/references/installation_flow.md", "<skills-dir>/gangtise-copilot/references/installation_flow.md"),
("gangtise-copilot/references/credentials_setup.md", "<skills-dir>/gangtise-copilot/references/credentials_setup.md"),
("gangtise-copilot/references/skill_registry.md", "<skills-dir>/gangtise-copilot/references/skill_registry.md"),
("gangtise-copilot/references/known_issues.md", "<skills-dir>/gangtise-copilot/references/known_issues.md"),
("gangtise-copilot/references/best_practices.md", "<skills-dir>/gangtise-copilot/references/best_practices.md"),
("gangtise-copilot/config-template/authorization.json.example", "<skills-dir>/gangtise-copilot/config-template/authorization.json.example"),
]:
size = fetch_github_file(path, local)
print(f"OK {path} → {local} ({size} bytes)")
> **Important**: Network to GitHub may be unstable. If any file fails, retry the specific file up to 3 times with a 2-second delay between attempts. Do NOT abort the whole process for a single file failure.for path, local in [
("gangtise-copilot/SKILL.md", "<skills-dir>/gangtise-copilot/SKILL.md"),
("gangtise-copilot/scripts/install_gangtise.sh", "<skills-dir>/gangtise-copilot/scripts/install_gangtise.sh"),
("gangtise-copilot/scripts/configure_auth.sh", "<skills-dir>/gangtise-copilot/scripts/configure_auth.sh"),
("gangtise-copilot/scripts/diagnose.sh", "<skills-dir>/gangtise-copilot/scripts/diagnose.sh"),
("gangtise-copilot/references/installation_flow.md", "<skills-dir>/gangtise-copilot/references/installation_flow.md"),
("gangtise-copilot/references/credentials_setup.md", "<skills-dir>/gangtise-copilot/references/credentials_setup.md"),
("gangtise-copilot/references/skill_registry.md", "<skills-dir>/gangtise-copilot/references/skill_registry.md"),
("gangtise-copilot/references/known_issues.md", "<skills-dir>/gangtise-copilot/references/known_issues.md"),
("gangtise-copilot/references/best_practices.md", "<skills-dir>/gangtise-copilot/references/best_practices.md"),
("gangtise-copilot/config-template/authorization.json.example", "<skills-dir>/gangtise-copilot/config-template/authorization.json.example"),
]:
size = fetch_github_file(path, local)
print(f"OK {path} → {local} ({size} bytes)")
> **重要提示**:与GitHub的网络连接可能不稳定。如果任何文件下载失败,针对该文件重试最多3次,每次间隔2秒。不要因单个文件失败而终止整个流程。Step 2 — Register this skill with your agent
步骤2 — 在你的Agent中注册此技能
For OpenClaw: create a symlink in the agent's skills directory and enable it in gateway config:
bash
undefined对于OpenClaw:在Agent技能目录中创建符号链接,并在网关配置中启用它:
bash
undefinedFind the OpenClaw skills directory
查找OpenClaw技能目录
ls ~/workspace/agent/skills/ # or ls ~/.openclaw/skills/
ls ~/workspace/agent/skills/ # 或 ls ~/.openclaw/skills/
Symlink this skill
创建符号链接
ln -sf <gangtise-copilot-source-dir> <openclaw-skills-dir>/gangtise-copilot
ln -sf <gangtise-copilot-source-dir> <openclaw-skills-dir>/gangtise-copilot
Enable in OpenClaw gateway config (if the agent supports skill entries in config)
在OpenClaw网关配置中启用(如果Agent支持在配置中添加技能条目)
Run: openclaw config set 'skills.entries.gangtise-copilot' '{}'
运行:openclaw config set 'skills.entries.gangtise-copilot' '{}'
Then restart the gateway: sh scripts/restart.sh
然后重启网关:sh scripts/restart.sh
undefinedundefinedStep 3 — Install all 19 Gangtise official skills
步骤3 — 安装全部19款Gangtise官方技能
bash
bash <gangtise-copilot-dir>/scripts/install_gangtise.sh --preset fullWhat it does: Downloads 4 ZIP bundles from the official Huawei Cloud OBS bucket, extracts 19 skill directories, and symlinks them into detected agent skills directories (, , etc.).
~/.openclaw/skills/~/.claude/skills/Known agent skills directory paths (if auto-detection misses yours):
| Agent | Skills directory |
|---|---|
| Claude Code | |
| Codex | |
| OpenClaw | |
If install fails, check .
references/installation_flow.mdbash
bash <gangtise-copilot-dir>/scripts/install_gangtise.sh --preset full功能说明:从华为云OBS官方存储桶下载4个ZIP包,解压出19个技能目录,并将它们符号链接到检测到的Agent技能目录(、等)。
~/.openclaw/skills/~/.claude/skills/已知Agent技能目录路径(如果自动检测未找到你的目录):
| Agent | 技能目录 |
|---|---|
| Claude Code | |
| Codex | |
| OpenClaw | |
如果安装失败,请查看。
references/installation_flow.mdStep 4 — Configure credentials
步骤4 — 配置凭证
bash
bash <gangtise-copilot-dir>/scripts/configure_auth.sh \
--access-key <your-accessKey> \
--secret-key <your-secretAccessKey>What it does:
- Writes (mode 600)
~/.config/gangtise/authorization.json - Performs live auth call to verify credentials work
- Writes runtime token
~/.GTS_AUTHORIZATION - Creates symlinks from every installed skill's to the shared credential file
scripts/.authorization
⚠️ Critical: After Step 3,may report "19 skill(s) missing .authorization" even if credentials exist. Run Step 4 even whendiagnose.shalready exists —~/.config/gangtise/authorization.jsoncreates the missing symlinks.configure_auth.sh
bash
bash <gangtise-copilot-dir>/scripts/configure_auth.sh \
--access-key <your-accessKey> \
--secret-key <your-secretAccessKey>功能说明:
- 写入(权限模式600)
~/.config/gangtise/authorization.json - 执行实时认证调用以验证凭证有效性
- 写入运行时令牌
~/.GTS_AUTHORIZATION - 创建符号链接:将每个已安装技能的指向共享凭证文件
scripts/.authorization
⚠️ 关键提示:完成步骤3后,可能会报告"19 skill(s) missing .authorization",即使凭证已存在。即使diagnose.sh已存在,也要运行步骤4 —~/.config/gangtise/authorization.json会创建缺失的符号链接。configure_auth.sh
Step 5 — Verify installation
步骤5 — 验证安装
bash
bash <gangtise-copilot-dir>/scripts/diagnose.shExpected output: 9 pass ✅, 0 fail ❌ — all 19 skills present, credentials valid, RAG reachable.
If any ❌ or ⚠️ remains, cross-reference with .
references/known_issues.mdbash
bash <gangtise-copilot-dir>/scripts/diagnose.sh预期输出:9项通过 ✅,0项失败 ❌ —— 全部19个技能已安装,凭证有效,RAG可访问。
如果仍有❌或⚠️,请对照排查。
references/known_issues.mdStep 6 — Test with a real query
步骤6 — 使用真实查询测试
bash
undefinedbash
undefinedExample: query latest research report for 宁德时代
示例:查询宁德时代的最新研报
Use gangtise-file-client with its report runner:
使用gangtise-file-client及其报告运行器:
cd <gangtise-copilot-dir>/references/
cd <gangtise-copilot-dir>/references/
See skill_registry.md for the exact command per skill
每个技能的具体命令请查看skill_registry.md
---
---Overview
概述
Gangtise is a Chinese professional investment-research data platform. It publishes an OpenAPI that covers research reports, company announcements, meeting summaries, chief analyst opinions, financial statements, valuation metrics, OHLC market data, shareholder data, industry indicators, and a catalog of pre-built research workflow skills. The underlying API is well-designed, but the skill ecosystem is not discoverable: there is no public manifest listing the 19 skills, the skills are distributed as independent ZIP files on a Huawei Cloud OBS bucket with listing permission disabled, and the skills live in two parallel naming conventions ( for the minimal line, for the full-capability line) that carry different feature sets. A first-time user has to reverse-engineer the complete skill inventory before they can install it.
gangtise-<name>gangtise-<name>-clientGangtise Copilot solves this in one command:
- Installs all 19 official Gangtise skills to Claude Code, OpenClaw, and Codex via a single bundled-download + distribute pipeline.
- Walks the user through accessKey + secretAccessKey setup with a live authentication call against .
open.gangtise.com/application/auth/oauth/open/loginV2 - Provides a read-only diagnostic script that reports which skills are installed, which credentials are valid, and which capability tiers are reachable.
- Exposes preset install modes (/
minimal/workshop) so users can match the install size to what their account license actually permits — see ISSUE-007 infullfor why "biggest install" is not the safe default.references/known_issues.md
Runtime note from April 2026 usage: after installing skills, run even if already exists. Upstream CLI scripts also read , a bare runtime token file. The configurator refreshes both files.
configure_auth.sh~/.config/gangtise/authorization.json~/.GTS_AUTHORIZATIONGangtise是中国专业的投研数据平台。它发布的OpenAPI涵盖研报、公司公告、会议纪要、首席分析师观点、财务报表、估值指标、OHLC市场数据、股东数据、行业指标,以及一系列预构建的研究工作流技能。其底层API设计精良,但技能生态缺乏可发现性:没有公开清单列出这19个技能,技能以独立ZIP文件形式分布在华为云OBS存储桶中且禁用了列表权限,同时技能存在两种并行命名规则(基础版为,全功能版为),二者功能集不同。首次使用的用户必须逆向推导出完整的技能清单才能进行安装。
gangtise-<name>gangtise-<name>-clientGangtise Copilot通过一条命令解决这些问题:
- 通过捆绑下载+分发管道,将全部19款官方Gangtise技能安装到Claude Code、OpenClaw和Codex。
- 引导用户完成accessKey + secretAccessKey设置,并针对执行实时认证调用。
open.gangtise.com/application/auth/oauth/open/loginV2 - 提供只读诊断脚本,报告已安装技能、有效凭证及可访问的功能层级。
- 提供预设安装模式(/
minimal/workshop),用户可根据账户许可匹配安装规模 —— 关于为何"最大安装量"不是安全默认值,请查看full中的ISSUE-007。references/known_issues.md
2026年4月运行说明:安装技能后,即使已存在,也要运行。上游CLI脚本还会读取(一个纯运行时令牌文件)。配置器会刷新这两个文件。
~/.config/gangtise/authorization.jsonconfigure_auth.sh~/.GTS_AUTHORIZATIONArchitectural principles (do not violate)
架构原则(不得违反)
This skill is a wrapper layer around the Gangtise OpenAPI skill suite. The wrapper contract is non-negotiable:
- Never vendor upstream files. This skill directory contains no copy, fork, or excerpt of any Gangtise skill content. When Gangtise ships a new release, users get the new release without any interference from this wrapper — the installer re-downloads from the canonical OBS URL every run.
- Repairs (if any arise) happen at runtime, not at ship time. This wrapper was distilled from a session that encountered no actual upstream bugs — the friction was discoverability and install orchestration, not broken files. If future upstream bugs arise, they will be added to with runtime repair instructions, not patched at ship time.
references/known_issues.md - Always ask before touching upstream files. Modifying any installed skill directory requires explicit user consent via AskUserQuestion.
gangtise-* - Teach rather than hide. Every installation step shows the user exactly which skills were downloaded, from where, and where the credential file was saved. This is how users learn to maintain their own installs.
此技能是Gangtise OpenAPI技能套件的包装层。包装契约不可协商:
- 绝不打包上游文件:此技能目录不包含任何Gangtise技能内容的副本、分支或摘录。当Gangtise发布新版本时,用户无需此包装层干预即可获取新版本 —— 安装器每次运行都会从标准OBS URL重新下载。
- 修复(若有)仅在运行时进行,而非发布时:此包装层是从无实际上游bug的会话中提炼而来 —— 痛点在于可发现性和安装编排,而非文件损坏。若未来出现上游bug,会将其添加到并提供运行时修复说明,而非在发布时打补丁。
references/known_issues.md - 修改上游文件前必须征得用户同意:修改任何已安装的技能目录需通过AskUserQuestion获得用户明确同意。
gangtise-* - 授人以渔而非代劳:每个安装步骤都会向用户明确展示下载了哪些技能、来源何处以及凭证文件保存位置。这是用户学习自行维护安装的方式。
What this skill does
此技能的功能
| Capability | Entry point | Detail |
|---|---|---|
1. Install Gangtise skills (minimal default, workshop alias, full, or | | See |
| 2. Configure accessKey + secretAccessKey credentials | | See |
| 3. Diagnose install state, credential validity, and capability tiers | | See |
| 4. Look up which Gangtise skill answers a specific data question | Skill registry below + | — |
| 功能 | 入口 | 详情 |
|---|---|---|
1. 安装Gangtise技能(默认minimal,可选workshop、full或 | | 查看 |
| 2. 配置accessKey + secretAccessKey凭证 | | 查看 |
| 3. 诊断安装状态、凭证有效性及功能层级 | | 查看 |
| 4. 查询哪个Gangtise技能可回答特定数据问题 | 下方技能注册表 + | — |
Routing
路由规则
When this skill is triggered, classify the user's intent and jump to the corresponding capability:
| User says something like… | Go to |
|---|---|
| "装 gangtise"、"install gangtise"、"我想用 gangtise 的数据"、"把 gangtise 的 skill 都装上" | One-shot installation (Step 1–5 above) |
| "配 gangtise 的 key"、"configure gangtise credentials"、"gangtise accessKey"、"secretAccessKey" | Capability 2 |
| "gangtise 报错"、"token is invalid"、"接口地址错误"、"gangtise skill 加载失败"、"我的 gangtise 装得不对" | Capability 3 |
| "宁德时代的研报"、"过去 30 天的首席观点"、"OHLC 蜡烛图"、"个股研究报告 L2"、"对宁德时代做观点 PK" | Capability 4 → skill registry → invoke the matching upstream skill |
| "帮我从头跑一遍 gangtise" | One-shot installation (Step 1–5 in sequence) |
When in doubt, start with Capability 3 () — it is the only read-only entry point and it surfaces exactly which installs and credentials are currently blocked. Running it never has a destructive side effect.
diagnose.sh触发此技能时,分类用户意图并跳转至对应功能:
| 用户表述类似… | 跳转至 |
|---|---|
| "装 gangtise"、"install gangtise"、"我想用 gangtise 的数据"、"把 gangtise 的 skill 都装上" | 一站式安装(上述步骤1–5) |
| "配 gangtise 的 key"、"configure gangtise credentials"、"gangtise accessKey"、"secretAccessKey" | 功能2 |
| "gangtise 报错"、"token is invalid"、"接口地址错误"、"gangtise skill 加载失败"、"我的 gangtise 装得不对" | 功能3 |
| "宁德时代的研报"、"过去30天的首席观点"、"OHLC蜡烛图"、"个股研究报告L2"、"对宁德时代做观点PK" | 功能4 → 技能注册表 → 调用匹配的上游技能 |
| "帮我从头跑一遍 gangtise" | 一站式安装(按顺序执行步骤1–5) |
若不确定,先从功能3()开始 —— 它是唯一的只读入口,能准确显示当前哪些安装和凭证存在问题。运行它不会产生破坏性副作用。
diagnose.shCapability 1: Install Gangtise skills
功能1:安装Gangtise技能
Gangtise publishes 19 independent skills on a Huawei Cloud OBS bucket. They are organized into 3 bundle ZIPs plus 1 standalone ZIP. The installer downloads the 4 archives, extracts the 19 skill directories, and symlinks each one into the detected agents' skills directories.
Gangtise在华为云OBS存储桶上发布了19个独立技能,分为3个捆绑ZIP包加1个独立ZIP包。安装器会下载这4个归档文件,解压出19个技能目录,并将每个目录符号链接到检测到的Agent技能目录中。
Distribution source
分发源
All skills come from the official Gangtise OBS bucket:
https://gts-download.obs.myhuaweicloud.com/skills/No mirrors. The installer uses this URL directly.
所有技能均来自Gangtise官方OBS存储桶:
https://gts-download.obs.myhuaweicloud.com/skills/无镜像。安装器直接使用此URL。
Bundle map
捆绑包映射
| Bundle | Size | Contains |
|---|---|---|
| 160 KB | data-client, kb-client, file-client, file-client-no-download, stockpool-client |
| 220 KB | stock-research, opinion-pk, thematic-research, stock-selector, event-review, interview-outline, announcement-digest, opinion-summarizer, wechat-summary, data-processor |
| 118 KB | data (v1.2.0), file, kb — the legacy "minimal" parallel line |
| 8 KB | web-client (standalone, not in any bundle) |
Total: 4 HTTP requests → 19 skill directories.
Two skills ( and ) only exist inside the bundle — they do not have standalone ZIPs. A naive "list the standalone ZIP for each skill" approach would miss them entirely. See ISSUE-002 for the full explanation.
gangtise-file-client-no-downloadgangtise-stockpool-clientgangtise-skills-clientreferences/known_issues.md| 捆绑包 | 大小 | 包含技能 |
|---|---|---|
| 160 KB | data-client、kb-client、file-client、file-client-no-download、stockpool-client |
| 220 KB | stock-research、opinion-pk、thematic-research、stock-selector、event-review、interview-outline、announcement-digest、opinion-summarizer、wechat-summary、data-processor |
| 118 KB | data(v1.2.0)、file、kb —— 旧版"基础版"并行产品线 |
| 8 KB | web-client(独立包,不在任何捆绑包中) |
总计:4次HTTP请求 → 19个技能目录。
有两个技能(和)仅存在于捆绑包中 —— 它们没有独立ZIP包。如果采用"为每个技能列出独立ZIP包"的简单方法,会完全遗漏这两个技能。完整说明请查看中的ISSUE-002。
gangtise-file-client-no-downloadgangtise-stockpool-clientgangtise-skills-clientreferences/known_issues.mdOne-command install
一键安装命令
bash
bash scripts/install_gangtise.shFlags:
bash
bash scripts/install_gangtise.sh --preset minimal # default — 3 skills via public open-* endpoints
bash scripts/install_gangtise.sh --preset workshop # alias for minimal (same 3 skills)
bash scripts/install_gangtise.sh --preset full # all 19 skills (most -client will fail without skills-backend ACL)
bash scripts/install_gangtise.sh --only data-client,kb-client,file-client # custom subset
bash scripts/install_gangtise.sh --no-openclaw # skip OpenClaw even if detected
bash scripts/install_gangtise.sh --target claude-code # force single targetbash
bash scripts/install_gangtise.sh参数:
bash
bash scripts/install_gangtise.sh --preset minimal # 默认值 —— 通过公共open-*端点安装3个技能
bash scripts/install_gangtise.sh --preset workshop # minimal的别名(同样3个技能)
bash scripts/install_gangtise.sh --preset full # 全部19个技能(若无skills-backend ACL,大多数-client技能会失败)
bash scripts/install_gangtise.sh --only data-client,kb-client,file-client # 自定义子集
bash scripts/install_gangtise.sh --no-openclaw # 即使检测到OpenClaw也跳过
bash scripts/install_gangtise.sh --target claude-code # 强制指定单个目标AgentPreset contents
预设内容
| Preset | Skills | Intended for |
|---|---|---|
| minimal (default) | | Conservative install that works on any account that can authenticate. Uses public |
| workshop | (alias for | Historical preset bundled 7 |
| full | All 19 skills | Both lines side-by-side. Useful for exploring the full Gangtise catalog. Most |
| 预设 | 包含技能 | 适用场景 |
|---|---|---|
| minimal(默认) | | 保守安装,适用于任何可认证的账户。仅使用公共 |
| workshop | (minimal的别名 —— 同样3个技能) | 历史预设曾包含7个-client类技能,但这些技能在大多数账户上会被ISSUE-007拦截,导致演示失败。现在该预设指向与minimal相同的3个技能,避免在工作坊中出现问题。 |
| full | 全部19个技能 | 同时安装两条产品线。适用于探索完整Gangtise技能目录。若你的账户缺少 |
Capability 2: Configure credentials
功能2:配置凭证
Every Gangtise skill needs an credential file colocated with its Python runtime, in one of two shapes:
.authorizationShape A — accessKey + secretAccessKey (most common, auto-refreshes tokens):
json
{
"accessKey": "<your-accessKey>",
"secretAccessKey": "<your-secretAccessKey>"
}Shape B — long-term token (advanced, for pre-generated long-lived tokens):
json
{
"long-term-token": "Bearer <token>"
}Because 19 skills each need the same file, the wrapper stores one shared file at (XDG standard, mode 600) and symlinks every skill's local credential file to it. Rotating credentials means editing one file, not 19.
.authorization~/.config/gangtise/authorization.jsonRun the configurator:
bash
bash scripts/configure_auth.shIt will:
- Prompt for accessKey and secretAccessKey (or read from the /
GANGTISE_ACCESS_KEYenvironment variables if set).GANGTISE_SECRET_KEY - Write to with mode 600.
~/.config/gangtise/authorization.json - Perform a live authentication call to to verify the credentials actually work.
https://open.gangtise.com/application/auth/oauth/open/loginV2 - Write with the bare runtime token required by upstream CLI scripts.
~/.GTS_AUTHORIZATION - Create symlinks from every installed skill's local credential file to the shared XDG file.
- Report success with the uid + userName returned by the Gangtise auth server.
每个Gangtise技能都需要一个与Python运行时共存的凭证文件,有两种格式:
.authorization格式A —— accessKey + secretAccessKey(最常用,自动刷新令牌):
json
{
"accessKey": "<your-accessKey>",
"secretAccessKey": "<your-secretAccessKey>"
}格式B —— 长期令牌(进阶版,用于预生成的长期令牌):
json
{
"long-term-token": "Bearer <token>"
}由于19个技能都需要相同的文件,包装层将一个共享文件存储在(符合XDG标准,权限模式600),并将每个技能的本地凭证文件符号链接到该共享文件。轮换凭证只需编辑一个文件,而非19个。
.authorization~/.config/gangtise/authorization.json运行配置器:
bash
bash scripts/configure_auth.sh它会:
- 提示输入accessKey和secretAccessKey(若已设置/
GANGTISE_ACCESS_KEY环境变量,则从变量读取)。GANGTISE_SECRET_KEY - 写入并设置权限模式600。
~/.config/gangtise/authorization.json - 针对执行实时认证调用,验证凭证实际有效性。
https://open.gangtise.com/application/auth/oauth/open/loginV2 - 写入,满足上游CLI脚本所需的纯运行时令牌。
~/.GTS_AUTHORIZATION - 创建符号链接,将每个已安装技能的本地凭证文件指向共享XDG文件。
- 报告成功,并显示Gangtise认证服务器返回的uid + userName。
Credential rotation
凭证轮换
bash
undefinedbash
undefinedEdit one file:
编辑一个文件:
$EDITOR ~/.config/gangtise/authorization.json
$EDITOR ~/.config/gangtise/authorization.json
Re-verify against the live server:
针对实时服务器重新验证:
bash scripts/configure_auth.sh --verify-only
No other files need to change — the symlinks still point at the updated file.bash scripts/configure_auth.sh --verify-only
无需修改其他文件 —— 符号链接仍指向更新后的文件。Capability 3: Diagnose install state
功能3:诊断安装状态
bash
bash scripts/diagnose.shThe diagnostic script is strictly read-only. It checks:
- Which of the 19 skills are present in each detected agent's directory
skills/ - Whether exists with mode 600
~/.config/gangtise/authorization.json - Whether each skill's local credential file is a valid symlink pointing at the shared XDG file
- Whether the stored credentials pass a live authentication call (short probe that only needs )
oauth/open/loginV2 - Whether the canonical RAG endpoint responds to a minimal query (scoped liveness check — proves the credential has scope, not just auth scope)
rag
Exit codes:
- — all healthy
0 - — one or more issues need user action
1 - — diagnostic itself failed (network error, no internet, etc.)
2
If diagnose reports issues, cross-reference the output against . Each reported issue maps to a specific remediation section.
references/known_issues.mdbash
bash scripts/diagnose.sh诊断脚本严格只读。它会检查:
- 检测到的每个Agent的目录中存在哪些19个技能
skills/ - 是否存在且权限模式为600
~/.config/gangtise/authorization.json - 每个技能的本地凭证文件是否为指向共享XDG文件的有效符号链接
- 存储的凭证是否通过实时认证调用(仅需的简短探测)
oauth/open/loginV2 - 标准RAG端点是否响应最小查询(限定范围的存活检查 —— 证明凭证具有权限,而非仅认证权限)
rag
退出码:
- —— 全部正常
0 - —— 存在一个或多个需要用户操作的问题
1 - —— 诊断本身失败(网络错误、无网络连接等)
2
如果诊断报告问题,请将输出与对照。每个报告的问题都对应特定的修复章节。
references/known_issues.mdCapability 4: Skill registry — "which skill answers my data question?"
功能4:技能注册表 —— "哪个技能能回答我的数据问题?"
This is the non-obvious value of the wrapper. Gangtise's 19 skills form a two-dimensional matrix (data tier × operation type) that is not clearly documented. Use this table to route a user question to the right skill:
这是包装层的隐性价值。Gangtise的19个技能构成一个二维矩阵(数据层级 × 操作类型),但缺乏清晰文档。使用下表将用户问题路由到正确的技能:
Data-layer skills (6)
数据层技能(6个)
| Want to… | Upstream skill | Invoke |
|---|---|---|
| Query semantic content across knowledge base (reports + opinions + minutes) | gangtise-kb-client | |
| List documents by type + date + security (reports, announcements, summaries, opinions, roadshows) | gangtise-file-client | dedicated runners per document type (report / opinion / summary / announcement / investment_calendar / foreign_report / internal_report / wechat_message) |
| Pull OHLC daily candles for an A-share or HK stock | gangtise-data-client | |
| Pull financial statements (income / balance / cash flow indicators) | gangtise-data-client | |
| Pull valuation metrics (PE / PS / PB / PEG + historical percentiles) | gangtise-data-client | |
| Pull main business composition (by product / industry / region) | gangtise-data-client | |
| Pull shareholder / top-holder data | gangtise-data-client | |
| Pull macro / industry indicators (GDP, CPI, vehicle sales, commodity prices) | gangtise-data-client | |
| Look up security standard codes by name | gangtise-data-client | |
| List sector constituent stocks by theme or industry | gangtise-data-client | |
| List index members by category | gangtise-data-client | |
| Search the open web for public information not in Gangtise's internal KB | gangtise-web-client | |
See for the full per-runner parameter reference and cross-skill composition examples.
references/skill_registry.md| 想要… | 上游技能 | 调用方式 |
|---|---|---|
| 查询知识库中的语义内容(研报+观点+纪要) | gangtise-kb-client | 使用 |
| 按类型+日期+标的列出文档(研报、公告、摘要、观点、路演) | gangtise-file-client | 按文档类型使用专用运行器(report / opinion / summary / announcement / investment_calendar / foreign_report / internal_report / wechat_message) |
| 获取A股或港股的OHLC日K线 | gangtise-data-client | 使用 |
| 获取财务报表(利润表/资产负债表/现金流量表指标) | gangtise-data-client | 使用 |
| 获取估值指标(PE/PS/PB/PEG + 历史分位数) | gangtise-data-client | 使用 |
| 获取主营业务构成(按产品/行业/地区) | gangtise-data-client | 使用 |
| 获取股东/前十大持有人数据 | gangtise-data-client | 使用 |
| 获取宏观/行业指标(GDP、CPI、汽车销量、大宗商品价格) | gangtise-data-client | 使用 |
| 按名称查找标的标准代码 | gangtise-data-client | 使用 |
| 按主题或行业列出板块成分股 | gangtise-data-client | 使用 |
| 按类别列出指数成分股 | gangtise-data-client | 使用 |
| 在开放网络中搜索Gangtise内部知识库未包含的公开信息 | gangtise-web-client | 使用 |
完整的运行器参数参考和跨技能组合示例请查看。
references/skill_registry.mdWorkflow-layer skills (10) — higher-order research workflows
工作流层技能(10个)—— 高阶研究工作流
These skills orchestrate the data-layer skills into end-to-end research workflows. They produce Markdown + HTML reports following Gangtise's professional investment-research templates and built-in compliance guardrails (no "买入 / 卖出 / 目标价 / 推荐" language).
| Want to… | Use |
|---|---|
| Generate a stock research report at L1-L4 depth (L1 = 1-page framework, L4 = full institutional coverage) | |
| Do adversarial analysis on an investment thesis ("play devil's advocate for this long call") | |
| Do thematic / sector research (driver analysis, enumeration phase, stock screening, performance check) | |
| Screen stocks based on research criteria | |
| Write an 800-1000 word event review / post-mortem for a market event | |
| Generate a company-meeting outline (3-step workflow: data → topics → questions) | |
| Track recent announcements for a stock pool and produce a daily digest | |
| Summarize a chief analyst's recent opinions | |
| Turn a WeChat chat-group discussion log into a structured investment daily | |
| Get methodology guidance on how to design a custom data-processing workflow | |
这些技能编排数据层技能,形成端到端的研究工作流。它们会生成符合Gangtise专业投研模板的Markdown+HTML报告,并内置合规约束(禁止使用"买入/卖出/目标价/推荐"等表述)。
| 想要… | 使用技能 |
|---|---|
| 生成L1-L4深度的个股研报(L1=1页框架,L4=完整机构覆盖报告) | |
| 对投资论点进行对抗分析("为看多观点唱反调") | |
| 进行主题/行业研究(驱动因素分析、列举阶段、选股、业绩验证) | |
| 根据研究标准筛选股票 | |
| 为市场事件撰写800-1000字的事件回顾/复盘 | |
| 生成公司会议大纲(3步工作流:数据→议题→问题) | |
| 跟踪股票池近期公告并生成每日摘要 | |
| 汇总首席分析师近期观点 | |
| 将微信群讨论记录转换为结构化投研日报 | |
| 获取设计自定义数据处理工作流的方法指导 | |
Utility skills (3)
工具类技能(3个)
| Skill | Purpose |
|---|---|
| Create / rename / delete a stock pool; add or remove stocks from it. Only distributed inside |
| Variant of |
Legacy | The older minimal parallel line. |
See for the full per-skill script catalog, versions, and capability matrix.
references/skill_registry.md| 技能 | 用途 |
|---|---|
| 创建/重命名/删除股票池;添加或移除股票。仅在 |
| |
旧版 | 旧版基础并行产品线。 |
完整的技能脚本目录、版本及功能矩阵请查看。
references/skill_registry.mdWhat this skill refuses to do
此技能拒绝执行的操作
- Vendor, fork, or mirror any skill's content into this directory — only the canonical OBS URLs are referenced.
gangtise-* - Pin an upstream skill version in SKILL.md — the installer always downloads the current OBS artifact.
- Silently patch upstream files — every modification path (if any are ever added) would require explicit consent via AskUserQuestion.
- Hardcode personal accessKey / secretAccessKey values.
- Make investment recommendations or trading decisions. Gangtise's own skills already enforce these compliance rules; this wrapper strictly delegates.
- 将任何技能的内容打包、分支或镜像到此目录 —— 仅引用标准OBS URL。
gangtise-* - 在SKILL.md中固定上游技能版本 —— 安装器始终下载当前OBS工件。
- 静默修补上游文件 —— 任何修改路径(若未来添加)都需通过AskUserQuestion获得明确同意。
- 硬编码个人accessKey/secretAccessKey值。
- 提供投资建议或交易决策。Gangtise自身技能已执行这些合规规则;此包装层严格委托执行。
File layout
文件结构
gangtise-copilot/
├── SKILL.md # This file
├── scripts/
│ ├── install_gangtise.sh # Download bundles → stage → distribute
│ ├── configure_auth.sh # Set up + verify credentials
│ └── diagnose.sh # Read-only health report
├── references/
│ ├── installation_flow.md # How the installer works, flag reference, troubleshooting
│ ├── credentials_setup.md # accessKey / secretAccessKey, XDG paths, liveness check
│ ├── skill_registry.md # Complete per-skill capability matrix
│ ├── known_issues.md # Two parallel product lines, bundle-only skills, and other gotchas
│ └── best_practices.md # How to combine stock-research + opinion-pk + data-client effectively
└── config-template/
└── authorization.json.example # Credential file template (placeholder values only)gangtise-copilot/
├── SKILL.md # 本文档
├── scripts/
│ ├── install_gangtise.sh # 下载捆绑包→暂存→分发
│ ├── configure_auth.sh # 设置+验证凭证
│ └── diagnose.sh # 只读健康报告
├── references/
│ ├── installation_flow.md # 安装器工作原理、参数参考、故障排除
│ ├── credentials_setup.md # accessKey/secretAccessKey、XDG路径、存活检查
│ ├── skill_registry.md # 完整的技能功能矩阵
│ ├── known_issues.md # 两条并行产品线、仅捆绑包存在的技能及其他注意事项
│ └── best_practices.md # 如何有效组合stock-research+opinion-pk+data-client
└── config-template/
└── authorization.json.example # 凭证文件模板(仅占位符值)