Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
bb5fe53
修复美股K线不正常的问题
zackzhangkai Jun 22, 2026
712f4c0
chore: 鼠标悬停时解释指令& 增加卡片的支撑线和压力线
zackzhangkai Jun 22, 2026
8d9d158
fix: 修复报告显示
zackzhangkai Jun 22, 2026
943feae
feat: 持仓页滚仓降本计划与 TradingAgents 自动触发配置修复
zackzhangkai Jun 22, 2026
2efd397
chore: 将 reports/ 加入 .gitignore
zackzhangkai Jun 22, 2026
5b99a45
feat: 缠论情绪博弈策略与股票详情展示
zackzhangkai Jun 22, 2026
9fcc5a3
feat: 分钟K线、深度分析模式与股票详情/历史页增强
zackzhangkai Jun 23, 2026
86fc1e6
feat: 支持持仓加仓记录与加权平均成本更新
zackzhangkai Jun 23, 2026
250442e
feat: 扩展首页指数并增强持仓加仓与滚仓提醒
zackzhangkai Jun 23, 2026
c29b9d9
feat: 新增当日分时图,支持盘中实时曲线展示
zackzhangkai Jun 23, 2026
21a6106
feat: 长线持仓计划与核心/卫星仓交易纪律
zackzhangkai Jun 24, 2026
c430787
fix: 交易完成后即时刷新持仓成本显示
zackzhangkai Jun 24, 2026
85a1ddc
feat: 本地 Hermes Skill 广场与报告生成
zackzhangkai Jun 25, 2026
2249bc2
feat: AI 助手支持对话建提醒与加减仓确认执行
zackzhangkai Jun 25, 2026
6d94907
feat: AI 助手支持续聊历史并在新开时清除旧会话记忆
zackzhangkai Jun 25, 2026
1f13544
feat: 支持场内 ETF 盯盘、详情弹窗与成分股 AI 分析
zackzhangkai Jun 25, 2026
1225c94
feat: 新增 MCP JSON-RPC 接口与配置页面,供 AI 客户端调用盯盘能力
zackzhangkai Jun 25, 2026
cce4d03
feat: 关注列表支持概念标签筛选
zackzhangkai Jun 25, 2026
c5ccd57
feat: 持仓今日盈亏区分隔夜与当日交易,支持补录成交时间
zackzhangkai Jun 25, 2026
66f21f2
feat: 自选股详情弹窗展示历史交易记录并标记多账户持仓
zackzhangkai Jun 26, 2026
009e378
feat: 持仓卖到零自动清仓,回款入可用资金并保留历史成交明细
zackzhangkai Jun 26, 2026
f2560d9
feat: 持仓页与详情展示总资产(市值+可用现金)
zackzhangkai Jun 26, 2026
735d89d
feat: 自选股默认补全老马视角报告,每类报告仅保留最新一份
zackzhangkai Jun 26, 2026
8134a71
fix: 老马视角 Hermes diff 回退读成稿,概念标签改用 market_get
zackzhangkai Jun 26, 2026
5a71aef
fix: local skill 老马报告展示完整成稿,历史页支持目录与 PDF 导出
zackzhangkai Jun 26, 2026
b659d1b
feat: 关注列表支持精华标记并优先展示
zackzhangkai Jun 26, 2026
c10e9da
feat: 自选股按老马框架自动归类 AI 产业链上中下游
zackzhangkai Jun 26, 2026
cf33d98
chore: 添加禁止默认读取依赖目录的 AI 铁律
zackzhangkai Jun 26, 2026
9ae2063
feat: 产业链四层归类与非AI标的「其他」标签,账户支持分项其他资产
zackzhangkai Jun 26, 2026
71fdfa0
feat: 支持编辑历史交易流水并重放同步持仓与股票现金
zackzhangkai Jun 26, 2026
efdcc32
feat: AI算力轮动产业链、手动归类与自选股估值/问AI简报
zackzhangkai Jun 26, 2026
fb4622c
chore: 品牌更名为 AlphaMind / 智盘 Alpha
zackzhangkai Jun 26, 2026
8464772
refactor: 产业周期视角更名并将持仓/关注操作分多行展示
zackzhangkai Jun 26, 2026
af495f0
feat: AI 对话与个股问法接入近期新闻与公告上下文
zackzhangkai Jun 26, 2026
11e0f0f
feat: 监管红线识别与雪球 Cookie 健康检测
zackzhangkai Jun 27, 2026
f0b442c
feat: 雪球新闻改用 Playwright 采集,绕过 WAF 且无需 Cookie
zackzhangkai Jun 27, 2026
bd59f6d
feat: 优雅关闭后台任务、K 线外链与 LMD 启动扫描配置
zackzhangkai Jun 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .cursor/rules/long-term-trading-discipline.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
description: 长线持仓、核心仓和卫星仓交易建议铁律
globs: "src/**/*.py,frontend/**/*.ts,frontend/**/*.tsx,prompts/**/*.txt,docs/**/*.md"
alwaysApply: false
---

# 长线交易铁律

- 长线不是短线止损的慢版本。标的设置为长线后,默认按长期逻辑、仓位计划和分批加仓纪律判断,不因单日波动或单一技术死叉直接建议清仓。
- 越跌越买必须有边界。任何长线加仓建议都必须检查最大仓位、可用资金、已触发档位和今日交易流水。
- 核心仓与卫星仓必须分开。核心仓服务长期逻辑,卫星仓可做波段增强;减仓/止盈建议默认只动卫星仓,除非长期逻辑失效。
- 今日交易流水优先级最高。今日已买入则不重复建议加仓,今日已卖出则不重复建议减仓/清仓。
- 长线核心仓只有在长期逻辑失效、重大基本面恶化、仓位超过上限,或趋势级别破坏且无修复迹象时,才可建议减仓。
- 达到最大仓位后,继续下跌只能建议观察、暂停加仓或复核长期逻辑,不得继续机械补仓。
- AI Prompt 和结构化上下文必须同时携带长线计划信息;不要只用“长线”二字让模型自由发挥。
- 所有交易建议只作为辅助决策,不得实现真实自动下单。
29 changes: 29 additions & 0 deletions .cursor/rules/no-read-dependencies.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
description: 铁律:默认禁止读取依赖与构建产物目录
alwaysApply: true
---

# 依赖目录读取铁律

**默认禁止**读取、搜索、遍历以下目录及其子文件。违反本规则会浪费 token、拖慢响应,且对完成任务毫无帮助。

## 禁止默认访问的目录

- Python 虚拟环境:`.venv/`、`venv/`、`env/`
- Node 依赖:`node_modules/`、`frontend/node_modules/`、`pnpm-store/`
- 构建产物:`dist/`、`build/`、`static/`、`frontend/dist/`、`frontend/.vite/`、`*.egg-info/`
- 缓存:`__pycache__/`、`.pytest_cache/`、`.mypy_cache/`、`.ruff_cache/`
- 运行时数据:`data/`(数据库、缓存、日志等)

## 必须遵守

1. **不要**对以上目录使用 Read、Grep、Glob、SemanticSearch 或等价工具。
2. **不要**把依赖源码当作项目代码来阅读、分析或修改。
3. 需要了解依赖版本或 API 时,只读项目内的声明文件:`requirements.txt`、`pyproject.toml`、`package.json`、`pnpm-lock.yaml`;或查官方文档 / Context7,**不要**钻进 `node_modules` 或 `.venv`。
4. 只有用户**明确要求**排查某个依赖包内部问题时,才可定向读取该包的单个文件,且范围尽量小。

## 正确做法示例

- 查 FastAPI 用法 → 读 `requirements.txt` + 官方文档,不读 `.venv/lib/...`
- 查前端组件库 API → 读 `frontend/package.json` + 文档,不读 `node_modules/`
- 理解项目逻辑 → 只读 `src/`、`frontend/src/`、`tests/`、`prompts/` 等自有代码
23 changes: 23 additions & 0 deletions .cursorignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# 依赖与虚拟环境
.venv/
venv/
env/
node_modules/
**/node_modules/

# 构建产物
dist/
build/
static/
frontend/dist/
frontend/.vite/
*.egg-info/

# 缓存
__pycache__/
.pytest_cache/
.mypy_cache/
.ruff_cache/

# 运行时数据(体积大、非源码)
data/
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: release
on:
push:
tags:
# PanWatch tags are like 0.2.3 (no "v" prefix)
# AlphaMind tags are like 0.2.3 (no "v" prefix)
- '*.*.*'
workflow_dispatch:
inputs:
Expand Down Expand Up @@ -103,7 +103,7 @@ jobs:
type=raw,value=${{ steps.vars.outputs.version_no_v }},enable=${{ steps.vars.outputs.version_no_v != steps.vars.outputs.version }}
type=raw,value=latest,enable=${{ steps.vars.outputs.push_latest == 'true' }}
labels: |
org.opencontainers.image.title=PanWatch
org.opencontainers.image.title=AlphaMind
org.opencontainers.image.version=${{ steps.vars.outputs.version }}
org.opencontainers.image.source=${{ github.repositoryUrl }}

Expand Down Expand Up @@ -196,7 +196,7 @@ jobs:
COMMITS_ENCODED=$(echo "$COMMITS_ESCAPED" | sed 's/$/%0A/g' | tr -d '\n')

# 构建消息
MESSAGE="📊 *PanWatch ${TAG}* 发布%0A%0A"
MESSAGE="📊 *AlphaMind ${TAG}* 发布%0A%0A"
MESSAGE="${MESSAGE}🔗 [查看完整说明](${RELEASE_URL})%0A%0A"
MESSAGE="${MESSAGE}*变更内容*:%0A${COMMITS_ENCODED}"

Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ dist/
build/
static/
data/
reports/

# Frontend
node_modules/
Expand Down
15 changes: 15 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Repository Guidelines

## 铁律:禁止默认读取依赖目录

**默认不要**读取、搜索或遍历依赖与构建产物目录。这些目录体积巨大,对理解项目代码没有帮助。

禁止默认访问:`.venv/`、`venv/`、`node_modules/`、`dist/`、`build/`、`static/`、`__pycache__/`、`data/` 等。

需要依赖信息时,只读 `requirements.txt`、`pyproject.toml`、`package.json` 等声明文件,或查官方文档;**不要**钻进 `node_modules` 或 `.venv`。仅当用户明确要求排查某个依赖包内部问题时,才可定向读取单个文件。

## Project Structure & Module Organization
- `src/agents/` — Agent implementations (business logic). Add new agents here.
- `src/collectors/` — Data collectors (quotes, kline, news, etc.).
Expand Down Expand Up @@ -32,6 +40,13 @@
- Coverage: target meaningful coverage for new modules (no strict threshold yet, but include happy-path and error cases).
- Fixtures: use factory helpers for DB models; avoid network calls (mock collectors and AI clients).

## Trading Discipline
- Long-term position architecture lives in `docs/long-term-position-architecture.md`; follow it when changing trading logic, prompts, portfolio context, or related UI.
- A long-term holding is not a slower short-term stop-loss flow. Respect the user's thesis, target weight, max weight, staged add plan, and recent trade history.
- Core and satellite positions must be treated separately: protect core positions for the long-term thesis; use satellite positions for swing adjustments.
- Never suggest unlimited averaging down. Any add suggestion must check max allocation, available cash, triggered levels, and today's trades.
- Today's trade records take priority: do not repeat add suggestions after a same-day buy, and do not repeat reduce/sell suggestions after a same-day sell.

## Commit & Pull Request Guidelines
- Commit format: `<type>: <subject>` where type ∈ `{feat, fix, docs, refactor, style, test}`.
Example: `feat: add intraday monitor agent`.
Expand Down
8 changes: 6 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,13 @@

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

## What is PanWatch
## 铁律:禁止默认读取依赖目录

PanWatch (盯盘侠) is a self-hosted AI stock assistant with real-time market monitoring, technical analysis, multi-account portfolio management, and paper trading. It supports A-shares (CN), Hong Kong (HK), and US markets.
默认不要读取、搜索或遍历 `.venv/`、`node_modules/`、`dist/`、`build/`、`static/`、`__pycache__/`、`data/` 等依赖与构建产物目录。需要依赖信息时读 `requirements.txt` / `pyproject.toml` / `package.json` 或查官方文档,不要钻进依赖源码树。仅当用户明确要求排查某个依赖包时,才可定向读取单个文件。

## What is AlphaMind

AlphaMind (智盘 Alpha) is a self-hosted AI stock assistant with real-time market monitoring, technical analysis, multi-account portfolio management, and paper trading. It supports A-shares (CN), Hong Kong (HK), and US markets.

## Build & Run Commands

Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 贡献指南

感谢你对 PanWatch 的兴趣!本文档将指导你如何贡献代码,特别是如何编写 Agent 和数据源。
感谢你对 AlphaMind 的兴趣!本文档将指导你如何贡献代码,特别是如何编写 Agent 和数据源。

## 目录

Expand All @@ -15,7 +15,7 @@
## 项目结构

```
PanWatch/
AlphaMind/
├── src/
│ ├── agents/ # Agent 实现
│ │ ├── base.py # 基类和数据结构
Expand Down Expand Up @@ -55,7 +55,7 @@ pnpm dev

## 编写 Agent

Agent 是 PanWatch 的核心分析单元,负责采集数据、调用 AI 分析、发送通知。
Agent 是 AlphaMind 的核心分析单元,负责采集数据、调用 AI 分析、发送通知。

### 1. 创建 Agent 文件

Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# PanWatch Dockerfile
# AlphaMind Dockerfile
# 多阶段构建,减小最终镜像大小

# ===== Stage 1: 前端构建 =====
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# - 前端::5183(与 BeeCount-Cloud 的 :5173 错开避免冲突)

help:
@echo "PanWatch 开发命令:"
@echo "AlphaMind 开发命令:"
@echo " make setup-backend 创建 venv 并安装后端依赖"
@echo " make dev-api 启动后端(:8000,自动 setup-backend)"
@echo " make dev-web 启动前端(:5183,自动 pnpm install)"
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 盯盘侠 PanWatch
# 智盘 Alpha · AlphaMind

**自托管 AI 盯盘助手 · 集成 [TradingAgents](https://github.com/TauricResearch/TradingAgents) 多 Agent 投资决策** — A 股 / 港股 / 美股实时监控、持仓管理、智能分析、全渠道推送

Expand All @@ -8,7 +8,7 @@
[![Last commit](https://img.shields.io/github/last-commit/TNT-Likely/PanWatch)](https://github.com/TNT-Likely/PanWatch/commits/main)
[![PWA](https://img.shields.io/badge/PWA-installable-5A0FC8?logo=pwa&logoColor=white)](https://github.com/TNT-Likely/PanWatch)

![盯盘侠 PanWatch · TradingAgents 深度分析演示](docs/screenshots/tradingagents-demo.gif)
![智盘 Alpha · AlphaMind · TradingAgents 深度分析演示](docs/screenshots/tradingagents-demo.gif)

> 🧠 **持仓页点一下 → TradingAgents 9-Agent 投研团队接力分析 → 看多看空辩论 → 风控审查 → PM 决策书,3-5 分钟一条完整推理链,结论直推到你的 IM。**

Expand All @@ -31,7 +31,7 @@

</details>

> 💡 如果盯盘侠对你有帮助,点右上角 ⭐ **Star** 支持一下 —— 这是对开源项目最好的鼓励,也能让更多人发现它。
> 💡 如果智盘 Alpha 对你有帮助,点右上角 ⭐ **Star** 支持一下 —— 这是对开源项目最好的鼓励,也能让更多人发现它。

## 🧠 深度分析:TradingAgents 多 Agent 决策

Expand All @@ -41,7 +41,7 @@
- 3-5 分钟输出完整推理链,结论同步推送到 Telegram / 微信 / 钉钉
- 默认 deepseek-chat,单次 ~$0.05,月度预算可控

## 为什么选择盯盘侠
## 为什么选择智盘 Alpha

- **数据私有** — 自托管部署,持仓数据不经过任何第三方
- **AI 原生** — 不是简单的指标堆砌,而是让 AI 理解你的持仓、风格和目标
Expand Down Expand Up @@ -216,7 +216,7 @@ cd frontend && pnpm install && pnpm dev # 前端 :5183

## 捐赠支持

如果你觉得 PanWatch 有帮助,欢迎请作者喝杯咖啡:
如果你觉得 AlphaMind 有帮助,欢迎请作者喝杯咖啡:

| 微信赞赏 | 支付宝 |
|:---:|:---:|
Expand Down
2 changes: 1 addition & 1 deletion build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ NC='\033[0m' # No Color
VERSION=${1:-"latest"}
IMAGE_NAME="sunxiao0721/panwatch"

echo -e "${GREEN}🚀 PanWatch 构建脚本${NC}"
echo -e "${GREEN}🚀 AlphaMind 构建脚本${NC}"
echo -e "版本: ${YELLOW}${VERSION}${NC}"
echo ""

Expand Down
Loading