Skip to content

Adding OpenClaw agent - #428

Closed
ChathurangiShyalika wants to merge 833 commits into
mainfrom
openclaw_agent
Closed

Adding OpenClaw agent#428
ChathurangiShyalika wants to merge 833 commits into
mainfrom
openclaw_agent

Conversation

@ChathurangiShyalika

Copy link
Copy Markdown
Collaborator

Adding OpenClaw agent [Under development]

ShuxinLin and others added 30 commits April 6, 2026 16:54
Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
Add output field to ToolCall and register a PostToolUse hook so the
MCP server response is attached to each ToolCall in the trajectory.
Tool outputs are flushed onto the previous turn's calls when the next
AssistantMessage or ResultMessage arrives.

Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
The SDK passes tool_response as a plain string, not a nested dict.
The hook now handles both string and dict responses gracefully.

Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
feat: add ClaudeAgentRunner using claude-agent-sdk
chore(deps): update actions/stale action to v10
Use ThreadPoolExecutor to issue all (failure_mode, sensor) LLM calls
concurrently instead of sequentially, reducing wall-clock time for
large mapping requests.

Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
Versions 1.82.7 and 1.82.8 contain malicious code that exfiltrates
credentials. Pin to the known-good resolved version in both
pyproject.toml and benchmark/basic_requirements.txt.

Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
- IoT: cache asset list and sensor-per-asset lists after first CouchDB fetch
- WO: cache dataset DataFrames after first load to avoid per-tool-call queries
- TSFM: cache model config.json reads; read dataset once in integrated TSAD
  instead of re-reading per target column
- FMSR: cache LLM failure-mode results to avoid duplicate calls for same asset

Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
Add human-readable title to every @mcp.tool() decorator across all six
servers (iot, fmsr, tsfm, utilities, wo, vibration) per MCP spec
recommendation from issue #197.

Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
Add server-level instructions string to each FastMCP constructor so
MCP clients understand the purpose of each server before inspecting
individual tools.

Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
feat: optimize MCP servers with caching and metadata
Legacy code preserved on archive/legacy-tmp branch for reference.
Removes experimental agents, sample data, and deprecated utilities
from main branch to reduce clutter.

Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
chore: archive and remove legacy src/tmp/
New OpenAIAgentRunner under src/agent/openai_agent/ that uses the
openai-agents SDK to orchestrate tool calls against existing MCP servers.

- runner.py: OpenAIAgentRunner subclass with MCPServerStdio integration
- models.py: Trajectory, TurnRecord, ToolCall dataclasses
- cli.py: openai-agent CLI entry point with --show-trajectory, --json
- tests/: 15 unit tests covering trajectory building and runner mocking

Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
Document the new openai-agent CLI, Python API, environment variables,
and architecture diagram alongside the existing plan-execute and
claude-agent runners.

Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
This reverts commit 9b88fcb.

Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
Route through a LiteLLM proxy with --model-id litellm_proxy/<model>.
Uses AsyncOpenAI client + OpenAIChatCompletionsModel + ModelProvider,
mirroring the claude-agent pattern. Requires LITELLM_BASE_URL and
LITELLM_API_KEY when using the litellm_proxy/ prefix.

Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
Document the openai-agent CLI, Python API, LiteLLM proxy support,
environment variables, and architecture diagram.

Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
The openai-agent runner always routes through LiteLLM proxy. Default
model changed to litellm_proxy/azure/gpt-5.4. Removed all references
to direct OpenAI API usage and OPENAI_API_KEY.

Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
Keep only "How it works" and "CLI" for each agent, add a shared
"Example queries" section with $query shell variable, and drop the
"Connect to Claude Desktop" section.

Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
…257)

Match the convention set by the openai-agent refactor in d25d657.

Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
feat: add OpenAI Agents SDK agent runner
issue #263

Signed-off-by: John D Sheehan <john.d.sheehan@ie.ibm.com>
switch back to mlflow.langchain.autolog in aobench/scenario-client
Integrates LangChain's deep-agents framework as a third agentic-loop
backend alongside ClaudeAgentRunner and OpenAIAgentRunner. MCP servers
are bridged to LangChain tools via langchain-mcp-adapters, and LLM calls
route through the LiteLLM proxy by default.

New `deep-agent` CLI entry point mirrors the existing agent CLIs.

Closes #266

Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
feat: add DeepAgentRunner (LangChain deep-agents)
Adds opt-in OpenTelemetry tracing so each agent run emits a single
correlated trace spanning the agent graph, every LLM call, and the
LiteLLM proxy.

- src/observability/ package exposes init_tracing() + agent_run_span()
  helpers; no-op when OTEL env not configured.
- All four runners (plan-execute, claude-agent, openai-agent, deep-agent)
  wrap run() in a root span with gen_ai.* semconv attributes and
  trajectory-derived usage totals.
- httpx auto-instrumentation propagates traceparent to the LiteLLM proxy
  so its spans nest under the agent trace.
- Tests use InMemorySpanExporter; no collector required.

Closes #270

Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
The three SDK runners (claude-agent, openai-agent, deep-agent) each
shipped byte-identical Trajectory/TurnRecord/ToolCall dataclasses and
their own _resolve_model / _LITELLM_PREFIX helpers.  Consolidates into:

- src/agent/models.py: canonical ToolCall, TurnRecord, Trajectory
  alongside the existing AgentResult.
- src/agent/_litellm.py: shared LITELLM_PREFIX + resolve_model().
- Removed src/agent/{claude,openai,deep}_agent/models.py.
- Collapsed six duplicated per-runner _resolve_model tests into one
  parametrized suite at src/agent/tests/test_litellm.py.

Net -110 lines, no behaviour change.

Signed-off-by: Shuxin Lin <linshuhsin@gmail.com>
DhavalRepo18 and others added 26 commits June 23, 2026 18:58
Signed-off-by: Dhaval Patel <pateldha@us.ibm.com>
Adding asset profile sample for pump
Signed-off-by: Chathurangi Shyalika <chathurangishyalika@Chathurangis-MacBook-Pro.local>
 Updating iot agent tools to filter assets and add description
Signed-off-by: Chathurangi Shyalika <chathurangishyalika@Chathurangis-MacBook-Pro.local>
Add OpenCode CLI-backed agent runner for AssetOpsBench
…de-agent.md

Signed-off-by: Chathurangi Shyalika <chathurangishyalika@Chathurangis-MacBook-Pro.local>
Updating INSTRUCTIONS.md and adding docs/opencode-agent.md
Signed-off-by: Chathurangi Shyalika <chathurangishyalika@Chathurangis-MacBook-Pro.local>
Signed-off-by: Chathurangi Shyalika <chathurangishyalika@Chathurangis-MacBook-Pro.local>
Adding OpenCode agent default mode and CLI workspace mode
Signed-off-by: Chathurangi Shyalika <chathurangishyalika@Chathurangis-MacBook-Pro.local>
Signed-off-by: Chathurangi Shyalika <chathurangishyalika@Chathurangis-MacBook-Pro.local>
Strip <think> blocks before evaluation
Add Samyama KG (Agent+Graph @ VLDB 2026) to University Projects & Extensions
Signed-off-by: Chathurangi Shyalika <chathurangishyalika@Chathurangis-MacBook-Pro.local>
Fix OpenCode token accounting in evaluation reports.
Signed-off-by: Chathurangi Shyalika <chathurangishyalika@Chathurangis-MacBook-Pro.local>
Signed-off-by: Dhaval Patel <pateldha@us.ibm.com>
Signed-off-by: Chathurangi Shyalika <chathurangishyalika@Chathurangis-MacBook-Pro.local>
Signed-off-by: Chathurangi Shyalika <chathurangishyalika@Chathurangis-MacBook-Pro.local>
Signed-off-by: Chathurangi Shyalika <chathurangishyalika@Chathurangis-MacBook-Pro.local>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.