主题
项目状态
唯一权威页面。 其他页面(包括 spec 头部 banner)的状态注解仅供局部参考;与本页冲突时以本页为准。
当前一句话状态
v0.4.1 完成:ECS auto-deploy pipeline 上线,WeChat Pay E2E 验证通过 · v0.4.2 SearXNG 已上线 (ws.fsagent.cc),Hermes WeChat provisioning 进行中
进行中(Now)
v0.4.2 — Hermes WeChat Provisioning
5 tasks 待完成:DB schema 迁移(llmApiKey、hostPort)、spawn-profile.sh 接入 provisionPaidOrder()、Hermes gateway API → WeChat QR、Frontend StatusPage 展示 QR、Cloudflared per-Hermes 路由。
计划:docs/superpowers/plans/2026-05-15-hermes-wechat-provisioning.md
待处理: ECS cloudflared 还未加 ssh-ecs.fsagent.cc SSH ingress(auto-deploy 前置条件)。
启动新阶段时此格替换为对应 PR + 范围。绝不把"骨架就绪"写到本段 —— 那属于"已完成"。
已完成(按里程碑倒序)
2026-05-16 — v0.4.2 SearXNG 上线(PR #71)
- SearXNG 自托管搜索上线 Vultr Japan (
ws.fsagent.cc),DuckDuckGo + Bing 双引擎,无 API key 要求 deploy/compose.yml新增searxng服务(Vultr-only,port 8088)profile/template-stock-research-pro/config.yaml.template切换web.backend: dashscope→web.backend: searxngspawn-profile.sh自动注入SEARXNG_URL=https://ws.fsagent.cc/search到 profile.envdeploy/searxng/settings.yml.template可选扩展 Google CSE / Brave Search API
2026-05-15 — v0.4.1 完成(PR #67)
- ECS auto-deploy pipeline 上线:
docker-build.ymlpush image →deploy-ecs.yml(workflow_run触发) SSH 部署到 ECS deploy/ecs-deploy.sh:flock 并发锁 + tag 验证 +TWILIGHT_VERSION热替换 + docker compose pull/up +/healthz探针 + 自动回滚deploy/alibaba-ecs-install.sh增加deploy用户 + forced-command SSH key- CF Access service token (
gh-actions-deploy) +ssh-ecs.fsagent.ccAccess Application 已创建 backend.fsagent.cc暴露 NestJS app-backend;WeChat Pay E2E 真实交易验证通过
2026-05-15 — v0.4.0 完成
- NewAPI LLM gateway 上线 Vultr Japan (
llm.fsagent.cc),deploy/newapi-compose.yml+ CF Tunnelnewapi-jp+ Access service token + WAF 规则全部就位,ECS.env已写入 - ECS stack 验证:两套 stack 运行中 — warehouse stack(
twilight-backend:8081 →api.fsagent.cc,twilight-mcp-tushare:9100 →mcp.fsagent.cc)+ app stack(twilight-app-backendNestJS :4000,twilight-app-frontendnginx :8082 →app.fsagent.cc,twilight-postgres) - MCP Tushare
/sse端点验证通过,ListToolsRequest每 3 分钟心跳正常 - WeChat Pay + provisioning 路由 已在 NestJS backend 实现,DB schema 就位(零真实用户行,待首次付费用户 E2E 验证)
scripts/admin/migrate-profile.sh已创建
2026-05-09 — v0.3.0 W1 + W2.1-2.3 合主线(PR #22-#34)
v0.3.0 数据仓库 + ToolSet 的 W1(baseline + provider 抽象)+ W2.1-2.3(前两个具体 provider + Composer)一次性合入主线。
- PR #22
v0.3.0baseline 规划文档(rollout plan + tushare integration design) - PR #23
.dockerignoreslim 化构建上下文 - PR #24
DataProviderABC +ProviderRegistry(core/data/providers/base.py+__init__.py)—— Capability / MarketState / Quote / FreshnessReport / HealthStatus 类型契约 + 5 种 typedProviderError - PR #26
WarehousePool+WarehouseWriter(src/service/db.py)—— DuckDB 读连接池(size=4)+ 写连接单例 - PR #30
trade_calseed 脚本 +MarketStateResolver(盘前 / 盘中 / 收盘中 / 收盘后四态判定) - PR #31 W1 ToolSet 骨架收尾(
skill/stock-research/scripts/_client.py+ 6 e2e + 25 unit tests fornormalize_code) - PR #32
TushareDailyProvider(包装core/data/tushare.py,adj_factor + 单位校验 + 错误归一化) - PR #33
AkshareSpotProvider(实时盘口 via Xueqiu,单位严格化) - PR #34
QuoteComposer+ROUTES表(8 entries 按 (intent, MarketState) 索引,先成功 return;ProviderUnavailable/ProviderQuotaExceeded降级;CapabilityNotSupported/CanonicalUnitViolation不降级直接抛) - 5 起 v0.2.0 事故 中已被 W1+W2.1-2.3 架构覆盖:单位(事故 4)— canonical units in Quote;schema 脆性(事故 5)— frozen dataclass 边界。剩余 freshness / source 错配的修复跨 W2 alt(cache TTL)+ W4 (
/pricecutover) 之上完成
2026-05-08 — Tasks 11+12 上线(PR #20 + 现场操作)
- Task 11 — Vultr 部署完成:cloudflared tunnel
twilight-backend(UUIDec125552-…) 接api.fsagent.cc;twilight-backend 容器(imageghcr.io/lacatfly/twilight-drive:latest)跑在 VPS 上,cpu 0.75 / mem 1500m;systemd-user unitstwilight-{backend,cloudflared}.service都 active;smokehttps://api.fsagent.cc/healthz200 - Task 12 — Profile 迁移完成:bearer for
liang(plan internal, paid_until 2027-12-31) 已颁发并存于 macOS Keychaintwilight-api-token;~/.hermes/profiles/stock-research-agent/.env移除TUSHARE_TOKEN+ 加TWILIGHT_SERVICE_URL=https://api.fsagent.cc+TWILIGHT_API_TOKEN;fetch_price.py 600519 --trade-date 20260427通过 backend 返回 cite 含 backend-sidetool_call_id - PR #20 把第一次 deploy 现场踩出的 4 个 papercut 回打主线:issue-token.py 3.10 兼容、compose.yml cpus 1.5→0.75、systemd unit 去掉非法的
Requires=docker.service、install.sh prepend~/.local/bin到 PATH + chmod data/logs
2026-05-08 — 站点 IA 重构(PR #14)
- 文档站按受众重组:新增
/use/(6 页)、/status/、/about/;删除/developer/、docs/getting-started.md、docs/overview/why.md MASTER_PLAN.md归档到docs/planning/archive/2026-05-07-master-plan.md- spec:
docs/planning/superpowers/specs/2026-05-08-site-ia-restructure-design.md
2026-05-08 — P1.0 backend Tasks 7-10(PR #13,✅ 已合主线)
src/service/{main,config,auth}.py—— FastAPI scaffold + Pydantic Settings + SHA256 bearer 中间件 over SQLitesrc/service/cache.py—— DuckDB DailyCache (24h TTL) + FundamentalsCache (30d TTL)src/service/routes/{price,fundamentals}.py—— bearer-authed 路由;akshare 实时路径 bypass cache(保 v0.1.1 freshness 语义)scripts/issue-token.py—— admin CLI (issue/revoke/list),明文 token 仅打印一次- 35 new integration tests across 5 files; 95/95 green; ruff + format + ty 全清
- 实施依据:
docs/planning/plans/2026-05-07-v0.1.1-hotfix.mdPhase 2 Tasks 7-10 +superpowers/plans/phase1Tasks 1-4 - Tasks 11-12(Vultr deploy + profile 迁移)操作者侧待办,见 Next 段
2026-05-07 — 部署骨架 + 文档站上线(PR #10, #11, #12)
deploy/:Dockerfile、compose.yml、cloudflared 模板、twilight-{backend,cloudflared}.service× 2、install.sh、env.example- 文档站切到
dev.fsagent.cc,GitHub Actions 自动部署到 Cloudflare Pages - 实施依据:
docs/planning/plans/2026-05-07-deploy-pattern.mdTasks 1-6
2026-05-07 — Hermes 对齐重构(PR #9)
skill/stock-research/SKILL.md迁移到 frontmatter 元数据 +references/拆分profile/template-stock-research-pro/4-file 完整模板(AGENTS.md、SOUL.md、config.yaml.template、.env.example、secrets.schema.json)install-skill.sh从.env.example注入 keys- 实施依据:
docs/planning/plans/2026-05-07-hermes-restructure.md
2026-05-07 — v0.1.1 价格新鲜度 hotfix(commits 084843b, 2d7e5ce)
- akshare Xueqiu 单 code 端点(~1.4s,替换原
stock_zh_a_spot_em75s 全表抓取) core/core/data/_market.is_market_open()+ Tusharetrade_cal缓存get_price自动路由:盘中走 akshare 实时 / 盘后走 Tushare daily- cite envelope 新增
served_by字段(向后兼容,可选) - 实施依据:
docs/planning/plans/2026-05-07-v0.1.1-hotfix.mdPhase 1 - ✅ git tag
v0.1.1已 push 至 origin(commit084843b)
2026-05-07 — v0.1.0 — 03 Agent 框架 MVP(commit 179008e)
twilight-drive-core0.1.0 包发布:citation protocol、Verifier、Competence registry、model router、single-agent runtime- Tushare adapter(
get_price、get_fundamentals) skill/stock-research:3 个 fetch scripts(含 stubsearch_reports.py)+ dual-mode_client.py- CI:ruff + pytest;release workflow
2026-04-27 / 28 — 规划基线
- 5 份层级规划(
planning/01-05-*.md) - 03 Agent 框架 design spec
- VitePress 文档站初版
下一步(Next)
按 spec 来源链接,不在此处复述细节。
v0.2.0 — P1.0 后端 MVP ✅ 全部完成
整阶段 Tasks 7-12 全部上线,详见 已完成段 的两条 2026-05-08 条目。
- 实施依据:
superpowers/plans/phase1Tasks 1-4 +v0.1.1-hotfix Phase 2
v0.3.0 — 数据仓库化 + ToolSet ✅ 全部完成
- PR #38 T1 DuckDB warehouse ingest + APScheduler 调度 + 2年回填脚本 +
/warehouse/*路由 - PR #65 warehouse 自愈(self-healing)+ T2a(index_daily 周频)+ T2b(weekly ingest)+ PK fix
- W1–W6 DataProvider / Composer / WarehouseProvider /
/price切流 //quality/*endpoints 全部合主线(PR #22-#65) - 诊断工具:
scripts/diagnose_cache.py(PR #58)、scripts/probe_providers.py(PR #56) - 实施依据:rollout plan + 6 份 spec
v0.4.0 — LLM Gateway + 用户接入基础 ✅ 全部完成
NewAPI gateway 上线、双 ECS stack 验证、WeChat Pay + provisioning 路由就位。详见已完成段 2026-05-15 条目。
v0.4.1 — ECS Auto-Deploy ✅ 完成
Pipeline 全部上线,详见 docs/superpowers/plans/2026-05-15-ecs-auto-deploy.md。
v0.4.2 — SearXNG Web Search ✅ 完成(PR #71)
ws.fsagent.cc 上线,详见已完成段 2026-05-16 条目。
后续 — P1.2 多源数据 ⏳ 计划
P1.2 的多源比对部分被吸收进 v0.3.0 W7+ TDX 跨源验证;剩余 pytdx3 / Yahoo / akshare 宏观数据作为独立条目延后。
远期 / Phase 2(Later)
3 个 initiative 互相独立。每个的技术方案见 superpowers/specs/phase2。
- Initiative C — Token Gateway —— New-API key pool 管理;SearXNG 已完成(PR #71),剩余 key pool 部分
- Initiative A — 数据仓库 —— 4 层 DuckDB 模型 + APScheduler batch 入仓 + 跨源质量检查
- Initiative B — Profile Manager —— git-backed profile 注册中心 + CLI(claim / push / pull / sync / template)+ 多主机同步
维护约定
- 谁更新:Liang(操作者)
- 何时更新:每个 PR 合并时改"已完成";启动新阶段时改"进行中 / 下一步"
- 取代的旧约定:
/overview/roadmap删除(重定向至本页);planning/index.md表格 Status 列删除;各 spec 文件头部 banner 保留作为局部注解