pi-finance-core

pi-finances 공용 라이브러리 — 브로커 중립 기술적 지표(indicators) + 범용 시크릿 스토어(keyring/file). pi-kis·pi-toss가 공유하는 순수 모듈 (확장/스킬 없음).

Packages

Package details

skill

Install pi-finance-core from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-finance-core
Package
pi-finance-core
Version
0.4.0
Published
Aug 26, 2026
Downloads
474/mo · 20/wk
Author
preinpost
License
MIT
Types
skill
Size
39.1 KB
Dependencies
0 dependencies · 0 peers
Pi manifest JSON
{
  "skills": [
    "./skills"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi-finance-core

pi-finances 모노레포의 공용 라이브러리 — 브로커(KIS/토스 등)에 중립적인 순수 모듈.

확장(pi manifest)이나 스킬이 없는 라이브러리 전용 패키지다. pi-kis / pi-toss 및 향후 finance 패키지들이 의존한다.

구성

모듈 내용
src/store.ts 범용 시크릿 스토어 — OS keyring(우선) / 파일(폴백) 적응형, 네임스페이스 스코프. mergeWrite로 타 패키지 필드 보존
src/indicators.ts 기술적 지표 — Bar, MA/RSI/ATR/볼린저/지지저항/추세 (analyze)
skills/kis-timing 공용 스킬 — 매수/매도 타점 분석 (차트 툴은 설치된 브로커 기준: kis_technical/toss_chart)

스킬 번들링 (중요)

core는 pi manifest로 skills를 선언한다. 직접 pi install하지 않고, pi-kis가 bundledDependencies로 tarball에 번들해 node_modules/pi-finance-core/skills 경로로 로드한다 (pi 문서의 리소스 공유 패턴).

⚠️ pi의 스킬 로더는 경로 기준 dedup만 한다 — 번들로 생긴 물리적으로 다른 복사본은 내용이 같아도 같은 이름이면 충돌로 보고 [Skill conflicts] 경고를 낸다. 따라서 공용 스킬 등록은 pi-kis 단독이 담당하고, pi-toss는 모듈 번들만 유지한 채 pi.skills 등록을 하지 않는다 (pi-toss 단독 설치는 toss_chart로 직접 분석).

시크릿 스토어 (중요)

pi-kis와 pi-toss는 하나의 공유 네임스페이스(pi-kis)를 사용한다. 분리 이전부터 두 브로커의 키가 같은 저장소에 있었으므로, 네임스페이스를 유지하면 기존 사용자의 키가 그대로 유효하다 (재입력/마이그레이션 불필요).

  • keyring SERVICE: pi-kis / 파일: ~/.pi/agent/kis-keys.json(0600)
  • env: KIS_SECRET_STORE=file|keyring 강제, KIS_KEYS_FILE 경로 오버라이드
  • 각 패키지는 자체 타입드 뷰로 read/mergeWrite만 사용 — 전체 교체 (write) 시 타 패키지 필드가 지워질 수 있으므로 금지

설치

pnpm add pi-finance-core   # 또는 워크스페이스: pnpm add pi-finance-core --filter pi-kis

Node >= 22.6 (타입 스트리핑으로 .ts를 직접 import).