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.
Files changed (250) hide show
  1. codex_partner-0.0.1/PKG-INFO +101 -0
  2. codex_partner-0.0.1/README.md +76 -0
  3. codex_partner-0.0.1/app.py +5530 -0
  4. codex_partner-0.0.1/codex_partner/__init__.py +4 -0
  5. codex_partner-0.0.1/codex_partner/__main__.py +6 -0
  6. codex_partner-0.0.1/codex_partner/app_server.py +150 -0
  7. codex_partner-0.0.1/codex_partner/cli.py +35 -0
  8. codex_partner-0.0.1/codex_partner/commands.py +77 -0
  9. codex_partner-0.0.1/codex_partner/database.py +206 -0
  10. codex_partner-0.0.1/codex_partner/discovery.py +136 -0
  11. codex_partner-0.0.1/codex_partner/schemas.py +133 -0
  12. codex_partner-0.0.1/codex_partner.egg-info/PKG-INFO +101 -0
  13. codex_partner-0.0.1/codex_partner.egg-info/SOURCES.txt +248 -0
  14. codex_partner-0.0.1/codex_partner.egg-info/dependency_links.txt +1 -0
  15. codex_partner-0.0.1/codex_partner.egg-info/entry_points.txt +2 -0
  16. codex_partner-0.0.1/codex_partner.egg-info/requires.txt +11 -0
  17. codex_partner-0.0.1/codex_partner.egg-info/top_level.txt +3 -0
  18. codex_partner-0.0.1/pyproject.toml +47 -0
  19. codex_partner-0.0.1/setup.cfg +4 -0
  20. codex_partner-0.0.1/static/__init__.py +1 -0
  21. codex_partner-0.0.1/static/app.js +505 -0
  22. codex_partner-0.0.1/static/chat-worker.js +157 -0
  23. codex_partner-0.0.1/static/conversation.js +894 -0
  24. codex_partner-0.0.1/static/core.js +880 -0
  25. codex_partner-0.0.1/static/editor.js +142 -0
  26. codex_partner-0.0.1/static/index.html +71 -0
  27. codex_partner-0.0.1/static/mascot-dance.css +100 -0
  28. codex_partner-0.0.1/static/mascot-dance.js +46 -0
  29. codex_partner-0.0.1/static/settings.js +335 -0
  30. codex_partner-0.0.1/static/styles.css +690 -0
  31. codex_partner-0.0.1/static/vendor/ace/LICENSE +24 -0
  32. codex_partner-0.0.1/static/vendor/ace/ace.js +23 -0
  33. codex_partner-0.0.1/static/vendor/ace/ext-modelist.js +8 -0
  34. codex_partner-0.0.1/static/vendor/ace/mode-abap.js +8 -0
  35. codex_partner-0.0.1/static/vendor/ace/mode-abc.js +8 -0
  36. codex_partner-0.0.1/static/vendor/ace/mode-actionscript.js +8 -0
  37. codex_partner-0.0.1/static/vendor/ace/mode-ada.js +8 -0
  38. codex_partner-0.0.1/static/vendor/ace/mode-alda.js +8 -0
  39. codex_partner-0.0.1/static/vendor/ace/mode-apache_conf.js +8 -0
  40. codex_partner-0.0.1/static/vendor/ace/mode-apex.js +8 -0
  41. codex_partner-0.0.1/static/vendor/ace/mode-applescript.js +8 -0
  42. codex_partner-0.0.1/static/vendor/ace/mode-aql.js +8 -0
  43. codex_partner-0.0.1/static/vendor/ace/mode-asciidoc.js +8 -0
  44. codex_partner-0.0.1/static/vendor/ace/mode-asl.js +8 -0
  45. codex_partner-0.0.1/static/vendor/ace/mode-assembly_arm32.js +8 -0
  46. codex_partner-0.0.1/static/vendor/ace/mode-assembly_x86.js +8 -0
  47. codex_partner-0.0.1/static/vendor/ace/mode-astro.js +8 -0
  48. codex_partner-0.0.1/static/vendor/ace/mode-autohotkey.js +8 -0
  49. codex_partner-0.0.1/static/vendor/ace/mode-basic.js +8 -0
  50. codex_partner-0.0.1/static/vendor/ace/mode-batchfile.js +8 -0
  51. codex_partner-0.0.1/static/vendor/ace/mode-bibtex.js +8 -0
  52. codex_partner-0.0.1/static/vendor/ace/mode-c9search.js +8 -0
  53. codex_partner-0.0.1/static/vendor/ace/mode-c_cpp.js +8 -0
  54. codex_partner-0.0.1/static/vendor/ace/mode-cedar.js +8 -0
  55. codex_partner-0.0.1/static/vendor/ace/mode-cedarschema.js +8 -0
  56. codex_partner-0.0.1/static/vendor/ace/mode-cirru.js +8 -0
  57. codex_partner-0.0.1/static/vendor/ace/mode-clojure.js +8 -0
  58. codex_partner-0.0.1/static/vendor/ace/mode-clue.js +8 -0
  59. codex_partner-0.0.1/static/vendor/ace/mode-cobol.js +8 -0
  60. codex_partner-0.0.1/static/vendor/ace/mode-coffee.js +8 -0
  61. codex_partner-0.0.1/static/vendor/ace/mode-coldfusion.js +8 -0
  62. codex_partner-0.0.1/static/vendor/ace/mode-crystal.js +8 -0
  63. codex_partner-0.0.1/static/vendor/ace/mode-csharp.js +8 -0
  64. codex_partner-0.0.1/static/vendor/ace/mode-csound_document.js +8 -0
  65. codex_partner-0.0.1/static/vendor/ace/mode-csound_orchestra.js +8 -0
  66. codex_partner-0.0.1/static/vendor/ace/mode-csound_score.js +8 -0
  67. codex_partner-0.0.1/static/vendor/ace/mode-csp.js +8 -0
  68. codex_partner-0.0.1/static/vendor/ace/mode-css.js +8 -0
  69. codex_partner-0.0.1/static/vendor/ace/mode-csv.js +8 -0
  70. codex_partner-0.0.1/static/vendor/ace/mode-curly.js +8 -0
  71. codex_partner-0.0.1/static/vendor/ace/mode-cuttlefish.js +8 -0
  72. codex_partner-0.0.1/static/vendor/ace/mode-d.js +8 -0
  73. codex_partner-0.0.1/static/vendor/ace/mode-dart.js +8 -0
  74. codex_partner-0.0.1/static/vendor/ace/mode-diff.js +8 -0
  75. codex_partner-0.0.1/static/vendor/ace/mode-django.js +8 -0
  76. codex_partner-0.0.1/static/vendor/ace/mode-dockerfile.js +8 -0
  77. codex_partner-0.0.1/static/vendor/ace/mode-dot.js +8 -0
  78. codex_partner-0.0.1/static/vendor/ace/mode-drools.js +8 -0
  79. codex_partner-0.0.1/static/vendor/ace/mode-edifact.js +8 -0
  80. codex_partner-0.0.1/static/vendor/ace/mode-eiffel.js +8 -0
  81. codex_partner-0.0.1/static/vendor/ace/mode-ejs.js +8 -0
  82. codex_partner-0.0.1/static/vendor/ace/mode-elixir.js +8 -0
  83. codex_partner-0.0.1/static/vendor/ace/mode-elm.js +8 -0
  84. codex_partner-0.0.1/static/vendor/ace/mode-erlang.js +8 -0
  85. codex_partner-0.0.1/static/vendor/ace/mode-flix.js +8 -0
  86. codex_partner-0.0.1/static/vendor/ace/mode-forth.js +8 -0
  87. codex_partner-0.0.1/static/vendor/ace/mode-fortran.js +8 -0
  88. codex_partner-0.0.1/static/vendor/ace/mode-fsharp.js +8 -0
  89. codex_partner-0.0.1/static/vendor/ace/mode-fsl.js +8 -0
  90. codex_partner-0.0.1/static/vendor/ace/mode-ftl.js +8 -0
  91. codex_partner-0.0.1/static/vendor/ace/mode-gcode.js +8 -0
  92. codex_partner-0.0.1/static/vendor/ace/mode-gherkin.js +8 -0
  93. codex_partner-0.0.1/static/vendor/ace/mode-gitignore.js +8 -0
  94. codex_partner-0.0.1/static/vendor/ace/mode-glsl.js +8 -0
  95. codex_partner-0.0.1/static/vendor/ace/mode-gobstones.js +8 -0
  96. codex_partner-0.0.1/static/vendor/ace/mode-golang.js +8 -0
  97. codex_partner-0.0.1/static/vendor/ace/mode-graphqlschema.js +8 -0
  98. codex_partner-0.0.1/static/vendor/ace/mode-groovy.js +8 -0
  99. codex_partner-0.0.1/static/vendor/ace/mode-groq.js +8 -0
  100. codex_partner-0.0.1/static/vendor/ace/mode-haml.js +8 -0
  101. codex_partner-0.0.1/static/vendor/ace/mode-handlebars.js +8 -0
  102. codex_partner-0.0.1/static/vendor/ace/mode-haskell.js +8 -0
  103. codex_partner-0.0.1/static/vendor/ace/mode-haskell_cabal.js +8 -0
  104. codex_partner-0.0.1/static/vendor/ace/mode-haxe.js +8 -0
  105. codex_partner-0.0.1/static/vendor/ace/mode-hjson.js +8 -0
  106. codex_partner-0.0.1/static/vendor/ace/mode-html.js +8 -0
  107. codex_partner-0.0.1/static/vendor/ace/mode-html_elixir.js +8 -0
  108. codex_partner-0.0.1/static/vendor/ace/mode-html_ruby.js +8 -0
  109. codex_partner-0.0.1/static/vendor/ace/mode-ini.js +8 -0
  110. codex_partner-0.0.1/static/vendor/ace/mode-io.js +8 -0
  111. codex_partner-0.0.1/static/vendor/ace/mode-ion.js +8 -0
  112. codex_partner-0.0.1/static/vendor/ace/mode-jack.js +8 -0
  113. codex_partner-0.0.1/static/vendor/ace/mode-jade.js +8 -0
  114. codex_partner-0.0.1/static/vendor/ace/mode-java.js +8 -0
  115. codex_partner-0.0.1/static/vendor/ace/mode-javascript.js +8 -0
  116. codex_partner-0.0.1/static/vendor/ace/mode-jexl.js +8 -0
  117. codex_partner-0.0.1/static/vendor/ace/mode-json.js +8 -0
  118. codex_partner-0.0.1/static/vendor/ace/mode-json5.js +8 -0
  119. codex_partner-0.0.1/static/vendor/ace/mode-jsoniq.js +8 -0
  120. codex_partner-0.0.1/static/vendor/ace/mode-jsp.js +8 -0
  121. codex_partner-0.0.1/static/vendor/ace/mode-jssm.js +8 -0
  122. codex_partner-0.0.1/static/vendor/ace/mode-jsx.js +8 -0
  123. codex_partner-0.0.1/static/vendor/ace/mode-julia.js +8 -0
  124. codex_partner-0.0.1/static/vendor/ace/mode-kotlin.js +8 -0
  125. codex_partner-0.0.1/static/vendor/ace/mode-latex.js +8 -0
  126. codex_partner-0.0.1/static/vendor/ace/mode-latte.js +8 -0
  127. codex_partner-0.0.1/static/vendor/ace/mode-less.js +8 -0
  128. codex_partner-0.0.1/static/vendor/ace/mode-liquid.js +8 -0
  129. codex_partner-0.0.1/static/vendor/ace/mode-lisp.js +8 -0
  130. codex_partner-0.0.1/static/vendor/ace/mode-livescript.js +8 -0
  131. codex_partner-0.0.1/static/vendor/ace/mode-logiql.js +8 -0
  132. codex_partner-0.0.1/static/vendor/ace/mode-logtalk.js +8 -0
  133. codex_partner-0.0.1/static/vendor/ace/mode-lsl.js +8 -0
  134. codex_partner-0.0.1/static/vendor/ace/mode-lua.js +8 -0
  135. codex_partner-0.0.1/static/vendor/ace/mode-luapage.js +8 -0
  136. codex_partner-0.0.1/static/vendor/ace/mode-lucene.js +8 -0
  137. codex_partner-0.0.1/static/vendor/ace/mode-makefile.js +8 -0
  138. codex_partner-0.0.1/static/vendor/ace/mode-mariadb.js +8 -0
  139. codex_partner-0.0.1/static/vendor/ace/mode-markdown.js +8 -0
  140. codex_partner-0.0.1/static/vendor/ace/mode-mask.js +8 -0
  141. codex_partner-0.0.1/static/vendor/ace/mode-matlab.js +8 -0
  142. codex_partner-0.0.1/static/vendor/ace/mode-maze.js +8 -0
  143. codex_partner-0.0.1/static/vendor/ace/mode-mediawiki.js +8 -0
  144. codex_partner-0.0.1/static/vendor/ace/mode-mel.js +8 -0
  145. codex_partner-0.0.1/static/vendor/ace/mode-mips.js +8 -0
  146. codex_partner-0.0.1/static/vendor/ace/mode-mixal.js +8 -0
  147. codex_partner-0.0.1/static/vendor/ace/mode-mushcode.js +8 -0
  148. codex_partner-0.0.1/static/vendor/ace/mode-mysql.js +8 -0
  149. codex_partner-0.0.1/static/vendor/ace/mode-nasal.js +8 -0
  150. codex_partner-0.0.1/static/vendor/ace/mode-nginx.js +8 -0
  151. codex_partner-0.0.1/static/vendor/ace/mode-nim.js +8 -0
  152. codex_partner-0.0.1/static/vendor/ace/mode-nix.js +8 -0
  153. codex_partner-0.0.1/static/vendor/ace/mode-nsis.js +8 -0
  154. codex_partner-0.0.1/static/vendor/ace/mode-nunjucks.js +8 -0
  155. codex_partner-0.0.1/static/vendor/ace/mode-objectivec.js +8 -0
  156. codex_partner-0.0.1/static/vendor/ace/mode-ocaml.js +8 -0
  157. codex_partner-0.0.1/static/vendor/ace/mode-odin.js +8 -0
  158. codex_partner-0.0.1/static/vendor/ace/mode-partiql.js +8 -0
  159. codex_partner-0.0.1/static/vendor/ace/mode-pascal.js +8 -0
  160. codex_partner-0.0.1/static/vendor/ace/mode-perl.js +8 -0
  161. codex_partner-0.0.1/static/vendor/ace/mode-pgsql.js +8 -0
  162. codex_partner-0.0.1/static/vendor/ace/mode-php.js +8 -0
  163. codex_partner-0.0.1/static/vendor/ace/mode-php_laravel_blade.js +8 -0
  164. codex_partner-0.0.1/static/vendor/ace/mode-pig.js +8 -0
  165. codex_partner-0.0.1/static/vendor/ace/mode-plain_text.js +8 -0
  166. codex_partner-0.0.1/static/vendor/ace/mode-plsql.js +8 -0
  167. codex_partner-0.0.1/static/vendor/ace/mode-powershell.js +8 -0
  168. codex_partner-0.0.1/static/vendor/ace/mode-praat.js +8 -0
  169. codex_partner-0.0.1/static/vendor/ace/mode-prisma.js +8 -0
  170. codex_partner-0.0.1/static/vendor/ace/mode-prolog.js +8 -0
  171. codex_partner-0.0.1/static/vendor/ace/mode-properties.js +8 -0
  172. codex_partner-0.0.1/static/vendor/ace/mode-protobuf.js +8 -0
  173. codex_partner-0.0.1/static/vendor/ace/mode-prql.js +8 -0
  174. codex_partner-0.0.1/static/vendor/ace/mode-puppet.js +8 -0
  175. codex_partner-0.0.1/static/vendor/ace/mode-python.js +8 -0
  176. codex_partner-0.0.1/static/vendor/ace/mode-qml.js +8 -0
  177. codex_partner-0.0.1/static/vendor/ace/mode-r.js +8 -0
  178. codex_partner-0.0.1/static/vendor/ace/mode-raku.js +8 -0
  179. codex_partner-0.0.1/static/vendor/ace/mode-razor.js +8 -0
  180. codex_partner-0.0.1/static/vendor/ace/mode-rdoc.js +8 -0
  181. codex_partner-0.0.1/static/vendor/ace/mode-red.js +8 -0
  182. codex_partner-0.0.1/static/vendor/ace/mode-redshift.js +8 -0
  183. codex_partner-0.0.1/static/vendor/ace/mode-rhtml.js +8 -0
  184. codex_partner-0.0.1/static/vendor/ace/mode-robot.js +8 -0
  185. codex_partner-0.0.1/static/vendor/ace/mode-rst.js +8 -0
  186. codex_partner-0.0.1/static/vendor/ace/mode-ruby.js +8 -0
  187. codex_partner-0.0.1/static/vendor/ace/mode-rust.js +8 -0
  188. codex_partner-0.0.1/static/vendor/ace/mode-sac.js +8 -0
  189. codex_partner-0.0.1/static/vendor/ace/mode-sass.js +8 -0
  190. codex_partner-0.0.1/static/vendor/ace/mode-scad.js +8 -0
  191. codex_partner-0.0.1/static/vendor/ace/mode-scala.js +8 -0
  192. codex_partner-0.0.1/static/vendor/ace/mode-scheme.js +8 -0
  193. codex_partner-0.0.1/static/vendor/ace/mode-scrypt.js +8 -0
  194. codex_partner-0.0.1/static/vendor/ace/mode-scss.js +8 -0
  195. codex_partner-0.0.1/static/vendor/ace/mode-sh.js +8 -0
  196. codex_partner-0.0.1/static/vendor/ace/mode-sjs.js +8 -0
  197. codex_partner-0.0.1/static/vendor/ace/mode-slim.js +8 -0
  198. codex_partner-0.0.1/static/vendor/ace/mode-smarty.js +8 -0
  199. codex_partner-0.0.1/static/vendor/ace/mode-smithy.js +8 -0
  200. codex_partner-0.0.1/static/vendor/ace/mode-snippets.js +8 -0
  201. codex_partner-0.0.1/static/vendor/ace/mode-soy_template.js +8 -0
  202. codex_partner-0.0.1/static/vendor/ace/mode-space.js +8 -0
  203. codex_partner-0.0.1/static/vendor/ace/mode-sparql.js +8 -0
  204. codex_partner-0.0.1/static/vendor/ace/mode-sql.js +8 -0
  205. codex_partner-0.0.1/static/vendor/ace/mode-sqlserver.js +8 -0
  206. codex_partner-0.0.1/static/vendor/ace/mode-stylus.js +8 -0
  207. codex_partner-0.0.1/static/vendor/ace/mode-svg.js +8 -0
  208. codex_partner-0.0.1/static/vendor/ace/mode-swift.js +8 -0
  209. codex_partner-0.0.1/static/vendor/ace/mode-tcl.js +8 -0
  210. codex_partner-0.0.1/static/vendor/ace/mode-terraform.js +8 -0
  211. codex_partner-0.0.1/static/vendor/ace/mode-tex.js +8 -0
  212. codex_partner-0.0.1/static/vendor/ace/mode-text.js +8 -0
  213. codex_partner-0.0.1/static/vendor/ace/mode-textile.js +8 -0
  214. codex_partner-0.0.1/static/vendor/ace/mode-toml.js +8 -0
  215. codex_partner-0.0.1/static/vendor/ace/mode-tsv.js +8 -0
  216. codex_partner-0.0.1/static/vendor/ace/mode-tsx.js +8 -0
  217. codex_partner-0.0.1/static/vendor/ace/mode-turtle.js +8 -0
  218. codex_partner-0.0.1/static/vendor/ace/mode-twig.js +8 -0
  219. codex_partner-0.0.1/static/vendor/ace/mode-typescript.js +8 -0
  220. codex_partner-0.0.1/static/vendor/ace/mode-vala.js +8 -0
  221. codex_partner-0.0.1/static/vendor/ace/mode-vbscript.js +8 -0
  222. codex_partner-0.0.1/static/vendor/ace/mode-velocity.js +8 -0
  223. codex_partner-0.0.1/static/vendor/ace/mode-verilog.js +8 -0
  224. codex_partner-0.0.1/static/vendor/ace/mode-vhdl.js +8 -0
  225. codex_partner-0.0.1/static/vendor/ace/mode-visualforce.js +8 -0
  226. codex_partner-0.0.1/static/vendor/ace/mode-vue.js +8 -0
  227. codex_partner-0.0.1/static/vendor/ace/mode-wollok.js +8 -0
  228. codex_partner-0.0.1/static/vendor/ace/mode-xml.js +8 -0
  229. codex_partner-0.0.1/static/vendor/ace/mode-xquery.js +8 -0
  230. codex_partner-0.0.1/static/vendor/ace/mode-yaml.js +8 -0
  231. codex_partner-0.0.1/static/vendor/ace/mode-zeek.js +8 -0
  232. codex_partner-0.0.1/static/vendor/ace/mode-zig.js +8 -0
  233. codex_partner-0.0.1/static/vendor/ace/theme-tomorrow_night_eighties.js +8 -0
  234. codex_partner-0.0.1/static/vendor/i18next/LICENSE +21 -0
  235. codex_partner-0.0.1/static/vendor/i18next/i18next.min.js +1 -0
  236. codex_partner-0.0.1/static/vendor/toastui-editor/LICENSE +21 -0
  237. codex_partner-0.0.1/static/vendor/toastui-editor/toastui-editor-dark.css +474 -0
  238. codex_partner-0.0.1/static/vendor/toastui-editor/toastui-editor.css +1597 -0
  239. codex_partner-0.0.1/static/vendor/toastui-editor/toastui-editor.js +24 -0
  240. codex_partner-0.0.1/static/vendor/toastui-editor/zh-cn.js +7 -0
  241. codex_partner-0.0.1/static/vendor/xterm/LICENSE +21 -0
  242. codex_partner-0.0.1/static/vendor/xterm/addons/fit.LICENSE +19 -0
  243. codex_partner-0.0.1/static/vendor/xterm/addons/fit.js +2 -0
  244. codex_partner-0.0.1/static/vendor/xterm/addons/unicode11.LICENSE +19 -0
  245. codex_partner-0.0.1/static/vendor/xterm/addons/unicode11.js +2 -0
  246. codex_partner-0.0.1/static/vendor/xterm/addons/web-links.LICENSE +19 -0
  247. codex_partner-0.0.1/static/vendor/xterm/addons/web-links.js +2 -0
  248. codex_partner-0.0.1/static/vendor/xterm/xterm.css +285 -0
  249. codex_partner-0.0.1/static/vendor/xterm/xterm.js +2 -0
  250. 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
+ ![Codex Partner task workspace](https://raw.githubusercontent.com/froststeam/Codex-Partner/main/docs/codex-partner.png)
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
+ ![Codex Partner task workspace](https://raw.githubusercontent.com/froststeam/Codex-Partner/main/docs/codex-partner.png)
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.