Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
1047e7f
feat: add discord&wechat info (#21)
hetaoBackend Mar 18, 2025
95e7382
feat: support Azure LLM & update Makefile (#24)
Misakar-0v0 Mar 18, 2025
f02e3c5
chore: update readme (#30)
hao-cyber Mar 18, 2025
e3b6777
fix: fix typo when parsing search results (#31)
emon100 Mar 18, 2025
b983000
feat: support deepseek-chat model (#29)
hetaoBackend Mar 18, 2025
b1eea65
chore(deploy): add github workflow for lint check (#36)
XingLiu0923 Mar 19, 2025
845d0e5
fix: adjust reload behavior for Windows in server script (#34)
FHBOL Mar 19, 2025
a4360d1
feat: add LiteLLM backed wider LLM support (#27)
lxdlam Mar 19, 2025
de87910
docs: add `Project Statement` (#39)
MagicCube Mar 19, 2025
805b1a3
doc: refine the quickstart part (#41)
hetaoBackend Mar 19, 2025
d48b59e
fix: update browser-use dependency version to 0.1.30 (#35)
FHBOL Mar 19, 2025
e972fb9
fix: rollback to 0.1.0 browser-use due to pkg conflicts (#42)
hetaoBackend Mar 19, 2025
cf41f65
fix: refine planner prompt to avoid unnecessary researcher (#43)
hetaoBackend Mar 19, 2025
8fa8f08
feat: add Chrome browser proxy and headless options, Docker support (…
Mereithhh Mar 19, 2025
3e94a06
feat: add final session state event (#50)
hetaoBackend Mar 19, 2025
212d2ba
chore(docker): add docker build workflow and push to ghcr.io (#52)
Mereithhh Mar 19, 2025
ad0f0d1
feat: refine the messages history format logic (#54)
hetaoBackend Mar 19, 2025
93d454c
feat(gif): store browser use gif and add api to get it (#51)
XingLiu0923 Mar 19, 2025
f472ed9
feat: Add JSON repair functionality to handle invalid JSON outputs (#53)
hao-cyber Mar 19, 2025
db52bc1
feat: env update (#57)
hao-cyber Mar 19, 2025
1af753c
chore: improve Windows compatibility (#60)
hao-cyber Mar 20, 2025
e067344
fix: fix python tool error case (#67)
hetaoBackend Mar 20, 2025
5f5aa6f
fix: handle malformed response from Tavily search in planner_node (#71)
wuwen1030 Mar 20, 2025
ff12e48
Plan should be a list of steps (#70)
laughxing Mar 20, 2025
a8b43f3
fix: fix ollama support to address json_object unsupported error (#72)
hetaoBackend Mar 20, 2025
cc61912
doc: stress tavily api key is required (#74)
hetaoBackend Mar 20, 2025
5f65ea6
更新微信群二维码
MaoTouHU Mar 20, 2025
a82522a
fix: fix litellm determination logic (#78)
hetaoBackend Mar 20, 2025
0dd753a
Add `Star History`
MagicCube Mar 20, 2025
f175d1b
Add `Star History`
MagicCube Mar 20, 2025
f9991fb
Merge branch 'langmanus:main' into main
MaoTouHU Mar 21, 2025
b430672
docs: add FAQ and Issue Template (#84)
MagicCube Mar 21, 2025
864fccc
feat: add model support section in faq (#85)
hetaoBackend Mar 21, 2025
b1742a7
feat: use jinjia2 to manage prompt (#88)
hetaoBackend Mar 21, 2025
40f759e
fix: terminate browser once sse stop (#89)
hetaoBackend Mar 21, 2025
0544570
docs: add new README_ja.md (#87)
eltociear Mar 21, 2025
ffc6737
feat: support custom team member (#95)
hetaoBackend Mar 21, 2025
ec1fd84
chore: delete video file (#99)
MagicCube Mar 21, 2025
71f84d3
Update README_zh.md
MagicCube Mar 21, 2025
b8e7fd9
Remove video download link.
MagicCube Mar 21, 2025
1c23042
Remove video download link.
MagicCube Mar 21, 2025
d28a47c
docs: add media links from 3rd parties
MagicCube Mar 21, 2025
da4068d
docs: add description for demo video
MagicCube Mar 21, 2025
bd8434d
docs: add description for demo video
MagicCube Mar 21, 2025
5028647
doc: refine readme (#102)
hetaoBackend Mar 21, 2025
808b924
Update agents.py :Use factory methods to simplify the creation proce…
TIZZYONE Mar 22, 2025
c25a380
feat(docker): add docker-compose to include both frontend and backend…
XingLiu0923 Mar 22, 2025
f89bd13
fix: fix workflow events (#109)
hetaoBackend Mar 22, 2025
e6d59a9
Add desc_for_llm to Team Member Configuration (#108)
anxsec Mar 23, 2025
4456c24
feat: Support Litellm format configuration to integrate all types of …
Misakar-0v0 Mar 23, 2025
646c3e0
feat: ChatLiteLLMV2 missing function (#103)
jgabriellima Mar 23, 2025
60c91d8
fix: fix litellm v2 for function calls (#113)
hetaoBackend Mar 23, 2025
d8030e4
fix: fix litellm params (#115)
hetaoBackend Mar 23, 2025
53819ce
feat: bash_tool add timeout 120s (#110)
TIZZYONE Mar 23, 2025
08538dd
Merge branch 'langmanus:main' into main
MaoTouHU Mar 24, 2025
31d8550
更新微信群
MaoTouHU Mar 28, 2025
05fd28a
Delete assets/WechatIMG71.jpg
MaoTouHU Mar 28, 2025
08813eb
Delete assets/wechat_community.jpg
MaoTouHU Mar 28, 2025
963e45a
update WeChat
MaoTouHU Mar 28, 2025
f212737
Update README.md
MaoTouHU Mar 28, 2025
d80c65c
Update README.md
MaoTouHU Mar 29, 2025
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
26 changes: 9 additions & 17 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,24 +1,16 @@
# LLM Environment variables

# Reasoning LLM (for complex reasoning tasks)
REASONING_API_KEY=sk-xxx
REASONING_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
REASONING_MODEL=qwq-plus

# Non-reasoning LLM (for straightforward tasks)
BASIC_API_KEY=sk-xxx
BASIC_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
BASIC_MODEL=qwen-max-latest

# Vision-language LLM (for tasks requiring visual understanding)
VL_API_KEY=sk-xxx
VL_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
VL_MODEL=qwen2.5-vl-72b-instruct

# Application Settings
DEBUG=True
APP_ENV=development

# Add other environment variables as needed
TAVILY_API_KEY=tvly-xxx
# JINA_API_KEY=jina_xxx # Optional, default is None

# CHROME_INSTANCE_PATH=/Applications/Google Chrome.app/Contents/MacOS/Google Chrome
# CHROME_HEADLESS=False # Optional, default is False
# CHROME_PROXY_SERVER=http://127.0.0.1:10809 # Optional, default is None
# CHROME_PROXY_USERNAME= # Optional, default is None
# CHROME_PROXY_PASSWORD= # Optional, default is None

# turn off for collecting anonymous usage information
ANONYMIZED_TELEMETRY=false
34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
name: Bug Report
about: Report a bug to help us improve LangManus
title: ''
labels: bug

---

Thank you for your support and contribution to LangManus!

**Describe the Bug**
A clear and concise description of the issue.

**Steps to Reproduce**
Please provide detailed steps to reproduce the issue:
1. What actions did you take?
2. What was the expected behavior?
3. What actually happened?

**Environment Information**
Please provide the following details:
- Operating System and Version: [e.g., Windows 10, macOS Ventura, Ubuntu 22.04]
- Python Version: 3.12.7

**Checklist**
Before submitting this issue, please confirm the following:
- [ ] I have read the `README.md` file thoroughly.
- [ ] I have reviewed the `docs/faq.md` file and confirmed that this issue is not already addressed there.

**Screenshots or Logs**
If applicable, please attach screenshots or logs to help us understand the issue.

**Additional Context**
Add any other context or information about the problem here.
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: Feature Request
about: Suggest an idea or improvement for LangManus
title: ''
labels: enhancement

---

Thank you for your support and contribution to LangManus!

**Is your feature request related to a problem? Please describe.**
A clear and concise description of the problem or limitation. For example: "I'm always frustrated when [...]"

**Describe the solution you'd like**
A clear and concise description of the feature or improvement you would like to see.

**Describe alternatives you've considered**
If applicable, provide details of any alternative solutions or features you've considered.

**Additional Context**
Add any other context, screenshots, or examples to help explain your request.

**Checklist**
Before submitting this feature request, please confirm the following:
- [ ] I have checked the existing issues and feature requests to ensure this is not a duplicate.
- [ ] I have reviewed the `README.md` and `docs/faq.md` to ensure this feature is not already supported or addressed.
56 changes: 56 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Build and Push Docker Images

on:
push:
branches: [ main ]
tags: [ 'v*' ]
pull_request:
branches: [ main ]

jobs:
build-and-push:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: ghcr.io/${{ github.repository }}
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=sha,format=short

- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
platforms: linux/amd64,linux/arm64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
28 changes: 28 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Lint Check

on:
push:
branches: [ 'main' ]
pull_request:
branches: [ '*' ]

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Install the latest version of uv
uses: astral-sh/setup-uv@v5
with:
version: "latest"

- name: Install dependencies
run: |
uv venv --python 3.12
uv pip install -e ".[dev]"

- name: Run linters
run: |
source .venv/bin/activate
make lint
29 changes: 29 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Test Cases Check

on:
push:
branches: [ 'main' ]
pull_request:
branches: [ '*' ]

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Install the latest version of uv
uses: astral-sh/setup-uv@v5
with:
version: "latest"

- name: Install dependencies
run: |
uv venv --python 3.12
uv pip install -e ".[dev]"
uv pip install -e ".[test]"

- name: Run test cases
run: |
source .venv/bin/activate
OPENAI_API_KEY=mock-key DEEPSEEK_API_KEY=mock-key TAVILY_API_KEY=mock-key make test
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,15 @@ wheels/
*.egg-info
.coverage
agent_history.gif
static/browser_history/*.gif

# Virtual environments
.venv

# Environment variables
.env

# user conf
conf.yaml

.idea/
13 changes: 12 additions & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,23 @@
"name": "Python: llm.py",
"type": "debugpy",
"request": "launch",
"program": "${workspaceFolder}/src/agents/llm.py",
"program": "${workspaceFolder}/src/llms/llm.py",
"console": "integratedTerminal",
"justMyCode": true,
"env": {
"PYTHONPATH": "${workspaceFolder}"
}
},
{
"name": "Python: browser.py",
"type": "debugpy",
"request": "launch",
"program": "${workspaceFolder}/src/tools/browser.py",
"console": "integratedTerminal",
"justMyCode": false,
"env": {
"PYTHONPATH": "${workspaceFolder}"
}
}
]
}
5 changes: 2 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,8 @@ There are many ways you can contribute to LangManus:
```
3. Set up your development environment:
```bash
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv sync
uv sync --all-extras
uv run playwright install
```
4. Configure pre-commit hooks:
```bash
Expand Down
14 changes: 14 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
FROM ghcr.io/astral-sh/uv:python3.12-bookworm
WORKDIR /app
ENV CHROME_HEADLESS=True
COPY pyproject.toml uv.lock /app/

RUN touch README.md
RUN uv sync

RUN uv run playwright install chromium --only-shell --with-deps

COPY . /app

CMD ["uv", "run", "python", "server.py"]

10 changes: 8 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.PHONY: lint format install-dev serve
.PHONY: lint format install-dev serve test coverage

install-dev:
pip install -e ".[dev]"
uv pip install -e ".[dev]" && uv pip install -e ".[test]"

format:
black --preview .
Expand All @@ -11,3 +11,9 @@ lint:

serve:
uv run server.py

test:
uv run pytest tests/

coverage:
uv run pytest --cov=src tests/ --cov-report=term-missing
Loading