<img src="./screenshots/banner.webp" alt="Yibiao usage demo video" width="100%">

# Yibiao Bid Toolbox - AI Bid Proposal Writing Assistant

<p align="center">
  <a href="./README.md">简体中文</a> | <strong>English</strong>
</p>

<p align="center">
  <img src="https://img.shields.io/badge/Electron-41+-47848f.svg" alt="Electron">
  <img src="https://img.shields.io/badge/React-19+-61dafb.svg" alt="React">
  <img src="https://img.shields.io/badge/TypeScript-5.9+-3178c6.svg" alt="TypeScript">
  <img src="https://img.shields.io/badge/Vite-7+-646cff.svg" alt="Vite">
  <a href="https://deepwiki.com/FB208/OpenBidKit_Yibiao"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a>
   <a href="https://linux.do/" rel="nofollow">
  <img src="https://camo.githubusercontent. " alt="友链 linux.do" data-canonical-src="https://img.shields.io/badge/LINUX--DO-Community-blue.svg?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTIwIiBoZWlnaHQ9IjEyMCIgdmlld0JveD0iMCAwIDEyMCAxMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI%2BPGNsaXBQYXRoIGlkPSJhIj48Y2lyY2xlIGN4PSI2MCIgY3k9IjYwIiByPSI0NyIvPjwvY2xpcFBhdGg%2BPGNpcmNsZSBmaWxsPSIjZjBmMGYwIiBjeD0iNjAiIGN5PSI2MCIgcj0iNTAiLz48cmVjdCBmaWxsPSIjMWMxYzFlIiBjbGlwLXBhdGg9InVybCgjYSkiIHg9IjEwIiB5PSIxMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIzMCIvPjxyZWN0IGZpbGw9IiNmMGYwZjAiIGNsaXAtcGF0aD0idXJsKCNhKSIgeD0iMTAiIHk9IjQwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIi8%2BPHJlY3QgZmlsbD0iI2ZmYjAwMyIgY2xpcC1wYXRoPSJ1cmwoI2EpIiB4PSIxMCIgeT0iODAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMzAiLz48L3N2Zz4%3D&amp;style=flat" style="max-width: 100%;">
  </a>
  <a href="https://afdian.com/a/markup" rel="nofollow">
    <img src="https://img.shields.io/badge/Afdian-Support%20the%20Project-F96854.svg" alt="Support the project on Afdian">
  </a>
</p>

<p align="center">
  <a href="https://trendshift.io/repositories/45446?utm_source=repository-badge&amp;utm_medium=badge&amp;utm_campaign=badge-repository-45446" target="_blank" rel="noopener noreferrer"><img src="https://trendshift.io/api/badge/repositories/45446" alt="FB208%2FOpenBidKit_Yibiao | Trendshift" width="250" height="55"></a>
  <a href="https://trendshift.io/repositories/45446?utm_source=trendshift-badge&amp;utm_medium=badge&amp;utm_campaign=badge-trendshift-45446" target="_blank" rel="noopener noreferrer"><img src="https://trendshift.io/api/badge/trendshift/repositories/45446/daily?language=JavaScript&amp;v=20260720" alt="FB208%2FOpenBidKit_Yibiao | Trendshift" width="250" height="55"></a>
  <a href="https://trendshift.io/repositories/45446?utm_source=trendshift-badge&amp;utm_medium=badge&amp;utm_campaign=badge-trendshift-45446" target="_blank" rel="noopener noreferrer"><img src="https://trendshift.io/api/badge/trendshift/repositories/45446/weekly?language=JavaScript" alt="FB208%2FOpenBidKit_Yibiao | Trendshift" width="250" height="55"></a>
</p>

<p align="left">
  <strong>🚀 Out-of-the-box, open-source, and free AI bid proposal writing tool</strong>
  <br>
  Yibiao Bid Toolbox is an intelligent bid document creation tool for tendering and bidding scenarios. It is fully open source and includes AI-generated technical proposals, image-and-text generation, commercial bid support, enterprise knowledge base management, duplicate checking, rejection-risk checks, tender information, and more features under development.
  <br>
  It supports all OpenAI-like AI APIs. GPT, DeepSeek, and Volcano Ark are deeply adapted, and local models can also be connected through Ollama, LM Studio, and similar tools.
  <br>
  <br>
  <strong>❓ What problem does it solve?</strong>
  <br>
  There are many paid AI bid-writing tools today, but they are extremely expensive. A single proposal can cost tens of yuan, and unless a company reimburses it, small-business workers can hardly afford them. Free tools often have very poor quality. OpenBidKit aims to become the OpenClaw of the bidding field by providing an out-of-the-box, high-quality proposal writing tool. In our tests, generating a 100,000-word bid proposal with DeepSeek V4 Flash costs only about 1 yuan.
</p>

## 🌐 Official Website

**Online Experience**: [https://yibiao.pro](https://yibiao.pro)  [Get more product information, online demos, and technical support.]

## 💖 Support the Project

If this project helps you, you can support ongoing maintenance and open-source development on [Afdian](https://afdian.com/a/markup).

<h2 align="center">✨ Features & Advantages</h2>

<p align="center">
  <strong>AI Proposal Writing · Bid AI · AI Bid Generation · Technical Proposal Drafting · Tender Response Generation</strong><br>
  <sub>More than proposal draft generation: open-source control, local workspace, reusable knowledge, visual expression, and recoverable workflows.</sub>
</p>

<table>
  <tr>
    <td width="33%" valign="top">
      <strong>🧩 Open Source & Controllable</strong><br>
      An open-source AI bid proposal project that can be self-hosted, customized, and adapted to team workflows.
    </td>
    <td width="33%" valign="top">
      <strong>💻 Local Desktop Workspace</strong><br>
      Configurations, caches, and generated results are stored locally, suitable for Windows bid-document workflows.
    </td>
    <td width="33%" valign="top">
      <strong>📄 Multiple Parsing Options</strong><br>
      Supports local parsing and MinerU parser configuration for both regular documents and more complex files.
    </td>
  </tr>
  <tr>
    <td width="33%" valign="top">
      <strong>📚 Knowledge Base Reuse</strong><br>
      Store company materials, historical cases, and proposal assets so bid AI output better matches your business context.
    </td>
    <td width="33%" valign="top">
      <strong>🧩 Images & Diagrams</strong><br>
      Supports Mermaid preview, generated illustrations, and diagram conversion for Word export.
    </td>
    <td width="33%" valign="top">
      <strong>🔄 Background Task Recovery</strong><br>
      Long-running parsing and generation tasks are persisted, so progress can be restored after switching pages.
    </td>
  </tr>
  <tr>
    <td width="33%" valign="top">
      <strong>🛡️ Risk Check Workspaces</strong><br>
      Duplicate-check and rejection-risk checklist workspaces are reserved for repeated wording and response-completeness checks.
    </td>
    <td width="33%" valign="top">
      <strong>⚙️ Custom AI Configuration</strong><br>
      Configure text models, image models, file parsing providers, and switch between OpenCode Agent and Pi Agent.
    </td>
    <td width="33%" valign="top">
      <strong>✏️ Editable Workflow</strong><br>
      Outlines, generated content, and expansion results remain editable for human review and final polishing.
    </td>
  </tr>
</table>

## 📦 Download & Usage

### ⬇️ Download

Download the latest release from [GitHub Releases](https://github.com/yibiaoai/yibiao-simple/releases), then run the installer or executable file.

### 🎬 Usage Demo

<a href="https://www.bilibili.com/video/BV1sC5i6SE74">
  <img src="./screenshots/new_home.png" alt="Yibiao usage demo video" width="100%">
</a>

[Watch the usage demo on Bilibili](https://www.bilibili.com/video/BV1sC5i6SE74)

## 🧑‍💻 Local Development

There is no root-level `package.json` in this repository. The desktop client lives under `client/`, so all client development commands must be run from the `client/` directory.

The client includes both OpenCode Agent and Pi Agent runtimes. OpenCode is the default and can be changed under Settings - Agent Configuration. Pi Agent is installed by `npm ci`; before debugging OpenCode Agent locally, prepare the OpenCode binary for your current platform. Otherwise the agent test page will fail with `OpenCode binary 不存在`.

Windows x64:

```powershell
cd client
npm ci
$env:OPENCODE_VERSION="v1.17.8"
node scripts/prepare-opencode-binary.cjs --platform win32 --arch x64
node scripts/verify-opencode-binary.cjs --platform win32 --arch x64
npm run dev
```

macOS Apple Silicon:

```bash
cd client
npm ci
export OPENCODE_VERSION="v1.17.8"
node scripts/prepare-opencode-binary.cjs --platform darwin --arch arm64
node scripts/verify-opencode-binary.cjs --platform darwin --arch arm64
npm run dev
```

macOS Intel:

```bash
cd client
npm ci
export OPENCODE_VERSION="v1.17.8"
node scripts/prepare-opencode-binary.cjs --platform darwin --arch x64
node scripts/verify-opencode-binary.cjs --platform darwin --arch x64
npm run dev
```

If you already have a working OpenCode binary, you can point the app to it with an environment variable:

```bash
YIBIAO_OPENCODE_BIN=/absolute/path/to/opencode npm run dev
```

End users who install a GitHub Release package do not need to run these scripts. The release workflow downloads and injects the correct OpenCode binary automatically in GitHub Actions. If you build a local installer manually, run the matching `prepare-opencode-binary.cjs` and `verify-opencode-binary.cjs` commands before packaging.

Regular build verification:

```powershell
cd client
npm run build
```

## 🛠️ Technical Architecture

The current product is an independent desktop client under `client/`. It does not depend on the legacy `frontend/` or `backend/` structure.

- **Desktop**: Electron Main / Preload provides local file access, configuration, export, and background task capabilities.
- **Renderer**: Vite + React + TypeScript, with global CSS and Radix UI primitives.
- **Features**: Technical proposal, knowledge base, duplicate-check workspace, rejection-risk checklist workspace, and settings.
- **Agent Runtimes**: OpenCode Agent and Pi Agent share the text-model configuration, AI proxy, command tools, and one global serial queue.
- **Local Data**: Configuration, workspace data, and generated caches are stored under Electron `userData`.
- **Packaging**: Built for Windows / macOS with electron-builder.

### 🏗️ Project Structure

```
Yibiao Bid Toolbox/
├── client/                    # Current desktop client
│   ├── electron/              # Main, Preload, IPC, and local services
│   ├── src/                   # Renderer source code
│   │   ├── app/               # Routing, menu, and providers
│   │   ├── features/          # Technical proposal, knowledge base, and other modules
│   │   └── shared/            # Shared types, AI helpers, UI, and utilities
│   ├── assets/                # Icons and static assets
│   └── package.json           # Client dependencies and packaging config
├── analytics/                 # Independent analytics service
├── tools/                     # Independent document parsing and MinerU validation tools
└── README.md                  # Chinese README
```

## 🤝 Contributing

Contributions are welcome.

1. **🐛 Bug Reports**: Report bugs in [Issues](https://github.com/yibiaoai/yibiao-simple/issues).
2. **💡 Feature Requests**: Suggest new features and improvements.
3. **🔧 Code Contributions**: Fork the repository and submit a pull request.
4. **📖 Documentation**: Help improve documentation and usage guides.

## 🍉 Acknowledgements

- Thanks to all users for your support and trust.
- Special thanks to friends from <a href="https://linux.do/" rel="nofollow">linuxdo</a> for your support and encouragement.

### 🦞 Non-Developer Contributions

People who provide requirement analysis, technical support, test files, useful feedback, free promotion, and other help for this open-source project may not automatically appear in contributors, but they still deserve to be recorded.

<table>
  <tr>
    <td width="20%" valign="top">

![](https://oss.agnet.top/keep/2026/06/23/20260623104254982.png)
<p align="center">云峰</p>
    </td>
    <td width="20%" valign="top">

![](https://oss.agnet.top/keep/2026/06/23/20260623104442168.png)
<p align="center">Engineer X</p>
    </td>
    <td width="20%" valign="top">

![](https://oss.agnet.top/keep/2026/06/23/20260623104455361.png)
<p align="center">专业标书</p>
    </td>
    <td width="20%" valign="top">

![](https://oss.agnet.top/keep/2026/06/23/20260623104521954.png)
<p align="center">Mr.Erick</p>
    </td>
    <td width="20%" valign="top">

![](https://oss.agnet.top/keep/2026/06/23/20260623104533722.png)
<p align="center">小麦浪的夏天</p>
    </td>
  </tr>
  <tr>
    <td width="20%" valign="top">

![](https://oss.agnet.top/keep/2026/06/23/20260623105024436.png)
<p align="center">韩枫（石化安装培训）</p>
    </td>
    <td width="20%" valign="top">
    
![](https://oss.agnet.top/keep/2026/07/07/20260707150136733.png)
<p align="center">﹏陌路°天涯</p>
    </td>
    <td width="20%" valign="top">
    
![](https://oss.agnet.top/keep/2026/07/08/20260708171203734.png)
<p align="center">刘梦</p>
    </td>
    <td width="20%" valign="top">
    
![](https://oss.agnet.top/keep/2026/07/23/20260723095939267.png)
<p align="center">cc</p>
    </td>
    <td width="20%" valign="top">
    </td>
  </tr>
</table>

## 📄 License

This project is released under the [GNU Affero General Public License v3.0](LICENSE).

You may use, modify, distribute, and commercialize this project, but modified versions, redistributed copies, and network-accessible services must comply with the AGPL-3.0 source-sharing obligations and preserve the [NOTICE](NOTICE) attribution notice, original repository link, and author information.

## 🙋‍♂️ Contact

<table>
  <tr>
    <td width="50%" valign="top">

- **Official Website**: [https://yibiao.pro](https://yibiao.pro)
- **Feedback**: [GitHub Issues](https://github.com/yibiaoai/yibiao-simple/issues)
- **Email**: support@yibiao.pro

    </td>
    <td width="33%" valign="top">
      <p>
        <img src="./screenshots/企业微信.png" alt="WeCom QR code" width="180">
      </p>
    </td>
  </tr>
</table>

## Star History

<a href="https://www.star-history.com/?repos=FB208%2FOpenBidKit_Yibiao&type=timeline&legend=top-left">
 <picture>
   <source media="(prefers-color-scheme: dark)" srcset="assets/star-history/star-history-dark.svg" />
   <source media="(prefers-color-scheme: light)" srcset="assets/star-history/star-history-light.svg" />
   <img alt="Star History Chart" src="assets/star-history/star-history-light.svg" />
 </picture>
</a>

---

<p align="center">
  ⭐ If this project helps you, please give it a Star.
</p>

<p align="center">
  ⭐ This project has been open sourced and self-recommended in the LINUX DO community. We welcome your supervision, feedback, and contributions.
</p>

`AI Proposal Writing` `Bid AI` `AI Bid Generation` `Free Bid Proposal Tool`
