feat: add reasoning content to AI conversation records and update related components (#1530)

Fix #1524 

Root cause

DeepSeek's reasoning models stream reasoning_content alongside content.
Answer ignored it, so follow-up requests failed with 400: The
reasoning_content in the thinking mode must be passed back to the API,
and the thinking text was never shown or saved.

Fix

- Capture reasoning_content from the stream and pass it back to theAPI
on subsequent rounds.
 - Persist it with the conversation (new DB column via migrationv2.0.2).
- Render it in the chat UI as a collapsible "Thinking…/Thoughts"panel
above the answer.

Compatibility

Nullable column, omitempty field, UI hides the panel when empty — old
conversations and non-reasoning models behave exactly as before.

Demo



https://github.com/user-attachments/assets/49b1a2a1-9133-4ac2-bbeb-860215a50285
15 files changed
tree: f683171e4d7357c16d227c23199a9884775b8708
  1. .github/
  2. .vaunt/
  3. .vscode/
  4. build/
  5. charts/
  6. cmd/
  7. configs/
  8. docs/
  9. i18n/
  10. internal/
  11. pkg/
  12. plugin/
  13. script/
  14. ui/
  15. .asf.yaml
  16. .editorconfig
  17. .env.example
  18. .gitignore
  19. .gitlab-ci.yml
  20. .golangci.yaml
  21. .goreleaser.yaml
  22. crowdin.yml
  23. docker-compose.yaml
  24. Dockerfile
  25. go.mod
  26. go.sum
  27. LICENSE
  28. licenserc.toml
  29. Makefile
  30. NOTICE
  31. README.md
README.md

Apache Answer - Build Q&A platform

A Q&A platform software for teams at any scales. Whether it’s a community forum, help center, or knowledge management platform, you can always count on Answer.

To learn more about the project, visit answer.apache.org.

LICENSE Language Language Go Report Card Discord

Screenshots

screenshot

Quick start

Running with docker

docker run -d -p 9080:80 -v answer-data:/data --name answer apache/answer:2.0.1

For more information, see Installation.

Plugins

Answer provides a plugin system for developers to create custom plugins and expand Answer’s features. You can find the plugin documentation here.

We value your feedback and suggestions to improve our documentation. If you have any comments or questions, please feel free to contact us. We’re excited to see what you can create using our plugin system!

You can also check out the plugins here.

Building from Source

Prerequisites

  • Golang >= 1.23
  • Node.js >= 20
  • pnpm >= 9
  • mockgen >= 0.6.0
  • wire >= 0.5.0

Build

# Install wire and mockgen for building. You can run `make check` to check if they are installed.
$ make generate
# Install frontend dependencies and build
$ make ui
# Install backend dependencies and build
$ make build

Contributing

Contributions are always welcome!

See CONTRIBUTING for ways to get started.

License

Apache License 2.0