langchain-ceki
LangChain toolkit for Ceki — drive a real Chrome session from your LangChain agent. Structural tools that wrap ceki-sdk.
Install
pip install langchain-ceki
Use
import os
os.environ["CEKI_API_KEY"] = "your_key_here" # or export it
from langchain_ceki import CekiToolkit
from langchain.agents import AgentExecutor, create_tool_calling_agent
toolkit = CekiToolkit(default_rent={"schedule_id": 4242, "mode": "main"})
tools = toolkit.get_tools()
agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools)
try:
result = await executor.ainvoke({
"input": (
"Open https://my-app.example.com, log in with the saved profile, "
"and return the dashboard's headline number."
),
})
print(result["output"])
finally:
await toolkit.aclose() # ALWAYS — leaving sessions open burns credit
Tools
| Tool | What it does |
|---|---|
ceki_rent_browser |
Rent a real Chrome session and return its session_id. Pass it to every other tool. |
ceki_navigate |
Open a URL. |
ceki_click |
Click at viewport coordinates. Mouse jitter ON by default; human=False to teleport. |
ceki_type |
Type text into the focused element. Cadence + jitter ON by default. |
ceki_scroll |
Scroll by delta_y pixels with easing. |
ceki_screenshot |
PNG of the current viewport as base64. |
ceki_snapshot |
Screenshot + drained chat messages from the provider. |
ceki_chat_send |
Send a chat message to the human provider (e.g. ask for a captcha code). |
ceki_stop |
End the session. Always call when done. |
Both sync (tool._run / tool.invoke) and async (tool._arun / tool.ainvoke) paths are supported. The sync path is safe to call from a synchronous LangChain runnable; calling it from inside an already-running event loop raises with a clear hint to switch to ainvoke.
Get an API key at ceki.me.
Use responsibly
Use only on sites you own or have authorization to operate on.
License
MIT.
Metadata
Release files for langchain-ceki 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| langchain_ceki-0.1.0.tar.gz | 6.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| langchain_ceki-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.6 kB
Release files / langchain_ceki-0.1.0.tar.gz
| Download URL | langchain_ceki-0.1.0.tar.gz |
|---|---|
| Size | 6.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cd8a532323e5758f22036db6ab15c5b19decb7f9e73c3d75fecd8772a5c1d6ef
|
|
BLAKE2b-256 checksum How to use checksums |
ab694d05135dea4c4cf8f7d9edb1dd2a7608c6b7ec6d8d4c7510bde7b3f805fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / langchain_ceki-0.1.0-py3-none-any.whl
| Download URL | langchain_ceki-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e935517899452c62ba51020ece2066e53375f21f13c3065816863c0d1714a47e
|
|
BLAKE2b-256 checksum How to use checksums |
e9c03c47c74e7990ab4c549abcaea01a4f895b856f1169135d0a684dd6d83f1f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|