npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@shengkezhi-com/skz-quant-cli

v0.1.26

Published

面向 AI Agent 的胜可知量化研究与实盘交易命令行工具

Downloads

241

Readme

skz

胜可知量化平台的命令行工具。装好它,然后直接跟你的 AI 编程助手(Claude Code / Codex / openclaw / hermes)说人话——挖因子、跑策略探索、看实盘,它替你敲命令。

三步开工

# 1. 装(推荐用平台自带的包管理器)
# macOS / Linux(Homebrew)
brew install sheng-ke-zhi/tap/skz
# Windows(Scoop)
scoop bucket add skz https://github.com/sheng-ke-zhi/scoop-bucket
scoop install skz
# 任意平台(npm,需 Node.js ≥ 18)
npm install -g @shengkezhi-com/skz-quant-cli

# 2. 装 SKZ plugin(内含完整投研 skills)
skz plugin install claude             # 也可明确指定 codex / openclaw / hermes / all

# 3.(可选)配一个默认身份 —— 不配也行,agent 用到时会引导你补
echo "sk_你的key" | skz auth add personal --allow-write
skz auth use personal

每个 harness 只安装一个名为 skz 的原生 plugin。plugin 只提供用户级安装,内部包含 skz-guideskz-create-problemskz-factorskz-candidateskz-strategyskz-portfolio。 安装成功后会清理带 SKZ 归属标记的旧 skills;外来或无法安全确认的目录不会被覆盖。

通过 Homebrew 或 Scoop 安装后,都用统一自更新:

skz update

它只按当前 skz 的实际安装路径选择渠道,并分别执行 brew upgrade skzscoop update skz。npm 安装的不走这条——skz update 认不出 npm 的安装路径, 会跳过升级并给出重装指引,直接 npm install -g @shengkezhi-com/skz-quant-cli@latest 即可。

然后别自己敲命令,跟 agent 说

| 技能 | 干什么 | 你可以说 | |---|---|---| | skz-guide | 从一句想法带你走到能上实盘:聊想法 → 定研究方向 → 挖因子 → 定研究问题 → 策略探索 | 「帮我研究一个动量策略」 | | skz-create-problem | 定义并创建研究问题:品种集合、市场类型、频率、训练/验证时间分段的设定规则与自检 | 「帮我创建一个股指期货日线择时的研究问题」 | | skz-factor | 因子资产:因子库、某次挖矿的产出、单因子多问题评估、软删不成立的 | 「看看我的因子库」 | | skz-candidate | 探索候选:评审实验结果、删除候选、把选中的候选保存入库 | 「看看这次探索有没有值得保存的」 | | skz-strategy | 已入库策略:净值/持仓/回撤/交易明细、巡检、切换实盘·暂停·废弃、备注和赠予 | 「我实盘最近怎么样」 | | skz-portfolio | 组合资产:把实盘策略按权重打包、查净值/回撤/持仓、再平衡 | 「把这几个策略打包成一个组合」 |

花钱的和不可逆的,agent 会先问你——挖矿、策略探索、保存入库、切实盘、删因子、删候选、建组合,都得你点头才跑。

多账户与只读身份

每把 key 存成一个命名身份,随后选择机器级默认身份。切换身份不会自动发请求:

echo "sk_alice的key"   | skz auth add alice   --read-only
echo "sk_bob的key"     | skz auth add bob     --allow-write
echo "sk_charlie的key" | skz auth add charlie --allow-write

skz auth list
skz auth use alice
skz auth status

--read-only 是 CLI 本地策略:alice 的读命令照常执行,任何写和触发都在发请求前被拒绝。--allow-write 只表示 CLI 允许写,实际权限仍由 key 的后端 scope 决定。agent 不得因为 bob、charlie 都可写就自行选择;每条工作流开始前先用 auth status 确认默认身份。

如果同一账户需要多把不同权限的 key,用不同 identity 名并显式声明共同账户:

echo "sk_alice只读key" | skz auth add alice-read --account alice --read-only
echo "sk_alice写key"   | skz auth add alice-write --account alice --allow-write

全局只读模式

想让所有身份都只读——比如要放 agent 长时间自己跑——设一个环境变量:

export SKZ_READ_ONLY=1
skz auth status        # {"present":true,"readOnly":true} ← 一定要亲眼确认这一行

设了之后,即使当前身份是 --allow-write,所有写和触发(挖矿、探索、保存入库、建组合、改状态、删除、笔记标签)仍一律拒绝并退出码 8,请求根本不会发出去;读和进度轮询照常。

几件要知道的事:

  • skz auth status 那一步别省。 变量名打错会静默变成「没设」,而你以为设上了。这是这类开关唯一的失效方式,也是唯一的检查手段。
  • 关掉只能 unset SKZ_READ_ONLY 设成 0false 会直接报错,不会当成关闭——否则一行 SKZ_READ_ONLY=0 skz ... 就绕过去了。
  • 你自己也一样写不了。 真要做一次写操作,在另一个没设这个变量的终端里跑。
  • 这是防手滑,不是安全边界。 key 就在本机文件里,铁了心绕总有办法。它挡的是 agent 顺手闯祸,不是对抗性行为。要真正不可绕过,得让 key 的主人发一把不带写权限的 key。