codex-partner 0.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- codex_partner-0.0.1/PKG-INFO +101 -0
- codex_partner-0.0.1/README.md +76 -0
- codex_partner-0.0.1/app.py +5530 -0
- codex_partner-0.0.1/codex_partner/__init__.py +4 -0
- codex_partner-0.0.1/codex_partner/__main__.py +6 -0
- codex_partner-0.0.1/codex_partner/app_server.py +150 -0
- codex_partner-0.0.1/codex_partner/cli.py +35 -0
- codex_partner-0.0.1/codex_partner/commands.py +77 -0
- codex_partner-0.0.1/codex_partner/database.py +206 -0
- codex_partner-0.0.1/codex_partner/discovery.py +136 -0
- codex_partner-0.0.1/codex_partner/schemas.py +133 -0
- codex_partner-0.0.1/codex_partner.egg-info/PKG-INFO +101 -0
- codex_partner-0.0.1/codex_partner.egg-info/SOURCES.txt +248 -0
- codex_partner-0.0.1/codex_partner.egg-info/dependency_links.txt +1 -0
- codex_partner-0.0.1/codex_partner.egg-info/entry_points.txt +2 -0
- codex_partner-0.0.1/codex_partner.egg-info/requires.txt +11 -0
- codex_partner-0.0.1/codex_partner.egg-info/top_level.txt +3 -0
- codex_partner-0.0.1/pyproject.toml +47 -0
- codex_partner-0.0.1/setup.cfg +4 -0
- codex_partner-0.0.1/static/__init__.py +1 -0
- codex_partner-0.0.1/static/app.js +505 -0
- codex_partner-0.0.1/static/chat-worker.js +157 -0
- codex_partner-0.0.1/static/conversation.js +894 -0
- codex_partner-0.0.1/static/core.js +880 -0
- codex_partner-0.0.1/static/editor.js +142 -0
- codex_partner-0.0.1/static/index.html +71 -0
- codex_partner-0.0.1/static/mascot-dance.css +100 -0
- codex_partner-0.0.1/static/mascot-dance.js +46 -0
- codex_partner-0.0.1/static/settings.js +335 -0
- codex_partner-0.0.1/static/styles.css +690 -0
- codex_partner-0.0.1/static/vendor/ace/LICENSE +24 -0
- codex_partner-0.0.1/static/vendor/ace/ace.js +23 -0
- codex_partner-0.0.1/static/vendor/ace/ext-modelist.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-abap.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-abc.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-actionscript.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-ada.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-alda.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-apache_conf.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-apex.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-applescript.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-aql.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-asciidoc.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-asl.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-assembly_arm32.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-assembly_x86.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-astro.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-autohotkey.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-basic.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-batchfile.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-bibtex.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-c9search.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-c_cpp.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-cedar.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-cedarschema.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-cirru.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-clojure.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-clue.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-cobol.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-coffee.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-coldfusion.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-crystal.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-csharp.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-csound_document.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-csound_orchestra.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-csound_score.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-csp.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-css.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-csv.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-curly.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-cuttlefish.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-d.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-dart.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-diff.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-django.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-dockerfile.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-dot.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-drools.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-edifact.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-eiffel.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-ejs.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-elixir.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-elm.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-erlang.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-flix.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-forth.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-fortran.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-fsharp.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-fsl.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-ftl.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-gcode.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-gherkin.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-gitignore.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-glsl.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-gobstones.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-golang.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-graphqlschema.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-groovy.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-groq.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-haml.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-handlebars.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-haskell.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-haskell_cabal.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-haxe.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-hjson.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-html.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-html_elixir.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-html_ruby.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-ini.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-io.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-ion.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-jack.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-jade.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-java.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-javascript.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-jexl.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-json.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-json5.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-jsoniq.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-jsp.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-jssm.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-jsx.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-julia.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-kotlin.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-latex.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-latte.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-less.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-liquid.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-lisp.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-livescript.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-logiql.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-logtalk.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-lsl.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-lua.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-luapage.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-lucene.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-makefile.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-mariadb.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-markdown.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-mask.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-matlab.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-maze.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-mediawiki.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-mel.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-mips.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-mixal.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-mushcode.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-mysql.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-nasal.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-nginx.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-nim.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-nix.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-nsis.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-nunjucks.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-objectivec.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-ocaml.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-odin.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-partiql.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-pascal.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-perl.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-pgsql.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-php.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-php_laravel_blade.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-pig.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-plain_text.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-plsql.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-powershell.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-praat.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-prisma.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-prolog.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-properties.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-protobuf.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-prql.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-puppet.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-python.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-qml.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-r.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-raku.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-razor.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-rdoc.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-red.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-redshift.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-rhtml.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-robot.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-rst.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-ruby.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-rust.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-sac.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-sass.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-scad.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-scala.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-scheme.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-scrypt.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-scss.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-sh.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-sjs.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-slim.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-smarty.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-smithy.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-snippets.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-soy_template.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-space.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-sparql.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-sql.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-sqlserver.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-stylus.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-svg.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-swift.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-tcl.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-terraform.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-tex.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-text.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-textile.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-toml.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-tsv.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-tsx.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-turtle.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-twig.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-typescript.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-vala.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-vbscript.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-velocity.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-verilog.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-vhdl.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-visualforce.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-vue.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-wollok.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-xml.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-xquery.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-yaml.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-zeek.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/mode-zig.js +8 -0
- codex_partner-0.0.1/static/vendor/ace/theme-tomorrow_night_eighties.js +8 -0
- codex_partner-0.0.1/static/vendor/i18next/LICENSE +21 -0
- codex_partner-0.0.1/static/vendor/i18next/i18next.min.js +1 -0
- codex_partner-0.0.1/static/vendor/toastui-editor/LICENSE +21 -0
- codex_partner-0.0.1/static/vendor/toastui-editor/toastui-editor-dark.css +474 -0
- codex_partner-0.0.1/static/vendor/toastui-editor/toastui-editor.css +1597 -0
- codex_partner-0.0.1/static/vendor/toastui-editor/toastui-editor.js +24 -0
- codex_partner-0.0.1/static/vendor/toastui-editor/zh-cn.js +7 -0
- codex_partner-0.0.1/static/vendor/xterm/LICENSE +21 -0
- codex_partner-0.0.1/static/vendor/xterm/addons/fit.LICENSE +19 -0
- codex_partner-0.0.1/static/vendor/xterm/addons/fit.js +2 -0
- codex_partner-0.0.1/static/vendor/xterm/addons/unicode11.LICENSE +19 -0
- codex_partner-0.0.1/static/vendor/xterm/addons/unicode11.js +2 -0
- codex_partner-0.0.1/static/vendor/xterm/addons/web-links.LICENSE +19 -0
- codex_partner-0.0.1/static/vendor/xterm/addons/web-links.js +2 -0
- codex_partner-0.0.1/static/vendor/xterm/xterm.css +285 -0
- codex_partner-0.0.1/static/vendor/xterm/xterm.js +2 -0
- codex_partner-0.0.1/tests/test_running_state.py +1353 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: codex-partner
|
|
3
|
+
Version: 0.0.1
|
|
4
|
+
Summary: A self-hosted web interface for managing persistent Codex tasks.
|
|
5
|
+
Project-URL: Homepage, https://github.com/froststeam/Codex-Partner
|
|
6
|
+
Project-URL: Repository, https://github.com/froststeam/Codex-Partner.git
|
|
7
|
+
Project-URL: Issues, https://github.com/froststeam/Codex-Partner/issues
|
|
8
|
+
Keywords: codex,agent,task-management,self-hosted
|
|
9
|
+
Classifier: Development Status :: 3 - Alpha
|
|
10
|
+
Classifier: Environment :: Web Environment
|
|
11
|
+
Classifier: Framework :: FastAPI
|
|
12
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
15
|
+
Classifier: Topic :: Software Development :: User Interfaces
|
|
16
|
+
Requires-Python: >=3.10
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
Requires-Dist: fastapi>=0.110
|
|
19
|
+
Requires-Dist: uvicorn[standard]>=0.27
|
|
20
|
+
Requires-Dist: tomli>=2.0; python_version < "3.11"
|
|
21
|
+
Requires-Dist: PyYAML>=6.0
|
|
22
|
+
Requires-Dist: pexpect>=4.8; platform_system != "Windows"
|
|
23
|
+
Requires-Dist: python-dotenv>=1.0
|
|
24
|
+
Requires-Dist: Pillow>=10.0
|
|
25
|
+
|
|
26
|
+
# Codex Partner
|
|
27
|
+
|
|
28
|
+
Codex Partner is a self-hosted control panel for long-running Codex work. It keeps one native Codex thread alive and lets terminals, browsers, and multiple devices interact with the same task.
|
|
29
|
+
|
|
30
|
+

|
|
31
|
+
|
|
32
|
+
## Why
|
|
33
|
+
|
|
34
|
+
- **Long tasks stop too early.** Persistent Goals can resume after a failed turn, disconnect, or service restart until the objective is complete.
|
|
35
|
+
- **Multiple clients split the session.** Every connected browser is a view of the same server-owned Codex thread, not a competing `resume` process.
|
|
36
|
+
- **Messages collide with active work.** New messages wait in a durable queue and enter the conversation only when their turn actually starts.
|
|
37
|
+
|
|
38
|
+
## Highlights
|
|
39
|
+
|
|
40
|
+
- Live task state, tool activity, context usage, and paginated history
|
|
41
|
+
- Goal Resume with pause, retry, and restart recovery
|
|
42
|
+
- Ordered message queue with manual dispatch
|
|
43
|
+
- Workspace browser, editor, uploads, downloads, and image previews
|
|
44
|
+
- Browser terminal that preserves its session when hidden
|
|
45
|
+
- Model and API provider management with health checks and failover
|
|
46
|
+
- Codex memories, Skills, archive, recycle bin, and SSH workspace support
|
|
47
|
+
- Default YOLO mode for newly created sessions
|
|
48
|
+
|
|
49
|
+
## Install
|
|
50
|
+
|
|
51
|
+
Requires Python 3.10+ and an authenticated [Codex CLI](https://github.com/openai/codex).
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
git clone git@github.com:froststeam/Codex-Partner.git
|
|
55
|
+
cd Codex-Partner
|
|
56
|
+
python3 -m venv .venv
|
|
57
|
+
. .venv/bin/activate
|
|
58
|
+
pip install .
|
|
59
|
+
cp .env.example .env
|
|
60
|
+
codex-partner
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Open <http://127.0.0.1:8787>.
|
|
64
|
+
|
|
65
|
+
For access from other devices, set `CODEX_DASHBOARD_HOST=0.0.0.0` and a strong `CODEX_DASHBOARD_TOKEN` in `.env`.
|
|
66
|
+
|
|
67
|
+
## Docker
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
docker build -t codex-partner:0.0.1 .
|
|
71
|
+
docker run -d --name codex-partner \
|
|
72
|
+
-p 8787:8787 \
|
|
73
|
+
-e CODEX_DASHBOARD_TOKEN=replace-with-a-strong-random-token \
|
|
74
|
+
-v codex-partner-data:/var/lib/codex-partner \
|
|
75
|
+
-v codex-home:/home/codex/.codex \
|
|
76
|
+
-v codex-workspace:/workspace \
|
|
77
|
+
codex-partner:0.0.1
|
|
78
|
+
docker exec -it codex-partner codex login
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## systemd
|
|
82
|
+
|
|
83
|
+
After completing the installation above, stop the foreground process and install the user service:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
mkdir -p ~/.config/systemd/user
|
|
87
|
+
cp codex-partner.user.service.example ~/.config/systemd/user/codex-partner.service
|
|
88
|
+
systemctl --user daemon-reload
|
|
89
|
+
systemctl --user enable --now codex-partner.service
|
|
90
|
+
systemctl --user status codex-partner.service
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
This service uses the current user's existing Codex login, configuration, memories, and Skills. The example assumes the repository is at `~/Codex-Partner`; edit the two paths in the unit if it is elsewhere.
|
|
94
|
+
|
|
95
|
+
View logs with `journalctl --user -u codex-partner.service -f`. To keep it running after logout, run `sudo loginctl enable-linger "$USER"` once.
|
|
96
|
+
|
|
97
|
+
## Use
|
|
98
|
+
|
|
99
|
+
Create a session, choose a workspace and model, then send a message. Messages sent during an active turn queue automatically. Set a Goal to let Codex Partner keep resuming unfinished work. Reopen the same session from any connected device to continue the same thread.
|
|
100
|
+
|
|
101
|
+
Type `/help` in the message input for commands. Press `` ` `` to toggle the terminal, `Shift+N` / `Shift+P` to switch sessions, and `Ctrl/Cmd+K` to focus the composer.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Codex Partner
|
|
2
|
+
|
|
3
|
+
Codex Partner is a self-hosted control panel for long-running Codex work. It keeps one native Codex thread alive and lets terminals, browsers, and multiple devices interact with the same task.
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
## Why
|
|
8
|
+
|
|
9
|
+
- **Long tasks stop too early.** Persistent Goals can resume after a failed turn, disconnect, or service restart until the objective is complete.
|
|
10
|
+
- **Multiple clients split the session.** Every connected browser is a view of the same server-owned Codex thread, not a competing `resume` process.
|
|
11
|
+
- **Messages collide with active work.** New messages wait in a durable queue and enter the conversation only when their turn actually starts.
|
|
12
|
+
|
|
13
|
+
## Highlights
|
|
14
|
+
|
|
15
|
+
- Live task state, tool activity, context usage, and paginated history
|
|
16
|
+
- Goal Resume with pause, retry, and restart recovery
|
|
17
|
+
- Ordered message queue with manual dispatch
|
|
18
|
+
- Workspace browser, editor, uploads, downloads, and image previews
|
|
19
|
+
- Browser terminal that preserves its session when hidden
|
|
20
|
+
- Model and API provider management with health checks and failover
|
|
21
|
+
- Codex memories, Skills, archive, recycle bin, and SSH workspace support
|
|
22
|
+
- Default YOLO mode for newly created sessions
|
|
23
|
+
|
|
24
|
+
## Install
|
|
25
|
+
|
|
26
|
+
Requires Python 3.10+ and an authenticated [Codex CLI](https://github.com/openai/codex).
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
git clone git@github.com:froststeam/Codex-Partner.git
|
|
30
|
+
cd Codex-Partner
|
|
31
|
+
python3 -m venv .venv
|
|
32
|
+
. .venv/bin/activate
|
|
33
|
+
pip install .
|
|
34
|
+
cp .env.example .env
|
|
35
|
+
codex-partner
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Open <http://127.0.0.1:8787>.
|
|
39
|
+
|
|
40
|
+
For access from other devices, set `CODEX_DASHBOARD_HOST=0.0.0.0` and a strong `CODEX_DASHBOARD_TOKEN` in `.env`.
|
|
41
|
+
|
|
42
|
+
## Docker
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
docker build -t codex-partner:0.0.1 .
|
|
46
|
+
docker run -d --name codex-partner \
|
|
47
|
+
-p 8787:8787 \
|
|
48
|
+
-e CODEX_DASHBOARD_TOKEN=replace-with-a-strong-random-token \
|
|
49
|
+
-v codex-partner-data:/var/lib/codex-partner \
|
|
50
|
+
-v codex-home:/home/codex/.codex \
|
|
51
|
+
-v codex-workspace:/workspace \
|
|
52
|
+
codex-partner:0.0.1
|
|
53
|
+
docker exec -it codex-partner codex login
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## systemd
|
|
57
|
+
|
|
58
|
+
After completing the installation above, stop the foreground process and install the user service:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
mkdir -p ~/.config/systemd/user
|
|
62
|
+
cp codex-partner.user.service.example ~/.config/systemd/user/codex-partner.service
|
|
63
|
+
systemctl --user daemon-reload
|
|
64
|
+
systemctl --user enable --now codex-partner.service
|
|
65
|
+
systemctl --user status codex-partner.service
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
This service uses the current user's existing Codex login, configuration, memories, and Skills. The example assumes the repository is at `~/Codex-Partner`; edit the two paths in the unit if it is elsewhere.
|
|
69
|
+
|
|
70
|
+
View logs with `journalctl --user -u codex-partner.service -f`. To keep it running after logout, run `sudo loginctl enable-linger "$USER"` once.
|
|
71
|
+
|
|
72
|
+
## Use
|
|
73
|
+
|
|
74
|
+
Create a session, choose a workspace and model, then send a message. Messages sent during an active turn queue automatically. Set a Goal to let Codex Partner keep resuming unfinished work. Reopen the same session from any connected device to continue the same thread.
|
|
75
|
+
|
|
76
|
+
Type `/help` in the message input for commands. Press `` ` `` to toggle the terminal, `Shift+N` / `Shift+P` to switch sessions, and `Ctrl/Cmd+K` to focus the composer.
|