Commit Graph

133 Commits

Author SHA1 Message Date
TPTBusiness 732361bb90 fix(security): resolve path-injection, B701, B101, B112 Bandit alerts
- Path injection (B614): centralized safe_resolve_path in core/utils.py,
  refactored 6 UI modules to use it with safe_root validation
- B701: added explicit autoescape=select_autoescape() to Jinja2
  Environment() calls in 3 files
- B101: replaced assert statements with proper if/raise patterns in
  12+ files (partial)
- B112: added logger.warning() to bare except:continue blocks in
  5 files
2026-05-01 13:42:59 +02:00
TPTBusiness 23b2518c74 fix(security): resolve path-injection and add nosec for safe temp paths (B108, py/path-injection)
- ds_trace.py: resolve() user-provided save path and use Path.name for filenames
  to prevent directory traversal in the local workspace save UI
- rl/finetune UI data_loaders: nosec B614 where paths are already validated
  against safe_root via realpath() before use
- Temp paths (/tmp/sample, /tmp/full, /tmp/mock/*, /tmp/predix_loop.pid,
  /tmp/autorl_output): nosec B108 — fixed Docker volume mount points or
  single-process admin files, not user-writable attack surface

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 19:26:38 +02:00
TPTBusiness 2126062edf fix(security): nosec for B608/B701 false positives in UI and template code
B608: Bandit flags any f-string containing "select" as potential SQL
injection. All four cases (app.py, ds_trace.py, llm_st.py, merge.py)
are Streamlit UI labels or log messages — not database queries.

B701: Jinja2 autoescape=False warnings in coder.py and utils.py are
false positives — these render Python code and plain-text templates,
not HTML. Enabling autoescape would corrupt the rendered code.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 09:35:09 +02:00
TPTBusiness 30c0a9166e chore: initial Predix state (RD-Agent fork + EURUSD setup) 2026-03-22 21:20:02 +01:00
XianBW 14395488b9 feat: add a web UI server (#1345)
* update rdagent cmd

* fix log error message

* use multiProcessing.Process instead of subprocess.Popen

* add traces to gitignore

* add user interactor in RDLoop (finance scenarios)

* add interactor (feedback, hypothesis) for quant scens

* fix the test_end in qlib conf

* add features init config, general instruction to qlib scenarios

* set base features for based exp

* fix bug when combine factors

* move traces folder to git_ignore_folder

* fix bug in features init

* fix quant interact bug

* fix logger warning error

* bug fixes

* modify rdagent logger, now it can set file output

* adjust cli functions and fix logger bug

* fix server port transport problem

* update server_ui in cli

* add web code

* fix CI problem

* black fix

* update web ui README

* update README

* update readme
2026-03-18 14:04:52 +08:00
Linlang 6196ba31f2 fix: preserve null end_time when rendering dataset segments template (#1326)
* fix: preserve null end_time when rendering dataset segments template

* deps(qlib): bump qlib revision to 2fb9380

* fix: lint error
2026-02-13 10:50:46 +08:00
Linlang 32ecf92afc fix: handle mixed str and dict types in code_list (#1279)
* fix: handle mixed str and dict types in code_list

* fix: handle missing token_costs entry for loop 0 in summarize_win
2025-11-03 21:52:41 +08:00
you-n-g 35a7ae5e1f feat: show the summarized final difference between the final workspace and the base workspace (#1281) 2025-11-03 17:59:46 +08:00
Xu Yang 6e09dc6d69 feat: add user interaction in data science scenario (#1251)
* feat: add interactor classes and user interaction handling for experiments

* update code

* use fragment retry mechanism instead of rerun()

* fix a bug

* integrate user instructions into proposal and coder

* fix CI

* fix CI

* feat: add approval option for user instructions submission

* feat: enhance user instructions handling in Task and DSExperiment classes

* fix CI

* add user instructions into hypothesis rewrite

* add interface to command line

---------

Co-authored-by: Bowen Xian <xianbowen@outlook.com>
2025-09-18 11:10:12 +08:00
XianBW beab473b40 fix: summary page bug (#1219)
* fix summary bug

* fix CI
2025-09-02 17:06:54 +08:00
you-n-g 70fd91cd05 feat: ui, support disable cache (#1217)
* fix: (drop) add cache_enable for functions in ui.utils

* fix: (drop) handle no logging, rename sota_exp to last_sota_exp for clarity in running_win
2025-09-01 15:58:05 +08:00
XianBW 215db05656 chore: ui updates (#1209)
* show a workspace path string for easier copy, only percent existing columns when percent summary dataframe

* catch summary exception

* fix a bug

* fix ci
2025-08-29 15:05:15 +08:00
XianBW 70fdfc89b0 fix ui bug (#1207) 2025-08-28 14:18:58 +08:00
XianBW 3df94e920c chore: refine get_summary_df and sota exp stat in log utils (#1201)
* add best valid selector to get sota exp stat

* remove unused in summary & refine get_summary_df

* fix hypothesis table bug in trace
2025-08-26 18:31:21 +08:00
XianBW 04878f9e70 fix: kaggle competition metric direction (#1195)
* fix leaderboard and competition direction

* ui fix
2025-08-20 16:40:53 +08:00
Tim 3260c0c3ff chore: refine env command (#1193) 2025-08-18 18:16:16 +08:00
XianBW 2f8261f82b fix: ui bug (#1192)
* small bug

* fix ci
2025-08-18 17:48:49 +08:00
XianBW 2c0702a4ac fix ui bugs (#1190) 2025-08-18 10:56:51 +08:00
you-n-g 481e226844 refactor: use UI_SETTING.amlt_path for combined log folder path (#1184) 2025-08-14 21:51:05 +08:00
Tim e0f713c7d3 chore: add merge statistics (#1176)
* chore: add stat for merge
* use best selector
* use trace.hist
2025-08-13 22:59:34 +08:00
XianBW 02069767e1 fix exec_time in summary because of parallel (#1171) 2025-08-08 17:14:02 +08:00
XianBW 6f1a8c63e0 add auto sota selector llm log in trace (#1169) 2025-08-08 16:26:48 +08:00
XianBW 7f90253c4c add parent & root node in trace page (#1164) 2025-08-07 15:02:46 +08:00
XianBW d771b26a26 chore: show timeline and change load_times (#1161)
* show timeline, deperacate old load_times

* fix bug
2025-08-06 18:42:17 +08:00
XianBW c2bde6dcc3 save more time info (#1151) 2025-08-04 17:28:25 +08:00
XianBW c985e34531 change something for ui compatiblity (#1149) 2025-08-04 12:40:35 +08:00
XianBW 52bf46318f chore: overwrite sota exp stat in summary page (#1146)
* overwrite sota exp stat in summary page

* remove unused import
2025-08-01 18:55:26 +08:00
XianBW d0832eb5ff bug fix (#1145) 2025-08-01 18:07:19 +08:00
XianBW 38aa6eb046 use popover instead of expander (#1138) 2025-07-31 18:14:38 +08:00
XianBW 0ccb6e6d56 log time duration when call LLM and show timeout ratio of coding & running in trace UI (#1128) 2025-07-29 17:54:29 +08:00
XianBW 4cee886c80 fix current_selection maybe empty (#1125) 2025-07-29 11:56:59 +08:00
XianBW e19fe4b233 fix find last SOTA diff (#1124) 2025-07-29 10:56:41 +08:00
XianBW 15fa03d415 fix sota_exp is None (#1121) 2025-07-25 11:53:26 +08:00
XianBW 5025448e84 add lite curves figure (#1119) 2025-07-24 20:11:09 +08:00
XianBW 59a2d7f91d fix curve (#1118) 2025-07-24 19:15:01 +08:00
XianBW e92cd99450 chore: some ui features change (#1117)
* add some todos

* fix bug

* fix leaderboard download function

* summary stat fix

* show medal

* show SOTA Loop

* fix CI
2025-07-24 18:50:29 +08:00
Tim 9f7a4280dc chore: show merge loop in figure (#1105) 2025-07-22 17:02:56 +08:00
Tim 1f142cc5d8 chore: update figure (#1102)
* chore: update figure

* add record id
2025-07-21 18:53:07 +08:00
XianBW c326aa52b9 chore: add response format in chatbot (#1099)
* add response format in chatbot

* fix CI
2025-07-21 12:19:05 +08:00
you-n-g 810af369e0 feat: add loop ID mapping to trace nodes and update UI labels (#1098)
* Add loop index

* feat: add loop ID mapping to trace nodes and update UI labels

* lint

* doc lint
2025-07-21 11:02:37 +08:00
XianBW 3b57264d2c fix ui bugs (#1090) 2025-07-18 16:01:39 +08:00
XianBW 221fea1e15 chore: add a simple chatbot in LLM_LOG window in DataScience UI (#1088)
* refine time show

* updates

* add chatbot in llm_log_win

* use newest litellm
2025-07-17 19:29:25 +08:00
you-n-g 5496168d07 feat: add enable_cache toggle for UI data caching (#1075) 2025-07-15 22:26:06 +08:00
XianBW 38aff84ed2 fix: filter log folders bug in ui (#1073)
* fix bug

* fix ci
2025-07-15 18:11:48 +08:00
you-n-g 6fdf63370f feat: add only success filter toggle for traces (#1047) 2025-07-10 12:35:03 +08:00
Yuante Li c03a519cbc fix: fix a bug in return curve display (#1042)
* fix a bug in return curve display

* fix ci
2025-07-09 15:53:03 +08:00
XianBW e1d6dc2dec chore: show llm filter calls info, remove redundant remove_timestamp param in Env (#1040)
* show llm calls info

* remove `remove_timestamp` param in Env

* use cache default
2025-07-09 14:20:33 +08:00
XianBW 3f9c1afea8 ui updates (#1033) 2025-07-08 18:20:27 +08:00
Yuante Li f2cb3ce909 fix: fix some bugs in quant scen (#1026)
* fix some  bugs

* fix ci

* fix

* refine

* fix ci
2025-07-07 19:21:05 +08:00
Tim f59e7bd486 chore: sort trace by loop_id (#977)
* last as sota to submit

* chore: sort trace by loop_id

* Update rdagent/log/ui/utils.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* reformat

* update _log_path_hash_func

* compare sota_exp_to_submit

* fix ui storage

* move sota_exp_to_submit setting to record(from direct_exp_gen)

* save sota_exp_to_submit

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Bowen Xian <xianbowen@outlook.com>
2025-07-07 17:08:55 +08:00