io.github.Zhao73/alphacouncil-agent
Simulated investment committee: 27 investor lenses read the same filings, debate, and a PM decides.
Open source Open in the app JSON README (API)
About
Simulated investment committee: 27 investor lenses read the same filings, debate, and a PM decides.
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- zhao73
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 1.0.15
- Stars
- 3
- Last push
- 2026-08-29T20:22:58Z
- Repository state
- ativo
- Language
- JavaScript
- License
- MIT
- Added
- 2026-08-29 03:02:21
- Updated
- 2026-08-29 03:02:21
- Origin id
io.github.Zhao73/alphacouncil-agent
README
<a name="readme-top"></a> <!-- readme-section:hero --> <div align="center"> <img src="assets/banner.png" alt="AlphaCouncil Agent" width="100%" /> ### An investment-research council you can inspect **One request becomes sourced evidence, competing method views, a bull/bear challenge, and a portfolio-manager verdict.** **English** · [中文](README.zh-CN.md) · [日本語](README.ja.md) <p> <img src="https://img.shields.io/github/actions/workflow/status/Zhao73/alphacouncil-agent/check.yml?style=for-the-badge&label=build&logo=githubactions&logoColor=white&color=1a7a6a" alt="build" /> <img src="https://img.shields.io/badge/License-MIT-c9a227?style=for-the-badge" alt="MIT" /> <img src="https://img.shields.io/badge/Node-%3E%3D18-339933?style=for-the-badge&logo=node.js&logoColor=white" alt="node" /> <img src="https://img.shields.io/github/stars/Zhao73/alphacouncil-agent?style=for-the-badge&logo=github&color=0d4d4d" alt="stars" /> </p> <p> <img src="https://img.shields.io/badge/OpenAI_Codex-412991?style=for-the-badge&logo=openai&logoColor=white" alt="OpenAI Codex" /> <img src="https://img.shields.io/badge/Claude_Code-D97757?style=for-the-badge&logo=anthropic&logoColor=white" alt="Claude Code" /> <img src="https://img.shields.io/badge/OpenCode-1a7a6a?style=for-the-badge" alt="OpenCode" /> <img src="https://img.shields.io/badge/Grok_Build-000000?style=for-the-badge&logo=x&logoColor=white" alt="Grok Build" /> <img src="https://img.shields.io/badge/ChatGPT_Work-dev_mode-412991?style=for-the-badge&logo=openai&logoColor=white" alt="ChatGPT Work developer mode" /> </p> <p> <img src="https://img.shields.io/badge/MCP-compatible-000000?style=for-the-badge" alt="MCP compatible" /> <img src="https://img.shields.io/badge/data_check-no_vendor_key-2ea043?style=for-the-badge" alt="Core data check needs no vendor key" /> <img src="https://img.shields.io/badge/runtime_dependencies-zero-2ea043?style=for-the-badge" alt="Zero runtime dependencies" /> </p> [Install](#install-in-codex) · [Try the data layer](#free-first-run) · [See how calls expand](#choose-the-depth-before-it-runs) · [Read a report](docs/examples/final_report.SOX.zh.md) </div> <!-- readme-section:demo --> <div align="center"> **Question → sourced evidence → frozen method stances → Bull/Bear challenge → PM decision + saved audit** [Historical UI recording (MP4)](assets/demo.mp4) · [Historical report artifact (SOX, Chinese)](docs/examples/final_report.SOX.zh.md) <sub>The recording predates the current 26-seat candidate. It demonstrates an earlier interface only—not current timing, method fidelity, data accuracy, four-code-host validation, or ChatGPT Work validation.</sub> </div> <!-- readme-section:promise --> ## One question. An inspectable case. AlphaCouncil turns a ticker question into a reviewable research process. Parallel evidence workers gather public sources, selected investment-method seats interpret the same dated facts, bull and bear challenge the case, and a portfolio manager records the decision and its invalidation conditions. Missing inputs stay visible instead of being filled with guesses. The same repository supports **Codex, Claude Code, OpenCode, and Grok Build**, plus a tool-only **ChatGPT Work developer-mode gateway**. It classifies companies, ETFs, and market indices before research so a basket is not analyzed as if it were an operating company. <!-- readme-section:install --> ## Install in Codex Prerequisite: Node.js 18 or newer. Install with these two shell commands: ```bash codex plugin marketplace add Zhao73/alphacouncil-agent codex plugin add alphacouncil-agent@alphacouncil ``` Plugins load when Codex starts. Fully quit and restart Codex, open a new session, then enter this in the Codex composer: ```text @alphacouncil-agent analyze AAPL ``` For ChatGPT Work developer mode, Claude Code, OpenCode, Grok Build, Windows, troubleshooting, and the optional global npm command, use the **[complete install guide](docs/INSTALL.md)**. <!-- readme-section:first-run --> ## Free first run Check the keyless public-data layer before starting a council: ```text # Codex @alphacouncil-agent AAPL news # Claude Code, OpenCode, or Grok Build /alpha AAPL news ``` This check starts no council workers and requires no data-vendor key. For bounded research in Codex, use `@alphacouncil-agent AAPL quick`; on the three slash-command hosts, use `/alpha AAPL quick`. <!-- readme-section:call-structure --> ## Choose the depth before it runs AlphaCouncil shows the work plan first. Full research asks separately for method seats, evidence breadth, and depth; the user confirms them before workers start. Full tiers use **15 / 30 / 60** minute ceilings—never a hidden token or currency estimate. | Run | Model-call structure | Time ceiling | |---|---|---:| | Data check | Keyless tools only; no council workers and no additional model fan-out | Outside the council tiers | | Quick research | 4 evidence workers in parallel → 1–4 method seats in parallel → Bull and Bear in parallel → PM | 10 minutes | | Full — fast | 8 core or exactly 11 all-scope evidence workers start together; each selected method stance is frozen deterministically before one isolated explanation worker; 3 debate rounds → PM | 15 minutes | | Full — normal | Same confirmed roster, frozen-stance sequence, 3 debate rounds, and PM, with a larger depth envelope | 30 minutes | | Full — slow | Same confirmed roster and stages with the largest depth envelope | 60 minutes | These are queue-to-terminal persistence ceilings, not measured completion times. They guarantee an explicit terminal record even when work is incomplete; a successful live fast run within 15 minutes has not yet been demonstrated across the four hosts. Fast keeps the full contract but uses an auditable stage-aware reasoning profile and one shared lifecycle budget per primary/retry/repair chain; retries cannot silently double a seat's cap. When an instrument classification and typed-fact coverage are already available, the selector also shows an eight-family **advisory method match** derived from all 26 physical pack manifests. An explicit objective and holding horizon additionally calibrate the match and separate directional, non-voting risk, and context-only contributions; `out_of_scope` is never a negative vote. For a one-year directional request, the PM maps sourced base-case total return to one published rating rubric instead of counting conservative method seats; the server binds the frozen price/currency and recomputes that return from a same-currency target plus income. An `out_of_scope` seat remains visible in the method bench but is structurally absent from the PM rating path. It is only a prefill: every pack remains selectable, no run starts without explicit confirmation, and a missing classification produces no guessed default. The output represents AI-generated method simulations—not human experts, independent models, or a promise of profit. See [method-panel recommendation and seat evidence](docs/reference/method-panel-evidence.md). Only the slow run with all methods and all evidence workers enables the additional verification path; the other full tiers do not claim that extra check. <!-- readme-section:benefits --> ## What you gain | Benefit | What it changes | |---|---| | **A council, not one answer** | Evidence specialists, method seats, opposing cases, and a PM expose where agreement comes from. | | **A stance before the story** | Each selected full-run method stance is fixed from structured inputs before its isolated explanation is written. | | **Claims you can trace** | Material report claims must point to source IDs; missing evidence remains a stated gap. | | **Disagreement that survives synthesis** | Three cross-examination rounds and persisted minority or opposing reports keep the losing case available for review. | | **The right research path for the asset** | Companies use issuer evidence; ETFs use dated holdings look-through; indices use aggregate methodology. The first data check is keyless. | <!-- readme-section:comparison --> ## How the architecture differs This compares workflow shapes, not named products. A particular tool may implement a different design. | Review concern | Single-model reply or common shared-context flow | AlphaCouncil | |---|---|---| | Correlated errors | One shared context can carry an early mistake into every later step | Evidence seats and opposing paths run in isolated workers; they may still use the same provider or model and are **not independent models** | | Position formation | The position can be composed together with its explanation | A structured stance is frozen before explanatory prose | | Source trace | Traceability depends on the prompt and host | Every material claim is required to carry a source ID | | Minority view | Dissent can be folded into the final summary | Minority and opposing reports remain surfaced as review artifacts | <!-- readme-section:honesty --> ## What the seats are—and are not The method-seat formulas are **AI-authored reconstructions of published methods, pending human review**. The named practitioners have not reviewed or endorsed these seats. They are not impersonations, independent models, or validated replicas. A stance is a structured argument to check against its inputs and sources—not a validated investment model. Current source evidence boundary: 26 provisional method seats, 0 validated method models, 0/8 registered-and-completed canonical evaluation runs, and 0/4 live-host end-to-end runs. Passing source tests does not change those zeros. <!-- readme-section:disclaimer --> ## Disclaimer AlphaCouncil is for **education and research only**. It is not investment advice, a recommendation, or a solicitation. AI-generated analysis can be incomplete, outdated, or wrong. Verify the evidence yourself and consult a licensed professional before making an investment decision. The authors accept no liability for losses. <!-- readme-section:reference-fold --> ## Go deeper - [Detailed English product, usage, tools, and architecture reference](docs/reference/README.en.md) - [Complete four-host installation guide](docs/INSTALL.md) - [Report contract](docs/report-contract.md) and [complete example report](docs/examples/final_report.SOX.zh.md) - [Roadmap](docs/roadmap.md), [security model](SECURITY.md), [attribution](docs/attribution.md), and [changelog](CHANGELOG.md) - Local interfaces: `npm run tui` and `npm run gui` Runtime outputs are written outside the repository under `~/.alphacouncil-agent/runs/<run_id>/`. <div align="center"> <img src="assets/logo.png" alt="AlphaCouncil" width="120" /> **Evidence first. Disagreement visible. Decisions reviewable.** <a href="#readme-top">↑ Back to top</a> </div>